[Biopython] SeqIO.write and user-specified wrapping

Ivan Gregoretti ivangreg at gmail.com
Mon Mar 4 17:00:25 UTC 2013


Thank you Peter. I'll try the FastaWriter.



Ivan Gregoretti, PhD
Bioinformatics



On Mon, Mar 4, 2013 at 11:54 AM, Peter Cock <p.j.a.cock at googlemail.com> wrote:
> On Mon, Mar 4, 2013 at 4:14 PM, Ivan Gregoretti <ivangreg at gmail.com> wrote:
>> Hi Everybody,
>>
>> Could a kind soul show how to produce a FASTA file without wrapping
>> its sequences?
>>
>> I am looking for something like this:
>>
>> from Bio import SeqIO
>> SeqIO.write(my_records, "my_example.fa", "fasta", wrap=0)
>>
>> as opposed to the default wrapping after 60 characters.
>>
>> Thanks for Biopython.
>>
>> Ivan
>
> Currently SeqIO doesn't allow extra file format specific
> argument like that (although it could in principle). Here
> you must currently use the underlying writer directly,
> something like this:
>
> from Bio.SeqIO.FastaIO import FastaWriter
> handle = open("my_example.fa", "w")
> writer = FastaWriter(handle, wrap=0)
> writer.write_file(my_records)
> handle.close()
>
> Or, since you want no line wrapping you could do
> something like this instead:
>
> handle = open("my_example.fa", "w")
> for record in my_records:
>     handle.write(">%s %s\n%s\n" % (record.id, record.description, record.seq))
> handle.close()
>
> Peter



More information about the Biopython mailing list