X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fmsa%2FMsaMethods.java;h=716c8431211cffb62118b3f183c7667bb61ac36d;hb=52b0831883cbde06095697f88527afa497112680;hp=e252efedf7637a433462ff176ab0d6546f343894;hpb=505270dd6bd8892fe00658607de06e5f030b11db;p=jalview.git diff --git a/forester/java/src/org/forester/msa/MsaMethods.java b/forester/java/src/org/forester/msa/MsaMethods.java index e252efe..716c843 100644 --- a/forester/java/src/org/forester/msa/MsaMethods.java +++ b/forester/java/src/org/forester/msa/MsaMethods.java @@ -26,7 +26,9 @@ package org.forester.msa; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; @@ -118,9 +120,22 @@ public final class MsaMethods { return BasicMsa.createInstance( seqs ); } - public static SortedMap calculateResidueDestributionPerColumn( final Msa msa, final int c ) { + public static double calculateIdentityRatio( final Msa msa, final int column ) { + final SortedMap dist = calculateResidueDestributionPerColumn( msa, column ); + int majority_count = 0; + final Iterator> it = dist.entrySet().iterator(); + while ( it.hasNext() ) { + final Map.Entry pair = it.next(); + if ( pair.getValue() > majority_count ) { + majority_count = pair.getValue(); + } + } + return ( double ) majority_count / msa.getNumberOfSequences(); + } + + public static SortedMap calculateResidueDestributionPerColumn( final Msa msa, final int column ) { final SortedMap map = new TreeMap(); - for( final Character r : msa.getColumnAt( c ) ) { + for( final Character r : msa.getColumnAt( column ) ) { if ( !map.containsKey( r ) ) { map.put( r, 1 ); }