Commit 496e0995 authored by Penom Nom's avatar Penom Nom

Add bwa bwasw component.

Add samtools calmd component.
parent a9586a07
#
# Copyright (C) 2009 INRA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
__author__ = 'Plateforme bioinformatique Midi Pyrenees'
__copyright__ = 'Copyright (C) 2009 INRA'
__license__ = 'GNU General Public License'
__version__ = '1.0'
__email__ = 'support.genopole@toulouse.inra.fr'
__status__ = 'beta'
from optparse import *
import os, sys, re, datetime
import shutil
CHARACTHERS_TO_REPLACE = {"__": "_", "--":"-", "_.": "."}
def replace_characthers(string):
"""
Replace double characters by one
Considere only characthers from the CHARACTHERS_TO_REPLACE table
@param string: the string to modify
"""
for char in CHARACTHERS_TO_REPLACE.keys():
while True:
new_string = string.replace(char, CHARACTHERS_TO_REPLACE[char])
if new_string == string:
break
else :
string = new_string
return string
if __name__ == '__main__':
parser = OptionParser(usage="Usage: %prog")
igroup = OptionGroup(parser, "options","")
igroup.add_option("-f", "--fastq1-list", help="The read1 in fastq list to process.", dest="fastq1_list", type="string")
igroup.add_option("-g", "--fastq2-list", help="The read2 in fastq list to process.", dest="fastq2_list", type="string")
igroup.add_option("-d", "--database-file", help="The database file.", dest="database_file", type="string")
igroup.add_option("-p", "--pe-regexp", help="The pe regexp to use to find pe (ex for casava1_8 outputs, use *_*_*_(*)_*.fastq.gz).", dest="pe_regexp", type="string")
igroup.add_option("-o", "--output-iterator", help="Desired path to output iterator file.", dest="output_iterator", type="string")
parser.add_option_group(igroup)
(options, args) = parser.parse_args()
if options.pe_regexp:
options.pe_regexp = options.pe_regexp.replace("*", ".*")
files = {}
for file in open(options.fastq1_list).readlines():
file = file.strip()
# If a pairend regexp was provided, test it
if options.pe_regexp:
m = re.search(options.pe_regexp, os.path.basename(file))
try:
filew = os.path.basename(file)[:m.start(1)]+os.path.basename(file)[m.end(1):]
except:
filew = os.path.basename(file)
files[filew] = [file]
else :
files[os.path.basename(file)] = [file]
if options.fastq2_list:
for file in open(options.fastq2_list).readlines():
file = file.strip()
# If a pairend regexp was provided, test it
if options.pe_regexp:
m = re.search(options.pe_regexp, os.path.basename(file))
try:
filew = os.path.basename(file)[:m.start(1)]+os.path.basename(file)[m.end(1):]
except:
filew = os.path.basename(file)
try:
files[filew].append(file)
except:
sys.stderr.write("No read1 file matching for read2 file: " + file + "\n")
sys.exit(0)
else :
sys.stderr.write("No pairend regexp provided.")
sys.exit(0)
outf = open(options.output_iterator, "w")
outf.write("$;I_FILE_BASE$;\t$;I_FILE_NAME$;\t$;I_FILE_PATH$;\t$;PREFIX$;")
outf.write("\t$;DATABASE_NAME$;\t$;DATABASE$;\t$;SECOND_FILE_PATH$;\n")
database_name = os.path.basename(options.database_file)
to_merge = {}
for file in files.keys():
out_bam = ""
if len(files[file]) == 1:
basename = os.path.basename(files[file][0])
outf.write(basename + "\t"+ os.path.splitext(basename)[0] + "\t" + files[file][0])
outf.write("\t" + os.path.splitext(basename)[0] + "\t" + database_name + "\t" + options.database_file + "\t\n")
out_bam = os.path.splitext(basename)[0]+".bam"
elif len(files[file]) == 2:
basename = os.path.basename(files[file][0])
outf.write(basename + "\t"+ os.path.splitext(basename)[0] + "\t" + files[file][0] + "\t" + replace_characthers(os.path.splitext(file)[0]))
outf.write("\t" + database_name + "\t" + options.database_file + "\t" + files[file][1] + "\n")
out_bam = os.path.splitext(file)[0]+".bam"
sys.exit(0)
#
# Copyright (C) 2009 INRA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
__author__ = 'Plateforme bioinformatique Midi Pyrenees'
__copyright__ = 'Copyright (C) 2009 INRA'
__license__ = 'GNU General Public License'
__version__ = '1.0'
__email__ = 'support.genopole@toulouse.inra.fr'
__status__ = 'beta'
from optparse import *
import os, sys, re, datetime
import shutil
CHARACTHERS_TO_REPLACE = {"__": "_", "--":"-", "_.": "."}
def replace_characthers(string):
"""
Replace double characters by one
Considere only characthers from the CHARACTHERS_TO_REPLACE table
@param string: the string to modify
"""
for char in CHARACTHERS_TO_REPLACE.keys():
while True:
new_string = string.replace(char, CHARACTHERS_TO_REPLACE[char])
if new_string == string:
break
else :
string = new_string
return string
if __name__ == '__main__':
parser = OptionParser(usage="Usage: %prog")
igroup = OptionGroup(parser, "options","")
igroup.add_option("-r", "--iterator-file", help="The iterator result file.", dest="iterator_file", type="string")
igroup.add_option("-d", "--database", help="The database name used.", dest="database", type="string")
igroup.add_option("-p", "--processed-file-list", help="The list of raw file processed.", dest="processed_file_list", type="string")
igroup.add_option("-c", "--concat-regexp", help="The concat regexp to use to merge (ex for casava1_8 outputs, use *_*_*_*_(*).fastq.gz).", dest="concat_regexp", type="string")
igroup.add_option("-e", "--pe-regexp", help="The pe regexp to use (ex for casava1_8 outputs, use *_*_*_(*)_*.fastq.gz).", dest="pe_regexp", type="string")
igroup.add_option("-o", "--output-iterator-list", help="Where the output iterator list should be saved.", dest="output_list", type="string")
parser.add_option_group(igroup)
(options, args) = parser.parse_args()
if options.concat_regexp:
options.concat_regexp = options.concat_regexp.replace("*", ".*")
if options.pe_regexp:
options.pe_regexp = options.pe_regexp.replace("*", ".*")
files = {}
fileds_location = {}
for line in open(options.iterator_file).readlines():
line = line.strip()
if line.startswith("$;I_FILE_BASE$;"):
parts = line.split()
for pos in range( len(parts) ):
fileds_location[parts[pos]] = pos
else :
parts = line.split()
# If a pairend regexp was provided, test it
if options.concat_regexp:
m = re.search(options.concat_regexp, os.path.basename(parts[fileds_location["$;I_FILE_PATH$;"]]))
try:
filew = os.path.basename(parts[fileds_location["$;I_FILE_PATH$;"]])[:m.start(1)]+os.path.basename(parts[fileds_location["$;I_FILE_PATH$;"]])[m.end(1):]
m2 = re.search(options.pe_regexp, filew)
filew = filew[:m2.start(1)]+filew[m2.end(1):]
except:
filew = os.path.basename(parts[fileds_location["$;I_FILE_PATH$;"]])
final_name = parts[fileds_location["$;PREFIX$;"]] + ".bam"
if files.has_key(filew):
files[filew].append(final_name)
else :
files[filew] = [final_name]
else:
files[os.path.basename(parts[fileds_location["$;I_FILE_PATH$;"]])] = [parts[fileds_location["$;PREFIX$;"]] + ".bam"]
outf = open(options.output_list, "w")
outf.write("$;PREFIX$;\t$;BAM_LIST$;\t$;DATABASE_PATH$;\t$;DATABASE_BASENAME$;\n")
d_basename = os.path.splitext(os.path.basename(options.database))[0]
for file in files.keys():
if options.processed_file_list:
list = ""
for f in files[file]:
for pf in open(options.processed_file_list).readlines():
pf = pf.strip()
if os.path.basename(pf) == f:
list += pf + " "
break
else:
list = ""
for f in files[file]:
list += f + " "
outf.write(os.path.splitext(replace_characthers(file))[0] + "\t" + list + "\t" + options.database + "\t" + d_basename + "\n")
sys.exit(0)
......@@ -142,7 +142,7 @@
<type>RunUnixCommand</type>
<name>create bwa_aln_sorted_bam merge iterator list</name>
<state>incomplete</state>
<executable>python $;BIN_DIR$;/create_bwa_aln_sorted_bam_merge_iterator_list.py</executable>
<executable>python $;BIN_DIR$;/create_bwa_sorted_bam_merge_iterator_list.py</executable>
<param>
<key>--iterator-file</key>
<value>$;TMP_DIR$;/bwa_sam_iterator.list</value>
......
[interface]
classification = alignment / pairwise
[parameters]
; Options to pass to bwa bwasw
$;BWA_OPTIONS$;=
; Options to pass to samtools
$;SAMTOOLS_VIEW_OPTIONS$;=
; What is the pairend regular expression to use to gather pairend reads together, the pairend information should be surrounded by brackets
; Exemple for casava v 1.8 = *_*_*_(*)_*.fastq.gz
; for casava v 1.7 = *_*_(*)_*_qseq.fastq
; If no pairend reads, leave the field empty
$;PAIREND_REGEXP$; =
; What is the regular expression to use to concatenate results, the information should be surrounded by brackets
; Exemple for casava v 1.8, gathering all tail results = *_*_*_*_(*).fastq.gz
; for casava v 1.7 = *_*_*_(*)_qseq.fastq
; If no concatenation wanted, leave the field empty
$;CONCATENATE_REGEXP$; =
[input]
$;INPUT_FILE_LIST$; =
$;INPUT_FILE$; =
$;INPUT_DIRECTORY$; =
;; the following is only used when iterating over an INPUT_DIRECTORY
$;INPUT_EXTENSION$; = fastq
$;READ2_FILE_LIST$; =
;; The database path indexed using bwa index
$;DATABASE$;=
[output]
$;OUTPUT_TOKEN$; = default
$;OUTPUT_DIRECTORY$; = $;REPOSITORY_ROOT$;/output_repository/$;COMPONENT_NAME$;/$;PIPELINEID$;_$;OUTPUT_TOKEN$;
$;OUTPUT_BAM_LIST$; = $;OUTPUT_DIRECTORY$;/bam.list
[component]
$;COMPONENT_NAME$; = bwa_bwasw_sorted_bam
$;DESCRIPTION$; = Burrows-Wheeler alignment
$;WORKFLOW_REPOSITORY$; = $;REPOSITORY_ROOT$;/workflow/runtime/$;COMPONENT_NAME$;/$;PIPELINEID$;_$;OUTPUT_TOKEN$;
$;PIPELINE_TOKEN$; = unnamed
;The version,revision,tag here is set by an interpolated CVS tag
$;VERSION$; = $Name$
$;RELEASE_TAG$; = $Name$
$;REVISION$; = $Revision: 5503 $
$;TEMPLATE_XML$; = $;DOCS_DIR$;/$;COMPONENT_NAME$;.xml
$;ITERATOR1$; = i1
$;ITERATOR1_XML$; = $;DOCS_DIR$;/$;COMPONENT_NAME$;.$;ITERATOR1$;.xml
$;ITERATOR2$; = i2
$;ITERATOR2_XML$; = $;DOCS_DIR$;/$;COMPONENT_NAME$;.$;ITERATOR2$;.xml
;Distributed options
$;GROUP_COUNT$; = 150
$;NODISTRIB$; = 0
;the following keys are replaced at runtime by the invocation script
$;COMPONENT_CONFIG$; =
$;COMPONENT_XML$; =
$;PIPELINE_XML$; =
$;PIPELINEID$; =
[include]
$;PROJECT_CONFIG$;=
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<commandSetRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation='commandSet.xsd'>
<commandSet type="serial">
<name>bwa bwasw compute</name>
<command>
<type>RunUnixCommand</type>
<name>bwa bwasw</name>
<state>incomplete</state>
<executable>$;BWA_EXEC$;</executable>
<arg>bwasw $;BWA_OPTIONS$; $;DATABASE$; $;I_FILE_PATH$; $;SECOND_FILE_PATH$; | $;SAMTOOLS_EXEC$; view -SbF0x100 $;SAMTOOLS_VIEW_OPTIONS$; - | $;SAMTOOLS_EXEC$; sort - $;OUTPUT_DIRECTORY$;/$;ITERATOR_NAME$;/g$;GROUP_NUMBER$;/$;PREFIX$;</arg>
<param>
<key>stdout</key>
<value>$;OUTPUT_DIRECTORY$;/$;ITERATOR_NAME$;/g$;GROUP_NUMBER$;/$;I_FILE_BASE$;.stdout</value>
</param>
<param>
<key>stderr</key>
<value>$;TMP_DIR$;/$;I_FILE_BASE$;.$;COMPONENT_NAME$;.stderr</value>
</param>
</command>
</commandSet>
</commandSetRoot>
<?xml version="1.0" encoding="UTF-8"?>
<commandSetRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation='commandSet.xsd'>
<commandSet type="serial">
<name>bwa merge compute</name>
<command>
<type>RunUnixCommand</type>
<name>bwa merge</name>
<state>incomplete</state>
<executable>python $;BIN_DIR$;/execute_bwa_merge_cli.py</executable>
<arg></arg>
<param>
<key>--exec</key>
<value>"$;SAMTOOLS_EXEC$; merge"</value>
</param>
<param>
<key>--output-file</key>
<value>"$;OUTPUT_DIRECTORY$;/$;ITERATOR_NAME$;/g$;GROUP_NUMBER$;/$;PREFIX$;_$;DATABASE_BASENAME$;_sorted.bam"</value>
</param>
<param>
<key>--bam-list</key>
<value>"$;BAM_LIST$;"</value>
</param>
<param>
<key>stdout</key>
<value>$;OUTPUT_DIRECTORY$;/$;ITERATOR_NAME$;/g$;GROUP_NUMBER$;/$;PREFIX$;.stdout</value>
</param>
<param>
<key>stderr</key>
<value>$;OUTPUT_DIRECTORY$;/$;ITERATOR_NAME$;/g$;GROUP_NUMBER$;/$;PREFIX$;.stderr</value>
</param>
</command>
</commandSet>
</commandSetRoot>
<?xml version="1.0" encoding="UTF-8"?>
<commandSetRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation='commandSet.xsd'>
<commandSet type="serial">
<state>incomplete</state>
<name>bwa bwasw</name>
<!-- Create folders -->
<command>
<type>RunUnixCommand</type>
<name>create output directory</name>
<state>incomplete</state>
<executable>mkdir</executable>
<arg>-p -m 777 $;OUTPUT_DIRECTORY$;</arg>
</command>
<command>
<type>RunUnixCommand</type>
<name>create temp directory</name>
<state>incomplete</state>
<executable>mkdir</executable>
<arg>-p -m 777 $;TMP_DIR$;</arg>
</command>
<!-- Create read 1 list -->
<command>
<type>RunUnixCommand</type>
<name>create read1 iterator list</name>
<state>incomplete</state>
<executable>$;BIN_DIR$;/create_file_iterator_list</executable>
<param>
<key>--input_file_list</key>
<value>$;INPUT_FILE_LIST$;</value>
</param>
<param>
<key>--input_file</key>
<value>$;INPUT_FILE$;</value>
</param>
<param>
<key>--input_directory</key>
<value>$;INPUT_DIRECTORY$;</value>
</param>
<param>
<key>--input_directory_extension</key>
<value>$;INPUT_EXTENSION$;</value>
</param>
<param>
<key>--output_iter_list</key>
<value>$;OUTPUT_DIRECTORY$;/bwa_bwasw_read1_iterator.list</value>
</param>
</command>
<command>
<type>RunUnixCommand</type>
<name>create read1 list</name>
<state>incomplete</state>
<executable>grep</executable>
<arg>-v "I_FILE_BASE" $;OUTPUT_DIRECTORY$;/bwa_bwasw_read1_iterator.list | cut -f 3</arg>
<param>
<key>stdout</key>
<value>$;OUTPUT_DIRECTORY$;/read1_fastq.list</value>
</param>
</command>
<!-- -->
<command>
<type>RunUnixCommand</type>
<name>create full qseq list</name>
<state>incomplete</state>
<executable>cat</executable>
<arg>$;READ2_FILE_LIST$; $;OUTPUT_DIRECTORY$;/read1_fastq.list</arg>
<param>
<key>stdout</key>
<value>$;OUTPUT_DIRECTORY$;/all_fastq.list</value>
</param>
</command>
<command>
<type>RunUnixCommand</type>
<name>create bwa_bwasw iterator list</name>
<state>incomplete</state>
<executable>$;BIN_DIR$;/create_file_iterator_list</executable>
<param>
<key>--input_file_list</key>
<value>$;OUTPUT_DIRECTORY$;/all_fastq.list</value>
</param>
<param>
<key>--output_iter_list</key>
<value>$;OUTPUT_DIRECTORY$;/bwa_bwasw_iterator.list</value>
</param>
</command>
<!-- Create BAM -->
<command>
<type>RunUnixCommand</type>
<name>create bwa.sam iterator list</name>
<state>incomplete</state>
<executable>python $;BIN_DIR$;/create_bwa_bwasw_sorted_bam_iterator_list.py</executable>
<arg>--fastq1-list $;OUTPUT_DIRECTORY$;/read1_fastq.list --fastq2-list "$;READ2_FILE_LIST$;" --database-file $;DATABASE$; --output-iterator $;TMP_DIR$;/bwa_bam_iterator.list --pe-regexp "$;PAIREND_REGEXP$;"</arg>
<param>
<key>stdout</key>
<value>$;OUTPUT_DIRECTORY$;/create_bwa_bwsw_sorted_bam_iterator_list.stdout</value>
</param>
<param>
<key>stderr</key>
<value>$;OUTPUT_DIRECTORY$;/create_bwa_bwsw_sorted_bam_iterator_list.stderr</value>
</param>
</command>
<!--Iterator-->
<INCLUDE file="$;DOCS_DIR$;/iterator_template.xml" keys="$;ITERATOR_NAME$;=ITERATOR1,$;ITERATOR_XML$;=ITERATOR1_XML,$;ITERATOR_LIST$;=$;TMP_DIR$;/bwa_bam_iterator.list"/>
<!--Post-Processing-->
<!-- Create BAM list -->
<command>
<type>RunUnixCommand</type>
<name>create bam list</name>
<state>incomplete</state>
<executable>$;BIN_DIR$;/create_list_file</executable>
<param>
<key>--directory</key>
<value>$;OUTPUT_DIRECTORY$;/$;ITERATOR1$;/</value>
</param>
<param>
<key>--regex</key>
<value>".*\.bam"</value>
</param>
<param>
<key>--output_list</key>
<value>$;OUTPUT_DIRECTORY$;/all_bam_before_merging.list</value>
</param>
</command>
<command>
<type>RunUnixCommand</type>
<name>create bwa_aln_sorted_bam merge iterator list</name>
<state>incomplete</state>
<executable>python $;BIN_DIR$;/create_bwa_sorted_bam_merge_iterator_list.py</executable>
<param>
<key>--iterator-file</key>
<value>$;TMP_DIR$;/bwa_bam_iterator.list</value>
</param>
<param>
<key>--processed-file-list</key>
<value>$;OUTPUT_DIRECTORY$;/all_bam_before_merging.list</value>
</param>
<param>
<key>--concat-regexp</key>
<value>"$;CONCATENATE_REGEXP$;"</value>
</param>
<param>
<key>--database</key>
<value>"$;DATABASE$;"</value>
</param>
<param>
<key>--pe-regexp</key>
<value>"$;PAIREND_REGEXP$;"</value>
</param>
<param>
<key>--output-iterator-list</key>
<value>$;TMP_DIR$;/samtools_merge_iterator.list</value>
</param>
</command>
<!--Iterator-->
<INCLUDE file="$;DOCS_DIR$;/iterator_template.xml" keys="$;ITERATOR_NAME$;=ITERATOR2,$;ITERATOR_XML$;=ITERATOR2_XML,$;ITERATOR_LIST$;=$;TMP_DIR$;/samtools_merge_iterator.list"/>
<!--Post-Processing-->
<!-- Create output BAM list for the other componants -->
<command>
<type>RunUnixCommand</type>
<name>create output bam list</name>
<state>incomplete</state>
<executable>$;BIN_DIR$;/create_list_file</executable>
<param>
<key>--directory</key>
<value>$;OUTPUT_DIRECTORY$;/$;ITERATOR2$;/</value>
</param>
<param>
<key>--regex</key>
<value>".*\.bam"</value>
</param>
<param>
<key>--output_list</key>
<value>$;OUTPUT_BAM_LIST$;</value>
</param>
</command>
</commandSet>
</commandSetRoot>
[interface]
classification = file / conversion
[parameters]
;; samtools calmd options ; see manual for further informations.
$;OPTIONS$;=
;; database
$;REFERENCE$;=
[input]
$;INPUT_FILE_LIST$; =
$;INPUT_FILE$; =
$;INPUT_DIRECTORY$; =
;; the following is only used when iterating over an INPUT_DIRECTORY
$;INPUT_EXTENSION$; =
[output]
$;OUTPUT_TOKEN$; = default
$;OUTPUT_DIRECTORY$; = $;REPOSITORY_ROOT$;/output_repository/$;COMPONENT_NAME$;/$;PIPELINEID$;_$;OUTPUT_TOKEN$;
$;OUTPUT_BAM_LIST$; = $;OUTPUT_DIRECTORY$;/bam.list
[component]
$;COMPONENT_NAME$; = samtools_calmd
$;DESCRIPTION$; = Generate the MD tag. If the MD tag is already present, this command will give a warning if the MD tag generated is different from the existing tag. Output SAM by default.
$;WORKFLOW_REPOSITORY$; = $;REPOSITORY_ROOT$;/workflow/runtime/$;COMPONENT_NAME$;/$;PIPELINEID$;_$;OUTPUT_TOKEN$;
$;PIPELINE_TOKEN$; = unnamed
;The version,revision,tag here is set by an interpolated CVS tag
$;VERSION$; = $Name$
$;RELEASE_TAG$; = $Name$
$;REVISION$; = $Revision: 5503 $
$;TEMPLATE_XML$; = $;DOCS_DIR$;/$;COMPONENT_NAME$;.xml
$;ITERATOR1$; = i1
$;ITERATOR1_XML$; = $;DOCS_DIR$;/$;COMPONENT_NAME$;.$;ITERATOR1$;.xml
;Distributed options
$;GROUP_COUNT$; = 150
$;NODISTRIB$; = 0
;the following keys are replaced at runtime by the invocation script
$;COMPONENT_CONFIG$; =
$;COMPONENT_XML$; =
$;PIPELINE_XML$; =
$;PIPELINEID$; =
[include]
$;PROJECT_CONFIG$;=
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<commandSetRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation='commandSet.xsd'>
<commandSet type="serial">
<name>samtools calmd compute</name>
<command>
<type>RunUnixCommand</type>
<name>samtools calmd</name>
<state>incomplete</state>
<executable>$;SAMTOOLS_EXEC$;</executable>
<arg>calmd $;OPTIONS$; -b $;I_FILE_PATH$; $;REFERENCE$;</arg>
<param>
<key>stdout</key>
<value>$;OUTPUT_DIRECTORY$;/$;ITERATOR_NAME$;/g$;GROUP_NUMBER$;/$;I_FILE_BASE$;_md.bam</value>
</param>
<param>
<key>stderr</key>
<value>$;TMP_DIR$;/$;I_FILE_BASE$;.$;COMPONENT_NAME$;.stderr</value>
</param>
</command>
</commandSet>
</commandSetRoot>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<commandSetRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation='commandSet.xsd'>
<commandSet type="serial">
<state>incomplete</state>
<name>samtools calmd</name>
<command>
<type>RunUnixCommand</type>
<name>create output directory</name>
<state>incomplete</state>
<executable>mkdir</executable>
<arg>-p -m 777 $;OUTPUT_DIRECTORY$;</arg>
</command>
<command>
<type>RunUnixCommand</type>
<name>create temp directory</name>
<state>incomplete</state>
<executable>mkdir</executable>
<arg>-p -m 777 $;TMP_DIR$;</arg>
</command>
<!--Processing-->
<!--Iterator-->
<INCLUDE file="$;DOCS_DIR$;/file_iterator_template.xml" keys="$;ITERATOR_NAME$;=ITERATOR1,$;ITERATOR_XML$;=ITERATOR1_XML">
<!--Postprocessing-->
<command>
<type>RunUnixCommand</type>
<name>create bam list</name>
<state>incomplete</state>
<executable>$;BIN_DIR$;/create_list_file</executable>
<param>
<key>--directory</key>
<value>$;OUTPUT_DIRECTORY$;/$;ITERATOR1$;/</value>
</param>
<param>
<key>--regex</key>
<value>".*\.bam"</value>
</param>
<param>
<key>--output_list</key>
<value>$;OUTPUT_BAM_LIST$;</value>
</param>
</command>
</commandSet>
</commandSetRoot>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment