0

だから私は、データベースから一連の配列を取得し、それらを fasta ファイルにダウンロードするプログラムを持っています。問題は、これらの配列がタンパク質であるか、DNAである可能性があることです。大きな fasta ファイルを多くの小さな fasta ファイルに分割しています。配列を取得したら、それらをすべてタンパク質にする必要があります。だから私はそれがタンパク質であるかどうかを確認するためにそれぞれをテストしたい.

それらがすべてタンパク質である場合、私は大丈夫です。それらがすべてDNAである場合、それらすべてを翻訳するエレガントな方法がありますが、新しいfastaファイルをそれぞれテストし、翻訳し、翻訳する方法を見つける必要があります. DNAファイルを置き換える

これが私がこれまでに持っているものです:

from Bio import Entrez, SeqIO  
from Bio.Seq import Seq

record_iter = SeqIO.parse(open(output_file), 'fasta')
for seq_record in record_iter:
    outfile = '{0}.fa'.format(seq_record.id)
    count = SeqIO.write(seq_record,outfile,'fasta')
    xmlfile = '{0}.xml'.format(seq_record.id)
    print xmlfile   # Added this to show it's working, not stalled.
    if...
    #and here is where i would somehow test each "outfile" to see if it's dna or protein and then do something different with each one.  

私はそれを文字列に設定しようとしましたが(私は思う)、アルファベットを使用することはできません.fastaがフォーマットされている方法ではないため、他の多くのことを試しました. とにかく、助けていただければ幸いです。

よく知らない人のために説明すると、fasta ファイルは次の形式です。

>here is a bunch of identification information about the sequence after the carat.
GAAATTTGAGGCGTTCGCTGTGCAGTGAAAAGTGAGACTTTCTACTGTTCGCGTAGAAAGTGCAATAACC
AAGCCACCCACTCAGTGCCCAGACTAGCAACACAAGTCCGGCAAAATGGGAATCAAGTTCCTGGAAGTTA
TCAAACCGTTCTGCAGTATACTGCCGGAAATCGCAAAACCGGAGCGCAAGATCCAATTCAGGGAGAAAGT
GCTATGGACTGCGATCACCCTGTTCATCTTCCTGGTGTGCTGCCAGATCCCGCTTTTCGGTATCATGAGC
TCAGACTCGGCGGATCCCTTCTACTGGATCCGTGTGATCCTGGCCTCCAACCGTGGTACGCTCATGGAGC
TGGGTATCTCGCCCATCGTGACCTCTGGCCTCATTATGCAGCTGCTGGCCGGAGCA
4

1 に答える 1

2

私はライブラリに精通していませんが、あなたが提案している方法は次のように書かれていると思います:

if all(c.upper() in 'ATGC' for c in seq_record.seq):
    pass # it's DNA
于 2012-11-01T15:30:27.583 に答える