X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fsurfacing%2FBasicDomainSimilarityCalculator.java;h=8682fd143775b3f9dbd57e670eca607a22de67e1;hb=5cad5dbd4f9e8cf09a123d4ee490cf314c05fd2f;hp=81cef33a0200c83a76a5528a455f6a4ddc5291b3;hpb=1cc7085032221eb6dea3ceeacc34ed710cf18318;p=jalview.git diff --git a/forester/java/src/org/forester/surfacing/BasicDomainSimilarityCalculator.java b/forester/java/src/org/forester/surfacing/BasicDomainSimilarityCalculator.java index 81cef33..8682fd1 100644 --- a/forester/java/src/org/forester/surfacing/BasicDomainSimilarityCalculator.java +++ b/forester/java/src/org/forester/surfacing/BasicDomainSimilarityCalculator.java @@ -43,22 +43,32 @@ import org.forester.util.ForesterUtil; public class BasicDomainSimilarityCalculator implements DomainSimilarityCalculator { final DomainSimilarity.DomainSimilaritySortField _sort; + private final boolean _calc_similarity_score; private final boolean _sort_by_species_count_first; private final boolean _treat_as_binary_comparison; - private final boolean _calc_similarity_score; + private final boolean _verbose; public BasicDomainSimilarityCalculator( final DomainSimilarity.DomainSimilaritySortField sort, final boolean sort_by_species_count_first, final boolean treat_as_binary_comparison, - final boolean calc_similarity_score ) { + final boolean calc_similarity_score, + final boolean verbose ) { _sort = sort; _sort_by_species_count_first = sort_by_species_count_first; _treat_as_binary_comparison = treat_as_binary_comparison; _calc_similarity_score = calc_similarity_score; + _verbose = verbose; } - public boolean isCalcSimilarityScore() { - return _calc_similarity_score; + public BasicDomainSimilarityCalculator( final DomainSimilarity.DomainSimilaritySortField sort, + final boolean sort_by_species_count_first, + final boolean treat_as_binary_comparison, + final boolean calc_similarity_score ) { + _sort = sort; + _sort_by_species_count_first = sort_by_species_count_first; + _treat_as_binary_comparison = treat_as_binary_comparison; + _calc_similarity_score = calc_similarity_score; + _verbose = false; } @Override @@ -76,9 +86,13 @@ public class BasicDomainSimilarityCalculator implements DomainSimilarityCalculat } final DecimalFormat pf = new java.text.DecimalFormat( "000000" ); int counter = 1; - System.out.println( keys.size() ); + if ( _verbose ) { + System.out.println( keys.size() ); + } for( final String key : keys ) { - ForesterUtil.updateProgress( counter, pf ); + if ( _verbose ) { + ForesterUtil.updateProgress( counter, pf ); + } counter++; final List same_id_cd_list = new ArrayList( cdc_list.size() ); final List species_with_key_id_domain = new ArrayList(); @@ -115,10 +129,16 @@ public class BasicDomainSimilarityCalculator implements DomainSimilarityCalculat throw new RuntimeException( "this should not have happened" ); } } - System.out.println(); + if ( _verbose ) { + System.out.println(); + } return similarities; } + public boolean isCalcSimilarityScore() { + return _calc_similarity_score; + } + private DomainSimilarity calculateSimilarity( final PairwiseDomainSimilarityCalculator pairwise_calculator, final List domains_list ) { if ( domains_list.size() == 1 ) { @@ -126,26 +146,26 @@ public class BasicDomainSimilarityCalculator implements DomainSimilarityCalculat species_data.put( domains_list.get( 0 ).getSpecies(), createSpeciesSpecificDomainSimilariyData( domains_list.get( 0 ) ) ); if ( !isCalcSimilarityScore() ) { - return new PrintableDomainSimilarity( domains_list.get( 0 ), - 0, - 0, - species_data, - isSortBySpeciesCountFirst(), - isTreatAsBinaryComparison() ); + return new DomainSimilarity( domains_list.get( 0 ), + 0, + 0, + species_data, + isSortBySpeciesCountFirst(), + isTreatAsBinaryComparison() ); } else { - return new PrintableDomainSimilarity( domains_list.get( 0 ), - 1.0, - 1.0, - 1.0, - 1.0, - 0.0, - 0, - 0, - 0, - species_data, - isSortBySpeciesCountFirst(), - isTreatAsBinaryComparison() ); + return new DomainSimilarity( domains_list.get( 0 ), + 1.0, + 1.0, + 1.0, + 1.0, + 0.0, + 0, + 0, + 0, + species_data, + isSortBySpeciesCountFirst(), + isTreatAsBinaryComparison() ); } } DescriptiveStatistics stat = null; @@ -201,41 +221,41 @@ public class BasicDomainSimilarityCalculator implements DomainSimilarityCalculat } DomainSimilarity similarity = null; if ( !isCalcSimilarityScore() ) { - similarity = new PrintableDomainSimilarity( domains_list.get( 0 ), - max_difference_in_counts, - max_difference, - species_data, - isSortBySpeciesCountFirst(), - isTreatAsBinaryComparison() ); + similarity = new DomainSimilarity( domains_list.get( 0 ), + max_difference_in_counts, + max_difference, + species_data, + isSortBySpeciesCountFirst(), + isTreatAsBinaryComparison() ); } else { if ( stat.getN() == 1 ) { - similarity = new PrintableDomainSimilarity( domains_list.get( 0 ), - stat.getMin(), - stat.getMax(), - stat.arithmeticMean(), - stat.median(), - 0.0, - stat.getN(), - max_difference_in_counts, - max_difference, - species_data, - isSortBySpeciesCountFirst(), - isTreatAsBinaryComparison() ); + similarity = new DomainSimilarity( domains_list.get( 0 ), + stat.getMin(), + stat.getMax(), + stat.arithmeticMean(), + stat.median(), + 0.0, + stat.getN(), + max_difference_in_counts, + max_difference, + species_data, + isSortBySpeciesCountFirst(), + isTreatAsBinaryComparison() ); } else { - similarity = new PrintableDomainSimilarity( domains_list.get( 0 ), - stat.getMin(), - stat.getMax(), - stat.arithmeticMean(), - stat.median(), - stat.sampleStandardDeviation(), - stat.getN(), - max_difference_in_counts, - max_difference, - species_data, - isSortBySpeciesCountFirst(), - isTreatAsBinaryComparison() ); + similarity = new DomainSimilarity( domains_list.get( 0 ), + stat.getMin(), + stat.getMax(), + stat.arithmeticMean(), + stat.median(), + stat.sampleStandardDeviation(), + stat.getN(), + max_difference_in_counts, + max_difference, + species_data, + isSortBySpeciesCountFirst(), + isTreatAsBinaryComparison() ); } } return similarity;