Changeset 1101:9afb001ae21a
- Timestamp:
- 03/25/08 10:09:27
(10 months ago)
- Author:
- Greg Von Kuster <greg@bx.psu.edu>
- branch:
- default
- convert_revision:
- svn:9bcadc22-80f8-0310-8a53-c8f022958886/galaxy/trunk@2460
- Message:
Changed GALAXY_DATA_INDEX_DIR from an environment variable to a config entry.
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r959 |
r1101 |
|
| 33 | 33 | self.new_file_path = resolve_path( kwargs.get( "new_file_path", "database/tmp" ), self.root ) |
|---|
| 34 | 34 | self.tool_path = resolve_path( kwargs.get( "tool_path", "tools" ), self.root ) |
|---|
| | 35 | self.tool_data_path = resolve_path( kwargs.get( "tool_data_path", "tool-data" ), os.getcwd() ) |
|---|
| 35 | 36 | self.test_conf = resolve_path( kwargs.get( "test_conf", "" ), self.root ) |
|---|
| 36 | 37 | self.tool_config = resolve_path( kwargs.get( 'tool_config_file', 'tool_conf.xml' ), self.root ) |
|---|
| … | … | |
| 56 | 57 | self.use_heartbeat = kwargs.get( 'use_heartbeat', False ) |
|---|
| 57 | 58 | self.ucsc_display_sites = kwargs.get( 'ucsc_display_sites', "main,test,archaea" ).lower().split(",") |
|---|
| 58 | | self.gbrowse_display_sites = kwargs.get( 'gbrowse_display_sites', "wormbase,flybase" ).lower().split(",") |
|---|
| 59 | 59 | self.brand = kwargs.get( 'brand', None ) |
|---|
| 60 | 60 | self.wiki_url = kwargs.get( 'wiki_url', None ) |
|---|
| … | … | |
| 88 | 88 | def check( self ): |
|---|
| 89 | 89 | # Check that required directories exist |
|---|
| 90 | | for path in self.root, self.file_path, self.tool_path, self.template_path, self.job_working_directory, self.datatype_converters_path: |
|---|
| | 90 | for path in self.root, self.file_path, self.tool_path, self.tool_data_path, self.template_path, self.job_working_directory, self.datatype_converters_path: |
|---|
| 91 | 91 | if not os.path.isdir( path ): |
|---|
| 92 | 92 | raise ConfigurationError("Directory does not exist: %s" % path ) |
|---|
| r1092 |
r1101 |
|
| 22 | 22 | export PATH='%s' |
|---|
| 23 | 23 | export PYTHONPATH='%s' |
|---|
| 24 | | export GALAXY_DATA_INDEX_DIR='%s' |
|---|
| 25 | 24 | cd %s |
|---|
| 26 | 25 | %s |
|---|
| … | … | |
| 31 | 30 | export PATH='%s' |
|---|
| 32 | 31 | export PYTHONPATH='%s' |
|---|
| 33 | | export GALAXY_DATA_INDEX_DIR='%s' |
|---|
| 34 | 32 | for dataset in %s; do |
|---|
| 35 | 33 | dir=`dirname $dataset` |
|---|
| … | … | |
| 155 | 153 | # write the job script |
|---|
| 156 | 154 | if self.app.config.pbs_stage_path != '': |
|---|
| 157 | | script = pbs_symlink_template % (os.environ['LC_ALL'], os.environ['NODEPATH'], os.environ['PYTHONPATH'], os.environ['GALAXY_DATA_INDEX_DIR'], " ".join(job_wrapper.get_input_fnames() + job_wrapper.get_output_fnames()), self.app.config.pbs_stage_path, exec_dir, command_line) |
|---|
| 158 | | else: |
|---|
| 159 | | script = pbs_template % (os.environ['LC_ALL'], os.environ['NODEPATH'], os.environ['PYTHONPATH'], os.environ['GALAXY_DATA_INDEX_DIR'], exec_dir, command_line) |
|---|
| | 155 | script = pbs_symlink_template % (os.environ['LC_ALL'], os.environ['NODEPATH'], os.environ['PYTHONPATH'], " ".join(job_wrapper.get_input_fnames() + job_wrapper.get_output_fnames()), self.app.config.pbs_stage_path, exec_dir, command_line) |
|---|
| | 156 | else: |
|---|
| | 157 | script = pbs_template % (os.environ['LC_ALL'], os.environ['NODEPATH'], os.environ['PYTHONPATH'], exec_dir, command_line) |
|---|
| 160 | 158 | job_file = "%s/database/pbs/%s.sh" % (os.getcwd(), job_wrapper.job_id) |
|---|
| 161 | 159 | fh = file(job_file, "w") |
|---|
| r1091 |
r1101 |
|
| 992 | 992 | param_dict['__new_file_path__'] = os.path.abspath(self.app.config.new_file_path) |
|---|
| 993 | 993 | # The following points to location (xxx.loc) files which are pointers to locally cached data |
|---|
| 994 | | param_dict['GALAXY_DATA_INDEX_DIR'] = os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| | 994 | param_dict['GALAXY_DATA_INDEX_DIR'] = self.app.config.tool_data_path |
|---|
| 995 | 995 | # Return the dictionary of parameters |
|---|
| 996 | 996 | return param_dict |
|---|
| r1091 |
r1101 |
|
| 15 | 15 | self.data_ref = None |
|---|
| 16 | 16 | self.param_ref = None |
|---|
| 17 | | self.from_file_data = None |
|---|
| | 17 | self.data_file_path = None |
|---|
| | 18 | self.data_file_data = None |
|---|
| 18 | 19 | self.validators = [] |
|---|
| 19 | 20 | |
|---|
| … | … | |
| 22 | 23 | if self.data_file is not None: |
|---|
| 23 | 24 | self.data_file = self.data_file.strip() |
|---|
| 24 | | if self.data_file.startswith( 'static' ): |
|---|
| 25 | | # static files ( ucsc/builds.txt, etc ) have relative paths in the tool config |
|---|
| 26 | | self.from_file = self.data_file |
|---|
| 27 | | else: |
|---|
| 28 | | self.from_file = "%s/%s" % ( os.environ.get( 'GALAXY_DATA_INDEX_DIR' ), self.data_file ) |
|---|
| 29 | | else: |
|---|
| 30 | | self.from_file = None |
|---|
| 31 | 25 | self.name_col = elem.get( 'name_col', None ) |
|---|
| 32 | 26 | if self.name_col is not None: |
|---|
| … | … | |
| 120 | 114 | # We'll be reading data directly from the input dataset |
|---|
| 121 | 115 | filters[ 'data_meta' ][ 'meta_key' ] = 'data_ref' |
|---|
| 122 | | self.from_file = dataset.get_file_name() |
|---|
| 123 | | filters[ 'data_meta' ][ 'meta_value' ] = self.from_file |
|---|
| | 116 | self.data_file_path = dataset.get_file_name() |
|---|
| | 117 | filters[ 'data_meta' ][ 'meta_value' ] = self.data_file_path |
|---|
| 124 | 118 | # meta_key_col is optional |
|---|
| 125 | 119 | meta_key_col = filter.get( 'meta_key_col', None ) |
|---|
| … | … | |
| 157 | 151 | filters[ 'params' ] = {} |
|---|
| 158 | 152 | filters[ 'params' ][ n ] = v |
|---|
| | 153 | if self.data_file and self.data_file.startswith( 'static' ): |
|---|
| | 154 | self.data_file_path = self.data_file |
|---|
| | 155 | elif self.data_file not in [ None, 'data_ref' ]: |
|---|
| | 156 | self.data_file_path = "%s/%s" % ( trans.app.config.tool_data_path, self.data_file ) |
|---|
| 159 | 157 | # Now that we've parsed our filters, we need to see if the tool is a maf tool |
|---|
| 160 | 158 | # which requires special handling |
|---|
| … | … | |
| 201 | 199 | return self.generate_for_encode( encode_group, dbkey, sep ) |
|---|
| 202 | 200 | elif self.data_file == 'microbial_data.loc': |
|---|
| 203 | | if self.from_file_data is None: |
|---|
| | 201 | if self.data_file_data is None: |
|---|
| 204 | 202 | self.load_microbial_data() |
|---|
| 205 | 203 | try: |
|---|
| … | … | |
| 233 | 231 | def generate(): |
|---|
| 234 | 232 | encode_sets = {} |
|---|
| 235 | | for line in open( self.from_file ): |
|---|
| | 233 | for line in open( self.data_file_path ): |
|---|
| 236 | 234 | line = line.rstrip( '\r\n' ) |
|---|
| 237 | 235 | if line and not line.startswith( '#' ): |
|---|
| … | … | |
| 314 | 312 | options = [] |
|---|
| 315 | 313 | if not kingdom and not org and not feature: |
|---|
| 316 | | kingdoms = self.from_file_data.keys() |
|---|
| | 314 | kingdoms = self.data_file_data.keys() |
|---|
| 317 | 315 | kingdoms.sort() |
|---|
| 318 | 316 | for kingdom in kingdoms: |
|---|
| … | … | |
| 321 | 319 | options[0] = ( options[0][0], options[0][1], True ) |
|---|
| 322 | 320 | elif kingdom and not org and not feature: |
|---|
| 323 | | orgs = self.from_file_data[ kingdom ].keys() |
|---|
| | 321 | orgs = self.data_file_data[ kingdom ].keys() |
|---|
| 324 | 322 | #need to sort by name |
|---|
| 325 | 323 | swap_test = False |
|---|
| 326 | 324 | for i in range( 0, len( orgs ) - 1 ): |
|---|
| 327 | 325 | for j in range( 0, len( orgs ) - i - 1 ): |
|---|
| 328 | | if self.from_file_data[ kingdom ][ orgs[ j ] ][ 'name' ] > self.from_file_data[ kingdom ][ orgs[ j + 1 ] ][ 'name' ]: |
|---|
| | 326 | if self.data_file_data[ kingdom ][ orgs[ j ] ][ 'name' ] > self.data_file_data[ kingdom ][ orgs[ j + 1 ] ][ 'name' ]: |
|---|
| 329 | 327 | orgs[ j ], orgs[ j + 1 ] = orgs[ j + 1 ], orgs[ j ] |
|---|
| 330 | 328 | swap_test = True |
|---|
| … | … | |
| 332 | 330 | break |
|---|
| 333 | 331 | for org in orgs: |
|---|
| 334 | | if self.from_file_data[ kingdom ][ org ][ 'link_site' ] == "UCSC": |
|---|
| 335 | | options.append( ( "<b>" + self.from_file_data[ kingdom ][ org ][ 'name' ] + "</b> <a href=\"" + self.from_file_data[ kingdom ][ org ][ 'info_url' ] + "\" target=\"_blank\">(about)</a>", org, False ) ) |
|---|
| | 332 | if self.data_file_data[ kingdom ][ org ][ 'link_site' ] == "UCSC": |
|---|
| | 333 | options.append( ( "<b>" + self.data_file_data[ kingdom ][ org ][ 'name' ] + "</b> <a href=\"" + self.data_file_data[ kingdom ][ org ][ 'info_url' ] + "\" target=\"_blank\">(about)</a>", org, False ) ) |
|---|
| 336 | 334 | else: |
|---|
| 337 | | options.append( ( self.from_file_data[ kingdom ][ org ][ 'name' ] + " <a href=\"" + self.from_file_data[ kingdom ][ org ][ 'info_url' ] + "\" target=\"_blank\">(about)</a>", org, False ) ) |
|---|
| | 335 | options.append( ( self.data_file_data[ kingdom ][ org ][ 'name' ] + " <a href=\"" + self.data_file_data[ kingdom ][ org ][ 'info_url' ] + "\" target=\"_blank\">(about)</a>", org, False ) ) |
|---|
| 338 | 336 | if options: |
|---|
| 339 | 337 | options[0] = ( options[0][0], options[0][1], True ) |
|---|
| 340 | 338 | else: |
|---|
| 341 | | chroms = self.from_file_data[ kingdom ][ org ][ 'chrs' ].keys() |
|---|
| | 339 | chroms = self.data_file_data[ kingdom ][ org ][ 'chrs' ].keys() |
|---|
| 342 | 340 | chroms.sort() |
|---|
| 343 | 341 | for chr in chroms: |
|---|
| 344 | | for data in self.from_file_data[ kingdom ][ org ][ 'chrs' ][ chr ][ 'data' ]: |
|---|
| 345 | | if self.from_file_data[ kingdom ][ org ][ 'chrs' ][ chr ][ 'data' ][ data ][ 'feature' ] == feature: |
|---|
| 346 | | options.append( ( self.from_file_data[ kingdom ][ org ][ 'chrs' ][ chr ][ 'name' ] + " <a href=\"" + self.from_file_data[ kingdom ][ org ][ 'chrs' ][ chr ][ 'info_url' ] + "\" target=\"_blank\">(about)</a>", data, False ) ) |
|---|
| | 342 | for data in self.data_file_data[ kingdom ][ org ][ 'chrs' ][ chr ][ 'data' ]: |
|---|
| | 343 | if self.data_file_data[ kingdom ][ org ][ 'chrs' ][ chr ][ 'data' ][ data ][ 'feature' ] == feature: |
|---|
| | 344 | options.append( ( self.data_file_data[ kingdom ][ org ][ 'chrs' ][ chr ][ 'name' ] + " <a href=\"" + self.data_file_data[ kingdom ][ org ][ 'chrs' ][ chr ][ 'info_url' ] + "\" target=\"_blank\">(about)</a>", data, False ) ) |
|---|
| 347 | 345 | return options |
|---|
| 348 | 346 | def load_microbial_data( self, sep='\t' ): |
|---|
| 349 | 347 | microbe_info= {} |
|---|
| 350 | 348 | orgs = {} |
|---|
| 351 | | for line in open( self.from_file ): |
|---|
| | 349 | for line in open( self.data_file_path ): |
|---|
| 352 | 350 | line = line.rstrip( '\r\n' ) |
|---|
| 353 | 351 | if line and not line.startswith( '#' ): |
|---|
| … | … | |
| 422 | 420 | if org_num not in microbe_info[ org[ 'kingdom' ] ]: |
|---|
| 423 | 421 | microbe_info[ org[ 'kingdom' ] ][org_num] = org |
|---|
| 424 | | self.from_file_data = microbe_info |
|---|
| | 422 | self.data_file_data = microbe_info |
|---|
| 425 | 423 | def generate_for_species( self, species ): |
|---|
| 426 | 424 | options = [] |
|---|
| … | … | |
| 431 | 429 | options = [] |
|---|
| 432 | 430 | d = {} |
|---|
| 433 | | for line in open( self.from_file ): |
|---|
| | 431 | for line in open( self.data_file_path ): |
|---|
| 434 | 432 | line = line.rstrip( '\r\n' ) |
|---|
| 435 | 433 | if line and not line.startswith( '#' ): |
|---|
| … | … | |
| 477 | 475 | options = [] |
|---|
| 478 | 476 | d = {} |
|---|
| 479 | | for line in open( self.from_file ): |
|---|
| | 477 | for line in open( self.data_file_path ): |
|---|
| 480 | 478 | line = line.rstrip( '\r\n' ) |
|---|
| 481 | 479 | if line and not line.startswith( '#' ): |
|---|
| … | … | |
| 529 | 527 | def generate( self, name_col, value_col, sep ): |
|---|
| 530 | 528 | options = [] |
|---|
| 531 | | for line in open( self.from_file ): |
|---|
| | 529 | for line in open( self.data_file_path ): |
|---|
| 532 | 530 | line = line.rstrip( '\r\n' ) |
|---|
| 533 | 531 | if line and not line.startswith( '#' ): |
|---|
| r1091 |
r1101 |
|
| 213 | 213 | def from_element( cls, elem ): |
|---|
| 214 | 214 | filename = elem.get( "filename", None ) |
|---|
| | 215 | if filename: |
|---|
| | 216 | filename = filename.strip() |
|---|
| 215 | 217 | metadata_name = elem.get( "metadata_name", None ) |
|---|
| | 218 | if metadata_name: |
|---|
| | 219 | metadata_name = metadata_name.strip() |
|---|
| 216 | 220 | metadata_column = int( elem.get( "metadata_column", 0 ) ) |
|---|
| 217 | 221 | message = elem.get( "message", "Value for metadata %s was not found in %s." % ( metadata_name, filename ) ) |
|---|
| 218 | 222 | split = elem.get( "split", None ) |
|---|
| 219 | 223 | line_startswith = elem.get( "line_startswith", None ) |
|---|
| | 224 | if line_startswith: |
|---|
| | 225 | line_startswith = line_startswith.strip() |
|---|
| 220 | 226 | return cls( filename, metadata_name, metadata_column, message, split, line_startswith ) |
|---|
| 221 | | def __init__( self, filename, metadata_name, metadata_column, message = "Value for metadata not found." , split = None, line_startswith = None ): |
|---|
| | 227 | def __init__( self, filename, metadata_name, metadata_column, message="Value for metadata not found.", split=None, line_startswith=None ): |
|---|
| 222 | 228 | self.metadata_name = metadata_name |
|---|
| 223 | 229 | self.message = message |
|---|
| 224 | 230 | self.valid_values = [] |
|---|
| 225 | | filename = "%s/%s" % ( os.environ.get( 'GALAXY_DATA_INDEX_DIR' ), filename ) |
|---|
| | 231 | #filename = "%s/%s" % ( GALAXY_DATA_INDEX_DIR, filename ) |
|---|
| 226 | 232 | for line in open( filename ): |
|---|
| 227 | 233 | if line_startswith is None or line.startswith( line_startswith ): |
|---|
| r1091 |
r1101 |
|
| 10 | 10 | import sys, os, string, tempfile |
|---|
| 11 | 11 | |
|---|
| 12 | | MAF_LOCATION_FILE = "%s/maf_index.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| 13 | | |
|---|
| 14 | 12 | #an object corresponding to a reference layered alignment |
|---|
| 15 | 13 | class RegionAlignment( object ): |
|---|
| … | … | |
| 127 | 125 | |
|---|
| 128 | 126 | #Open a MAF index using a UID |
|---|
| 129 | | def maf_index_by_uid( maf_uid, index_location_file = None ): |
|---|
| 130 | | for line in open( index_location_file or MAF_LOCATION_FILE ): |
|---|
| | 127 | def maf_index_by_uid( maf_uid, index_location_file ): |
|---|
| | 128 | for line in open( index_location_file ): |
|---|
| 131 | 129 | try: |
|---|
| 132 | 130 | #read each line, if not enough fields, go to next line |
|---|
| r1091 |
r1101 |
|
| 15 | 15 | PYTHONPATH=$UNIVERSE_HOME/lib:$UNIVERSE_HOME/eggs/$PYTHON_UCS:$UNIVERSE_HOME/eggs |
|---|
| 16 | 16 | |
|---|
| 17 | | # The following directory must include location ( xxx.loc ) files that point to the |
|---|
| 18 | | # location where the locally cached data is stored. These location files are used |
|---|
| 19 | | # by various tools. |
|---|
| 20 | | GALAXY_DATA_INDEX_DIR=$UNIVERSE_HOME/tool-data |
|---|
| 21 | | |
|---|
| 22 | | export UNIVERSE_HOME PYTHONPATH GALAXY_DATA_INDEX_DIR |
|---|
| | 17 | export UNIVERSE_HOME PYTHONPATH |
|---|
| 23 | 18 | |
|---|
| 24 | 19 | ## For PBS - if you need to force node paths (i.e. the arch the frontend |
|---|
| r1091 |
r1101 |
|
| 17 | 17 | uids = sys.argv[1].split(",") |
|---|
| 18 | 18 | out_file1 = sys.argv[2] |
|---|
| 19 | | file_name = "%s/encode_datasets.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| | 19 | file_name = "%s/encode_datasets.loc" % sys.argv[3] |
|---|
| 20 | 20 | |
|---|
| 21 | 21 | #remove NONE from uids |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="encode_import_all_latest_datasets1" name="Combined Datasets"> |
|---|
| 2 | | <command interpreter="python">encode_import.py $hg17,$hg16 $output</command> |
|---|
| | 2 | <command interpreter="python">encode_import.py $hg17,$hg16 $output ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 3 | 3 | <inputs> |
|---|
| 4 | 4 | <display> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="encode_import_chromatin_and_chromosomes1" name="Chromatin and Chromosomes"> |
|---|
| 2 | | <command interpreter="python">encode_import.py $hg17,$hg16 $output</command> |
|---|
| | 2 | <command interpreter="python">encode_import.py $hg17,$hg16 $output ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 3 | 3 | <inputs> |
|---|
| 4 | 4 | <display> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="encode_import_gencode1" name="Gencode Datasets"> |
|---|
| 2 | | <command interpreter="python">encode_import.py $hg17,$hg16 $output</command> |
|---|
| | 2 | <command interpreter="python">encode_import.py $hg17,$hg16 $output ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 3 | 3 | <inputs> |
|---|
| 4 | 4 | <display> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="encode_import_genes_and_transcripts1" name="Genes and Transcripts"> |
|---|
| 2 | | <command interpreter="python">encode_import.py $hg17,$hg16 $output</command> |
|---|
| | 2 | <command interpreter="python">encode_import.py $hg17,$hg16 $output ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 3 | 3 | <inputs> |
|---|
| 4 | 4 | <display> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="encode_import_multi-species_sequence_analysis1" name="Multi-species Sequence Analysis"> |
|---|
| 2 | | <command interpreter="python">encode_import.py $hg17,$hg16 $output</command> |
|---|
| | 2 | <command interpreter="python">encode_import.py $hg17,$hg16 $output ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 3 | 3 | <inputs> |
|---|
| 4 | 4 | <display> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="encode_import_transcription_regulation1" name="Transcription Regulation"> |
|---|
| 2 | | <command interpreter="python">encode_import.py $hg17,$hg16 $output</command> |
|---|
| | 2 | <command interpreter="python">encode_import.py $hg17,$hg16 $output ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 3 | 3 | <inputs> |
|---|
| 4 | 4 | <display> |
|---|
| r1091 |
r1101 |
|
| 25 | 25 | available_files = {} |
|---|
| 26 | 26 | try: |
|---|
| 27 | | filename = "%s/microbial_data.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| | 27 | filename = sys.argv[9] |
|---|
| 28 | 28 | for i, line in enumerate( file( filename ) ): |
|---|
| 29 | 29 | if not line or line[0:1] == "#" : continue |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="microbial_import1" name="Get Microbial Data"> |
|---|
| 2 | | <command interpreter="python">microbial_import.py $CDS,$tRNA,$rRNA,$sequence,$GeneMark,$GeneMarkHMM,$Glimmer3 $output</command> |
|---|
| | 2 | <command interpreter="python">microbial_import.py $CDS,$tRNA,$rRNA,$sequence,$GeneMark,$GeneMarkHMM,$Glimmer3 $output ${GALAXY_DATA_INDEX_DIR}/microbial_data.loc</command> |
|---|
| 3 | 3 | <inputs> |
|---|
| 4 | 4 | <page> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | |
|---|
| 2 | | def load_microbial_data( sep='\t' ): |
|---|
| | 2 | def load_microbial_data( GALAXY_INDEX_DATA_DIR, sep='\t' ): |
|---|
| 3 | 3 | # FIXME: this function is duplicated in the DynamicOptions class. It is used here only to |
|---|
| 4 | 4 | # set data.name in exec_after_process(). |
|---|
| … | … | |
| 6 | 6 | orgs = {} |
|---|
| 7 | 7 | |
|---|
| 8 | | filename = "%s/microbial_data.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| | 8 | filename = "%s/microbial_data.loc" % GALAXY_DATA_INDEX_DIR |
|---|
| 9 | 9 | for i, line in enumerate( file( filename ) ): |
|---|
| 10 | 10 | line = line.rstrip( '\r\n' ) |
|---|
| … | … | |
| 97 | 97 | print "Parameters are not available." |
|---|
| 98 | 98 | |
|---|
| 99 | | microbe_info = load_microbial_data() |
|---|
| | 99 | microbe_info = load_microbial_data( param_dict.get( 'GALAXY_INDEX_DATA_DIR' ), sep='\t' ) |
|---|
| 100 | 100 | new_stdout = "" |
|---|
| 101 | 101 | split_stdout = stdout.split("\n") |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="random_intervals1" name="Random Intervals"> |
|---|
| 2 | 2 | <description>create a random set of intervals</description> |
|---|
| 3 | | <command interpreter="python2.4">random_intervals_no_bits.py $regions $input2 $input1 $out_file1 $input2_chromCol $input2_startCol $input2_endCol $input1_chromCol $input1_startCol $input1_endCol $input1_strandCol $use_mask $strand_overlaps</command> |
|---|
| | 3 | <command interpreter="python2.4">random_intervals_no_bits.py $regions $input2 $input1 $out_file1 $input2_chromCol $input2_startCol $input2_endCol $input1_chromCol $input1_startCol $input1_endCol $input1_strandCol $use_mask $strand_overlaps ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 4 | 4 | <inputs> |
|---|
| 5 | 5 | <param name="input1" type="data" format="interval" label="File to Mimick"> |
|---|
| r1091 |
r1101 |
|
| 107 | 107 | overlaps = sys.argv[12] |
|---|
| 108 | 108 | available_regions = {} |
|---|
| 109 | | loc_file = "%s/regions.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| | 109 | loc_file = "%s/regions.loc" % sys.argv[-1] |
|---|
| 110 | 110 | |
|---|
| 111 | 111 | for i, line in enumerate( file( loc_file ) ): |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | #!/usr/bin/env python2.4 |
|---|
| 2 | 2 | """ |
|---|
| 3 | | usage: extract_genomic_dna.py $input $out_file1 $input_chromCol $input_startCol $input_endCol $input_strandCol $dbkey $out_format |
|---|
| | 3 | usage: extract_genomic_dna.py $input $out_file1 $input_chromCol $input_startCol $input_endCol $input_strandCol $dbkey $out_format GALAXY_DATA_INDEX_DIR |
|---|
| 4 | 4 | by Wen-Yu Chung |
|---|
| 5 | 5 | """ |
|---|
| … | … | |
| 10 | 10 | import bx.seq.nib |
|---|
| 11 | 11 | import bx.seq.twobit |
|---|
| 12 | | |
|---|
| 13 | | nib_file = "%s/alignseq.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| 14 | | twobit_file = "%s/twobit.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| 15 | 12 | |
|---|
| 16 | 13 | def stop_err( msg ): |
|---|
| … | … | |
| 26 | 23 | return "".join( reversed_s ) |
|---|
| 27 | 24 | |
|---|
| 28 | | def check_nib_file( dbkey ): |
|---|
| | 25 | def check_nib_file( dbkey, GALAXY_DATA_INDEX_DIR ): |
|---|
| | 26 | nib_file = "%s/alignseq.loc" % GALAXY_DATA_INDEX_DIR |
|---|
| 29 | 27 | nib_path = '' |
|---|
| 30 | 28 | nibs = {} |
|---|
| … | … | |
| 41 | 39 | return nib_path |
|---|
| 42 | 40 | |
|---|
| 43 | | def check_twobit_file( dbkey ): |
|---|
| | 41 | def check_twobit_file( dbkey, GALAXY_DATA_INDEX_DIR ): |
|---|
| | 42 | twobit_file = "%s/twobit.loc" % GALAXY_DATA_INDEX_DIR |
|---|
| 44 | 43 | twobit_path = '' |
|---|
| 45 | 44 | twobits = {} |
|---|
| … | … | |
| 81 | 80 | dbkey = sys.argv[7] |
|---|
| 82 | 81 | output_format = sys.argv[8] |
|---|
| | 82 | GALAXY_DATA_INDEX_DIR = sys.argv[9] |
|---|
| 83 | 83 | nibs = {} |
|---|
| 84 | 84 | twobits = {} |
|---|
| 85 | | nib_path = check_nib_file( dbkey ) |
|---|
| 86 | | twobit_path = check_twobit_file( dbkey ) |
|---|
| | 85 | nib_path = check_nib_file( dbkey, GALAXY_DATA_INDEX_DIR ) |
|---|
| | 86 | twobit_path = check_twobit_file( dbkey, GALAXY_DATA_INDEX_DIR ) |
|---|
| 87 | 87 | if not os.path.exists( nib_path ) and not os.path.exists( twobit_path ): |
|---|
| 88 | 88 | # If this occurs, we need to fix the metadata validator. |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="Extract genomic DNA 1" name="Extract Genomic DNA" version="2.0.0"> |
|---|
| 2 | 2 | <description>using coordinates from assembled/unassebmled genomes</description> |
|---|
| 3 | | <command interpreter="python">extract_genomic_dna.py $input $out_file1 $input_chromCol $input_startCol $input_endCol $input_strandCol $dbkey $out_format</command> |
|---|
| | 3 | <command interpreter="python">extract_genomic_dna.py $input $out_file1 $input_chromCol $input_startCol $input_endCol $input_strandCol $dbkey $out_format ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 4 | 4 | <inputs> |
|---|
| 5 | 5 | <param format="interval" name="input" type="data" label="Fetch sequences corresponding to Query"> |
|---|
| 6 | 6 | <validator type="unspecified_build" /> |
|---|
| 7 | | <validator type="dataset_metadata_in_file" filename="alignseq.loc" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." split=" " line_startswith="seq" /> |
|---|
| | 7 | <validator type="dataset_metadata_in_file" filename="/depot/data2/galaxy/alignseq.loc" metadata_name="dbkey" metadata_column="1" message="Sequences are not currently available for the specified build." split=" " line_startswith="seq" /> |
|---|
| 8 | 8 | </param> |
|---|
| 9 | 9 | <param name="out_format" type="select" label="Output data type"> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="axt_to_lav_1" name="AXT to LAV"> |
|---|
| 2 | 2 | <description>Converts an AXT formated file to LAV format</description> |
|---|
| 3 | | <!-- <command interpreter="python2.4">axt_to_lav.py $align_input $dbkey_1 $dbkey_2 $lav_file $seq_file1 $seq_file2</command> --> |
|---|
| 4 | 3 | <command interpreter="python2.4">axt_to_lav.py ${GALAXY_DATA_INDEX_DIR}/$dbkey_1/seq/%s.nib:$dbkey_1:./static/ucsc/chrom/${dbkey_1}.len ${GALAXY_DATA_INDEX_DIR}/$dbkey_2/seq/%s.nib:$dbkey_2:./static/ucsc/chrom/${dbkey_2}.len $align_input $lav_file $seq_file1 $seq_file2</command> |
|---|
| 5 | 4 | <inputs> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="GeneBed_Maf_Fasta2" name="Stitch Gene blocks"> |
|---|
| 2 | 2 | <description>given a set of coding exon intervals</description> |
|---|
| 3 | | <command interpreter="python2.4">#if $maf_source_type.maf_source == "user":#interval_maf_to_merged_fasta.py --dbkey=$dbkey --species=$maf_source_type.species --mafSource=$maf_source_type.maf_file --interval_file=$input1 --output_file=$out_file1 --mafSourceType=$maf_source_type.maf_source --geneBED |
|---|
| 4 | | #else:#interval_maf_to_merged_fasta.py --dbkey=$dbkey --species=$maf_source_type.species --mafSource=$maf_source_type.maf_identifier --interval_file=$input1 --output_file=$out_file1 --mafSourceType=$maf_source_type.maf_source --geneBED |
|---|
| | 3 | <command interpreter="python2.4">#if $maf_source_type.maf_source == "user":#interval_maf_to_merged_fasta.py --dbkey=$dbkey --species=$maf_source_type.species --mafSource=$maf_source_type.maf_file --interval_file=$input1 --output_file=$out_file1 --mafSourceType=$maf_source_type.maf_source --geneBED --mafIndexFileDir=${GALAXY_DATA_INDEX_DIR} |
|---|
| | 4 | #else:#interval_maf_to_merged_fasta.py --dbkey=$dbkey --species=$maf_source_type.species --mafSource=$maf_source_type.maf_identifier --interval_file=$input1 --output_file=$out_file1 --mafSourceType=$maf_source_type.maf_source --geneBED --mafIndexFileDir=${GALAXY_DATA_INDEX_DIR} |
|---|
| 5 | 5 | #end if |
|---|
| 6 | 6 | </command> |
|---|
| r1012 |
r1101 |
|
| 21 | 21 | -p, --species=p: Species to include in output |
|---|
| 22 | 22 | -l, --indexLocation=l: Override default maf_index.loc file |
|---|
| | 23 | -z, --mafIndexFile=z: Directory of local maf index file ( maf_index.loc or maf_pairwise.loc ) |
|---|
| 23 | 24 | """ |
|---|
| 24 | 25 | |
|---|
| … | … | |
| 85 | 86 | index = maf_utilities.maf_index_by_uid( options.mafType, options.indexLocation ) |
|---|
| 86 | 87 | else: |
|---|
| 87 | | index = maf_utilities.maf_index_by_uid( options.mafType ) |
|---|
| | 88 | index = maf_utilities.maf_index_by_uid( options.mafType, options.mafIndexFile ) |
|---|
| 88 | 89 | if index is None: |
|---|
| 89 | 90 | print >> sys.stderr, "The MAF source specified (%s) appears to be invalid." % ( options.mafType ) |
|---|
| r1091 |
r1101 |
|
| 2 | 2 | <description>given a set of genomic intervals</description> |
|---|
| 3 | 3 | <command interpreter="python2.4"> |
|---|
| 4 | | #if $maf_source_type.maf_source == "user":#interval2maf.py --dbkey=$input1_dbkey --chromCol=$input1_chromCol --startCol=$input1_startCol --endCol=$input1_endCol --strandCol=$input1_strandCol --mafFile=$maf_source_type.mafFile --interval_file=$input1 --output_file=$out_file1 |
|---|
| 5 | | #else:#interval2maf.py --dbkey=$input1_dbkey --chromCol=$input1_chromCol --startCol=$input1_startCol --endCol=$input1_endCol --strandCol=$input1_strandCol --mafType=$maf_source_type.mafType --interval_file=$input1 --output_file=$out_file1 |
|---|
| | 4 | #if $maf_source_type.maf_source == "user":#interval2maf.py --dbkey=$input1_dbkey --chromCol=$input1_chromCol --startCol=$input1_startCol --endCol=$input1_endCol --strandCol=$input1_strandCol --mafFile=$maf_source_type.mafFile --interval_file=$input1 --output_file=$out_file1 --mafIndexFile=${GALAXY_DATA_INDEX_DIR}/maf_index.loc |
|---|
| | 5 | #else:#interval2maf.py --dbkey=$input1_dbkey --chromCol=$input1_chromCol --startCol=$input1_startCol --endCol=$input1_endCol --strandCol=$input1_strandCol --mafType=$maf_source_type.mafType --interval_file=$input1 --output_file=$out_file1 --mafIndexFile=${GALAXY_DATA_INDEX_DIR}/maf_index.loc |
|---|
| 6 | 6 | #end if |
|---|
| 7 | 7 | </command> |
|---|
| r1025 |
r1101 |
|
| 19 | 19 | -o, --output_file=o: Output MAF file |
|---|
| 20 | 20 | -p, --species=p: Species to include in output |
|---|
| | 21 | -z, --mafIndexFileDir=z: Directory of local maf_index.loc file |
|---|
| 21 | 22 | |
|---|
| 22 | | usage: %prog dbkey_of_BED comma_separated_list_of_additional_dbkeys_to_extract comma_separated_list_of_indexed_maf_files input_gene_bed_file output_fasta_file cached|user |
|---|
| | 23 | usage: %prog dbkey_of_BED comma_separated_list_of_additional_dbkeys_to_extract comma_separated_list_of_indexed_maf_files input_gene_bed_file output_fasta_file cached|user GALAXY_DATA_INDEX_DIR |
|---|
| 23 | 24 | """ |
|---|
| 24 | 25 | |
|---|
| … | … | |
| 83 | 84 | print >>sys.stderr, "Strand column has not been specified." |
|---|
| 84 | 85 | sys.exit() |
|---|
| | 86 | mafIndexFile = "%s/maf_index.loc" % options.mafIndexFileDir |
|---|
| 85 | 87 | #Finish parsing command line |
|---|
| 86 | 88 | |
|---|
| … | … | |
| 89 | 91 | #using specified uid for locally cached |
|---|
| 90 | 92 | if options.mafSourceType.lower() in ["cached"]: |
|---|
| 91 | | index = maf_utilities.maf_index_by_uid( options.mafSource ) |
|---|
| | 93 | index = maf_utilities.maf_index_by_uid( options.mafSource, mafIndexFile ) |
|---|
| 92 | 94 | if index is None: |
|---|
| 93 | 95 | print >> sys.stderr, "The MAF source specified (%s) appears to be invalid." % ( options.mafSource ) |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | <tool id="Interval_Maf_Merged_Fasta2" name="Stitch MAF blocks"> |
|---|
| 2 | 2 | <description>given a set of genomic intervals</description> |
|---|
| 3 | | <command interpreter="python2.4">#if $maf_source_type.maf_source == "user":#interval_maf_to_merged_fasta.py --dbkey=$dbkey --species=$maf_source_type.species --mafSource=$maf_source_type.maf_file --interval_file=$input1 --output_file=$out_file1 --chromCol=$input1_chromCol --startCol=$input1_startCol --endCol=$input1_endCol --strandCol=$input1_strandCol --mafSourceType=$maf_source_type.maf_source |
|---|
| 4 | | #else:#interval_maf_to_merged_fasta.py --dbkey=$dbkey --species=$maf_source_type.species --mafSource=$maf_source_type.maf_identifier --interval_file=$input1 --output_file=$out_file1 --chromCol=$input1_chromCol --startCol=$input1_startCol --endCol=$input1_endCol --strandCol=$input1_strandCol --mafSourceType=$maf_source_type.maf_source |
|---|
| | 3 | <command interpreter="python2.4">#if $maf_source_type.maf_source == "user":#interval_maf_to_merged_fasta.py --dbkey=$dbkey --species=$maf_source_type.species --mafSource=$maf_source_type.maf_file --interval_file=$input1 --output_file=$out_file1 --chromCol=$input1_chromCol --startCol=$input1_startCol --endCol=$input1_endCol --strandCol=$input1_strandCol --mafSourceType=$maf_source_type.maf_source --mafIndexFileDir=${GALAXY_DATA_INDEX_DIR} |
|---|
| | 4 | #else:#interval_maf_to_merged_fasta.py --dbkey=$dbkey --species=$maf_source_type.species --mafSource=$maf_source_type.maf_identifier --interval_file=$input1 --output_file=$out_file1 --chromCol=$input1_chromCol --startCol=$input1_startCol --endCol=$input1_endCol --strandCol=$input1_strandCol --mafSourceType=$maf_source_type.maf_source --mafIndexFileDir=${GALAXY_DATA_INDEX_DIR} |
|---|
| 5 | 5 | #end if |
|---|
| 6 | 6 | </command> |
|---|
| r1012 |
r1101 |
|
| 27 | 27 | if summary.lower() == "true": summary = True |
|---|
| 28 | 28 | else: summary = False |
|---|
| 29 | | |
|---|
| | 29 | |
|---|
| | 30 | mafIndexFile = "%s/maf_index.loc" % sys.argv[9] |
|---|
| 30 | 31 | index = index_filename = None |
|---|
| 31 | 32 | if maf_source_type == "user": |
|---|
| … | … | |
| 37 | 38 | elif maf_source_type == "cached": |
|---|
| 38 | 39 | #access existing indexes |
|---|
| 39 | | index = maf_utilities.maf_index_by_uid( input_maf_filename ) |
|---|
| | 40 | index = maf_utilities.maf_index_by_uid( input_maf_filename, mafIndexFile ) |
|---|
| 40 | 41 | if index is None: |
|---|
| 41 | 42 | print >> sys.stderr, "The MAF source specified (%s) appears to be invalid." % ( input_maf_filename ) |
|---|
| r1091 |
r1101 |
|
| 8 | 8 | $maf_source_type.maf_source $maf_source_type.mafType $input1 $out_file1 $dbkey $input1_chromCol $input1_startCol $input1_endCol $summary |
|---|
| 9 | 9 | #end if |
|---|
| | 10 | ${GALAXY_DATA_INDEX_DIR} |
|---|
| 10 | 11 | </command> |
|---|
| 11 | 12 | <inputs> |
|---|
| r1091 |
r1101 |
|
| 1 | 1 | import os |
|---|
| 2 | 2 | |
|---|
| 3 | | def load_maf_data( sep='\t' ): |
|---|
| | 3 | def load_maf_data( GALAXY_DATA_INDEX_DIR, sep='\t' ): |
|---|
| 4 | 4 | # FIXME: this function is duplicated in the DynamicOptions class. It is used here only to |
|---|
| 5 | 5 | # set data.name in exec_before_job(). |
|---|
| 6 | 6 | maf_sets = {} |
|---|
| 7 | | filename = "%s/maf_index.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| | 7 | filename = "%s/maf_index.loc" % GALAXY_DATA_INDEX_DIR |
|---|
| 8 | 8 | for i, line in enumerate( file( filename ) ): |
|---|
| 9 | 9 | line = line.rstrip( '\r\n' ) |
|---|
| … | … | |
| 28 | 28 | return maf_sets |
|---|
| 29 | 29 | def exec_before_job(app, inp_data, out_data, param_dict, tool): |
|---|
| 30 | | maf_sets = load_maf_data() |
|---|
| | 30 | maf_sets = load_maf_data( app.config.tool_data_path, sep='\t' ) |
|---|
| 31 | 31 | if param_dict[ 'maf_source_type' ][ 'maf_source' ] == "cached": |
|---|
| 32 | 32 | for name, data in out_data.items(): |
|---|
| r1091 |
r1101 |
|
| 3 | 3 | import os, sys, tempfile |
|---|
| 4 | 4 | |
|---|
| 5 | | nib_file = "%s/alignseq.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| 6 | | twobit_file = "/%s/twobit.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| 7 | | |
|---|
| 8 | | def check_nib_file( dbkey ): |
|---|
| | 5 | def check_nib_file( dbkey, GALAXY_DATA_INDEX_DIR ): |
|---|
| | 6 | nib_file = "%s/alignseq.loc" % GALAXY_DATA_INDEX_DIR |
|---|
| 9 | 7 | nib_path = '' |
|---|
| 10 | 8 | nibs = {} |
|---|
| … | … | |
| 21 | 19 | return nib_path |
|---|
| 22 | 20 | |
|---|
| 23 | | def check_twobit_file( dbkey ): |
|---|
| | 21 | def check_twobit_file( dbkey, GALAXY_DATA_INDEX_DIR ): |
|---|
| | 22 | twobit_file = "%s/twobit.loc" % GALAXY_DATA_INDEX_DIR |
|---|
| 24 | 23 | twobit_path = '' |
|---|
| 25 | 24 | twobits = {} |
|---|
| … | … | |
| 44 | 43 | tile_size = sys.argv[6] |
|---|
| 45 | 44 | one_off = sys.argv[7] |
|---|
| 46 | | |
|---|
| | 45 | GALAXY_DATA_INDEX_DIR = sys.argv[8] |
|---|
| | 46 | |
|---|
| 47 | 47 | all_files = [] |
|---|
| 48 | 48 | if (source_format == '0'): |
|---|
| … | … | |
| 52 | 52 | print >> sys.stdout, "No genome build specified. please check your dataset." |
|---|
| 53 | 53 | sys.exit() |
|---|
| 54 | | nib_path = check_nib_file( dbkey ) |
|---|
| 55 | | twobit_path = check_twobit_file( dbkey ) |
|---|
| | 54 | nib_path = check_nib_file( dbkey, GALAXY_DATA_INDEX_DIR ) |
|---|
| | 55 | twobit_path = check_twobit_file( dbkey, GALAXY_DATA_INDEX_DIR ) |
|---|
| 56 | 56 | if not os.path.exists( nib_path ) and not os.path.exists( twobit_path ): |
|---|
| 57 | 57 | print >> sys.stdout, "No sequences are available for %s, request them by reporting this error." % dbkey |
|---|
| r1012 |
r1101 |
|
| 1 | 1 | <tool id="blat_wrapper" name="Run Sequence Alignment" version="1.0.0"> |
|---|
| 2 | | <description>on short reads against genome builds</description> |
|---|
| 3 | | <command interpreter="python"> |
|---|
| 4 | | #if $source.source_select=="database":#blat_wrapper.py 0 $source.dbkey $input_query $output1 $iden $tile_size $one_off |
|---|
| 5 | | #else:#blat_wrapper.py 1 $source.input_target $input_query $output1 $iden $tile_size $one_off |
|---|
| 6 | | #end if |
|---|
| 7 | | </command> |
|---|
| | 2 | <description>on short reads against genome builds</description> |
|---|
| | 3 | <command interpreter="python"> |
|---|
| | 4 | #if $source.source_select=="database":#blat_wrapper.py 0 $source.dbkey $input_query $output1 $iden $tile_size $one_off |
|---|
| | 5 | #else:#blat_wrapper.py 1 $source.input_target $input_query $output1 $iden $tile_size $one_off |
|---|
| | 6 | #end if |
|---|
| | 7 | ${GALAXY_DATA_INDEX_DIR} |
|---|
| | 8 | </command> |
|---|
| 8 | 9 | <inputs> |
|---|
| 9 | 10 | <conditional name="source"> |
|---|
| r1098 |
r1101 |
|
| 6 | 6 | import sys, os, tempfile, subprocess |
|---|
| 7 | 7 | #from megablast_xml_parser import * |
|---|
| 8 | | |
|---|
| 9 | | DB_LOC = "%s/blastdb.loc" % os.environ.get( 'GALAXY_DATA_INDEX_DIR' ) |
|---|
| 10 | 8 | |
|---|
| 11 | 9 | def __main__(): |
|---|
| … | … | |
| 21 | 19 | mega_disc_type = sys.argv[7] # -N |
|---|
| 22 | 20 | mega_filter = sys.argv[8] # -F |
|---|
| 23 | | |
|---|
| | 21 | GALAXY_DATA_INDEX_DIR = sys.argv[9] |
|---|
| | 22 | DB_LOC = "%s/blastdb.loc" % GALAXY_DATA_INDEX_DIR |
|---|
| 24 | 23 | output_file = open(output_filename, 'w') |
|---|
| 25 | 24 | |
|---|
| r1099 |
r1101 |
|
| 1 | 1 | <tool id="megablast_wrapper" name="Megablast" version="2.0.0"> |
|---|
| 2 | 2 | <description>for Metagenomics Projects</description> |
|---|
| 3 | | <command interpreter="python">megablast_wrapper.py $source_select $input_query $output1 $word_size $iden_cutoff $disc_word $disc_type $filter_query</command> |
|---|
| | 3 | <command interpreter="python">megablast_wrapper.py $source_select $input_query $output1 $word_size $iden_cutoff $disc_word $disc_type $filter_query ${GALAXY_DATA_INDEX_DIR}</command> |
|---|
| 4 | 4 | <inputs> |
|---|
| 5 | 5 | <param name="input_query" type="data" format="fasta" label="Query Sequence"/> |
|---|
| r1021 |
r1101 |
|
| 49 | 49 | tool_config_file = tool_conf.xml |
|---|
| 50 | 50 | tool_path = tools |
|---|
| | 51 | tool_data_path = tool-data |
|---|
| 51 | 52 | |
|---|
| 52 | 53 | # Datatype converters |
|---|