[Biopython] Writting fasta file
Brad Chapman
chapmanb at 50mail.com
Thu Aug 26 07:55:17 EDT 2010
Hello;
> >Did you try looking in the tutorial? i.e.
> >http://biopython.org/DIST/docs/tutorial/Tutorial.html#sec:SeqIO-reverse-complement
> >
> >You could modify your code to use a generator expression like this:
> >
> >def make_rc(record):
> > """Modifies a SeqRecord in place, and returns it."""
> > record.seq = record.seq.reverse_complement()
> > return record
> >records = (make_rc(r) for r in SeqIO.parse(in_opts.inputFasta, "fasta"))
> >SeqIO.write(records, out_opts.outputFasta, "fasta")
[...]
> In order to save memory is it possible to write each record ie. one
> by one with SeqIO.write instead of all records at once?
That's what Peter's code does. The write function pulls one record at
a time from the records generator. In addition to the Biopython
documentation, Andrew has a nice tutorial which goes into the
details of generators:
http://www.dalkescientific.com/writings/NBN/generators.html
Brad
More information about the Biopython
mailing list