0

タンパク質グループの Uniprot ファイルをダウンロードしました (n>1000 であるため、これらのタンパク質を手動でチェックすることはできません)。完全なデータ ファイルは、フラット テキスト ファイルまたは XML ファイルとして提供されます。これらのファイルには多くの情報が含まれています (たとえば、ここを参照してください: http://www.uniprot.org/uniprot/?query=organism%3A%22homo+sapiens%22を参照してから、ダウンロードにアクセスしてください。 txt または xml ファイルの完全なデータについては、最初の 10 個を参照してください)。

彼らには必要のない情報がたくさんあるので、興味のある情報を選択する方法を見つける必要があります (できればデータマトリックスで)。すべてのエントリについて、これは次のとおりです。

Wanted information:                 Text file entry:    XML file entry:
Uniprot ID                          ID                  <entry><name>
Gene Name                           GN                  <gene><name type="primary">
Full protein name                   RecName:            <protein><recommendedName><fullName>
Transmembrane domains (may be more) TRANSMEM            <feature type="transmembrane region"><location> This consists of <begin position="xxx"/> and <end position="yyy"/>
Full protein sequence               SQ                  <sequence>

一部のエントリにはすべての情報が含まれていない場合があり (膜貫通ドメインなど)、NA が入力される場合があります。一部のエントリには、同じ種類の複数回の情報が含まれる場合があります (膜貫通ドメインなど)。これらについては、すべてに名前を付ける必要があります。 (可能であれば、「,」または「;」または「|」で区切られた同じセル内)。

私はRに少し慣れていますが、それでここまでたどり着くことができませんでした(プログラミングスキルが不足している可能性があります)。私は XML エディターを調べました (これが最も簡単な解決策のように思われるため) が、何も機能させることができませんでした。途中で役立つものを見つけることができず、さまざまな手順を説明することができませんでした。また、R で XML ファイルを処理する方法が必要であることも知っていますが、そこにあるヘルプ ファイルも必要な場所に移動できませんでした。XMLQuire では、これまでにダウンロードできた唯一のもので、ファイルを見ることができましたが、何かをしたいときにクラッシュし続けます (ファイルを編集できる場所を見つけようとしているだけでも)。 )、ファイルが長すぎるか、別の問題がある可能性があります。

同様のことをした人を見つけたいと思っていますが、フリーウェアである限り、どんなに小さくても、どのプログラムを使用する必要があっても、すべての解決策を歓迎します。

また、不明な点がある場合はお知らせください。できる限り明確にするように努めています。そして、この件に関してそのようなブロンディになって申し訳ありません。

4

1 に答える 1

0

コメントで述べたように、(Bio)Python を知っているか試してみたい場合は、取得したファイルを解析するライブラリ Bio.SeqIO があります。

FTP サイト (ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.dat.gz) から UniProt 全体をプレーン テキストの SwissPort ファイル形式でダウンロードしたとします。ファイル uniprot_sprot.dat として解凍し、そこからいくつかのレコードだけを抽出したいとします。

from Bio import SeqIO
uniprot = SeqIO.index("uniprot_sprot.dat", "swiss")
handle = open("selected.dat", "w")
for acc in ["P33487", "P19801", "P13689", "Q8JZQ5", "Q9TRC7"]:
...handle.write(uniprot.get_raw(acc))
handle.close()

セクション 16.1.5 に、SeqIO.index() 関数を使用して大きなシーケンス ファイルを並べ替える長い例があります (一度にすべてをメモリにロードすることはありません)。

5.4.2.2 レコードの生データの取得

ここで見ることもできます:シーケンス ファイルを開く。あなたの問題に似ていますが、より単純な問題がBiostarで回答されており、これはおそらく必要なものです。Swiss-Protファイルの解析

基本的に、ファイルからレコードを抽出し、Python オブジェクト内に保存して、自由に操作できます。たとえば、ID を取得します。

私の答えはかなり曖昧ですが、正しい方向を指しているはずです。お役に立てば幸いです。

于 2013-01-11T20:52:18.620 に答える