import org.forester.evoinference.matrix.character.CharacterStateMatrix.BinaryStates;
import org.forester.evoinference.matrix.character.CharacterStateMatrix.Format;
import org.forester.evoinference.matrix.character.CharacterStateMatrix.GainLossStates;
+import org.forester.evoinference.matrix.distance.BasicSymmetricalDistanceMatrix;
import org.forester.evoinference.matrix.distance.DistanceMatrix;
import org.forester.go.GoId;
import org.forester.go.GoNameSpace;
final DescriptiveStatistics gained_once_domain_count_stats = new BasicDescriptiveStatistics();
final DescriptiveStatistics gained_multiple_times_lengths_stats = new BasicDescriptiveStatistics();
final DescriptiveStatistics gained_multiple_times_domain_count_stats = new BasicDescriptiveStatistics();
- final DescriptiveStatistics gained_multiple_times_domain_length_stats = new BasicDescriptiveStatistics();
- final DescriptiveStatistics gained_once_domain_length_stats = new BasicDescriptiveStatistics();
+ long gained_multiple_times_domain_length_sum = 0;
+ long gained_once_domain_length_sum = 0;
+ long gained_multiple_times_domain_length_count = 0;
+ long gained_once_domain_length_count = 0;
for( final String dc : dcs ) {
final int count = dc_gain_counts.get( dc );
if ( histogram.containsKey( count ) ) {
more_than_once.add( dc );
if ( protein_length_stats_by_dc != null ) {
final DescriptiveStatistics s = protein_length_stats_by_dc.get( dc );
- final double[] a = s.getDataAsDoubleArray();
- for( final double element : a ) {
+ for( final double element : s.getData() ) {
gained_multiple_times_lengths_stats.addValue( element );
}
}
if ( domain_number_stats_by_dc != null ) {
final DescriptiveStatistics s = domain_number_stats_by_dc.get( dc );
- final double[] a = s.getDataAsDoubleArray();
- for( final double element : a ) {
+ for( final double element : s.getData() ) {
gained_multiple_times_domain_count_stats.addValue( element );
}
}
final String[] ds = dc.split( "=" );
final DescriptiveStatistics s0 = domain_length_stats_by_domain.get( ds[ 0 ] );
final DescriptiveStatistics s1 = domain_length_stats_by_domain.get( ds[ 1 ] );
- final double[] a0 = s0.getDataAsDoubleArray();
- final double[] a1 = s1.getDataAsDoubleArray();
- for( final double element : a0 ) {
- gained_multiple_times_domain_length_stats.addValue( element );
+ for( final double element : s0.getData() ) {
+ gained_multiple_times_domain_length_sum += element;
+ ++gained_multiple_times_domain_length_count;
}
- for( final double element : a1 ) {
- gained_multiple_times_domain_length_stats.addValue( element );
+ for( final double element : s1.getData() ) {
+ gained_multiple_times_domain_length_sum += element;
+ ++gained_multiple_times_domain_length_count;
}
}
}
else {
if ( protein_length_stats_by_dc != null ) {
final DescriptiveStatistics s = protein_length_stats_by_dc.get( dc );
- final double[] a = s.getDataAsDoubleArray();
- for( final double element : a ) {
+ for( final double element : s.getData() ) {
gained_once_lengths_stats.addValue( element );
}
}
if ( domain_number_stats_by_dc != null ) {
final DescriptiveStatistics s = domain_number_stats_by_dc.get( dc );
- final double[] a = s.getDataAsDoubleArray();
- for( final double element : a ) {
+ for( final double element : s.getData() ) {
gained_once_domain_count_stats.addValue( element );
}
}
final String[] ds = dc.split( "=" );
final DescriptiveStatistics s0 = domain_length_stats_by_domain.get( ds[ 0 ] );
final DescriptiveStatistics s1 = domain_length_stats_by_domain.get( ds[ 1 ] );
- final double[] a0 = s0.getDataAsDoubleArray();
- final double[] a1 = s1.getDataAsDoubleArray();
- for( final double element : a0 ) {
- gained_once_domain_length_stats.addValue( element );
+ for( final double element : s0.getData() ) {
+ gained_once_domain_length_sum += element;
+ ++gained_once_domain_length_count;
}
- for( final double element : a1 ) {
- gained_once_domain_length_stats.addValue( element );
+ for( final double element : s1.getData() ) {
+ gained_once_domain_length_sum += element;
+ ++gained_once_domain_length_count;
}
}
}
out_for_rank_counts.close();
out_for_ancestor_species_counts.close();
if ( !ForesterUtil.isEmpty( outfilename_for_protein_stats )
- && ( ( protein_length_stats_by_dc != null ) || ( domain_number_stats_by_dc != null ) ) ) {
+ && ( ( domain_length_stats_by_domain != null ) || ( protein_length_stats_by_dc != null ) || ( domain_number_stats_by_dc != null ) ) ) {
final BufferedWriter w = new BufferedWriter( new FileWriter( outfilename_for_protein_stats ) );
w.write( "Domain Lengths: " );
w.write( "\n" );
w.write( "\n" );
w.write( "Gained once, domain lengths:" );
w.write( "\n" );
- w.write( gained_once_domain_length_stats.toString() );
+ w.write( "N: " + gained_once_domain_length_count );
+ w.write( "\n" );
+ w.write( "Avg: " + ( ( double ) gained_once_domain_length_sum / gained_once_domain_length_count ) );
w.write( "\n" );
w.write( "\n" );
w.write( "Gained multiple times, domain lengths:" );
w.write( "\n" );
- w.write( gained_multiple_times_domain_length_stats.toString() );
+ w.write( "N: " + gained_multiple_times_domain_length_count );
+ w.write( "\n" );
+ w.write( "Avg: "
+ + ( ( double ) gained_multiple_times_domain_length_sum / gained_multiple_times_domain_length_count ) );
w.write( "\n" );
w.write( "\n" );
w.write( "\n" );
public static Phylogeny createNjTreeBasedOnMatrixToFile( final File nj_tree_outfile, final DistanceMatrix distance ) {
checkForOutputFileWriteability( nj_tree_outfile );
final NeighborJoining nj = NeighborJoining.createInstance();
- final Phylogeny phylogeny = nj.execute( distance );
+ final Phylogeny phylogeny = nj.execute( ( BasicSymmetricalDistanceMatrix ) distance );
phylogeny.setName( nj_tree_outfile.getName() );
writePhylogenyToFile( phylogeny, nj_tree_outfile.toString() );
return phylogeny;