X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fsurfacing%2FCountsBasedPairwiseDomainSimilarity.java;h=f4bfd163af36ee190fac2afc8908bfda17207c5f;hb=cb49ee5684c6907b3161db82ff9aea72961b8548;hp=a037ed5bea25d008399a75d172c27601a2b27017;hpb=03e51d179caedf757b09e2872f9500318bd85a53;p=jalview.git diff --git a/forester/java/src/org/forester/surfacing/CountsBasedPairwiseDomainSimilarity.java b/forester/java/src/org/forester/surfacing/CountsBasedPairwiseDomainSimilarity.java index a037ed5..f4bfd16 100644 --- a/forester/java/src/org/forester/surfacing/CountsBasedPairwiseDomainSimilarity.java +++ b/forester/java/src/org/forester/surfacing/CountsBasedPairwiseDomainSimilarity.java @@ -23,37 +23,36 @@ // 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). - * - * + * + * * @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; } /** * Returns (counts for domain 1) minus (counts for domain 2). - * + * */ @Override public int getDifferenceInCounts() { @@ -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 ) ); } }