tooluniverse-comparative-genomics について
種をまたぐ遺伝子比較、オルソログの探索、配列と機能の保存性分析を行うToolUniverseスキルです。複数のオルソログデータベースを利用し、遺伝子重複や進化パターンの解釈を支援します。
主な機能
- 01種間オルソログの探索
- 02遺伝子注釈と配列の比較
- 03進化的保存性の分析
- 04遺伝子重複関係の確認
- 05dN/dSの計算
活用シーン
- 01ヒト遺伝子のモデル生物オルソログ検索
- 02種間での遺伝子機能の比較
- 03遺伝子の進化的保存性の評価
- 04遺伝子ファミリーの重複史の分析
MCP 対応
このスキルはToolUniverseのツールを使い、Ensembl Compara、OMA、OrthoDBなどからオルソログと配列のデータを取得します。MCP サーバーまたはクライアントとしての動作は入力に記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-comparative-genomicsインストール後、Claude Code で/tooluniverse-comparative-genomicsを入力して読み込まれたか確認します。
同梱ファイルscripts/dnds.py
詳細
比較ゲノミクスとオルソログ解析
Ensembl Compara、NCBI、UniProt、OLS、Monarch、OpenTargetsを統合し、種間の遺伝子比較、オルソログの特定、配列の取得、機能の保存性を解析します。
推測せず、調べる
科学的事実に不確かな点がある場合は、記憶に頼って推論するのではなく、まずデータベース(PubMed、UniProt、ChEMBL、ClinVarなど)を検索してください。データベースで確認した回答は、推測よりも常に信頼できます。
説明せず、計算する
解析に計算(統計、データ処理、スコアリング、エンリッチメント)が必要な場合は、Bash経由でPythonコードを記述して実行してください。実行方法を説明するのではなく、実際に実行して結果を報告してください。ToolUniverseツールでデータを取得し、Python(pandas、scipy、statsmodels、matplotlib)で解析してください。
このスキルを使用する場面
トリガー:
- 「[ヒトの遺伝子]のマウスオルソログを探して」
- 「[遺伝子]を種間で比較して」
- 「[遺伝子]は[生物]で保存されていますか?」
- 「[遺伝子]のオルソログは何ですか?」
- 「[遺伝子/タンパク質]を種間で比較して」
- 「[遺伝子]の進化的保存性」
- 「ヒトとマウスの[遺伝子]のGOアノテーションを比較して」
ユースケース:
- オルソログの発見:ヒトの遺伝子に対応する他種の遺伝子を見つけます
- 保存性の解析:進化距離に応じて、遺伝子がどの程度保存されているかを評価します
- 機能の比較:オルソログ間でGO用語、ドメイン、アノテーションを比較します
- モデル生物の選定:どのモデル生物がヒトの遺伝子機能を最もよく再現するかを判定します
- 遺伝子ツリー解析:遺伝子ファミリーの進化の歴史を可視化します
- 種を越えた表現型の橋渡し:オルソログを介して、ヒト疾患の表現型をモデル生物の表現型と関連付けます
保存性の推論フレームワーク
保存性を理解するには、進化パターンの種類と、それらが機能について何を示唆するかを区別する必要があります。
高い保存性は機能的制約を示します。 酵母からヒトまで遺伝子が1対1のオルソログとして維持されている場合、浄化選択によって配列の分岐が抑えられています。つまり、その遺伝子の機能は不可欠であり、容易には変化しません。タンパク質配列内で高度に保存された位置(PhastCons スコアが高い場合は > 0.8、または GERP RS > 4)は強い制約を受けており、これらの位置での変異は病原性を示す割合が不釣り合いに高くなります。非コード領域では、PhastCons > 0.5 で哺乳類において保存されていることは、調節エレメントの候補であることを示唆します。
ある系統で保存性が低い場合、選択の緩和と正の選択という2つの説明が考えられます。 これらを区別するには、dN/dS 比(非同義置換率と同義置換率の比)を使います。dN/dS 比が1に近い場合は中立進化を示し、その遺伝子はもはや浄化選択を受けていません(制約の緩和であり、その系統で機能を失っている可能性があります)。dN/dS 比が1を超える場合は正の選択を示し、その遺伝子は中立的な予測よりも速く分岐しています。多くの場合、新しい環境や機能に適応しているためです。dN/dS 比が1より大幅に小さい場合は、浄化選択(機能的制約)の特徴です。脊椎動物の遺伝子が系統樹の特定の枝で高い分岐を示す場合、機能が失われたと結論付ける前に、どちらの説明が当てはまるのかを確認してください。
dN/dS の計算。 データの流れは次のとおりです:ensembl_get_homology(...) → 1対1のオルソログ ID → それぞれに対して EnsemblSeq_get_id_sequence(id=..., type="cds") → 2つの CDS をコドンアラインメントする(オルソログ CDS は通常そのままアラインメントできます。分岐の大きいペアではタンパク質をアラインメントして逆翻訳します)→ dN/dS を計算します。Sequence_dn_ds ツールを使うことを推奨します。1回の呼び出しで、構造化された dN、dS、dN_dS、サイトごとのカウント、および解釈が返されます:
Sequence_dn_ds(seq1="ATG...", seq2="ATG...") # inline codon-aligned CDS
Sequence_dn_ds(fasta1_path="human.fa", fasta2_path="mouse.fa")
このツールは、Jukes-Cantor 補正を用いた Nei-Gojobori(1986)推定法を実装しています(同梱の scripts/dnds.py は同一の CLI 形式で、Biopython NG86 に照らして検証済みです)。dS が0の場合、または補正できない場合(置換数が少なすぎるか多すぎる場合)、dN_dS は null になります。同義サイトが十分でない場合は、分岐の大きいペア1つだけを過度に解釈しないでください。
オルソログ関係の種類によって解釈は変わります。 1対1のオルソログ(ヒトに1つ、マウスに1つの遺伝子)は、機能的等価性の確度が最も高いものです。どちらの系統でも重複していないため、祖先と同じ役割を果たす可能性が最も高くなります。1対多の関係(ヒトに1つ、マウスに複数の遺伝子)は、対象種で遺伝子が重複したことを意味します。各コピーが元の役割の一部をそれぞれ担うようにサブ機能化した場合や、片方のコピーが新しい役割を獲得するように新機能化した場合があります。両方のコピーが祖先の機能を完全に保持していると仮定しないでください。多対多の関係は、両方の種で複雑な重複の歴史を反映しており、パラログのペアごとに分析する必要があります。
保存性の深さは必須性を予測します。 すべての脊椎動物で保存されている遺伝子は、基本的な細胞プロセスを担っていることを示唆します。哺乳類でのみ保存されている遺伝子は、より特化した脊椎動物の新機能を示唆します。霊長類のみ、またはヒトのみに存在する遺伝子は、進化的に新しく獲得された可能性が高く、ヒト固有の生物学的特徴に関与している場合がありますが、深く保存された遺伝子ほど機能の特徴付けが進んでいないことがよくあります。
オルソログが存在しないことは、エラーではなく発見です。 系統特異的な遺伝子は実在し、生物学的に意味があります。遺伝子が系統特異的だと結論付ける前に、次の点を確認してください:(1)閾値を緩和した BLAST で遠縁の相同遺伝子が見つかるか、(2)Ensembl Compara が見逃した、分岐の大きいオルソログが存在するか、(3)遺伝子が急速に進化するファミリー(免疫遺伝子、嗅覚受容体、生殖タンパク質)に属しており、構成要素の入れ替わりが予想されるか。
ワークフローの概要
Input (gene symbol/ID + reference species)
|
v
Phase 1: Gene Identification & Validation
|
v
Phase 2: Ortholog Discovery (Ensembl Compara + OpenTargets)
|
v
Phase 3: Sequence Retrieval (NCBI + Ensembl)
|
v
Phase 4: Functional Annotation Comparison (UniProt + OLS GO terms)
|
v
Phase 5: Cross-Species Phenotype Bridging (Monarch)
|
v
Phase 6: Gene Tree & Evolutionary Context (Ensembl Compara)
|
v
Report: Conservation summary, ortholog evidence, functional comparison, phenotype bridging
フェーズ 1:遺伝子の同定と検証
ensembl_lookup_gene は gene_id(シンボルまたは Ensembl ID)を受け取ります。遺伝子シンボルを使用する場合、species パラメーターは必須です(例:species="homo_sapiens")。省略するとエラーが発生します。下流のクエリで使用するために、Ensembl 遺伝子 ID、説明、生物型、染色体上の座標を抽出します。ヒト以外の参照先では、species を適宜変更してください(例:「mus_musculus」、「danio_rerio」)。
Ensembl の注釈が十分に付与された種のセットに含まれない種(多くの非モデル生物)の場合は、遺伝子レベルの検索がそもそも機能すると想定する前に、まず GoaT_get_species(taxon=...) で参照ゲノムアセンブリが実際に存在することと、そのステータス(ドラフト/染色体レベル/注釈付き)を確認してください。
フェーズ 2:オルソログの探索
主なツールは EnsemblCompara_get_orthologues です。gene(シンボルまたは Ensembl ID)、species(起点となる種、デフォルトは "human")、および任意で target_species(例:"mouse"、"zebrafish")または target_taxon(NCBI 分類群 ID)を受け取ります。系統樹全体のオルソログを取得するには target_species を省略し、特定の種に絞り込む場合はクライアント側でフィルターします。各オルソログについて、相同性の種類(one2one、one2many、many2many)と分類学的な分岐レベルが返されます。
オルソログのマッピングと合わせて配列レベルのデータが必要な場合は、代替手段として ensembl_get_homology を使用します。種間の配列アラインメント比較には、sequence="protein" および aligned=true を使用します。
OpenTargets_get_target_homologues_by_ensemblID(ensemblId を受け取ります)は、OpenTargets の補足的なオルソログデータを提供します。これにより、創薬可能性の情報を追加し、モデル生物の表現型データとの相互参照を行えます。
推論:信頼度の高い機能的同等物として、1:1 オルソログを優先します。1:多の場合は、すべてのコピーを報告し、パラログごとの機能解析が必要であることを明記します。Ensembl Compara にエントリーがない場合は、BLAST の前に OMA(以下を参照)を試してください。OMA の 2,600 以上のゲノムセットは、Ensembl Compara よりもはるかに多くの無脊椎動物、菌類、微生物をカバーしています。
確認すべき主要なモデル生物:マウス(分類群 10090)、ラット(10116)、ゼブラフィッシュ(7955)、ショウジョウバエ(7227)、C. elegans(6239)、S. cerevisiae(4932)。
補完的かつより広範なオルソログソースとしての OMA
Ensembl Compara は脊椎動物を中心に扱います(制限事項を参照)。OMA(Orthologous MAtrix) は、脊椎動物、無脊椎動物、植物、菌類、微生物にまたがる 2,600 以上のゲノムを対象としており、さらに Ensembl Compara にはない 2 つの情報を提供します。階層的オルソロググループ(HOG) — 単なるペアごとの判定ではなく、分類群の範囲全体にわたる遺伝子ファミリーの重複・種分化の履歴 — と、最も厳格なオルソロジーの定義である OMA グループ(各種から寄与する遺伝子は最大 1 つ)です。次の場合は OMA を使用してください。対象の種が Ensembl の注釈が充実した対象種に含まれない場合、遺伝子ファミリーの重複履歴が必要な場合(ペアごとのオルソログ一覧だけではなく)、または下流解析で偽陽性を許容できず、できる限り保守的な 1:1 オルソログセットが必要な場合です。
エントリーポイント — 遺伝子シンボルを OMA 識別子に解決する:
OMA_get_protein が受け付けるのは UniProt アクセッション(例:P04637)または OMA ID(例:HUMAN31534)のみで、遺伝子シンボルは受け付けません。Phase 1/4 ですでに UniProt アクセッションを解決している場合は、ここで直接使用してください。以下の代替方法よりも信頼性が高くなります。
遺伝子シンボルしかない場合は、OMA_resolve_xref(search=...) で検索できますが、これは完全一致の遺伝子シンボル検索ではなく、すべての相互参照データベース(STRING、RefSeq、UniProt など)を対象とした部分一致/ファジーマッチングを行います — 実際の動作を確認したところ、search="TP53" では、無関係な菌類タンパク質の STRING ID である 1109443.G4TP53 や、Vitis vinifera の 29760.D7TP53 などが返されます。これは「TP53」が相互参照文字列に含まれるためであり、TP53 のオルソログだからではありません。必ず結果をフィルタリングしてください。このツールから得た oma_id/entry_nr を信頼する前に、seq_match: "exact" であり、source が UniProtKB で始まり、species_name が想定する種と一致するエントリのみを残してください。よく知られたヒト遺伝子であれば、まず UniProt アクセッションを解決し(tooluniverse-sequence-retrieval / UniProt_search)、OMA_resolve_xref を完全に省略するほうが速くて安全です。
UniProt アクセッションまたは OMA ID を取得した後の OMA の基本ワークフロー:
OMA_get_protein(protein_id="P04637")
-> oma_id (e.g. HUMAN31534), oma_group, oma_hog_id (e.g. HOG:F0782425.2c.7a),
roothog_id, chromosome/locus — the hub record for everything below
OMA_get_orthologs(protein_id="P04637", rel_type="1:1"|"1:n"|"n:1"|"n:m"|omit, per_page=...)
-> pairwise orthologs with rel_type, evolutionary distance, alignment score.
OMA does not paginate internally — it fetches the whole set and ToolUniverse
slices it client-side — so metadata.total_count is the TRUE ortholog count
(e.g. 130 for human TP53) even when metadata.count (page size) is much
smaller; never report metadata.count as "the number of orthologs".
OMA_get_hog(hog_id="HOG:F0782425")
-> full duplication/speciation tree: level (taxonomic rank of this HOG node,
e.g. "Euteleostomi"), children_hogs (lineage-specific sub-duplications,
each with its own hog_id and alternative_levels), completeness_score.
Use this — not OMA_get_orthologs — when the question is about *when and
where* a gene family duplicated, not just which species have a copy.
HOG IDs are reassigned between OMA releases; always get the current one
from OMA_get_protein's oma_hog_id, don't hardcode one from an old query.
OMA_get_group(group_id="1458663") # from OMA_get_protein's oma_group field
-> the strict 1:1-only cross-species group. Use the oma_group value FROM
THE PROTEIN RESPONSE, not from unrelated examples — group numbering is
dense and a group ID a few hundred thousand off from the right one
returns a completely unrelated gene family's group with no error
(verified live: group 1388790 returns "THO complex subunit 5 homolog",
not p53 — always confirm the group_nr in the response matches what you
expect, don't assume a group ID you were told is correct actually is).
OMA_get_protein_go(protein_id="HUMAN31534", aspect="biological_process"|...)
-> GO annotations with per-term information_content (higher = more specific/
rarer term) and evidence code. This is OMA's own GO layer — use it
alongside (not instead of) the UniProt/OLS GO retrieval in Phase 4;
the two databases' annotation sets do not always match exactly.
OMA_get_genome_pair_orthologs(genome1="HUMAN", genome2="MOUSE", per_page=..., page=...)
-> the FULL proteome-vs-proteome ortholog table between two species (not one
query protein) — the right tool for building a species-pair ortholog
table or synteny/dN-dS panel across many genes at once, rather than
calling OMA_get_orthologs one protein at a time. Species arguments accept
either a UniProt species code ("HUMAN", "MOUSE", "PANTR") or an NCBI
taxon ID.
推論:重要な判断材料となる場合(例:疾患研究のモデル生物の選定)は、同じタンパク質について Ensembl Compara の 1:1 判定と OMA の OMA_get_orthologs(rel_type="1:1") の結果を照合してください。2 つのデータベースは異なるオルソロジー推定アルゴリズムを使用しています(Compara:遺伝子ツリー、OMA:ペアワイズ+グラフベース)。よく保存された遺伝子では概ね一致しますが、不一致そのものも有益な情報です(通常、最近の重複など、その関係が実際に曖昧であることを意味します)。
2 つ目のグループベースのオーソログソースとしての OrthoDB
OrthoDB は、Ensembl Compara(遺伝子ツリーベース)と OMA(ペアワイズ+厳密なグループベース)のどちらとも異なる、3 つ目のオーソロジーデータベースです。分類学的な階層ごとにオーソロググループを定義します。同じ遺伝子ファミリーでも、Eukaryota、Metazoa、Vertebrata、Primates などの各階層で異なる group_id が割り当てられ、それぞれの進化的な深さで確認できるメンバーと重複パターンを捉えています。これは、重複の歴史全体を 1 つのオブジェクトに記録する OMA の HOG ツリーとは、まったく異なる見方です。OrthoDB では、各階層についてメンバー一覧のフラットなスナップショットが 1 つ提供され、グループに直接付与された GO/KEGG/InterPro の機能アノテーション(登録されている場合)も利用できます。また、3 つのデータベースの中で唯一、1 回の呼び出しでグループの全メンバーの FASTA 配列を直接取得できます。
エントリーポイント — 遺伝子名での検索は信頼できません。実データで検証済みです。 OrthoDB_search_groups(query="TP53", species=9606, limit=20) は、上位 20 件(全 100 件)のどこにも実際の p53 遺伝子グループを返しません。代わりに「TP53-target gene 3 protein」や「TP53-binding protein 1」、さらに「phosphoglycerate mutase」のような無関係なグループを返します。これは、検索が遺伝子シンボルの完全一致インデックスではなく、グループのコンセンサス名やテキストを大まかに照合するためです。実際のグループが見つかったのは、グループの正式な OrthoDB コンセンサス名で検索した場合のみでした。OrthoDB_search_groups(query="cellular tumor antigen p53") → Eukaryota 階層の group_id="4289813at2759" にある「tumor protein p53」です。これは OMA_resolve_xref の部分文字列マッチングと同種の失敗例です(上記参照)。返された name を確認し、さらに OrthoDB_get_orthologs を使って、期待する種/gene_id が実際に含まれていることを確かめずに、最初の検索結果を「その遺伝子のグループ」だと決めつけないでください。
OrthoDB の基本的なワークフロー(上記の OMA セクションと直接比較できるよう、同じ TP53 の例で実データを検証済みです):
OrthoDB_search_groups(query=..., species=9606, level=..., limit=...)
-> candidate group_ids. Prefer a descriptive/consensus-name query over a bare
gene symbol (see above). `level` narrows to one taxonomic depth (7742 =
Vertebrata, 33208 = Metazoa, 2759 = Eukaryota) if you already know which
scope you want; omit it to see the gene's group at every level OrthoDB
tracks separately.
OrthoDB_get_group_details(group_id="4289813at2759")
-> name, level_name, tax_id, plus go_terms/kegg_pathways/interpro_domains
WHEN POPULATED. Verified live: this TP53 (Eukaryota-level) group returned
`go_terms: null, kegg_pathways: null, interpro_domains: null` -- these
enrichment fields are not populated for every group, do not assume their
absence means "no known function," just that OrthoDB hasn't attached
that layer at this particular group/level.
OrthoDB_get_orthologs(group_id="4289813at2759", species="9606,10090")
-> per-organism member list. Verified live: returned 2 entries EACH for
human and mouse (gene_id "TP53"/"7157" for human, "Trp53"/"22059" for
mouse) -- OrthoDB can list more than one record per organism per group
(alternate gene-model annotations for the same locus), so
`total_orthologs` is a record count, not a species count; group by
`organism_name` (or use `organisms_summary`) to get the actual per-species
tally.
OrthoDB_get_group_fasta(group_id="4289813at2759", species="9606", limit=...)
-> the one thing OMA and Ensembl Compara tool calls in this skill don't give
you directly: real amino-acid sequences for every member of a group in
one call, with `pub_gene_id`/`organism_name` parsed out of each header.
Verified live: returned 2 human sequences (410 aa and 393 aa -- different
isoform-level records, not an error) ready for MSA/phylogenetic input
without a separate NCBI/Ensembl sequence-retrieval round-trip.
考察:特に、(a)統合された 1 つの重複ツリーではなく、分類学的な階層ごとのグループスナップショット、(b)登録されている場合のグループ単位の GO/KEGG/InterPro エンリッチメント、または(c)下流のアラインメントに使うオーソロググループ全体の FASTA 配列を 1 回の呼び出しで直接取得する必要がある場合は、OMA の代わりではなく、OMA と併用してください。オーソログ数の生データや 1:1/1:n の関係タイプを問い合わせる場合は、Ensembl Compara から得られる結果と同じ条件で直接比較しやすいのは OMA の OMA_get_orthologs です。OrthoDB は補完的なデータレイヤーとして扱い、置き換えを決める判断基準にはしないでください。
フェーズ 3:配列の取得
NCBI_search_nucleotide(organism には完全な種名(例:"Homo sapiens")、gene、seq_type = "mRNA" を指定)を使って配列レコードを検索し、続いて NCBI_fetch_accessions で UID をアクセッション番号に変換し、最後に NCBI_get_sequence で FASTA データを取得します。代表配列には、他のアクセッションより RefSeq(mRNA は NM_、タンパク質は NP_)を優先してください。
アラインメント済みの配列を直接取得する必要がある場合は、BLAST を実行するよりも、sequence="cdna" または sequence="protein" を指定して ensembl_get_homology を使うほうが高速です。BLAST は、Ensembl Compara でオーソログが見つからない場合にのみ使用してください。
フェーズ 4:機能アノテーションの比較
UniProt_search は UniProt 構文のクエリ(例:"gene:TP53 AND organism_id:9606 AND reviewed:true")と fields を受け取り、GO 用語を含む特定のアノテーション列を取得します。Swiss-Prot のキュレーション済みエントリに限定するには、reviewed:true を使用します。
UniProt_get_function_by_accession は UniProt アクセッションを受け取り、機能の説明文字列のリストを返します(辞書ではありません)。
比較対象の各種について GO 用語を取得し、生物学的プロセス(BP)、分子機能(MF)、細胞構成要素(CC)ごとに分類します。共通する GO 用語は機能が保存されていることを示します。一方、ヒトには存在するがオルソログには存在しない用語は、真の機能的分化ではなく、アノテーションの偏り(研究の少ない生物では GO アノテーションが少ない)を反映している可能性があります。保存性に関する主張は、共通する用語に基づいてください。
アノテーションの欠落に関する考察:マウスのオルソログにヒトタンパク質の GO 用語がない場合、機能的分化ではなく、マウス遺伝子のアノテーションが不完全である可能性を考慮してください。逆に、マウスには存在するがヒトにはない GO 用語は一般的ではありませんが、機能の分化または獲得を示している可能性があります。
フェーズ 5:種をまたぐ表現型の橋渡し
Monarch_search_gene(遺伝子シンボルを query として受け取ります)は、Monarch クエリに必要な遺伝子 CURIE を返します。Monarch_get_gene_phenotypes と Monarch_get_gene_diseases は遺伝子 CURIE(例:"HGNC:11998")を受け取り、複数の種にまたがる表現型/疾患の関連を返します。
種ごとの表現型オントロジー:ヒト = HP(HPO)、マウス = MP(哺乳類表現型)、ゼブラフィッシュ = ZP、ハエ = FBcv。Monarch は種をまたいで統合します。完全に一致する用語を求めるのではなく、表現型のテーマ(例:ヒトの「腫瘍感受性」とマウスの「腫瘍発生率の増加」)を比較してください。
モデル生物の選択に関する考察:1 対 1 の関係を持ち、Monarch でヒトの疾患を再現する表現型が示されるマウスのオルソログは、有力な疾患モデル候補です。マウスの表現型がヒトの疾患表現型と大きく異なる場合は、その点を明示する価値があります。種特異的な機能、またはモデルの限界を示している可能性があります。
フェーズ 6:遺伝子系統樹と進化的背景
EnsemblCompara_get_gene_tree(gene と species を受け取ります)は、遺伝子系統樹のメンバー、種の分布、種分化イベントと重複イベントを返します。EnsemblCompara_get_paralogues は、ソース種に存在するすべてのパラログを返します。
遺伝子系統樹から、次の点を評価してください:(1)この遺伝子ファミリーのメンバーを持つ種の数、(2)遺伝子重複イベントが起きた時期(古代または最近)、(3)特定の系統で遺伝子ファミリーが拡大したかどうか。すべての脊椎動物で単一コピーとして存在する遺伝子(深く保存され、重複がない)は、強い選択圧を受けている可能性が高いです。
比較対象種のゲノムアセンブリの背景:ある種のオルソログ判定が不完全に見える場合や、基礎となる参照アセンブリが必要な場合は、NCBIDatasets_list_genomes_by_taxon(taxon は tax_id、limit、reference_only をパラメーターとして指定)を使用して参照ゲノムを探し、NCBIDatasets_get_genome_assembly(accession をパラメーターとして指定)でアセンブリ指標(連続性/N50/完全性。断片化したアセンブリは誤った「オルソログなし」判定の原因となる場合があります)を取得し、NCBIDatasets_get_sequence_reports(accession をパラメーターとして指定)で染色体/スキャフォールドのレプリコンマップを取得します。微生物ゲノムのアセンブリ QC ワークフロー全体については、tooluniverse-microbial-genome-characterization スキルを参照してください。
統合に関する質問
集めた証拠を解釈する際は、次の質問を順に検討してください。
- オルソログの関係は1対1ですか。それとも重複によって、機能が分化した可能性のあるパラログが生じていますか。これは、モデル生物で得られた知見をヒトの遺伝子にどの程度直接当てはめられるかを判断するうえで重要です。
- オルソログ間で保存されたGO用語(特に生物学的プロセス)が共有されていますか。それとも、系統特異的な機能アノテーションがあり、機能の分化を示唆していますか。
- 疾患遺伝子の研究では、モデル生物のオルソログが関連するヒトの表現型を再現していますか(Monarch 経由)。これは、疾患モデルとしての利用を支持しますか。
- 遺伝子周辺の非コード調節領域も保存されていますか(OpenCRAVAT の PhastCons/GERP)。これは、タンパク質の機能を超えて遺伝子調節も保存されていることを示唆しますか。
- オルソログが見つからない場合、その遺伝子は本当にその系統に特異的なのでしょうか。それとも、感度の高い配列解析でのみ検出できる、高度に分化した相同遺伝子が存在する可能性はありますか。
フォールバック戦略
- Ensembl Compara でオルソログが見つからない場合:
ensembl_get_homologyを試し、次にOpenTargets_get_target_homologues_by_ensemblID、その次にOMA_get_orthologs(より幅広い分類群をカバーし、特に無脊椎動物/菌類/微生物に強みがあります。フェーズ2の OMA セクションを参照)、最後の手段として BLAST を試します。Compara と OMA のどちらにも対象種が含まれていない場合は、NCBIDatasets_list_genomes_by_taxonで参照アセンブリの有無を確認し、NCBIDatasets_get_genome_assemblyでその連続性を確認してから、遺伝子が本当に存在しないと結論づけてください - ペアごとのオルソログ一覧だけでなく、重複/種分化の履歴が必要な場合:
OMA_get_hogでは HOG の完全な系統樹を取得できます。Ensembl Compara の遺伝子系統樹(EnsemblCompara_get_gene_tree)でも同様の情報を得られます。重複の時期が結論を左右する場合は、両方を照合してください - 配列の取得に失敗した場合:NCBI の代替として、
sequence="cdna"を指定してensembl_get_homologyを使用してください reviewed:trueを指定すると UniProt の結果が空になる場合:そのフィルターを外して試してください。対象生物には TrEMBL エントリしかない可能性があります- Monarch からデータが返されない場合:代替として、
category="biolink:GeneToPhenotypicFeatureAssociation"を指定してMonarchV3_get_associationsを使用してください - 種によって遺伝子シンボルが曖昧な場合:シンボルの混同を避けるため、全体を通して Ensembl ID を使用してください(例:ゼブラフィッシュの「p53」と「tp53」)
制限事項
- Ensembl Compara:脊椎動物に最適です。一部の遺伝子ファミリーでは、無脊椎動物と植物のカバレッジが限られています。OMA は、より多くの無脊椎動物/菌類/微生物を含む 2,600 以上のゲノムをカバーしていますが、独自の不足もあります(Ensembl Plants のような植物固有の遺伝子ツリーキュレーションはありません)。一方が他方を完全に置き換えるのではなく、相互補完的なものとして扱ってください
- OMA_resolve_xref:完全一致の遺伝子シンボル解決ではなく、部分一致/あいまい検索を行います。単独の遺伝子シンボル(例:「TP53」)を指定すると、その文字列を含むだけの無関係な相互参照が返されます。必ず
seq_match: "exact"と想定するspecies_name/ソースで絞り込むか、先に UniProt アクセッションを解決してこのツールを使わないでください - OMA group/HOG ID:番号は密に割り当てられており、範囲チェックもありません。正しい ID から数十万ずれた誤った ID を指定すると、エラーにならず、別の無関係な遺伝子ファミリーが返されます。ID は必ず最新の
OMA_get_proteinレスポンスから取得し、記憶や古いクエリの ID が今も正しいと決めつけないでください - OrthoDB_search_groups:遺伝子シンボルではなく、グループのコンセンサス名をあいまいに照合します。単独の遺伝子シンボル(「TP53」など)で検索すると、実際の遺伝子のグループが上位 20 件以上に表示されないことがあります(ライブで確認済み)。その代わりに、似た名前の無関係なグループ(「TP53-target gene 3 protein」、「TP53-binding protein 1」など)が返されます。返されたグループを信頼する前に、
OrthoDB_get_orthologsでメンバーを確認するか、単独のシンボルではなく説明的な名前(例:「cellular tumor antigen p53」)で検索してください - OrthoDB のグループ/レベルの分割:OrthoDB が追跡する分類学的レベル(Eukaryota、Metazoa、Vertebrata など)ごとに、同じ遺伝子でも異なる
group_idを持ちます。OMA のoma_groupのような、遺伝子に対する単一の標準グループ ID はありません。また、OrthoDB_get_group_detailsの GO/KEGG/InterPro フィールドは多くのグループでnullです(ライブで確認済み)。これらの情報がないのはデータ登録の不足であり、その遺伝子に他の場所で注釈が付与されていない証拠ではありません - BLAST_protein_search:非常に時間がかかります(5~30 分)。オーソログの特定には最終手段としてのみ使用してください
- Monarch:表現型のカバレッジは生物種によって異なります。マウスとゼブラフィッシュは最も充実していますが、ハエと線虫のデータは少なめです
- UniProt の GO 注釈:よく研究されている生物種に偏っています。注釈がないからといって、機能がないとは限りません
- NCBI_search_nucleotide:多くのアイソフォームが返される場合があります。標準転写産物には RefSeq(NM_*)で絞り込んでください
- 保存性は必須性を意味しません:高度に保存された遺伝子でも、特定の生物では不要な場合があります