Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/file/632a0708ab33/test/usecase1.py
Дата изменения: Unknown
Дата индексирования: Mon Feb 4 05:35:00 2013
Кодировка:
allpy: 632a0708ab33 test/usecase1.py

allpy

view test/usecase1.py @ 735:632a0708ab33

blocks3d/www: allow blocks not to be continuous Changes: * javascript * blocks_to_html method of AlignmentMixin * test for blocks viewer (add one non-continuous block) Currently block can have either "start" and "end" or "positions" attribute, but not both. "start" and "end" attributes are not deprecated and can be used if blocks are known to be continuous or while writting blocks javascript by hands. close #71
author boris <bnagaev@gmail.com>
date Fri, 08 Jul 2011 20:21:39 +0200
parents 07b5351b0b56
children ddf85d0a8924
line source
1 import sys
2 from allpy import protein
3 from allpy import processors
5 # Create sequences from string representation of sequence body
6 sequence_1 = protein.Sequence.from_string("mkstf", name="E2E4")
7 sequence_2 = protein.Sequence.from_string("mstkfff", description="Longer sequence")
9 # Create alignment from sequences
10 alignment = protein.Alignment()
11 alignment.append_sequence(sequence_1)
12 alignment.append_sequence(sequence_2)
13 alignment.realign(processors.Muscle())
15 # For each sequence, print number of gaps and non-gaps in alignment
16 for row in alignment.rows():
17 gaps = 0
18 monomers = 0
19 for column in alignment.columns:
20 if column in row:
21 monomers += 1
22 else:
23 gaps += 1
24 print "%s: %s gaps, %s non-gaps" % (row.sequence.name, gaps, monomers)
26 # Print number of gaps in each column
27 gaps = []
28 for column in alignment.columns:
29 column_gaps = 0
30 for sequence in alignment.sequences:
31 if sequence not in column:
32 column_gaps += 1
33 gaps.append(column_gaps)
34 print " ".join(map(str, gaps))
36 # Write alignment to file
37 alignment.to_file(sys.stdout)