BioPython在fasta文件的序列中迭代
我是BioPython的新手,我正在尝试导入一个fasta/fastq文件并遍历每个序列,同时对每个序列执行一些操作。我知道这看起来很基本,但我下面的代码由于某种原因无法正确打印BioPython在fasta文件的序列中迭代,python,biopython,Python,Biopython,我是BioPython的新手,我正在尝试导入一个fasta/fastq文件并遍历每个序列,同时对每个序列执行一些操作。我知道这看起来很基本,但我下面的代码由于某种原因无法正确打印 from Bio import SeqIO newfile = open("new.txt", "w") records = list(SeqIO.parse("rosalind_gc.txt", "fasta")) i = 0 dna = records[i] while i <= len(records
from Bio import SeqIO
newfile = open("new.txt", "w")
records = list(SeqIO.parse("rosalind_gc.txt", "fasta"))
i = 0
dna = records[i]
while i <= len(records):
print (dna.name)
i = i + 1
来自Bio导入序列
newfile=open(“new.txt”、“w”)
记录=列表(SeqIO.parse(“rosalind_gc.txt”、“fasta”))
i=0
dna=记录[i]
而我你问题的原因是:
i = 0
dna = records[i]
您的对象“dna”固定到记录的索引0,即记录[0]。既然你不再叫它了,dna将永远固定在这个声明上。在while循环中的print语句中,使用如下内容:
while i <= len(records):
print (records[i].name)
i = i + 1
while i <= len(records):
dna = records[i]
print (dna.name)
i = i + 1
for i in range(0,len(records)):
print (records[i].name)
对于循环,一个接一个地自动进行迭代。range()将给出一组从0到记录长度的整数。还有其他的方法,但我一直很简单。哇!非常感谢。我很感激你向我展示了几种不同的方法。