+ if ( cla.isOptionSet( PATH_TO_MAFFT_OPTION ) ) {
+ if ( !realign ) {
+ ForesterUtil.fatalError( PRG_NAME, "no need to indicate path to MAFFT without realigning" );
+ }
+ path_to_mafft = cla.getOptionValueAsCleanString( PATH_TO_MAFFT_OPTION );
+ }
+ if ( cla.isOptionSet( DO_NOT_NORMALIZE_FOR_EFF_LENGTH_OPTION ) ) {
+ norm = false;
+ }
+ //
+ if ( cla.isOptionSet( STEP_FOR_DIAGNOSTICS_OPTION ) ) {
+ step_for_diagnostics = cla.getOptionValueAsInt( STEP_FOR_DIAGNOSTICS_OPTION );
+ if ( ( step_for_diagnostics < 1 )
+ || ( ( step_for_diagnostics > msa.getNumberOfSequences() ) || ( ( worst_remove > 0 ) && ( step_for_diagnostics > worst_remove ) ) ) ) {
+ ForesterUtil.fatalError( PRG_NAME, "value for diagnostic step is out of range: "
+ + step_for_diagnostics );
+ }
+ }
+ if ( cla.isOptionSet( MIN_LENGTH_OPTION ) ) {
+ min_length = cla.getOptionValueAsInt( MIN_LENGTH_OPTION );
+ if ( ( min_length < 2 ) || ( min_length > initial_msa_stats.getMax() ) ) {
+ ForesterUtil.fatalError( PRG_NAME, "value for minimal sequence length is out of range: "
+ + min_length );
+ }
+ }
+ if ( cla.isOptionSet( MIN_LENGTH_OPTION ) ) {
+ gap_ratio = cla.getOptionValueAsDouble( GAP_RATIO_LENGTH_OPTION );
+ if ( ( gap_ratio < 0 ) || ( gap_ratio > 1 ) ) {
+ ForesterUtil.fatalError( PRG_NAME, "gap ratio is out of range: " + gap_ratio );
+ }
+ }
+ if ( cla.isOptionSet( REPORT_ALN_MEAN_IDENTITY ) ) {
+ report_aln_mean_identity = true;
+ }
+ if ( cla.isOptionSet( OUTPUT_FORMAT_PHYLIP_OPTION ) ) {
+ output_format = MSA_FORMAT.PHYLIP;
+ }
+ if ( cla.isOptionSet( OUTPUT_REMOVED_SEQS_OPTION ) ) {
+ String s = cla.getOptionValueAsCleanString( OUTPUT_REMOVED_SEQS_OPTION );
+ removed_seqs_out_base = new File( s );
+ }
+ if ( realign ) {
+ if ( ForesterUtil.isEmpty( path_to_mafft ) ) {
+ path_to_mafft = MsaCompactor.guessPathToMafft();
+ }
+ checkPathToMafft( path_to_mafft );
+ if ( cla.isOptionSet( MAFFT_OPTIONS ) ) {
+ mafft_options = cla.getOptionValueAsCleanString( MAFFT_OPTIONS );
+ if ( ForesterUtil.isEmpty( mafft_options ) || mafft_options.length() < 3 ) {
+ ForesterUtil.fatalError( PRG_NAME, "gap ratio is out of range: " + gap_ratio );
+ }
+ }
+ }
+ ForesterUtil.printProgramInformation( PRG_NAME,
+ PRG_DESC,
+ PRG_VERSION,
+ PRG_DATE,
+ E_MAIL,
+ WWW,
+ ForesterUtil.getForesterLibraryInformation() );
+ //
+ System.out.println( "Input MSA: " + in );
+ if ( out != null ) {
+ System.out.println( "Output : " + out );