Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/annotate/2ed0c183867a/lib/fasta.py
Дата изменения: Unknown
Дата индексирования: Sun Mar 2 02:37:55 2014
Кодировка:
allpy: lib/fasta.py annotate

allpy

annotate lib/fasta.py @ 158:2ed0c183867a

fix. delete sequence.pdb_files on pdb_unload. however memory leak remains
author boris <bnagaev@gmail.com>
date Thu, 28 Oct 2010 08:14:23 +0400
parents
children 0ffdb88c13bd
rev   line source
bnagaev@151 1 def save_fasta(out_file, string, name, description='', long_line=70):
bnagaev@151 2 """ Saves given string to out_file in fasta_format
bnagaev@151 3
bnagaev@151 4 Splits long lines to substrings of length=long_line
bnagaev@151 5 To prevent this, set long_line=None
bnagaev@151 6 """
bnagaev@151 7 out_file.write(">%(name)s %(description)s \n" % {'name':name, 'description':description})
bnagaev@151 8 if long_line:
bnagaev@151 9 for i in range(0, len(string) // long_line + 1):
bnagaev@151 10 out_file.write("%s \n" % string[i*long_line : i*long_line + long_line])
bnagaev@151 11 else:
bnagaev@151 12 out_file.write("%s \n" % string)
bnagaev@151 13
bnagaev@151 14 def determine_long_line(in_file):
bnagaev@151 15 """ Returns maximum sequence line length in fasta file """
bnagaev@151 16 max_length = 70
bnagaev@151 17 start = False
bnagaev@151 18 for line in in_file:
bnagaev@151 19 if line[0:] != '>':
bnagaev@151 20 if start:
bnagaev@151 21 max_length = max(max_length, line.strip())
bnagaev@151 22 else:
bnagaev@151 23 start = True
bnagaev@151 24 return max_length