changeset 0:c6b7640b24e9 draft

Uploaded
author morinlab
date Sun, 04 Dec 2016 18:10:19 -0500
parents
children c3150a2a03f7
files fetch_ensembl_cache_data_manager/data_manager/data_manager_fetch_ensembl_cache.py fetch_ensembl_cache_data_manager/data_manager/data_manager_fetch_ensembl_cache.xml fetch_ensembl_cache_data_manager/data_manager/ensembl_vep_macros.xml fetch_ensembl_cache_data_manager/data_manager_conf.xml fetch_ensembl_cache_data_manager/tool-data/ensembl_cache.loc fetch_ensembl_cache_data_manager/tool_data_table_conf.xml.sample fetch_ensembl_cache_data_manager/tool_dependencies.xml
diffstat 7 files changed, 207 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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()        
--- /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 @@
+<tool id="fetch_ensembl_cache_data_manager" name="Fetch Ensembl Cache" tool_type="manage_data" version="0.0.2">
+    <description>fetcher</description>
+    <requirements>
+        <requirement type="package" version="84">ensembl_vep</requirement>
+    </requirements>
+    <macros>
+      <import>ensembl_vep_macros.xml</import>
+    </macros>    
+    <command interpreter="python">
+    $__tool_directory__/data_manager_fetch_ensembl_cache.py "${out_file}" --organism_string $species_select.value --ensembl_vep_path "\$ENSEMBL_VEP_84_INSTALL_DIR" </command>
+    <inputs>
+        <expand macro="genome_list"/>
+    </inputs>
+    <outputs>
+        <data name="out_file" format="data_manager_json"/>
+    </outputs>
+</tool>
--- /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 @@
+<macros>
+	<xml name="genome_list">
+		<param name="species_select" type="select" label="Select Species">
+			<option value="ailuropoda melanoleuca">ailuropoda melanoleuca</option>
+			<option value="anas platyrhynchos">anas platyrhynchos</option>
+			<option value="anolis carolinensis">anolis carolinensis</option>
+			<option value="astyanax mexicanus">astyanax mexicanus</option>
+			<option value="bos taurus">bos taurus</option>
+			<option value="caenorhabditis elegans">caenorhabditis elegans</option>
+			<option value="callithrix jacchus">callithrix jacchus</option>
+			<option value="canis familiaris">canis familiaris</option>
+			<option value="cavia porcellus">cavia porcellus</option>
+			<option value="chlorocebus sabaeus">chlorocebus sabaeus</option>
+			<option value="choloepus hoffmanni">choloepus hoffmanni</option>
+			<option value="ciona intestinalis">ciona intestinalis</option>
+			<option value="ciona savignyi">ciona savignyi</option>
+			<option value="danio rerio">danio rerio</option>
+			<option value="dasypus novemcinctus">dasypus novemcinctus</option>
+			<option value="dipodomys ordii">dipodomys ordii</option>
+			<option value="drosophila melanogaster">drosophila melanogaster</option>
+			<option value="echinops telfairi">echinops telfairi</option>
+			<option value="equus caballus">equus caballus</option>
+			<option value="erinaceus europaeus">erinaceus europaeus</option>
+			<option value="felis catus">felis catus</option>
+			<option value="ficedula albicollis">ficedula albicollis</option>
+			<option value="gadus morhua">gadus morhua</option>
+			<option value="gallus gallus">gallus gallus</option>
+			<option value="gasterosteus aculeatus">gasterosteus aculeatus</option>
+			<option value="gorilla gorilla">gorilla gorilla</option>
+			<option value="homo_sapiens-GRCh37">homo sapiens - GRCh37</option>
+			<option value="homo_sapiens-GRCh38" selected="true">homo sapiens - GRCh38</option>
+			<option value="ictidomys tridecemlineatus">ictidomys tridecemlineatus</option>
+			<option value="latimeria chalumnae">latimeria chalumnae</option>
+			<option value="lepisosteus oculatus">lepisosteus oculatus</option>
+			<option value="loxodonta africana">loxodonta africana</option>
+			<option value="macaca mulatta">macaca mulatta</option>
+			<option value="macropus eugenii">macropus eugenii</option>
+			<option value="meleagris gallopavo">meleagris gallopavo</option>
+			<option value="microcebus murinus">microcebus murinus</option>
+			<option value="monodelphis domestica">monodelphis domestica</option>
+			<option value="mus musculus">mus musculus</option>
+			<option value="mustela putorius furo">mustela putorius furo</option>
+			<option value="myotis lucifugus">myotis lucifugus</option>
+			<option value="nomascus leucogenys">nomascus leucogenys</option>
+			<option value="ochotona princeps">ochotona princeps</option>
+			<option value="oreochromis niloticus">oreochromis niloticus</option>
+			<option value="ornithorhynchus anatinus">ornithorhynchus anatinus</option>
+			<option value="oryctolagus cuniculus">oryctolagus cuniculus</option>
+			<option value="oryzias latipes">oryzias latipes</option>
+			<option value="otolemur garnettii">otolemur garnettii</option>
+			<option value="ovis aries">ovis aries</option>
+			<option value="pan troglodytes">pan troglodytes</option>
+			<option value="papio anubis">papio anubis</option>
+			<option value="pelodiscus sinensis">pelodiscus sinensis</option>
+			<option value="petromyzon marinus">petromyzon marinus</option>
+			<option value="poecilia formosa">poecilia formosa</option>
+			<option value="pongo abelii">pongo abelii</option>
+			<option value="procavia capensis">procavia capensis</option>
+			<option value="pteropus vampyrus">pteropus vampyrus</option>
+			<option value="rattus norvegicus">rattus norvegicus</option>
+			<option value="saccharomyces cerevisiae">saccharomyces cerevisiae</option>
+			<option value="sarcophilus harrisii">sarcophilus harrisii</option>
+			<option value="sorex araneus">sorex araneus</option>
+			<option value="sus scrofa">sus scrofa</option>
+			<option value="taeniopygia guttata">taeniopygia guttata</option>
+			<option value="takifugu rubripes">takifugu rubripes</option>
+			<option value="tarsius syrichta">tarsius syrichta</option>
+			<option value="tetraodon nigroviridis">tetraodon nigroviridis</option>
+			<option value="tupaia belangeri">tupaia belangeri</option>
+			<option value="tursiops truncatus">tursiops truncatus</option>
+			<option value="vicugna pacos">vicugna pacos</option>
+			<option value="xenopus tropicalis">xenopus tropicalis</option>
+			<option value="xiphophorus maculatus">xiphophorus maculatus</option>
+		</param>
+	</xml>
+</macros>
--- /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 @@
+<?xml version="1.0"?>
+<data_managers>
+
+    <data_manager tool_file="data_manager/data_manager_fetch_ensembl_cache.xml" id="fetch_ensembl_cache" version="0.0.1">
+        <data_table name="ensembl_cache">
+            <output>
+                <column name="value" />
+                <column name="name"/>
+                <column name="species" />
+                <column name="assembly" />
+                <column name="version" />
+                <column name="path" output_ref="out_file" >
+                    <move type="directory" relativize_symlinks="True">
+                        <!-- <source>${path}</source>--> <!-- out_file.extra_files_path is used as base by default --> <!-- if no source, eg for type=directory, then refers to base -->
+                        <target base="${GALAXY_DATA_MANAGER_DATA_PATH}">${species}/${assembly}/${version}</target>
+                    </move>
+                    <value_translation>${GALAXY_DATA_MANAGER_DATA_PATH}/${species}/${assembly}/${version}/${path}</value_translation>
+                    <value_translation type="function">abspath</value_translation>
+                </column>
+            </output>
+        </data_table>
+    </data_manager>
+   
+</data_managers>
--- /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 @@
+#<value>	<name>	<assembly>	<species>	<ensembl_version>	<file_path>
--- /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 @@
+<tables>
+    <table name="ensembl_cache" comment_char="#">
+        <columns>value, name, species, assembly, version, path</columns>
+        <file path="tool-data/ensembl_cache.loc" />
+    </table>
+</tables>
--- /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 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="perl" version="5.18.1">
+        <repository changeset_revision="fa8f8d81b13e" name="package_perl_5_18" owner="morinlab" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="mysql" version="6.1.0">
+        <repository changeset_revision="766f27cb3cd7" name="package_mysql_6_1_0" owner="morinlab" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="ensembl_vep_perl_env" version="84">
+        <repository changeset_revision="9976000ce924" name="package_ensembl_vep_perl_environment_84" owner="morinlab" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="ensembl_vep" version="84">
+        <repository changeset_revision="c035dd918ed4" name="package_ensembl_vep_84" owner="morinlab" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>