FASTA文件格式介绍
用python处理FASTA数据
https://blog.csdn.net/qq_18369669/article/details/103408600
迭代器|生成器
顾名思义,迭代器就是用于迭代操作(for 循环)的对象,它像列表一样可以迭代获取其中的每一个元素,任何实现了 next 方法 (python2 是 next)的对象都可以称为迭代器。
它与列表的区别在于,构建迭代器的时候,不像列表把所有元素一次性加载到内存,而是以一种延迟计算(lazy evaluation)方式返回元素,这正是它的优点。比如列表含有中一千万个整数,需要占超过400M的内存,而迭代器只需要几十个字节的空间。因为它并没有把所有元素装载到内存中,而是等到调用 next 方法时候才返回该元素(按需调用 call by need 的方式,本质上 for 循环就是不断地调用迭代器的next方法)。
生成器的简单介绍
fa="./sequence.fasta"
for seqName,seq in readFa(fa):
seqLen = len(seq)
GC = getGC(seq)
print(seqName,seqLen,GC)
#readFa是一个生成器,for语句的意思是讲readFa(Fa)的返回值放入seqName,seq中。然后迭代。