1

FASTA 形式の BLAST 出力からギャップのないシーケンスを取得することに興味があります。使えると思っhsps_no_gapたけどダメ。これを行うために使用できる方法はありますか?

4

3 に答える 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 に答える