5

Pythonを使用してゲノム配列を効率的にフェッチするにはどうすればよいですか?たとえば、.faファイルやその他の簡単に入手できる形式からですか?基本的に、指定されたストランドの指定された染色体上のシーケンス[start、end]を返すインターフェイスfetch_seq(chrom、strand、start、end)が必要です。

同様に、phastConsスコアを取得するためのプログラムによるPythonインターフェースはありますか?

ありがとう。

4

4 に答える 4

4

大きな人間の染色体ファイルからシーケンスデータを取得することは、メモリ的に非効率的である可能性があるため、計算効率を求めている場合は、シーケンスデータをパックされたバイナリ文字列にフォーマットし、バイト位置に基づいて検索できます。私はこれをperl(ここで利用可能)で行うルーチンを作成しました。pythonには同じpackおよびunpackルーチンがあります。これは実行できますが、限られたマシンで大きなファイルで問題が発生した場合にのみ価値があります。それ以外の場合は、biopythonSeqIOを使用してください

于 2012-12-04T01:45:02.860 に答える
2

Biostarであなたの質問に対する私の答えを見てください:

http://biostar.stackexchange.com/questions/1639/getting-genomic-sequences-and-phastcons-scores-using-python-from-ensembl-ucsc

FastaファイルでSeqIOを使用すると、ファイル内の各アイテムのレコードオブジェクトが返されます。次に、次のことができます。

region = rec.seq[start:end]

スライスを引き出します。標準ライブラリを使用することの良いところは、元のfastaファイルの改行について心配する必要がないことです。

于 2010-07-07T11:27:12.753 に答える
1

いくつかの遺伝子配列フォーマットをサポートしているbiopythonを見てください。具体的には、FASTAファイルとGenBankファイルをサポートしています。

于 2010-07-07T04:11:37.947 に答える
0

pyfastaはあなたが探しているモジュールです。説明から

fastaシーケンスファイルへの高速でメモリ効率の高いpythonic(およびコマンドライン)アクセス

https://github.com/brentp/pyfasta

于 2011-03-18T08:13:25.180 に答える