Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从fasta文件中提取序列_Python_File_Sequences_Fasta - Fatal编程技术网

Python 从fasta文件中提取序列

Python 从fasta文件中提取序列,python,file,sequences,fasta,Python,File,Sequences,Fasta,如何从fasta文件中提取序列 例如,如果我有一个包含9个序列的fasta文件,每次我从该文件中提取3个序列,然后计算三个序列之间的距离: distance(seq1,seq2,seq3) 然后我取另外三个序列 sequences=[] with open('example.fasta', 'r') as file: for Seq_record in SeqIO.parse(file, 'fasta'): format_string = "%s" % Seq_reco

如何从fasta文件中提取序列 例如,如果我有一个包含9个序列的fasta文件,每次我从该文件中提取3个序列,然后计算三个序列之间的距离:

distance(seq1,seq2,seq3)
然后我取另外三个序列

sequences=[]
with open('example.fasta', 'r') as file:
    for Seq_record in SeqIO.parse(file, 'fasta'):
        format_string = "%s" % Seq_record.seq
        sequence.append (format string)
从文件中的3个序列中,如何将第一个序列分配给seq1,将第二个序列分配给seq2,将第三个序列分配给seq3

from example.fasta:
seq1=the first sequence
seq2=second sequence
seq3=the third sequence
然后我计算距离(seq1,seq2,seq3)
然后,对文件中的其余序列执行相同的操作

看起来您将每个序列附加到名为
序列
的列表中。您只需使用方括号中的数字即可访问列表中的每个序列:

sequences=[]
with open('example.fasta', 'r') as file:
    for Seq_record in SeqIO.parse(file, 'fasta'):
        format_string = "%s" % Seq_record.seq
        sequences.append(format_string)

seq1 = sequences[0]
seq2 = sequences[1]
seq3 = sequences[2]
distance(seq1, seq2, seq3)
或者,您可以跳过创建seq1、seq2、seq3,直接将列表元素传递到距离:

distance(sequences[0], sequences[1], sequences[2])
如果您希望以三人一组的方式查看文件中的所有序列:

for x in range(0, len(sequences), 3):
    distance(sequences[x], sequences[x+1], sequences[x+2])

好啊谢谢。第四、第五十和第六个序列(文件中的其余序列)。怎么办?我编辑了任意长度文件的一般情况的答案。否则,只需对第四、第五和第六个序列使用
序列[3]
序列[4]
序列[5]