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

allpy

annotate lib/fasta.py @ 190:08494fb2c47a

repeats: visitors for visiting tree items (almost) completed (tree from 10 Nov 2010 of https://docs1.google.com/document/d/1-7kCo7cdYTpHOtPXGMdSG9wxoXh6sIvrNyYyZuCKECs/edit?hl=en#)
author boris (netbook) <bnagaev@gmail.com>
date Thu, 18 Nov 2010 00:01:07 +0300
parents 675b402094be
children
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@161 16 sequences = in_file.read().split('>')
bnagaev@161 17 for sequence in sequences[1:]:
bnagaev@161 18 lines = sequence.split('\n')[1:]
bnagaev@161 19 if len(lines) >= 2:
bnagaev@161 20 return len(lines[0].strip())
bnagaev@161 21 return 70