[Biopython] Generator expression for SeqIO
Peter Cock
p.j.a.cock at googlemail.com
Wed Dec 7 03:26:08 EST 2011
On Wed, Dec 7, 2011 at 4:41 AM, Mic <mictadlo at gmail.com> wrote:
> No worries is was perfect.
>
> I have the following code and I do not know how to combine the *header* and
> *seq* variables from the '*with*' statement with generator expression?
>
> from Bio import SeqIO
> from Bio.SeqRecord import SeqRecord
> from Bio.Seq import Seq
> from pprint import pprint
>
> if __name__ == '__main__':
>
> *with* open('input.txt') as f:
> for line in f:
> try:
> splited_line = line.split('\t')
>
> *header* = splited_line[0] +'_'+ splited_line[2]
> *seq* = splited_line[3]
> except IndexError:
> continue
>
> fasta_file = open('output.fasta', 'w')
> records = (SeqRecord(???), id=????, description="") for i in ???)
>
> SeqIO.write(records, fasta_file, "fasta")
>
> Thank you in advance.
Are you trying to parse a tabular file, with three columns
(ID, sequence, description)?
I suggest you learn about generator functions in Python.
Peter
More information about the Biopython
mailing list