# HG changeset patch # User morinlab # Date 1480893019 18000 # Node ID c6b7640b24e94803cf5d88f4d044a78f4304814c Uploaded diff -r 000000000000 -r c6b7640b24e9 fetch_ensembl_cache_data_manager/data_manager/data_manager_fetch_ensembl_cache.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fetch_ensembl_cache_data_manager/data_manager/data_manager_fetch_ensembl_cache.py Sun Dec 04 18:10:19 2016 -0500 @@ -0,0 +1,68 @@ +import sys +import os +import tempfile +import optparse +import subprocess + +from json import loads, dumps + +DEFAULT_DATA_TABLE_NAME = "ensembl_cache" + +def fetch_ensembl_cache(data_manager_dict, ensembl_vep_path, species, assembly, ensembl_version, params, target_directory, data_table_name): + + perl_executable = '/'.join([ensembl_vep_path, "INSTALL.pl"]) + + commands = [ "perl" , perl_executable, "--AUTO", "cf", "--SPECIES", species, "--ASSEMBLY", assembly, "--CACHEDIR", target_directory ] + + print commands + + proc = subprocess.Popen( args=commands, shell=False, cwd=target_directory) + return_code = proc.wait() + if return_code: + print >> sys.stderr, "Error fetching ensembl cache" + sys.exit( return_code ) + + data_table_entry = dict(value='.'.join([species,assembly,ensembl_version]), name='.'.join([species,assembly,ensembl_version]), species=species, assembly=assembly, version=ensembl_version, path=target_directory ) + + _add_data_table_entry( data_manager_dict, data_table_name, data_table_entry ) + +def _add_data_table_entry( data_manager_dict, data_table_name, data_table_entry ): + data_manager_dict['data_tables'] = data_manager_dict.get( 'data_tables', {} ) + data_manager_dict['data_tables'][ data_table_name ] = data_manager_dict['data_tables'].get( data_table_name, [] ) + data_manager_dict['data_tables'][ data_table_name ].append( data_table_entry ) + return data_manager_dict + +def main(): + + print >> sys.stderr, "Starting" + + parser = optparse.OptionParser() + parser.add_option( '-i', '--organism_string', dest='input', action='store', type="string") + parser.add_option( '-e', '--ensembl_vep_path', dest='ensembl_vep_path', action='store', type='string') + (options, args) = parser.parse_args() + + filename = args[0] + + print >> sys.stderr, "What" + print >> sys.stderr, "When" + + ensembl_vep_path = options.ensembl_vep_path + species = options.input.split("-")[0] + assembly = options.input.split("-")[1] + ensembl_version = 84 + + print >> sys.stderr, "hello" + + params = loads( open( filename ).read() ) + target_directory = params[ 'output_data' ][0]['extra_files_path'] + os.mkdir( target_directory ) + data_manager_dict = {} + + #Fetch the Ensembl Cache + fetch_ensembl_cache( data_manager_dict, ensembl_vep_path, species, assembly, ensembl_version, params, target_directory, data_table_name=DEFAULT_DATA_TABLE_NAME ) + + + #save info to json file + open( filename, 'wb' ).write( dumps( data_manager_dict ) ) + +if __name__ == "__main__": main() diff -r 000000000000 -r c6b7640b24e9 fetch_ensembl_cache_data_manager/data_manager/data_manager_fetch_ensembl_cache.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fetch_ensembl_cache_data_manager/data_manager/data_manager_fetch_ensembl_cache.xml Sun Dec 04 18:10:19 2016 -0500 @@ -0,0 +1,17 @@ + + fetcher + + ensembl_vep + + + ensembl_vep_macros.xml + + + $__tool_directory__/data_manager_fetch_ensembl_cache.py "${out_file}" --organism_string $species_select.value --ensembl_vep_path "\$ENSEMBL_VEP_84_INSTALL_DIR" + + + + + + + diff -r 000000000000 -r c6b7640b24e9 fetch_ensembl_cache_data_manager/data_manager/ensembl_vep_macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fetch_ensembl_cache_data_manager/data_manager/ensembl_vep_macros.xml Sun Dec 04 18:10:19 2016 -0500 @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r c6b7640b24e9 fetch_ensembl_cache_data_manager/data_manager_conf.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fetch_ensembl_cache_data_manager/data_manager_conf.xml Sun Dec 04 18:10:19 2016 -0500 @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + ${species}/${assembly}/${version} + + ${GALAXY_DATA_MANAGER_DATA_PATH}/${species}/${assembly}/${version}/${path} + abspath + + + + + + diff -r 000000000000 -r c6b7640b24e9 fetch_ensembl_cache_data_manager/tool-data/ensembl_cache.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fetch_ensembl_cache_data_manager/tool-data/ensembl_cache.loc Sun Dec 04 18:10:19 2016 -0500 @@ -0,0 +1,1 @@ +# diff -r 000000000000 -r c6b7640b24e9 fetch_ensembl_cache_data_manager/tool_data_table_conf.xml.sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fetch_ensembl_cache_data_manager/tool_data_table_conf.xml.sample Sun Dec 04 18:10:19 2016 -0500 @@ -0,0 +1,6 @@ + + + value, name, species, assembly, version, path + +
+
diff -r 000000000000 -r c6b7640b24e9 fetch_ensembl_cache_data_manager/tool_dependencies.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fetch_ensembl_cache_data_manager/tool_dependencies.xml Sun Dec 04 18:10:19 2016 -0500 @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + +