view allpy/fasta.py @ 275:4a2341bc90b1
base.Sequence major cleanup
* moved base.Sequence.secstr_has to pdb (it appears that secondary structure it
uses is from PDB, which is not a nice thing to do; secondary structure is an
entity in itself and must have same names across different sources)
* removed stupid base.Sequence.monomers, since base.Sequence is subclass of list
* removed all methods that reimplement list behaviour
* fixed headers of base.Sequence.from_slice
author |
Daniil Alexeyevsky <me.dendik@gmail.com> |
date |
Wed, 15 Dec 2010 20:06:27 +0300 |
parents |
73f9779491ef |
children |
bee4d155f526 |
line source
1 def save_fasta(out_file, string, name, description='', long_line=70):
2 """ Saves given string to out_file in fasta_format
4 Splits long lines to substrings of length=long_line
5 To prevent this, set long_line=None
7 out_file.write(">%(name)s %(description)s \n" % {'name':name, 'description':description})
9 for i in range(0, len(string) // long_line + 1):
10 out_file.write("%s \n" % string[i*long_line : i*long_line + long_line])
12 out_file.write("%s \n" % string)
14 def determine_long_line(in_file):
15 """ Returns maximum sequence line length in fasta file """
16 sequences = in_file.read().split('>')
17 for sequence in sequences[1:]:
18 lines = sequence.split('\n')[1:]
20 return len(lines[0].strip())