FASTA 形式の BLAST 出力からギャップのないシーケンスを取得することに興味があります。使えると思っhsps_no_gap
たけどダメ。これを行うために使用できる方法はありますか?
3 に答える
0
シーケンスはオブジェクトに保存されていると思いますSeqIO.Seq
。
おそらく、ungap
内のメソッドを使用する必要がありますSeqIO.Seq
。ドキュメントはかなり良いです。ungap()
文字列置換操作よりも適切な選択です(たとえば、シーケンスアルファベットからギャップ文字を推測できます)。
コード例:
from Bio import SeqIO
seq_records = SeqIO.parse("input.fasta", format='fasta')
for record in seq_records:
seq_ungapped = record.seq.ungap('-')
于 2012-04-01T21:58:56.733 に答える
0
BLAST出力のフォーマットは何ですか? XML? ブラスト出力から hsps を取得して、次の操作を実行できます。
for alignment in blast_record.alignments:
for hsp in alignment.hsps:
query_no_gaps = hsp.query.replace("-","")
sbjct_no_gaps = hsp.sbjct.replace("-","")
次に、これらの新しい変数を使って fasta に書き込みます。
于 2011-12-09T22:27:24.803 に答える
0
GAPS のないシーケンスを取得する場合は、使用してみてください
for records in blast:
if records.alignments:
for align in records.alignments:
if align.hsps.gap == 0
print ("These ID have ungapped alignment : %s" % records.query)
于 2012-11-02T07:42:39.373 に答える