1

特定のバイオプロジェクトの NCBI データベースからコーディングタンパク質配列を取得しようとしています。これは、Web ブラウザーを使用して何らかの形で実現できます。たとえば、興味のある特定のバイオプロジェクトを見つけて、関連するタンパク質を「クリック」することができます: http://www.ncbi.nlm.nih.gov/genome/proteins/994?project_id=207383すべてを見ることができますBioProject "207383" および Genome "994" のタンパク質。Pythonを使用してそれらのタンパク質配列を自動的に取得したいと思います。

そのために、NCBI の「E-utilities」を使用しました。主に「elink.fcgi?」これにより、データベースの特定のUID(BioProject UIDとしましょう)からリンクされたデータベースのすべてのUID(「タンパク質」としましょう)を取得できます。ここに私の entrez URL リクエストがあります:
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=bioproject&linkname=bioproject_protein&id=207383
次に、タンパク質 UID のリストを取得します。 efetch.fcgi を使用した次のリクエストのために、これらが必要ですか? 「Eユーティリティ」。このリクエストにより、必要なものすべてを取得できます。

OK、すべてが素晴らしいので、すべて正常に動作しますが、「elink.fcgi?」から取得したタンパク質 UID の数は? 要求は、手動の Web ブラウザー ベースの検索で表示されるタンパク質の数と同じではありません。さらに悪いことに、これらの問題の原因を調べると、欠落している配列や高等分類群の配列が表示されます (これも BioProject とはまったく関係がありません)。

例を次に示します。この投稿の最初のリンクは、Python リクエストが 3957 タンパク質 UID を取得したときに、多くの 4014 シーケンスを表示します。

タクソノミー UID からリンクされたすべてのタンパク質 UID を取得するなど、他のアプローチをいくつか試しました。さまざまなバイオプロジェクトがあるため、これは通常、必要以上のシーケンスを提供します (また、異なる名前で同じ Fasta のダブルもいくつか提供します)。

これを行う方法はありますか?

4

1 に答える 1

2

また、NCBI での作業は非常にイライラします。このようなデータ ソースが、きれいなダウンロード方法を提供していないことに驚いています。代わりに、いくつかのひどい相互リンクを提供し、ユーザーが自分ですべてを理解できるようにします。

私の解決策はこの投稿からです

Entrez API を使用して細菌ゲノムをダウンロードする方法

データベースを「nuccore」に変更し、rettype を「fasta_cds_aa」に変更してください。また、ダウンロードした fasta ファイルのタクソノミー ID をチェックして、それがまさにあなたが求めている系統であることを確認します (この最後のものは私を大いに混乱させ、苦労して学んだ教訓です)。

于 2014-03-22T00:36:16.880 に答える