#DECORATOR_OPTIONS_DOMAINS = '-r=1'
DECORATOR_OPTIONS_DOMAINS = '-p -t'
IDS_MAPFILE_SUFFIX = '.nim'
- DOMAINS_MAPFILE_SUFFIX = '.dff'
- SLEEP_TIME = 0.1
+ DOMAINS_MAPFILE_SUFFIX = '_hmmscan_10.dff'
+ SLEEP_TIME = 0.05
REMOVE_NI = true
TMP_FILE_1 = '___PD1___'
TMP_FILE_2 = '___PD2___'
JAVA_HOME = ENV[Constants::JAVA_HOME_ENV_VARIABLE]
PRG_NAME = "phylogenies_decorator"
- PRG_DATE = "2012.10.11"
+ PRG_DATE = "2013.11.15"
PRG_DESC = "decoration of phylogenies with sequence/species names and domain architectures"
PRG_VERSION = "1.02"
- COPYRIGHT = "2012 Christian M Zmasek"
+ COPYRIGHT = "2013 Christian M Zmasek"
CONTACT = "phylosoft@gmail.com"
WWW = "https://sites.google.com/site/cmzmasek/home/software/forester"
log << counter.to_s + ': ' + phylogeny_file + ' -> ' + outfile + NL
phylogeny_id = get_id( phylogeny_file )
+ puts
+
+ Util.print_message( PRG_NAME, "id: " + phylogeny_id )
+ log << "id: " + phylogeny_id + NL
ids_mapfile_name = nil
domains_mapfile_name = nil
domains_mapfile_name = get_file( files, phylogeny_id, DOMAINS_MAPFILE_SUFFIX )
seqs_file_name = get_seq_file( files, phylogeny_id )
-
begin
Util.check_file_for_readability( domains_mapfile_name )
rescue ArgumentError
def get_file( files_in_dir, phylogeny_id, suffix_pattern )
matching_files = Array.new
- matching_suffix_files = Array.new
+
files_in_dir.each { | file |
if ( !File.directory?( file ) &&
file !~ /^\./ &&
file !~ /^00/ &&
- file =~ /^#{phylogeny_id}.*#{suffix_pattern}$/ )
+ file =~ /^#{phylogeny_id}#{suffix_pattern}$/ )
matching_files << file
end
- if ( !File.directory?( file ) &&
- file !~ /^\./ &&
- file !~ /^00/ &&
- file =~ /#{suffix_pattern}$/ )
- matching_suffix_files << file
- end
}
- if matching_files.length < 1 && matching_suffix_files.length == 1
- return matching_suffix_files[ 0 ]
- end
-
- if matching_files.length < 1 && matching_suffix_files.length < 1
+ if matching_files.length < 1
Util.fatal_error( PRG_NAME, 'no file matching [' + phylogeny_id +
- '_] [' + suffix_pattern + '] present in current directory' )
+ + suffix_pattern + '] present in current directory' )
end
if matching_files.length > 1
Util.fatal_error( PRG_NAME, 'more than one file matching [' + phylogeny_id +
- '_] [' + suffix_pattern + '] present in current directory' )
+ + suffix_pattern + '] present in current directory' )
end
matching_files[ 0 ]
end
if ( !File.directory?( file ) &&
file !~ /^\./ &&
file !~ /^00/ &&
- file =~ /^#{phylogeny_id}.+\d$/ )
+ ( file =~ /^#{phylogeny_id}__.+\d$/ || file =~ /^#{phylogeny_id}__.*\.fasta$/ ) )
matching_files << file
end
-
}
if matching_files.length < 1
- Util.fatal_error( PRG_NAME, 'no seq file matching [' + phylogeny_id + '] present in current directory' )
+ Util.fatal_error( PRG_NAME, 'no seq file matching [' + phylogeny_id + '__] present in current directory' )
end
if matching_files.length > 1
- Util.fatal_error( PRG_NAME, 'more than one seq file matching [' + phylogeny_id + '] present in current directory' )
+ Util.fatal_error( PRG_NAME, 'more than one seq file matching [' + phylogeny_id + '__] present in current directory' )
end
matching_files[ 0 ]
end