X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fevoinference%2Fdistance%2FPairwiseDistanceCalculator.java;h=67d4b53280457e2f538f1c17d51949bcdf1f1f20;hb=657f1b11d016bc2614075cfdd80b27701da408f0;hp=961c13af7dba9df0cf8fd6c21313656595425c96;hpb=eee996a6476a1e3d84c07f8f690dcde3ff4b2ef5;p=jalview.git diff --git a/forester/java/src/org/forester/evoinference/distance/PairwiseDistanceCalculator.java b/forester/java/src/org/forester/evoinference/distance/PairwiseDistanceCalculator.java index 961c13a..67d4b53 100644 --- a/forester/java/src/org/forester/evoinference/distance/PairwiseDistanceCalculator.java +++ b/forester/java/src/org/forester/evoinference/distance/PairwiseDistanceCalculator.java @@ -21,18 +21,16 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA // // Contact: phylosoft @ gmail . com -// WWW: www.phylosoft.org/forester +// WWW: https://sites.google.com/site/cmzmasek/home/software/forester package org.forester.evoinference.distance; import org.forester.evoinference.matrix.distance.BasicSymmetricalDistanceMatrix; import org.forester.msa.Msa; -import org.forester.sequence.Sequence; public final class PairwiseDistanceCalculator { - public static final double DEFAULT_VALUE_FOR_TOO_LARGE_DISTANCE_FOR_KIMURA_FORMULA = 10; // Felsenstein uses -1 - private static final char GAP = Sequence.GAP; + public static final double DEFAULT_VALUE_FOR_TOO_LARGE_DISTANCE_FOR_KIMURA_FORMULA = 10; // Felsenstein uses -1 private final Msa _msa; private final double _value_for_too_large_distance_for_kimura_formula; @@ -44,23 +42,12 @@ public final class PairwiseDistanceCalculator { private double calcFractionalDissimilarity( final int row_1, final int row_2 ) { final int length = _msa.getLength(); int nd = 0; - int n = 0; - char aa_1; - char aa_2; for( int col = 0; col < length; ++col ) { - aa_1 = _msa.getResidueAt( row_1, col ); - aa_2 = _msa.getResidueAt( row_2, col ); - if ( ( aa_1 != GAP ) && ( aa_2 != GAP ) ) { - if ( aa_1 != aa_2 ) { - nd++; - } - n++; + if ( _msa.getResidueAt( row_1, col ) != _msa.getResidueAt( row_2, col ) ) { + ++nd; } } - if ( n == 0 ) { - return 1; - } - return ( double ) nd / n; + return ( double ) nd / length; } /** @@ -150,7 +137,7 @@ public final class PairwiseDistanceCalculator { private void copyIdentifiers( final int s, final BasicSymmetricalDistanceMatrix d ) { for( int i = 0; i < s; i++ ) { - d.setIdentifier( i, ( String ) _msa.getIdentifier( i ) ); + d.setIdentifier( i, _msa.getIdentifier( i ) ); } }