Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.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
BioPython在fasta文件的序列中迭代_Python_Biopython - Fatal编程技术网

BioPython在fasta文件的序列中迭代

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

我是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):
    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到记录长度的整数。还有其他的方法,但我一直很简单。

哇!非常感谢。我很感激你向我展示了几种不同的方法。