X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fsurfacing%2FSurfacingUtil.java;h=ecb0839a6ed870bf1a4abe63a23af92cabc52a1e;hb=94fab44b4568a8c49d9766c7f49eefac2d8f22ff;hp=319131243da4dfcceab187e8d5a16583b0a41c54;hpb=249882688f35000b8cedfff3b4da1845d749d18e;p=jalview.git diff --git a/forester/java/src/org/forester/surfacing/SurfacingUtil.java b/forester/java/src/org/forester/surfacing/SurfacingUtil.java index 3191312..ecb0839 100644 --- a/forester/java/src/org/forester/surfacing/SurfacingUtil.java +++ b/forester/java/src/org/forester/surfacing/SurfacingUtil.java @@ -83,6 +83,7 @@ import org.forester.protein.Protein; import org.forester.species.Species; import org.forester.surfacing.DomainSimilarityCalculator.Detailedness; import org.forester.surfacing.GenomeWideCombinableDomains.GenomeWideCombinableDomainsSortOrder; +import org.forester.surfacing.PrintableDomainSimilarity.PRINT_OPTION; import org.forester.util.AsciiHistogram; import org.forester.util.BasicDescriptiveStatistics; import org.forester.util.BasicTable; @@ -151,6 +152,25 @@ public final class SurfacingUtil { w.write( SurfacingConstants.NL ); w.write( "a:hover { color : #FFFFFF; background-color : #99FF00; text-decoration : none; }" ); w.write( SurfacingConstants.NL ); + // + w.write( "a.pl:visited { color : #505050; text-decoration : none; font-size: 7pt;}" ); + w.write( SurfacingConstants.NL ); + w.write( "a.pl:link { color : #505050; text-decoration : none; font-size: 7pt;}" ); + w.write( SurfacingConstants.NL ); + w.write( "a.pl:active { color : #505050; text-decoration : none; font-size: 7pt;}" ); + w.write( SurfacingConstants.NL ); + w.write( "a.pl:hover { color : #FFFFFF; background-color : #99FF00; text-decoration : none; font-size: 7pt;}" ); + w.write( SurfacingConstants.NL ); + // + w.write( "a.ps:visited { color : #707070; text-decoration : none; font-size: 7pt;}" ); + w.write( SurfacingConstants.NL ); + w.write( "a.ps:link { color : #707070; text-decoration : none; font-size: 7pt;}" ); + w.write( SurfacingConstants.NL ); + w.write( "a.ps:active { color : #707070; text-decoration : none; font-size: 7pt;}" ); + w.write( SurfacingConstants.NL ); + w.write( "a.ps:hover { color : #FFFFFF; background-color : #99FF00; text-decoration : none; font-size: 7pt;}" ); + w.write( SurfacingConstants.NL ); + // w.write( "td { text-align: left; vertical-align: top; font-family: Verdana, Arial, Helvetica; font-size: 8pt}" ); w.write( SurfacingConstants.NL ); w.write( "h1 { color : #0000FF; font-family: Verdana, Arial, Helvetica; font-size: 18pt; font-weight: bold }" ); @@ -451,10 +471,6 @@ public final class SurfacingUtil { out.write( species + "\t" ); } out.write( ForesterUtil.LINE_SEPARATOR ); - // DescriptiveStatistics stats_for_domain = domain_lengths - // .calculateMeanBasedStatistics(); - //AsciiHistogram histo = new AsciiHistogram( stats_for_domain ); - //System.out.println( histo.toStringBuffer( 40, '=', 60, 4 ).toString() ); } } out.write( ForesterUtil.LINE_SEPARATOR ); @@ -488,16 +504,6 @@ public final class SurfacingUtil { } } out.close(); - // final List histogram_datas = new ArrayList(); - // for( int i = 0; i < number_of_genomes; ++i ) { - // final Species species = new BasicSpecies( input_file_properties[ i ][ 0 ] ); - // histogram_datas - // .add( new HistogramData( species.toString(), domain_lengths_table - // .calculateMeanBasedStatisticsForSpecies( species ) - // .getDataAsDoubleArray(), 5, 600, null, 60 ) ); - // } - // final HistogramsFrame hf = new HistogramsFrame( histogram_datas ); - // hf.setVisible( true ); System.gc(); } @@ -1660,109 +1666,19 @@ public final class SurfacingUtil { } } - public static DescriptiveStatistics writeDomainSimilaritiesToFile( final StringBuilder html_desc, - final StringBuilder html_title, - final Writer single_writer, - Map split_writers, - final SortedSet similarities, - final boolean treat_as_binary, - final List species_order, - final PrintableDomainSimilarity.PRINT_OPTION print_option, - final DomainSimilarity.DomainSimilaritySortField sort_field, - final DomainSimilarity.DomainSimilarityScoring scoring, - final boolean verbose, - final Map tax_code_to_id_map ) + public static void writeDomainSimilaritiesToFile( final StringBuilder html_desc, + final StringBuilder html_title, + final Writer simple_tab_writer, + final Writer single_writer, + Map split_writers, + final SortedSet similarities, + final boolean treat_as_binary, + final List species_order, + final PrintableDomainSimilarity.PRINT_OPTION print_option, + final DomainSimilarity.DomainSimilarityScoring scoring, + final boolean verbose, + final Map tax_code_to_id_map ) throws IOException { - final DescriptiveStatistics stats = new BasicDescriptiveStatistics(); - String histogram_title = null; - switch ( sort_field ) { - case ABS_MAX_COUNTS_DIFFERENCE: - if ( treat_as_binary ) { - histogram_title = "absolute counts difference:"; - } - else { - histogram_title = "absolute (maximal) counts difference:"; - } - break; - case MAX_COUNTS_DIFFERENCE: - if ( treat_as_binary ) { - histogram_title = "counts difference:"; - } - else { - histogram_title = "(maximal) counts difference:"; - } - break; - case DOMAIN_ID: - histogram_title = "score mean:"; - break; - case MIN: - histogram_title = "score minimum:"; - break; - case MAX: - histogram_title = "score maximum:"; - break; - case MAX_DIFFERENCE: - if ( treat_as_binary ) { - histogram_title = "difference:"; - } - else { - histogram_title = "(maximal) difference:"; - } - break; - case MEAN: - histogram_title = "score mean:"; - break; - case SD: - histogram_title = "score standard deviation:"; - break; - case SPECIES_COUNT: - histogram_title = "species number:"; - break; - default: - throw new AssertionError( "Unknown sort field: " + sort_field ); - } - for( final DomainSimilarity similarity : similarities ) { - switch ( sort_field ) { - case ABS_MAX_COUNTS_DIFFERENCE: - stats.addValue( Math.abs( similarity.getMaximalDifferenceInCounts() ) ); - break; - case MAX_COUNTS_DIFFERENCE: - stats.addValue( similarity.getMaximalDifferenceInCounts() ); - break; - case DOMAIN_ID: - stats.addValue( similarity.getMeanSimilarityScore() ); - break; - case MIN: - stats.addValue( similarity.getMinimalSimilarityScore() ); - break; - case MAX: - stats.addValue( similarity.getMaximalSimilarityScore() ); - break; - case MAX_DIFFERENCE: - stats.addValue( similarity.getMaximalDifference() ); - break; - case MEAN: - stats.addValue( similarity.getMeanSimilarityScore() ); - break; - case SD: - stats.addValue( similarity.getStandardDeviationOfSimilarityScore() ); - break; - case SPECIES_COUNT: - stats.addValue( similarity.getSpecies().size() ); - break; - default: - throw new AssertionError( "Unknown sort field: " + sort_field ); - } - } - AsciiHistogram histo = null; - try { - if ( stats.getMin() < stats.getMax() ) { - histo = new AsciiHistogram( stats, histogram_title ); - } - } - catch ( Exception e ) { - histo = null; - } if ( ( single_writer != null ) && ( ( split_writers == null ) || split_writers.isEmpty() ) ) { split_writers = new HashMap(); split_writers.put( '_', single_writer ); @@ -1776,10 +1692,10 @@ public final class SurfacingUtil { w.write( "" ); w.write( SurfacingConstants.NL ); if ( key != '_' ) { - addHtmlHead( w, "DCs (" + html_title + ") " + key.toString().toUpperCase() ); + addHtmlHead( w, "DC analysis (" + html_title + ") " + key.toString().toUpperCase() ); } else { - addHtmlHead( w, "DCs (" + html_title + ")" ); + addHtmlHead( w, "DC analysis (" + html_title + ")" ); } w.write( SurfacingConstants.NL ); w.write( "" ); @@ -1787,59 +1703,24 @@ public final class SurfacingUtil { w.write( html_desc.toString() ); w.write( SurfacingConstants.NL ); w.write( "
" ); - w.write( "
" ); - w.write( SurfacingConstants.NL ); - w.write( "
" );
-                    w.write( SurfacingConstants.NL );
-                    if ( histo != null ) {
-                        w.write( histo.toStringBuffer( 20, '|', 40, 5 ).toString() );
-                        w.write( SurfacingConstants.NL );
-                    }
-                    w.write( "
" ); - w.write( SurfacingConstants.NL ); - w.write( "" ); - w.write( SurfacingConstants.NL ); - w.write( "" ); - w.write( SurfacingConstants.NL ); - w.write( "" ); - w.write( SurfacingConstants.NL ); - w.write( "" ); - w.write( SurfacingConstants.NL ); - w.write( "" ); - w.write( SurfacingConstants.NL ); - if ( stats.getN() > 1 ) { - w.write( "" ); - } - else { - w.write( "" ); - } - w.write( SurfacingConstants.NL ); - w.write( "" ); - w.write( SurfacingConstants.NL ); - w.write( "
N: " + stats.getN() + "
Min: " + stats.getMin() + "
Max: " + stats.getMax() + "
Mean: " + stats.arithmeticMean() + "
SD: " + stats.sampleStandardDeviation() + "
SD: n/a
Median: " + stats.median() + "
" ); - w.write( SurfacingConstants.NL ); - w.write( "
" ); - w.write( SurfacingConstants.NL ); - w.write( "
" ); w.write( SurfacingConstants.NL ); w.write( "
" ); w.write( SurfacingConstants.NL ); w.write( "" ); w.write( SurfacingConstants.NL ); + w.write( "" ); + w.write( SurfacingConstants.NL ); } break; } - for( final Writer w : split_writers.values() ) { - w.write( SurfacingConstants.NL ); - } // for( final DomainSimilarity similarity : similarities ) { if ( ( species_order != null ) && !species_order.isEmpty() ) { ( ( PrintableDomainSimilarity ) similarity ).setSpeciesOrder( species_order ); } if ( single_writer != null ) { - single_writer.write( "" + similarity.getDomainId() - + "
" ); + single_writer.write( "" ); single_writer.write( SurfacingConstants.NL ); } else { @@ -1848,18 +1729,28 @@ public final class SurfacingUtil { if ( local_writer == null ) { local_writer = split_writers.get( '0' ); } - local_writer.write( "" + similarity.getDomainId() - + "
" ); + local_writer.write( "" ); local_writer.write( SurfacingConstants.NL ); } } - // w.write( "
" ); - // w.write( SurfacingConstants.NL ); + for( final Writer w : split_writers.values() ) { + w.write( "
Domains:
" + + similarity.getDomainId() + "
" + + similarity.getDomainId() + "
" ); + w.write( SurfacingConstants.NL ); + w.write( "
" ); + w.write( SurfacingConstants.NL ); + w.write( "" ); + w.write( SurfacingConstants.NL ); + } // for( final DomainSimilarity similarity : similarities ) { if ( ( species_order != null ) && !species_order.isEmpty() ) { ( ( PrintableDomainSimilarity ) similarity ).setSpeciesOrder( species_order ); } + if ( simple_tab_writer != null ) { + simple_tab_writer.write( similarity.toStringBuffer( PRINT_OPTION.SIMPLE_TAB_DELIMITED, + tax_code_to_id_map ).toString() ); + } if ( single_writer != null ) { single_writer.write( similarity.toStringBuffer( print_option, tax_code_to_id_map ).toString() ); single_writer.write( SurfacingConstants.NL ); @@ -1892,7 +1783,42 @@ public final class SurfacingUtil { for( final Writer w : split_writers.values() ) { w.close(); } - return stats; + } + + private static void printSomeStats( final DescriptiveStatistics stats, final AsciiHistogram histo, final Writer w ) + throws IOException { + w.write( "
" ); + w.write( "
" ); + w.write( SurfacingConstants.NL ); + w.write( "
" );
+        w.write( SurfacingConstants.NL );
+        if ( histo != null ) {
+            w.write( histo.toStringBuffer( 20, '|', 40, 5 ).toString() );
+            w.write( SurfacingConstants.NL );
+        }
+        w.write( "
" ); + w.write( SurfacingConstants.NL ); + w.write( "
" ); + w.write( SurfacingConstants.NL ); + w.write( "" ); + w.write( SurfacingConstants.NL ); + w.write( "" ); + w.write( SurfacingConstants.NL ); + w.write( "" ); + w.write( SurfacingConstants.NL ); + w.write( "" ); + w.write( SurfacingConstants.NL ); + if ( stats.getN() > 1 ) { + w.write( "" ); + } + else { + w.write( "" ); + } + w.write( SurfacingConstants.NL ); + w.write( "
N: " + stats.getN() + "
Min: " + stats.getMin() + "
Max: " + stats.getMax() + "
Mean: " + stats.arithmeticMean() + "
SD: " + stats.sampleStandardDeviation() + "
SD: n/a
" ); + w.write( SurfacingConstants.NL ); + w.write( "
" ); + w.write( SurfacingConstants.NL ); } public static void writeMatrixToFile( final CharacterStateMatrix matrix,