return BasicMsa.createInstance( seqs );
}
+ public static DescriptiveStatistics calculateIdentityRatio( final int from, final int to, final Msa msa ) {
+ final DescriptiveStatistics stats = new BasicDescriptiveStatistics();
+ for( int c = from; c <= to; ++c ) {
+ stats.addValue( calculateIdentityRatio( msa, c ) );
+ }
+ return stats;
+ }
+
public static double calculateIdentityRatio( final Msa msa, final int column ) {
final SortedMap<Character, Integer> dist = calculateResidueDestributionPerColumn( msa, column );
int majority_count = 0;
public static SortedMap<Character, Integer> calculateResidueDestributionPerColumn( final Msa msa, final int column ) {
final SortedMap<Character, Integer> map = new TreeMap<Character, Integer>();
for( final Character r : msa.getColumnAt( column ) ) {
- if ( !map.containsKey( r ) ) {
- map.put( r, 1 );
- }
- else {
- map.put( r, map.get( r ) + 1 );
+ if ( r != Sequence.GAP ) {
+ if ( !map.containsKey( r ) ) {
+ map.put( r, 1 );
+ }
+ else {
+ map.put( r, map.get( r ) + 1 );
+ }
}
}
return map;