changeset 11:137e05f24336

merged
author mini
date Tue, 30 Sep 2014 11:36:36 +0200
parents f66f23fcc83a (diff) 0e8e6011082b (current diff)
children 3421b0fbec61
files strelka_wrapper.py
diffstat 2 files changed, 37 insertions(+), 83 deletions(-) [+]
line wrap: on
line diff
--- a/strelka.xml	Fri Sep 26 15:51:35 2014 +0200
+++ b/strelka.xml	Tue Sep 30 11:36:36 2014 +0200
@@ -1,6 +1,6 @@
-<tool id="strelka88" name="Strelka good interface but no dependencies">
-
-  <description>Strelka good interface but no dependencies</description>
+<tool id="strelka" name="Strelka">
+  <!-- Made by Gregoire Seguin-Henry for geviteam in 2014 -->
+  <description>Strelka</description>
   <requirements>
     <requirement type="set_environment">SCRIPT_PATH</requirement>
     <requirement type="package" version="0.1.18">samtools</requirement>
@@ -60,7 +60,7 @@
         <param name="binSize" type="integer" value="25000000" label="binSize" />
         <param name="minTier1Mapq" type="integer" value="20" min="0" max="40" help="between 0 and 40" label="minTier1Mapq" />
         <param name="minTier2Mapq" type="integer" value="5" min="0" max="5" help="between 0 and 5" label="minTier2Mapq" />
-        <param name="isWriteRealignedBam" type="integer" value="0" label="isWriteRealignedBam" />
+        <param name="isWriteRealignedBam" type="integer" value="0" min="0" max="1" label="isWriteRealignedBam" help="0 for no alignment else 1"/>
         <param name="ssnvPrior" type="float" value="0.000001" label="ssnvPrior" />
         <param name="sindelPrior" type="float" value="0.000001" label="sindelPrior" />
         <param name="ssnvNoise" type="float" value="0.0000005" label="ssnvNoise" />
@@ -90,25 +90,37 @@
         </conditional>
       </when>
     </conditional>  
-    <conditional name="conf_file">
-      <param name="conf_file_switch" type="select" label="output conf_file ?">
-        <option value="No" selected="true">No</option>
-        <option value="Yes">Yes</option>
-      </param>
-    </conditional>
-
-
-
+      <param name="conf_file_check" type="boolean" label="output conf file" checked="False"/>
+      <param name="output1_file_check" type="boolean" label="output passed snvs(filtred)" checked="True"/>     
+      <param name="output2_file_check" type="boolean" label="output passed indels(filtred)" checked="True"/>
+      <param name="output3_file_check" type="boolean" label="output all snvs" checked="True"/>
+      <param name="output4_file_check" type="boolean" label="output all indels" checked="True"/>
+      <param name="output5_file_check" type="boolean" label="normal realigned bam" help="only if isWriteRealignedBam option is 1" checked="False"/>
+      <param name="output6_file_check" type="boolean" label="tumor realigned bam" help="only if isWriteRealignedBam option is 1" checked="False"/>
 
   </inputs>
 
   <outputs>
-    <data format="vcf" name="output1_vcf" label="${tool.name} on ${on_string}(passed.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.snvs.vcf"/>
-    <data format="vcf" name="output2_vcf" label="${tool.name} on ${on_string}(passed.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.indels.vcf"/>
-    <data format="vcf" name="output3_vcf" label="${tool.name} on ${on_string}(all.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.snvs.vcf"/>
-    <data format="vcf" name="output4_vcf" label="${tool.name} on ${on_string}(all.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.indels.vcf"/>
+    <data format="vcf" name="output1_vcf" label="${tool.name} on ${on_string}(passed.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.snvs.vcf">
+      <filter>output1_file_check == True</filter>
+    </data>
+    <data format="vcf" name="output2_vcf" label="${tool.name} on ${on_string}(passed.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/passed.somatic.indels.vcf">
+      <filter>output2_file_check == True</filter>
+    </data>
+    <data format="vcf" name="output3_vcf" label="${tool.name} on ${on_string}(all.somatic.snvs.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.snvs.vcf">
+      <filter>output3_file_check == True</filter>
+    </data>
+    <data format="vcf" name="output4_vcf" label="${tool.name} on ${on_string}(all.somatic.indels.vcf)" from_work_dir="StrelkaAnalysis/results/all.somatic.indels.vcf">
+      <filter>output4_file_check == True</filter>
+    </data>
     <data name="conf_file.ini" label="conf_file.ini" from_work_dir="StrelkaAnalysis/tmp/config.ini">
-      <filter>conf_file.conf_file_switch == "Yes"</filter>
+      <filter>conf_file_check == True</filter>
+    </data>
+    <data format="bam" name="output5_bam" label="${tool.name} on ${on_string}(normal.realigned.bam)" from_work_dir="StrelkaAnalysis/realigned/normal.realigned.bam">
+      <filter>output5_file_check == True</filter>
+    </data>
+    <data format="bam" name="output6_bam" label="${tool.name} on ${on_string}(tumor.realigned.bam)" from_work_dir="StrelkaAnalysis/realigned/tumor.realigned.bam">
+      <filter>output6_file_check == True</filter>
     </data>
   </outputs>
 
--- a/strelka_wrapper.py	Fri Sep 26 15:51:35 2014 +0200
+++ b/strelka_wrapper.py	Tue Sep 30 11:36:36 2014 +0200
@@ -1,5 +1,8 @@
 #!/usr/bin/env python
-#Dan Blankenberg
+#Gregoire Seguin-Henry (Engineer IT)
+#Amine Sbitti (Data Scientist)
+#Ludovic Marie-Sainte (Project Manager)
+#For Geviteam 2014
 
 """
 A wrapper script for running the GenomeAnalysisTK.jar commands.
@@ -10,14 +13,7 @@
 from binascii import unhexlify
 from string import Template
 from galaxy import eggs
-#import pkg_resources; pkg_resources.require( "bx-python" )
 
-#GALAXY_EXT_TO_GATK_EXT = { 'gatk_interval':'intervals', 'bam_index':'bam.bai', 'gatk_dbsnp':'dbSNP', 'picard_interval_list':'interval_list' } #items not listed here will use the galaxy extension as-is
-#GALAXY_EXT_TO_GATK_FILE_TYPE = GALAXY_EXT_TO_GATK_EXT #for now, these are the same, but could be different if needed
-#DEFAULT_GATK_PREFIX = "gatk_file"
-#CHUNK_SIZE = 2**20 #1mb
-#
-#
 def cleanup_before_exit( tmp_dir ):
     if tmp_dir and os.path.exists( tmp_dir ):
         shutil.rmtree( tmp_dir )
@@ -62,9 +58,8 @@
             my_Popen( command, "fasta_index_stderr", tmp_dir, "Error during indexation of fasta file :" + fasta_filename)
 
 def __main__():
-    #Parse Command Line  OPTPARSE DEPRECIATED USE ARGPARSE INSTEAD
-    #MKTEMP DEPRECIATED USE MKDTlizations#EMP INSTEAD
-    #manage parsing
+
+    #Manage options
     parser = argparse.ArgumentParser()                                             
     parser.add_argument( '-t', '--tumorBam', help='path to tumor bam file', required = False )
     parser.add_argument( '-n', '--normalBam', help='path to tumor bam file', required = False )   
@@ -101,7 +96,7 @@
     tmp_dir = tempfile.mkdtemp( prefix='tmp-strelkaAnalysis-' )
     config_ini = "%s/config.ini" % (tmp_dir)
 
-    print("root_dir: " + root_dir + "\njob_dir :" + job_dir + "\nanalysis_dir :" + analysis_dir + "\nconfig_script :" + config_script + "\ntmp_dir :" + tmp_dir + "\nconfig_ini :" +  config_ini)
+    #print("root_dir: " + root_dir + "\njob_dir :" + job_dir + "\nanalysis_dir :" + analysis_dir + "\nconfig_script :" + config_script + "\ntmp_dir :" + tmp_dir + "\nconfig_ini :" +  config_ini)
 
 
     #verifying eveything's ok
@@ -113,7 +108,6 @@
     
 
     # creating index if needed
-    #os.environ['PATH']= root_dir + "/opt/samtools:" + os.environ['PATH']
     bam_filenames = [ args.tumorBam, args.normalBam ]
     index_bam_files( bam_filenames, tmp_dir )
     fasta_files = [ args.refFile ]
@@ -148,55 +142,3 @@
     my_Popen( cmd, "workflow_stderr", tmp_dir, "Error during workflow execution !")   
     print("**** completed workflow execution")
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-#bam_filenames = []
-#    if options.datasets:
-#        for ( dataset_arg, filename, galaxy_ext, prefix ) in options.datasets:
-#            gatk_filename = filename_from_galaxy( filename, galaxy_ext, target_dir = tmp_dir, prefix = prefix )#return the link to the dataset that has been created in the function
-#            if dataset_arg:
-#                cmd = '%s %s "%s"' % ( cmd, gatk_filetype_argument_substitution( dataset_arg, galaxy_ext ), gatk_filename )
-#            if galaxy_ext == "bam":
-#                bam_filenames.append( gatk_filename )
-#    #set up stdout and stderr output options
-#    stdout = open_file_from_option( options.stdout, mode = 'wb' )
-#    stderr = open_file_from_option( options.stderr, mode = 'wb' )
-#    #if no stderr file is specified, we'll use our own
-#    if stderr is None:
-#        stderr = tempfile.NamedTemporaryFile( prefix="strelka-stderr-", dir=tmp_dir )
-#    
-#    proc = subprocess.Popen( args=cmd, stdout=stdout, stderr=stderr, shell=True, cwd=tmp_dir )
-#    return_code = proc.wait()
-#    
-#    if return_code:
-#        stderr_target = sys.stderr
-#    else:
-#        stderr_target = sys.stdout
-#    stderr.flush()
-#    stderr.seek(0)
-#    while True:
-#        chunk = stderr.read( CHUNK_SIZE )
-#        if chunk:
-#            stderr_target.write( chunk )
-#        else:
-#            break
-#    stderr.close()
-#    #generate html reports
-#    if options.html_report_from_directory:
-#        for ( html_filename, html_dir ) in options.html_report_from_directory:
-#            html_report_from_directory( open( html_filename, 'wb' ), html_dir )
-#    
-#    cleanup_before_exit( tmp_dir )
-
-if __name__=="__main__": __main__()