view test/usecase1.py @ 610:ee2c10aa74b8
paired_cores/score.py: change method of score evaluation
Boundary positions of blocks are not considered.
Columns represented with one sequence or pure gap columns are not considered.
Calculate weighted average of number of connected components in columns.
Weight of column = l / sum(l)
(l = number of sequnces representing column)
author |
boris (kodomo) <bnagaev@gmail.com> |
date |
Tue, 05 Apr 2011 23:11:41 +0400 |
parents |
07b5351b0b56 |
children |
ddf85d0a8924 |
line source
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():
19 for column in alignment.columns:
24 print "%s: %s gaps, %s non-gaps" % (row.sequence.name, gaps, monomers)
26 # Print number of gaps in each column
28 for column in alignment.columns:
30 for sequence in alignment.sequences:
31 if sequence not in column:
33 gaps.append(column_gaps)
34 print " ".join(map(str, gaps))
36 # Write alignment to file
37 alignment.to_file(sys.stdout)