Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/file/4a2341bc90b1/allpy/fasta.py
Дата изменения: Unknown
Дата индексирования: Sun Feb 3 23:39:42 2013
Кодировка:
allpy: 4a2341bc90b1 allpy/fasta.py

allpy

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
6 """
7 out_file.write(">%(name)s %(description)s \n" % {'name':name, 'description':description})
8 if long_line:
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])
11 else:
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:]
19 if len(lines) >= 2:
20 return len(lines[0].strip())
21 return 70