X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fsurfacing%2FCountsBasedPairwiseDomainSimilarity.java;h=8439f4c5ba1e8f4d83fa84d9baf6f3fa217c57aa;hb=612e51e63eb66025a04439fc380384a945a4a30f;hp=4de0d2851a3392c07063546ab83d145359028895;hpb=eee996a6476a1e3d84c07f8f690dcde3ff4b2ef5;p=jalview.git diff --git a/forester/java/src/org/forester/surfacing/CountsBasedPairwiseDomainSimilarity.java b/forester/java/src/org/forester/surfacing/CountsBasedPairwiseDomainSimilarity.java index 4de0d28..8439f4c 100644 --- a/forester/java/src/org/forester/surfacing/CountsBasedPairwiseDomainSimilarity.java +++ b/forester/java/src/org/forester/surfacing/CountsBasedPairwiseDomainSimilarity.java @@ -23,14 +23,14 @@ // 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.surfacing; public class CountsBasedPairwiseDomainSimilarity implements PairwiseDomainSimilarity { - private final double _score; - private final int _copy_number_difference; + private final short _copy_number_difference; + private final short _counts_sum; /** * counts_difference: (counts for domain 1) minus (counts for domain 2). @@ -39,16 +39,15 @@ public class CountsBasedPairwiseDomainSimilarity implements PairwiseDomainSimila * @param counts_difference value of domain_1 minus value of domain_2 * @param counts_sum */ - public CountsBasedPairwiseDomainSimilarity( final int counts_difference, final int counts_sum ) { + public CountsBasedPairwiseDomainSimilarity( final short counts_difference, final short counts_sum ) { if ( counts_sum <= 0 ) { throw new IllegalArgumentException( "attempt to use copy sum of less than or equal to 0: " + counts_sum ); } - _copy_number_difference = counts_difference; - final int abs_copy_number_difference = Math.abs( counts_difference ); - if ( abs_copy_number_difference > counts_sum ) { + if ( Math.abs( counts_difference ) > counts_sum ) { throw new IllegalArgumentException( "attempt to use absolute copy number difference larger than copy number sum" ); } - _score = 1.0 - ( double ) abs_copy_number_difference / counts_sum; + _copy_number_difference = counts_difference; + _counts_sum = counts_sum; } /** @@ -62,6 +61,6 @@ public class CountsBasedPairwiseDomainSimilarity implements PairwiseDomainSimila @Override public double getSimilarityScore() { - return _score; + return ( 1.0 - ( ( double ) Math.abs( _copy_number_difference ) / _counts_sum ) ); } }