質問:
独自のGOアソシエーションファイル(gaf)を作成するにはどうすればよいですか?
Michael
2017-06-08 12:57:22 UTC
view on stackexchange narkive permalink

この質問は、2年以上前にユーザージャックによって投稿されたBioStarsの質問に基づいています。

非モデル生物のGOアノテーションを生成する際の非常に頻繁な問題について説明しています。 。特定の形式と単一のアプリケーション(Ontologizer)に基づいていますが、GAFファイルに到達するまでの経路の一般的な説明があると便利です。

入力形式には、取得方法などの重要な情報が少し不足していることに注意してください。したがって、証拠コードを割り当てるのは難しいです。したがって、GO用語の割り当てが自動的に行われたと仮定しましょう。


事前定義された関連付けファイルなしでOntologizerを使用して遺伝子濃縮を行いたい(モデル生物ではない)。

次のように、その生物の2つの列を持つファイルを解析しました:

  geneA GO:0006950、GO:0005737geneB GO:0016020、GO:0005524、GO:0006468 、GO:0005737、GO:0004674、GO:0006914、GO:0016021、GO:0015031geneC GO:0003779、GO:0006941、GO:0005524、GO:0003774、GO:0005516、GO:0005737、GO:0005863geneD GO:0005634 、GO:0003677、GO:0030154、GO:0006350、GO:0006355、GO:0007275、GO:0030528  

この情報を含むGeneオントロジーファイルから.obファイルをダウンロードしました(ここから):

  !! GO ID(プライマリのみ)と名前のテキスト文字列! GO:0000000 [タブ]テキスト文字列[タブ] F | P | C!ここで、F =分子機能、P =生物学的プロセス、C =細胞成分!GO:0000001ミトコンドリアゲノム維持PGO:0000002ミトコンドリアゲノム維持PGO:0000003生殖PGO:0000005リボソームシャペロン活性FGO:0000006高親和性亜鉛取り込み膜輸送体活性FGO:0000007低親和性亜鉛イオン膜輸送体活性FGO:0000008チオレドキシンFGO:0000009アルファ-1,6-マンノシルトランスフェラーゼ活性FGO:0000010トランスヘキサプレニルトランストランスフェラーゼ活性FGO:0000011空胞遺伝P  

必要なもの出力は次の形式の.gafファイルです( ファイルの形式ここ):

 !gaf-version:2.0!Project_name:Leishmania major GeneDB!URL:http://www.genedb.org/leish !お問い合わせ先Eメール:mb4@sanger.ac.uk GeneDB_Lmajor LmjF.36.4770 LmjF.36.4770 GO:0003723 PMID:22396527 ISO GeneDB:Tb927.10.10130 FミトコンドリアRNA結合複合体1サブユニット、推定LmjF36.4770遺伝子分類群:347515 20120910 GeneDB_Lmajor GeneDB_L .36.4770 LmjF.36.4770 GO:0044429 PMID:20660476 ISS CミトコンドリアRNA結合複合体1サブユニット、推定LmjF36.4770遺伝子分類群:347515 20100803 GeneDB_Lmajor GeneDB_Lmajor LmjF.36.4770 LmjF.36.4770 GO:0016554 PMID:22396527 ISODBミトコンドリアRNA結合複合体1サブユニット、推定LmjF36.4770遺伝子分類群:34751520120910 GeneDB_Lmajor GeneDB_Lmajor LmjF.36.4770 LmjF.36.4770 GO:0048255 PMID:22396527 ISO GeneDB:Tb9 27.10.10130 PミトコンドリアRNA結合複合体1サブユニット、推定LmjF36.4770遺伝子分類群:347515 20120910 GeneDB_Lmajor  

独自のGOアソシエーションファイル(gaf)を作成する方法

ブロッククォート>
GO、非モデル生物、gaf、過剰表現分析などのタグをいくつか追加してください。リストに適切なタグがまだ多くないため、ランダムタグを使用しました。
質問を少し変更し、タグを追加し、その形式でファイルを作成する際に質問を中央に配置しました。同意しない場合は、変更を元に戻してください。
[tag:gene-ontology]と[tag:gaf]を追加しました。 [tag:over-representation-analysis]と[tag:enrichment-analysis]のどちらが適切かわかりません。
@Llopis:うまくいけば、誤って変更を上書きしただけではありません。
運が悪い、私の編集は拒否された(または少なくとも表示されない):\
別のサイトから質問を持ち込みたい場合は、[そのままコピーして貼り付けないでください](https://bioinformatics.meta.stackexchange.com/q/78/298)。代わりに、*自分の言葉でもう一度聞いてください*。また、コピーする場合は、引用されたテキストを引用ブロックに入れて、それが引用であることを明確に示すことをお勧めします。
@terdon,申し訳ありませんが、新しいルールに適応する必要があります;)編集を受け入れましたが、質問を自分の言葉で書き直す時間がなく、厳密に必要だとは思いません。それが私の前の投稿と矛盾しているように見えるかもしれませんが、質問はかなり古いので、それはimoではありません。
@Michaelいいえ、今これを書き直すとは思っていませんでした。でも次回はそうしてください。他のサイトから質問を逐語的につまむだけで回るのは正しくないようです。あなたが説明を提供する立場にあるか、これがあなたにも影響を与える問題でない限り、そうではありません。
確かに、私はこの質問について十分な説明を提供できます。ここで使用された可能性が高いBlast2GOではなくGO用語を割り当てるためにInterproScanを使用していることを除いて、まったく同じことを行っています。 IPS出力をGAFに変換するための同様のスクリプトがあります。
ハ!私は今、あなたが最初に他のサイトからのコピー全体を問題として提起した人であることに気づきました:)
1 回答:
terdon
2017-06-08 14:08:05 UTC
view on stackexchange narkive permalink

これを実行できるPerlスクリプトは次のとおりです。

#!/ usr / bin / env perl use strict; use warnings; ##変更これは、使用している分類群に適用されますmy $ taxon = 'taxon:1000'; chomp(my $ date = `date +%Y%M%d`); my(%aspect、%gos); ## GOを読んでください。各GO用語のアスペクト(サブオントロジー)##を取得するためのterms_and_idsファイル。 open(my $ fh、$ ARGV [0])またはdie "Need a GO.terms_and_ids file as 1st arg:$!\ n"; while(< $ fh>){next if / ^!/;チョップ;私の@ fields = split(/ \ t /); ## $アスペクト{GO:0000001} = 'P' $アスペクト{$ fields [0]} = $ fields [2];} close($ fh); ##遺伝子アノテーションのリストを読むopen($ fh、$ ARGV [1])またはdie "2番目の引数として遺伝子注釈のリストが必要:$!\ n"; while(< $ fh>){chomp; my($ gene、@ terms)= split(/ [\ s、] + /); ## $ gos {geneA} =(go1、go2 ... goN)$ gos {$ gene} = [@terms];} close($ fh); foreach my $ gene(keys(%gos)){foreach my $ term(@ {$ gos {$ gene}}){##この用語にアスペクトがない場合は警告してスキップif(!$ aspect {$ term}){print STDERR "Unknown GO term($ term)for gene $ gene \ n ";次; } ##疑似GAF行を作成するmy @ out =( 'DB'、$ gene、$ gene、 ''、$ term、 'PMID:foo'、 'TAS'、 ''、$ aspect {$ term}、$遺伝子、 ''、 'タンパク質'、$ taxon、$ date、 'DB'、 ''、 '');印刷join( "\ t"、@ out)。 "\ n"; }}

実行可能にし、 GO.terms_and_ids ファイルを最初の引数として実行し、遺伝子アノテーションのリストを2番目の引数として実行します。現在の GO.terms_and_ids と質問の注釈の例を使用すると、次のようになります。

  $ foo.pl GO.terms_and_ids file.gos DB geneD geneD GO:0005634 PMID:foo TAS C遺伝子Dタンパク質分類群:100020170308 DBDB遺伝子D遺伝子GO:0003677 PMID:foo TAS F遺伝子Dタンパク質分類群:100020170308 DB
DB geneD geneD GO:0030154 PMID:foo TAS P geneDタンパク質分類:1000 20170308 DB不明GO用語(GO:0006350)遺伝子geneDDB geneD遺伝子GO:0006355 PMID:foo TAS P geneDタンパク質分類:1000 20170308 DB DB geneD geneD GO :0007275 PMID:foo TAS P遺伝子Dタンパク質分類:1000 20170308 DB DB遺伝子D遺伝子GO:0030528 PMID:foo TAS F遺伝子タンパク質分類:1000 20170308 DBDB遺伝子B遺伝子BGO:0016020 PMID:foo TAS C遺伝子Bタンパク質分類:1000 20170308 DB DB geneB geneB GO:0005524 PMID:foo TAS F geneBタンパク質分類:1000 20170308 DB DB geneB geneB GO:0006468 PMID:foo TAS P geneBタンパク質分類:1000 20170308 DB DB geneB GO:0005737 PMID:foo TASC遺伝子Bタンパク質分類:1000 20170308 DB DB geneB geneB GO:0004674 PMID:foo TAS F遺伝子Bタンパク質分類:1000 20170308 DBDB遺伝子B遺伝子BGO:0006914 PMID:foo TAS P遺伝子Bタンパク質分類:1000 20170308 DBDB遺伝子B遺伝子BGO:0016021 PMID:foo TAS C遺伝子Bタンパク質分類:1000 20170308 DBDB遺伝子B遺伝子BGO:0015031 PMID:foo TAS P geneBタンパク質分類:1000 20170308 DB DB geneA geneA GO:0006950 PMID:foo TAS P geneAタンパク質分類:1000 20170308 DB DB geneA geneA GO:0005737 PMID:foo TAS C geneAタンパク質分類:1000 20170308 DB DB geneC geneC GO:0003779 PMID:foo TAS F geneCタンパク質分類:1000 20170308 DB DB geneC geneC GO:0006941 PMID:foo TAS P geneCタンパク質分類:1000 20170308 DB DB geneC geneC GO:0005524 PMID:foo TAS F geneCタンパク質分類:1000 20170308 DB
DB geneC geneC GO:0003774 PMID:foo TAS F geneCタンパク質分類群:100020170308 DB DB geneC geneC GO:0005516 PMID:foo TAS F geneCタンパク質分類群:1000 20170308 DB DB geneC geneC GO:0005737 PMID:foo TASC遺伝子Cタンパク質分類群:1000 20170308 DB DB geneC geneC GO:0000863 PMID:foo TAS C geneCタンパク質分類群:1000 20170308 DB  

ほとんどのフィールドが離れているため、これは非常に疑似GAFファイルであることに注意してください。遺伝子名から、GO用語とサブオントロジーは偽物です。ただし、必要な場合は引き続き機能します。

非モデル生物のGOに手動で注釈を付ける可能性は低いため、証拠コードをIEAに変更する必要があると思います。
@Michael,は実際には何の違いもないので、これらはOPによって提供される注釈であるため、TASを選択しました。しかし確かに、IEAも機能します。エンリッチメント分析を行う場合、フィールドはどのような場合でも無視されるため、好きなものを入力できます。
確かに、IEAはいくつかのツールによって破棄されることさえあります。


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...