@Override
public int compare( final Domain d1,
final Domain d2 ) {
- if ( d1.getPerSequenceEvalue() < d2
- .getPerSequenceEvalue() ) {
+ if ( d1.getPerDomainEvalue() < d2
+ .getPerDomainEvalue() ) {
return -1;
}
- else if ( d1
- .getPerSequenceEvalue() > d2
- .getPerSequenceEvalue() ) {
+ else if ( d1.getPerDomainEvalue() > d2
+ .getPerDomainEvalue() ) {
return 1;
}
else {
|| ( !get_gains && ( matrix.getState( id, c ) == CharacterStateMatrix.GainLossStates.LOSS ) ) ) {
if ( dc_type == BinaryDomainCombination.DomainCombinationType.DIRECTED_ADJACTANT ) {
all_binary_domains_combination_gained.add( AdjactantDirectedBinaryDomainCombination
- .createInstance( matrix.getCharacter( c ) ) );
+ .obtainInstance( matrix.getCharacter( c ) ) );
}
else if ( dc_type == BinaryDomainCombination.DomainCombinationType.DIRECTED ) {
all_binary_domains_combination_gained.add( DirectedBinaryDomainCombination
- .createInstance( matrix.getCharacter( c ) ) );
+ .obtainInstance( matrix.getCharacter( c ) ) );
}
else {
- all_binary_domains_combination_gained.add( BasicBinaryDomainCombination.createInstance( matrix
+ all_binary_domains_combination_gained.add( BasicBinaryDomainCombination.obtainInstance( matrix
.getCharacter( c ) ) );
}
}
}
public static StringBuilder createParametersAsString( final boolean ignore_dufs,
- final double e_value_max,
+ final double ie_value_max,
+ final double fs_e_value_max,
final int max_allowed_overlap,
final boolean no_engulfing_overlaps,
final File cutoff_scores_file,
final BinaryDomainCombination.DomainCombinationType dc_type ) {
final StringBuilder parameters_sb = new StringBuilder();
- parameters_sb.append( "E-value: " + e_value_max );
+ parameters_sb.append( "iE-value: " + ie_value_max );
+ parameters_sb.append( ", FS E-value: " + fs_e_value_max );
if ( cutoff_scores_file != null ) {
parameters_sb.append( ", Cutoff-scores-file: " + cutoff_scores_file );
}
*
* @param all_binary_domains_combination_lost_fitch
* @param use_last_in_fitch_parsimony
+ * @param perform_dc_fich
* @param consider_directedness_and_adjacency_for_bin_combinations
* @param all_binary_domains_combination_gained if null ignored, otherwise this is to list all binary domain combinations
* which were gained under unweighted (Fitch) parsimony.
final Map<String, DescriptiveStatistics> domain_length_stats_by_domain,
final Map<String, Integer> tax_code_to_id_map,
final boolean write_to_nexus,
- final boolean use_last_in_fitch_parsimony ) {
+ final boolean use_last_in_fitch_parsimony,
+ final boolean perform_dc_fich ) {
final String sep = ForesterUtil.LINE_SEPARATOR + "###################" + ForesterUtil.LINE_SEPARATOR;
final String date_time = ForesterUtil.getCurrentDateTime();
final SortedSet<String> all_pfams_encountered = new TreeSet<String>();
e.printStackTrace();
ForesterUtil.fatalError( surfacing.PRG_NAME, e.getLocalizedMessage() );
}
- if ( domain_parsimony.calculateNumberOfBinaryDomainCombination() > 0 ) {
+ if ( perform_dc_fich && ( domain_parsimony.calculateNumberOfBinaryDomainCombination() > 0 ) ) {
// FITCH DOMAIN COMBINATIONS
// -------------------------
local_phylogeny_l = phylogeny.copy();
catch ( final IOException e ) {
ForesterUtil.fatalError( surfacing.PRG_NAME, e.getMessage() );
}
- ForesterUtil.programMessage( surfacing.PRG_NAME, "Wrote binary domain combination for \""
- + input_file_properties[ i ][ 0 ] + "\" (" + input_file_properties[ i ][ 1 ] + ", "
- + input_file_properties[ i ][ 2 ] + ") to: \"" + dc_outfile_dot + "\"" );
+ if ( input_file_properties[ i ].length == 3 ) {
+ ForesterUtil.programMessage( surfacing.PRG_NAME, "Wrote binary domain combination for \""
+ + input_file_properties[ i ][ 0 ] + "\" (" + input_file_properties[ i ][ 1 ] + ", "
+ + input_file_properties[ i ][ 2 ] + ") to: \"" + dc_outfile_dot + "\"" );
+ }
+ else {
+ ForesterUtil.programMessage( surfacing.PRG_NAME, "Wrote binary domain combination for \""
+ + input_file_properties[ i ][ 0 ] + "\" (" + input_file_properties[ i ][ 1 ] + ") to: \""
+ + dc_outfile_dot + "\"" );
+ }
}
public static void writeBinaryStatesMatrixAsListToFile( final CharacterStateMatrix<CharacterStateMatrix.GainLossStates> matrix,
.getState( id, c ) == CharacterStateMatrix.GainLossStates.UNCHANGED_PRESENT ) ) ) ) {
BinaryDomainCombination bdc = null;
try {
- bdc = BasicBinaryDomainCombination.createInstance( matrix.getCharacter( c ) );
+ bdc = BasicBinaryDomainCombination.obtainInstance( matrix.getCharacter( c ) );
}
catch ( final Exception e ) {
ForesterUtil.fatalError( surfacing.PRG_NAME, e.getLocalizedMessage() );
public static void writeProteinListsForAllSpecies( final File output_dir,
final SortedMap<Species, List<Protein>> protein_lists_per_species,
final List<GenomeWideCombinableDomains> gwcd_list,
- final double domain_e_cutoff ) {
+ final double domain_e_cutoff,
+ final Set<String> pos_filter_doms ) {
final SortedSet<String> all_domains = new TreeSet<String>();
for( final GenomeWideCombinableDomains gwcd : gwcd_list ) {
all_domains.addAll( gwcd.getAllDomainIds() );
}
for( final String domain : all_domains ) {
+ if ( !ForesterUtil.isEmpty( pos_filter_doms ) && !pos_filter_doms.contains( domain ) ) {
+ continue;
+ }
final File out = new File( output_dir + ForesterUtil.FILE_SEPARATOR + domain + surfacing.SEQ_EXTRACT_SUFFIX );
checkForOutputFileWriteability( out );
try {