geo-database
NCBI GEOの遺伝子発現・ゲノミクスデータにアクセスし、マイクロアレイおよびRNA-seqデータセット(GSE・GSM・GPL)の検索・ダウンロードやSOFT/Matrixファイルの取得を行います。トランスクリプトミクスや発現解析のワークフローに活用できます。
description の原文を見る
Access NCBI GEO for gene expression/genomics data. Search/download microarray and RNA-seq datasets (GSE, GSM, GPL), retrieve SOFT/Matrix files, for transcriptomics and expression analysis.
SKILL.md 本文
GEO Database
概要
Gene Expression Omnibus (GEO) は、NCBI が提供する高スループット遺伝子発現・機能ゲノミクスデータの公開リポジトリです。GEO には 264,000 件以上の研究と 800 万件以上のサンプルが含まれており、アレイベースおよびシーケンスベースの実験から得られています。
このスキルを使用する場合
このスキルは、遺伝子発現データセットの検索、実験データの取得、生データおよび処理済みファイルのダウンロード、発現プロファイルのクエリ、または GEO データを計算分析ワークフローに統合する場合に使用します。
コア機能
1. GEO データ構成の理解
GEO は異なるアクセッション タイプを使用して階層的にデータを構成しています。
Series (GSE): 関連するサンプルのセットを含む完全な実験
- 例: GSE123456
- 実験計画、サンプル、および全体的な研究情報を含む
- GEO における最大の組織単位
- 現在のカウント: 264,928 件以上
Sample (GSM): 単一の実験的サンプルまたは生物学的複製
- 例: GSM987654
- 個別のサンプルデータ、プロトコル、およびメタデータを含む
- プラットフォームとシリーズにリンク
- 現在のカウント: 8,068,632 件以上
Platform (GPL): 使用されたマイクロアレイまたはシーケンシング プラットフォーム
- 例: GPL570 (Affymetrix Human Genome U133 Plus 2.0 Array)
- 技術とプローブ/フィーチャー注釈を説明
- 複数の実験間で共有
- 現在のカウント: 27,739 件以上
DataSet (GDS): 一貫した形式でキュレーションされたコレクション
- 例: GDS5678
- 研究デザインに従って実験的に比較可能なサンプルを組織化
- 差分解析用に処理済み
- GEO データのサブセット(4,348 個のキュレーション済みデータセット)
- 迅速な比較分析に最適
Profiles: シーケンス機能にリンクされた遺伝子特異的発現データ
- 遺伝子名または注釈によってクエリ可能
- Entrez Gene への相互参照
- 全研究にわたる遺伝子中心の検索を可能にする
2. GEO データの検索
GEO DataSets Search:
キーワード、生物、または実験条件でスタディを検索します。
from Bio import Entrez
# Entrez の設定 (必須)
Entrez.email = "your.email@example.com"
# データセットの検索
def search_geo_datasets(query, retmax=20):
"""GEO DataSets データベースを検索"""
handle = Entrez.esearch(
db="gds",
term=query,
retmax=retmax,
usehistory="y"
)
results = Entrez.read(handle)
handle.close()
return results
# 検索例
results = search_geo_datasets("breast cancer[MeSH] AND Homo sapiens[Organism]")
print(f"Found {results['Count']} datasets")
# 特定プラットフォームで検索
results = search_geo_datasets("GPL570[Accession]")
# スタディタイプで検索
results = search_geo_datasets("expression profiling by array[DataSet Type]")
GEO Profiles Search:
遺伝子特異的発現パターンを検出します。
# 遺伝子発現プロファイルの検索
def search_geo_profiles(gene_name, organism="Homo sapiens", retmax=100):
"""特定遺伝子の GEO Profiles を検索"""
query = f"{gene_name}[Gene Name] AND {organism}[Organism]"
handle = Entrez.esearch(
db="geoprofiles",
term=query,
retmax=retmax
)
results = Entrez.read(handle)
handle.close()
return results
# スタディ全体での TP53 発現を検出
tp53_results = search_geo_profiles("TP53", organism="Homo sapiens")
print(f"Found {tp53_results['Count']} expression profiles for TP53")
高度な検索パターン:
# 複数の検索用語を組み合わせる
def advanced_geo_search(terms, operator="AND"):
"""複雑な検索クエリを構築"""
query = f" {operator} ".join(terms)
return search_geo_datasets(query)
# 最近の高スループットスタディを検出
search_terms = [
"RNA-seq[DataSet Type]",
"Homo sapiens[Organism]",
"2024[Publication Date]"
]
results = advanced_geo_search(search_terms)
# 著者と条件で検索
search_terms = [
"Smith[Author]",
"diabetes[Disease]"
]
results = advanced_geo_search(search_terms)
3. GEOparse を使用した GEO データの取得(推奨)
GEOparse は GEO データにアクセスするための主要な Python ライブラリです。
インストール:
uv pip install GEOparse
基本的な使用法:
import GEOparse
# GEO Series をダウンロードして解析
gse = GEOparse.get_GEO(geo="GSE123456", destdir="./data")
# シリーズのメタデータにアクセス
print(gse.metadata['title'])
print(gse.metadata['summary'])
print(gse.metadata['overall_design'])
# サンプル情報にアクセス
for gsm_name, gsm in gse.gsms.items():
print(f"Sample: {gsm_name}")
print(f" Title: {gsm.metadata['title'][0]}")
print(f" Source: {gsm.metadata['source_name_ch1'][0]}")
print(f" Characteristics: {gsm.metadata.get('characteristics_ch1', [])}")
# プラットフォーム情報にアクセス
for gpl_name, gpl in gse.gpls.items():
print(f"Platform: {gpl_name}")
print(f" Title: {gpl.metadata['title'][0]}")
print(f" Organism: {gpl.metadata['organism'][0]}")
発現データの操作:
import GEOparse
import pandas as pd
# シリーズから発現データを取得
gse = GEOparse.get_GEO(geo="GSE123456", destdir="./data")
# 発現マトリックスを抽出
# 方法 1: シリーズマトリックスファイルから (最速)
if hasattr(gse, 'pivot_samples'):
expression_df = gse.pivot_samples('VALUE')
print(expression_df.shape) # genes x samples
# 方法 2: 個別サンプルから
expression_data = {}
for gsm_name, gsm in gse.gsms.items():
if hasattr(gsm, 'table'):
expression_data[gsm_name] = gsm.table['VALUE']
expression_df = pd.DataFrame(expression_data)
print(f"Expression matrix: {expression_df.shape}")
補足ファイルへのアクセス:
import GEOparse
gse = GEOparse.get_GEO(geo="GSE123456", destdir="./data")
# 補足ファイルをダウンロード
gse.download_supplementary_files(
directory="./data/GSE123456_suppl",
download_sra=False # True に設定して SRA ファイルをダウンロード
)
# 利用可能な補足ファイルをリストアップ
for gsm_name, gsm in gse.gsms.items():
if hasattr(gsm, 'supplementary_files'):
print(f"Sample {gsm_name}:")
for file_url in gsm.metadata.get('supplementary_file', []):
print(f" {file_url}")
データのフィルタリングとサブセット化:
import GEOparse
gse = GEOparse.get_GEO(geo="GSE123456", destdir="./data")
# メタデータでサンプルをフィルタリング
control_samples = [
gsm_name for gsm_name, gsm in gse.gsms.items()
if 'control' in gsm.metadata.get('title', [''])[0].lower()
]
treatment_samples = [
gsm_name for gsm_name, gsm in gse.gsms.items()
if 'treatment' in gsm.metadata.get('title', [''])[0].lower()
]
print(f"Control samples: {len(control_samples)}")
print(f"Treatment samples: {len(treatment_samples)}")
# サブセット発現マトリックスを抽出
expression_df = gse.pivot_samples('VALUE')
control_expr = expression_df[control_samples]
treatment_expr = expression_df[treatment_samples]
4. NCBI E-utilities を使用した GEO アクセス
E-utilities は GEO メタデータへの低レベルなプログラマティック アクセスを提供します。
基本的な E-utilities ワークフロー:
from Bio import Entrez
import time
Entrez.email = "your.email@example.com"
# ステップ 1: GEO エントリを検索
def search_geo(query, db="gds", retmax=100):
"""E-utilities を使用して GEO を検索"""
handle = Entrez.esearch(
db=db,
term=query,
retmax=retmax,
usehistory="y"
)
results = Entrez.read(handle)
handle.close()
return results
# ステップ 2: サマリーをフェッチ
def fetch_geo_summaries(id_list, db="gds"):
"""GEO エントリのドキュメント サマリーをフェッチ"""
ids = ",".join(id_list)
handle = Entrez.esummary(db=db, id=ids)
summaries = Entrez.read(handle)
handle.close()
return summaries
# ステップ 3: 完全なレコードをフェッチ
def fetch_geo_records(id_list, db="gds"):
"""完全な GEO レコードをフェッチ"""
ids = ",".join(id_list)
handle = Entrez.efetch(db=db, id=ids, retmode="xml")
records = Entrez.read(handle)
handle.close()
return records
# ワークフロー例
search_results = search_geo("breast cancer AND Homo sapiens")
id_list = search_results['IdList'][:5]
summaries = fetch_geo_summaries(id_list)
for summary in summaries:
print(f"GDS: {summary.get('Accession', 'N/A')}")
print(f"Title: {summary.get('title', 'N/A')}")
print(f"Samples: {summary.get('n_samples', 'N/A')}")
print()
E-utilities を使用したバッチ処理:
from Bio import Entrez
import time
Entrez.email = "your.email@example.com"
def batch_fetch_geo_metadata(accessions, batch_size=100):
"""複数の GEO アクセッションのメタデータをフェッチ"""
results = {}
for i in range(0, len(accessions), batch_size):
batch = accessions[i:i + batch_size]
# 各アクセッションを検索
for accession in batch:
try:
query = f"{accession}[Accession]"
search_handle = Entrez.esearch(db="gds", term=query)
search_results = Entrez.read(search_handle)
search_handle.close()
if search_results['IdList']:
# サマリーをフェッチ
summary_handle = Entrez.esummary(
db="gds",
id=search_results['IdList'][0]
)
summary = Entrez.read(summary_handle)
summary_handle.close()
results[accession] = summary[0]
# NCBI サーバーへの配慮
time.sleep(0.34) # 最大 3 リクエスト/秒
except Exception as e:
print(f"Error fetching {accession}: {e}")
return results
# 複数のデータセットのメタデータをフェッチ
gse_list = ["GSE100001", "GSE100002", "GSE100003"]
metadata = batch_fetch_geo_metadata(gse_list)
5. データ ファイルへの直接 FTP アクセス
GEO データ用 FTP URL:
GEO データは FTP 経由で直接ダウンロードできます。
import ftplib
import os
def download_geo_ftp(accession, file_type="matrix", dest_dir="./data"):
"""FTP 経由で GEO ファイルをダウンロード"""
# アクセッション タイプに基づいて FTP パスを構築
if accession.startswith("GSE"):
# シリーズファイル
gse_num = accession[3:]
base_num = gse_num[:-3] + "nnn"
ftp_path = f"/geo/series/GSE{base_num}/{accession}/"
if file_type == "matrix":
filename = f"{accession}_series_matrix.txt.gz"
elif file_type == "soft":
filename = f"{accession}_family.soft.gz"
elif file_type == "miniml":
filename = f"{accession}_family.xml.tgz"
# FTP サーバーに接続
ftp = ftplib.FTP("ftp.ncbi.nlm.nih.gov")
ftp.login()
ftp.cwd(ftp_path)
# ファイルをダウンロード
os.makedirs(dest_dir, exist_ok=True)
local_file = os.path.join(dest_dir, filename)
with open(local_file, 'wb') as f:
ftp.retrbinary(f'RETR {filename}', f.write)
ftp.quit()
print(f"Downloaded: {local_file}")
return local_file
# シリーズマトリックスファイルをダウンロード
download_geo_ftp("GSE123456", file_type="matrix")
# SOFT フォーマットファイルをダウンロード
download_geo_ftp("GSE123456", file_type="soft")
wget または curl を使用したダウンロード:
# シリーズマトリックスファイルをダウンロード
wget ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE123nnn/GSE123456/matrix/GSE123456_series_matrix.txt.gz
# シリーズのすべての補足ファイルをダウンロード
wget -r -np -nd ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE123nnn/GSE123456/suppl/
# SOFT フォーマットファイルをダウンロード
wget ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE123nnn/GSE123456/soft/GSE123456_family.soft.gz
6. GEO データの解析
品質管理と前処理:
import GEOparse
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# データセットを読み込み
gse = GEOparse.get_GEO(geo="GSE123456", destdir="./data")
expression_df = gse.pivot_samples('VALUE')
# 欠損値をチェック
print(f"Missing values: {expression_df.isnull().sum().sum()}")
# ログ変換 (必要に応じて)
if expression_df.min().min() > 0: # 既にログ変換されているかチェック
if expression_df.max().max() > 100:
expression_df = np.log2(expression_df + 1)
print("Applied log2 transformation")
# 分布プロット
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
expression_df.plot.box(ax=plt.gca())
plt.title("Expression Distribution per Sample")
plt.xticks(rotation=90)
plt.subplot(1, 2, 2)
expression_df.mean(axis=1).hist(bins=50)
plt.title("Gene Expression Distribution")
plt.xlabel("Average Expression")
plt.tight_layout()
plt.savefig("geo_qc.png", dpi=300, bbox_inches='tight')
差分発現解析:
import GEOparse
import pandas as pd
import numpy as np
from scipy import stats
gse = GEOparse.get_GEO(geo="GSE123456", destdir="./data")
expression_df = gse.pivot_samples('VALUE')
# サンプルグループを定義
control_samples = ["GSM1", "GSM2", "GSM3"]
treatment_samples = ["GSM4", "GSM5", "GSM6"]
# フォールドチェンジと p 値を計算
results = []
for gene in expression_df.index:
control_expr = expression_df.loc[gene, control_samples]
treatment_expr = expression_df.loc[gene, treatment_samples]
# 統計量を計算
fold_change = treatment_expr.mean() - control_expr.mean()
t_stat, p_value = stats.ttest_ind(treatment_expr, control_expr)
results.append({
'gene': gene,
'log2_fold_change': fold_change,
'p_value': p_value,
'control_mean': control_expr.mean(),
'treatment_mean': treatment_expr.mean()
})
# 結果の DataFrame を作成
de_results = pd.DataFrame(results)
# 多重検定補正 (Benjamini-Hochberg)
from statsmodels.stats.multitest import multipletests
_, de_results['q_value'], _, _ = multipletests(
de_results['p_value'],
method='fdr_bh'
)
# 有意な遺伝子をフィルタリング
significant_genes = de_results[
(de_results['q_value'] < 0.05) &
(abs(de_results['log2_fold_change']) > 1)
]
print(f"Significant genes: {len(significant_genes)}")
significant_genes.to_csv("de_results.csv", index=False)
相関とクラスタリング解析:
import GEOparse
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.cluster import hierarchy
from scipy.spatial.distance import pdist
gse = GEOparse.get_GEO(geo="GSE123456", destdir="./data")
expression_df = gse.pivot_samples('VALUE')
# サンプル相関ヒートマップ
sample_corr = expression_df.corr()
plt.figure(figsize=(10, 8))
sns.heatmap(sample_corr, cmap='coolwarm', center=0,
square=True, linewidths=0.5)
plt.title("Sample Correlation Matrix")
plt.tight_layout()
plt.savefig("sample_correlation.png", dpi=300, bbox_inches='tight')
# 階層クラスタリング
distances = pdist(expression_df.T, metric='correlation')
linkage = hierarchy.linkage(distances, method='average')
plt.figure(figsize=(12, 6))
hierarchy.dendrogram(linkage, labels=expression_df.columns)
plt.title("Hierarchical Clustering of Samples")
plt.xlabel("Samples")
plt.ylabel("Distance")
plt.xticks(rotation=90)
plt.tight_layout()
plt.savefig("sample_clustering.png", dpi=300, bbox_inches='tight')
7. 複数のデータセットのバッチ処理
複数シリーズのダウンロードと処理:
import GEOparse
import pandas as pd
import os
def batch_download_geo(gse_list, destdir="./geo_data"):
"""複数の GEO シリーズをダウンロード"""
results = {}
for gse_id in gse_list:
try:
print(f"Processing {gse_id}...")
gse = GEOparse.get_GEO(geo=gse_id, destdir=destdir)
# 主要情報を抽出
results[gse_id] = {
'title': gse.metadata.get('title', ['N/A'])[0],
'organism': gse.metadata.get('organism', ['N/A'])[0],
'platform': list(gse.gpls.keys())[0] if gse.gpls else 'N/A',
'num_samples': len(gse.gsms),
'submission_date': gse.metadata.get('submission_date', ['N/A'])[0]
}
# 発現データを保存
if hasattr(gse, 'pivot_samples'):
expr_df = gse.pivot_samples('VALUE')
expr_df.to_csv(f"{destdir}/{gse_id}_expression.csv")
results[gse_id]['num_genes'] = len(expr_df)
except Exception as e:
print(f"Error processing {gse_id}: {e}")
results[gse_id] = {'error': str(e)}
# サマリーを保存
summary_df = pd.DataFrame(results).T
summary_df.to_csv(f"{destdir}/batch_summary.csv")
return results
# 複数のデータセットを処理
gse_list = ["GSE100001", "GSE100002", "GSE100003"]
results = batch_download_geo(gse_list)
スタディ間でのメタ解析:
import GEOparse
import pandas as pd
import numpy as np
def meta_analysis_geo(gse_list, gene_of_interest):
"""スタディ全体での遺伝子発現のメタ解析を実行"""
results = []
for gse_id in gse_list:
try:
gse = GEOparse.get_GEO(geo=gse_id, destdir="./data")
# プラットフォーム注釈を取得
gpl = list(gse.gpls.values())[0]
# プラットフォームで遺伝子を検出
if hasattr(gpl, 'table'):
gene_probes = gpl.table[
gpl.table['Gene Symbol'].str.contains(
gene_of_interest,
case=False,
na=False
)
]
if not gene_probes.empty:
expr_df = gse.pivot_samples('VALUE')
for probe_id in gene_probes['ID']:
if probe_id in expr_df.index:
expr_values = expr_df.loc[probe_id]
results.append({
'study': gse_id,
'probe': probe_id,
'mean_expression': expr_values.mean(),
'std_expression': expr_values.std(),
'num_samples': len(expr_values)
})
except Exception as e:
print(f"Error in {gse_id}: {e}")
return pd.DataFrame(results)
# TP53 のメタ解析
gse_studies = ["GSE100001", "GSE100002", "GSE100003"]
meta_results = meta_analysis_geo(gse_studies, "TP53")
print(meta_results)
インストールとセットアップ
Python ライブラリ
# 主要な GEO アクセス ライブラリ (推奨)
uv pip install GEOparse
# E-utilities と NCBI プログラマティック アクセス用
uv pip install biopython
# データ解析用
uv pip install pandas numpy scipy
# 可視化用
uv pip install matplotlib seaborn
# 統計解析用
uv pip install statsmodels scikit-learn
設定
NCBI E-utilities アクセスをセットアップします。
from Bio import Entrez
# 常にメールを設定 (NCBI で必須)
Entrez.email = "your.email@example.com"
# オプション: レート制限を増やすため API キーを設定
# API キーは以下で取得: https://www.ncbi.nlm.nih.gov/account/
Entrez.api_key = "your_api_key_here"
# API キー使用時: 10 リクエスト/秒
# API キー未使用: 3 リクエスト/秒
一般的な使用例
トランスクリプトミクス研究
- 特定条件の遺伝子発現データをダウンロード
- スタディ間で発現プロファイルを比較
- 差分発現遺伝子を特定
- 複数のデータセット間でメタ解析を実行
薬物反応スタディ
- 薬物治療後の遺伝子発現変化を解析
- 薬物反応のバイオマーカーを特定
- セルラインまたは患者間での薬物効果を比較
- 薬物感受性の予測モデルを構築
疾病生物学
- 疾病対正常組織の遺伝子発現を研究
- 疾病関連発現シグネチャーを特定
- 患者サブグループと疾病ステージを比較
- 発現と臨床転帰を相関させる
バイオマーカー発見
- 診断または予後マーカーをスクリーニング
- 独立したコホート間でバイオマーカーを検証
- プラットフォーム間でマーカーパフォーマンスを比較
- 発現と臨床データを統合
主要概念
SOFT (Simple Omnibus Format in Text): メタデータとデータテーブルを含む GEO の主要なテキスト形式。GEOparse で簡単に解析可能。
MINiML (MIAME Notation in Markup Language): GEO データの XML 形式。プログラマティック アクセスとデータ交換に使用。
Series Matrix: サンプルを列として、遺伝子/プローブを行として含むタブ区切り発現マトリックス。発現データ取得に最速形式。
MIAME Compliance: マイクロアレイ実験に関する最小情報。GEO がすべての提出物に強制する標準化注釈。
発現値タイプ: 異なるタイプの発現測定 (生信号、正規化、ログ変換)。常にプラットフォームと処理方法を確認。
プラットフォーム注釈: プローブ/フィーチャー ID を遺伝子にマップ。発現データの生物学的解釈に不可欠。
GEO2R Web ツール
コーディングなしで迅速に解析するには GEO2R を使用します。
- GEO に統合された Web ベースの統計解析ツール
- アクセス: https://www.ncbi.nlm.nih.gov/geo/geo2r/?acc=GSExxxxx
- 差分発現解析を実行
- 再現性のため R スクリプトを生成
- データをダウンロードする前の探索的解析に有用
レート制限とベストプラクティス
NCBI E-utilities レート制限:
- API キー未使用: 3 リクエスト/秒
- API キー使用: 10 リクエスト/秒
- リクエスト間に遅延を実装:
time.sleep(0.34)(API キー未使用) またはtime.sleep(0.1)(API キー使用)
FTP アクセス:
- FTP ダウンロードのレート制限なし
- 大量ダウンロード時の優先方法
- wget -r でディレクトリ全体をダウンロード可能
GEOparse キャッシング:
- GEOparse は自動的にダウンロードしたファイルを destdir にキャッシュ
- 後続の呼び出しはキャッシュされたデータを使用
- ディスク容量を節約するため定期的にキャッシュをクリア
最適なプラクティス:
- シリーズレベルのアクセスには GEOparse を使用 (最も簡単)
- メタデータ検索とバッチクエリには E-utilities を使用
- 直接ファイル ダウンロードと大量操作には FTP を使用
- 繰り返しダウンロードを避けるためローカルにデータをキャッシュ
- Biopython 使用時は常に Entrez.email を設定
リソース
references/geo_reference.md
以下の内容をカバーする包括的なリファレンス ドキュメント:
- 詳細な E-utilities API 仕様とエンドポイント
- 完全な SOFT および MINiML ファイル フォーマット ドキュメント
- 高度な GEOparse 使用パターンと例
- FTP ディレクトリ構造とファイル命名規約
- データ処理パイプラインと正規化方法
- 一般的な問題のトラブルシューティングとエラー処理
- プラットフォーム固有の考慮事項と癖
技術的な詳細、複雑なクエリパターン、または一般的でないデータ形式を扱う場合はこのリファレンスを参照してください。
重要な注記
データ品質に関する考慮事項
- GEO はユーザー提出データを様々な品質基準で受け入れ
- 常にプラットフォーム注釈と処理方法を確認
- サンプルのメタデータと実験計画を検証
- スタディ間のバッチ効果に注意
- 一貫性のために生データの再処理を検討
ファイルサイズの警告
- シリーズマトリックス ファイルは大きい場合がある (大規模スタディ では >1 GB)
- 補足ファイル (CEL ファイルなど) は非常に大きい場合がある
- ダウンロード前に適切なディスク容量を計画
- サンプルを段階的にダウンロードすることを検討
データ使用法と引用
- GEO データは研究目的で無料で利用可能
- GEO データを使用する場合は常に元の研究を引用
- GEO データベースを引用: Barrett et al. (2013) Nucleic Acids Research
- 個別データセットの使用制限 (ある場合) を確認
- NCBI のプログラマティック アクセスガイドラインに従う
一般的な問題
- 異なるプラットフォームは異なるプローブ ID を使用 (注釈マッピングが必要)
- 発現値は生、正規化、またはログ変換されている可能性 (メタデータを確認)
- スタディ間でサンプルメタデータの形式が一貫していない場合
- すべてのシリーズにシリーズマトリックス ファイルがあるわけではない (古い提出物)
- プラットフォーム注釈は廃止されている可能性 (遺伝子名が変更、ID が非推奨)
追加リソース
- GEO Website: https://www.ncbi.nlm.nih.gov/geo/
- GEO Submission Guidelines: https://www.ncbi.nlm.nih.gov/geo/info/submission.html
- GEOparse Documentation: https://geoparse.readthedocs.io/
- E-utilities Documentation: https://www.ncbi.nlm.nih.gov/books/NBK25501/
- GEO FTP Site: ftp://ftp.ncbi.nlm.nih.gov/geo/
- GEO2R Tool: https://www.ncbi.nlm.nih.gov/geo/geo2r/
- NCBI API Keys: https://ncbiinsights.ncbi.nlm.nih.gov/2017/11/02/new-api-keys-for-the-e-utilities/
- Biopython Tutorial: https://biopython.org/DIST/docs/tutorial/Tutorial.html
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。