+#
+archaea.gg /project/db/galaxy/mothur/Silva.archaea/silva.archaea.gg.tax
+archaea.silva /project/db/galaxy/mothur/Silva.archaea/silva.archaea.silva.tax
+archaea.rdp /project/db/galaxy/mothur/Silva.archaea/silva.archaea.rdp.tax
+archaea.ncbi /project/db/galaxy/mothur/Silva.archaea/silva.archaea.ncbi.tax
+bacteria.gg /project/db/galaxy/mothur/silva.bacteria/silva.bacteria.gg.tax
+bacteria.silva /project/db/galaxy/mothur/silva.bacteria/silva.bacteria.silva.tax
+bacteria.ncbi /project/db/galaxy/mothur/silva.bacteria/silva.bacteria.ncbi.tax
+bacteria.rdp /project/db/galaxy/mothur/silva.bacteria/silva.bacteria.rdp.tax
+bacteria.rdp6 /project/db/galaxy/mothur/silva.bacteria/silva.bacteria.rdp6.tax
+eukarya.silva /project/db/galaxy/mothur/silva.eukarya.silva.tax
+eukarya.ncbi /project/db/galaxy/mothur/silva.eukarya.ncbi.tax
+
diff -r 000000000000 -r 591e72edabed mothur/tool-data/shared/jars/TreeVector.jar
Binary file mothur/tool-data/shared/jars/TreeVector.jar has changed
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/TreeVector.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/TreeVector.py Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,61 @@
+#!/usr/bin/env python
+
+"""
+Runs TreeVector on a newick file;
+TODO: more documentation
+"""
+
+import optparse, os, shutil, subprocess, sys, tempfile, re, string
+
+def stop_err( msg ):
+ sys.stderr.write( '%s\n' % msg )
+ sys.exit()
+
+def __main__():
+ #Parse Command Line
+ parser = optparse.OptionParser()
+ parser.add_option( '-i', '--input', dest='input', help='The sequence input file' )
+ parser.add_option( '-s', '--shape', dest='shape', help='Branch shape' )
+ parser.add_option( '-l', '--length', dest='length', help='Branch length' )
+ parser.add_option( '-g', '--svg', dest='svg', help='Graph in SVG format' )
+ parser.add_option( '-p', '--jarBin', dest='jarBin', default='', help='The path to where jars are stored' )
+ parser.add_option( '-j', '--jarFile', dest='jarFile', help='The file name of the jar file to use')
+ parser.add_option( '-x', '--jvmArgs', dest='jvmArgs', help='Java JVM arguments, e.g -Xmx250m')
+ (options, args) = parser.parse_args()
+ if options.jarBin == None:
+ stop_err("Misssing option --jarBin")
+ elif options.jarFile == None:
+ stop_err("Misssing option --jarFile")
+ elif options.input == None:
+ stop_err("Misssing option --input")
+ params = []
+ props = []
+ if options.jvmArgs != None:
+ props.append(options.jvmArgs)
+ if options.shape != None and options.shape != 'None':
+ params.append('-%s' % options.shape)
+ if options.length != None and options.length != 'None':
+ params.append('-%s' % options.length)
+ if options.svg != None and options.svg != 'None':
+ params.append('-out %s' % options.svg)
+ # make temp directory
+ buffsize = 1048576
+ tmp_dir = tempfile.mkdtemp()
+ # print("tmp_dir %s" % tmp_dir)
+ # generate commandline
+ cmd = 'java %s -jar %s %s %s' % (' '.join(props), os.path.join( options.jarBin, options.jarFile ), options.input, ' '.join(params))
+ # print >> sys.stderr, cmd
+ # need to nest try-except in try-finally to handle 2.4
+ try:
+ try:
+ proc = subprocess.Popen( args=cmd, shell=True, stderr=subprocess.PIPE )
+ returncode = proc.wait()
+ stderr = proc.stderr.read()
+ if returncode != 0:
+ raise Exception, stderr
+ except Exception, e:
+ raise Exception, 'Error executing TeeVector. ' + str( e )
+ except Exception, e:
+ stop_err( 'TreeVector failed.\n' + str( e ) )
+
+if __name__=="__main__": __main__()
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/TreeVector.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/TreeVector.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,42 @@
+
+ Draw a Phylogenic Tree
+ TreeVector.py
+ --jarBin='${GALAXY_DATA_INDEX_DIR}/shared/jars'
+ --jarFile='TreeVector.jar'
+ --jvmArgs='-Xmx250m'
+ --input=$tree
+ --svg=$output
+ --shape=$shape
+ --length=$length
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+TreeVector_ is a utility to create and integrate phylogenetic trees as Scalable Vector Graphics (SVG) files.
+
+TreeVector_ was written by Ralph_Pethica_, Department_of_Computer_Science_, University_of_Bristol_
+
+.. _TreeVector: http://supfam.cs.bris.ac.uk/TreeVector/about.html
+.. _Ralph_Pethica: http://www.cs.bris.ac.uk/home/pethica/
+.. _Department_of_Computer_Science: http://www.cs.bris.ac.uk/
+.. _University_of_Bristol: http://www.bris.ac.uk/
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/align.check.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/align.check.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,45 @@
+
+ Calculate the number of potentially misaligned bases
+
+ mothur_wrapper.py
+ --cmd='align.check'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.align\.check$:'$out_file
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --map=$map
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The align.check_ command allows you to calculate the number of potentially misaligned bases in a 16S rRNA gene sequence alignment.
+
+.. _align.check: http://www.mothur.org/wiki/Align.check
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/align.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/align.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,117 @@
+
+ Align sequences to a template alignment
+
+ mothur_wrapper.py
+ --cmd='align.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.align$:'$out_file,'^\S+\.align\.report$:'$report
+ --outputdir='$logfile.extra_files_path'
+ --candidate=$candidate
+ --template=$alignment.template
+ #if $search.method == 'kmer':
+ --ksize=$search.ksize
+ #else:
+ --search=$search.method
+ #end if
+ --align=$align
+ #if $scoring.adjust == 'yes':
+ --match=$scoring.match
+ --mismatch=$scoring.mismatch
+ --gapopen=$scoring.gapopen
+ --gapextend=$scoring.gapextend
+ #end if
+ #if $reverse.flip == 'yes':
+ --flip=true
+ --threshold=$reverse.threshold
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The align.seqs_ command aligns a user-supplied fasta-formatted candidate sequence file to a user-supplied fasta-formatted template alignment.
+
+.. _align.seqs: http://www.mothur.org/wiki/Align.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/bin.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/bin.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,55 @@
+
+ Order Sequences by OTU
+
+ mothur_wrapper.py
+ --cmd='bin.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.(unique|[0-9.]*)\.fasta$:fasta'
+ --fasta=$fasta
+ --READ_cmd='read.otu'
+ --READ_list=$otu
+ #if $name.__str__ != "None" and len($name.__str__) > 0:
+ --name=$name
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The bin.seqs_ command prints out a fasta-formatted file where sequences are ordered according to the OTU that they belong to. Such an output may be helpful for generating primers specific to an OTU or for classification of sequences.
+
+.. _bin.seqs: http://www.mothur.org/wiki/Bin.seqs
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/chimera.bellerophon.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/chimera.bellerophon.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,54 @@
+
+ Find putative chimeras using bellerophon
+
+ mothur_wrapper.py
+ --cmd='chimera.bellerophon'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.bellerophon\.chimeras$:'$out_file,'^\S+\.bellerophon\.accnos$:'$out_accnos
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ $filter
+ $correction
+ #if int($window.__str__) > 0:
+ --window=$window
+ #end if
+ #if int($increment.__str__) > 0:
+ --increment=$increment
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The chimera.bellerophon_ command identifies putative chimeras using the bellerophon approach.
+
+.. _chimera.bellerophon: http://www.mothur.org/wiki/Chimera.bellerophon
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/chimera.ccode.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/chimera.ccode.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,87 @@
+
+ Find putative chimeras using ccode
+
+ mothur_wrapper.py
+ --cmd='chimera.ccode'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.ccode\.chimeras$:'$out_file,'^\S+\.ccode\.accnos$:'$out_accnos
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --template=$alignment.template
+ $filter
+ #if $mask.source == 'default':
+ --mask=default
+ #elif $mask.source == 'history':
+ --mask=$mask.input
+ #end if
+ #if int($window.__str__) > 0:
+ --window=$window
+ #end if
+ #if int($numwanted.__str__) > 0:
+ --numwanted=$numwanted
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The chimera.ccode_ command identifies putative chimeras using the ccode approach.
+
+.. _chimera.ccode: http://www.mothur.org/wiki/Chimera.ccode
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/chimera.check.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/chimera.check.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,84 @@
+
+ Find putative chimeras using chimeraCheck
+
+ mothur_wrapper.py
+ --cmd='chimera.check'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.chimeracheck\.chimeras$:'$out_file
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --template=$alignment.template
+ #if int($ksize.__str__) > 0:
+ --ksize=$ksize
+ #end if
+ #if int($increment.__str__) > 0:
+ --increment=$increment
+ #end if
+ #if $svg.gen == 'yes':
+ --svg=true
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^(\S+)\.chimeracheck\.svg$:svg'
+ #if $name.__str__ != "None" and len($name.__str__) > 0:
+ --name='$name'
+ #end if
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The chimera.check_ command identifies putative chimeras using the chimeraCheck approach. Note: following the RDP model this method does not determine whether or not a sequence is chimeric, but allows you to determine that based on the IS values produced.
+
+.. _chimera.check: http://www.mothur.org/wiki/Chimera.check
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/chimera.pintail.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/chimera.pintail.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,145 @@
+
+ Find putative chimeras using pintail
+
+ mothur_wrapper.py
+ --cmd='chimera.pintail'
+ ## --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.pintail\.chimeras$:'$out_file,'^\S+\.pintail\.accnos$:'$out_accnos,'^\S+\.freq$:'$out_freq,'^\S+\.quan$:'$out_quantile
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ #set results = $results + ["'^\S+\.pintail\.chimeras$:'" + $out_file.__str__]
+ #set results = $results + ["'^\S+\.pintail\.accnos$:'" + $out_accnos.__str__]
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --template=$alignment.template
+ $filter
+ #if $mask.source == 'default':
+ --mask=default
+ #elif $mask.source == 'history':
+ --mask=$mask.input
+ #end if
+ #if $conservation.__str__ != "None" and len($conservation.__str__) > 0:
+ --conservation='$conservation'
+ #else
+ #set results = $results + ["'^\S+\.freq$:'" + $out_freq.__str__]
+ #end if
+ #if $quantile.__str__ != "None" and len($quantile.__str__) > 0:
+ --quantile='$quantile'
+ #else
+ #set results = $results + ["'^\S+\.quan$:'" + $out_quantile.__str__]
+ #end if
+ #if int($window.__str__) > 0:
+ --window=$window
+ #end if
+ #if int($increment.__str__) > 0:
+ --increment=$increment
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ conservation == None
+
+
+ quantile == None
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The chimera.pintail_ command identifies putative chimeras using the pintail approach.
+
+.. _chimera.pintail: http://www.mothur.org/wiki/Chimera.pintail
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/chimera.slayer.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/chimera.slayer.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,100 @@
+
+ Find putative chimeras using slayer
+
+ mothur_wrapper.py
+ --cmd='chimera.slayer'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.slayer\.chimeras$:'$out_file,'^\S+\.slayer\.accnos$:'$out_accnos
+ --outputdir='$logfile.extra_files_path'
+ --tmpdir='${logfile.extra_files_path}/input'
+ --fasta=$fasta
+ --template=$alignment.template
+ #if $options.setby == 'user':
+ --search=$options.search
+ --window=$options.window
+ --increment=$options.increment
+ --match=$options.match
+ --mismatch=$options.mismatch
+ --numwanted=$options.numwanted
+ --parents=$options.parents
+ --minsim=$options.minsim
+ --mincov=$options.mincov
+ --iters=$options.iters
+ --minbs=$options.minbs
+ --minsnp=$options.minsnp
+ --divergence=$options.divergence
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The chimera.slayer_ command identifies putative chimeras using the slayer approach.
+
+.. _chimera.slayer: http://www.mothur.org/wiki/Chimera.slayer
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/chop.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/chop.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,50 @@
+
+ Trim sequences to a specified length
+
+ mothur_wrapper.py
+ --cmd='chop.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+.chop\.fasta$:'$out_fasta
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --numbases=$numbases
+ --keep=$keep
+ $countgaps
+ $short
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The chop.seqs_ command reads a fasta file and outputs a .chop.fasta containing the trimmed sequences. It works on both aligned and unaligned sequences.
+
+.. _chop.seqs: http://www.mothur.org/wiki/Chop.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/classify.otu.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/classify.otu.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,73 @@
+
+ Assign sequences to taxonomy
+
+ mothur_wrapper.py
+ --cmd='classify.otu'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.(unique|[0-9.]*\.cons\.taxonomy)$:cons.taxonomy'
+ --list=$otu
+ --taxonomy=$tax.taxonomy
+ #if 100 >= int($cutoff.__str__) > 0:
+ --cutoff=$cutoff
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+ $probs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The classify.otu_ command assigns sequences to chosen taxonomy outline.
+
+.. _classify.otu: http://www.mothur.org/wiki/Classify.otu
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/classify.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/classify.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,138 @@
+
+ Assign sequences to taxonomy
+
+ mothur_wrapper.py
+ --cmd='classify.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.taxonomy$:'$taxonomy_out,'^\S+\.tax\.summary$:'$tax_summary
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --template=$alignment.template
+ --taxonomy=$tax.taxonomy
+ #if $classify.method == 'bayesian':
+ --method=$classify.method
+ #if 15 >= int($classify.ksize.__str__) >= 4:
+ --ksize=$classify.ksize
+ #end if
+ #if int($classify.iters.__str__) > 0:
+ --iters=$classify.iters
+ #end if
+ #if 100 >= int($classify.cutoff.__str__) > 0:
+ --cutoff=$classify.cutoff
+ #end if
+ $classify.probs
+ #elif $classify.method == 'knn':
+ --method=$classify.method
+ --numwanted=$classify.search.numwanted
+ #if $classify.search.algorithm == 'kmer':
+ --search=$classify.search.algorithm
+ --ksize=$classify.search.ksize
+ #elif $classify.search.algorithm == 'blast':
+ --search=$classify.search.algorithm
+ --match=$classify.search.match
+ --mismatch=$classify.search.mismatch
+ --gapopen=$classify.search.gapopen
+ --gapextend=$classify.search.gapextend
+ #elif $classify.knn.search == 'suffix':
+ --search=$classify.search.algorithm
+ #elif $classify.search.algorithm == 'distance':
+ --search=$classify.search.algorithm
+ #end if
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The classify.seqs_ command assigns sequences to chosen taxonomy outline.
+
+.. _classify.seqs: http://www.mothur.org/wiki/Classify.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/clearcut.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/clearcut.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,87 @@
+
+ Generate a tree using relaxed neighbor joining
+
+ mothur_wrapper.py
+ --cmd='clearcut'
+ #if $matrixout == True or $matrixout.__str__ == "true":
+ --matrixout='matrixout.dist'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.tre$:'$tree,'^matrixout\.dist$:'$matrix
+ #else
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.tre$:'$tree
+ #end if
+ --outputdir='$logfile.extra_files_path'
+ #if $input.source == 'dna':
+ --fasta=$input.fasta
+ --DNA=true
+ #elif $input.source == 'aa':
+ --fasta=$input.fasta
+ --protein=true
+ #elif $input.source == 'phylip':
+ --phylip=$input.dist
+ #end if
+ #if int($seed.__str__) >= 0:
+ --seed=$seed
+ #end if
+ #if int($ntrees.__str__) > 1:
+ --ntrees=$ntrees
+ #end if
+ $norandom
+ $shuffle
+ $neighbor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ matrixout == True
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The clearcut_ command runs clearcut
+
+.. _clearcut: http://www.mothur.org/wiki/Clearcut
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/cluster.classic.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/cluster.classic.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,97 @@
+
+ Assign sequences to OTUs (Dotur implementation)
+
+ mothur_wrapper.py
+ --cmd='cluster.classic'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.[fna]n\.sabund$:'$sabund,'^\S+\.[fna]n\.rabund$:'$rabund,'^\S+\.[fna]n\.list$:'$otulist
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.dist'
+ #if $matrix.format == "column":
+ --READ_column=$matrix.dist
+ --READ_name=$matrix.name
+ #elif $matrix.format == "phylip":
+ --READ_phylip=$matrix.dist
+ #if $matrix.name.__str__ != "None" and len($matrix.name.__str__) > 0:
+ --READ_name=$matrix.name
+ #end if
+ #end if
+ $sim
+ #if float($cutoff.__str__) > 0.0:
+ --READ_cutoff=$cutoff
+ #end if
+ $hard
+ #if len($precision.__str__) > 0:
+ --READ_precision=$precision
+ #end if
+ #if len($method.__str__) > 0:
+ --method=$method
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The cluster.classic_ command assign sequences to OTUs (Operational Taxonomy Unit).
+
+.. _cluster.classic: http://www.mothur.org/wiki/Cluster.classic
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/cluster.fragments.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/cluster.fragments.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,42 @@
+
+ Group sequences that are part of a larger sequence
+
+ mothur_wrapper.py
+ --cmd='cluster.fragments'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.fragclust\.\w+$:'$out_fasta,'^\S+\.names$:'$out_names
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --name=$names
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The cluster.fragments_ command groups sequences that are part of a larger sequence.
+
+.. _cluster.fragments: http://www.mothur.org/wiki/Cluster.fragments
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/cluster.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/cluster.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,97 @@
+
+ Assign sequences to OTUs (Operational Taxonomic Unit)
+
+ mothur_wrapper.py
+ --cmd='cluster'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.[fna]n\.sabund$:'$sabund,'^\S+\.[fna]n\.rabund$:'$rabund,'^\S+\.[fna]n\.list$:'$otulist
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.dist'
+ #if $matrix.format == "column":
+ --READ_column=$matrix.dist
+ --READ_name=$matrix.name
+ #elif $matrix.format == "phylip":
+ --READ_phylip=$matrix.dist
+ #if $matrix.name.__str__ != "None" and len($matrix.name.__str__) > 0:
+ --READ_name=$matrix.name
+ #end if
+ #end if
+ $sim
+ #if float($cutoff.__str__) > 0.0:
+ --READ_cutoff=$cutoff
+ #end if
+ $hard
+ #if len($precision.__str__) > 0:
+ --READ_precision=$precision
+ #end if
+ #if len($method.__str__) > 0:
+ --method=$method
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The cluster_ command assign sequences to OTUs (Operational Taxonomy Unit).
+
+.. _cluster: http://www.mothur.org/wiki/Cluster
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/collect.shared.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/collect.shared.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,112 @@
+
+ Generate collector's curves for calculators on OTUs
+
+ mothur_wrapper.py
+ --cmd='collect.shared'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.(anderberg|braycurtis|jabund|jclass|jest|kstest|kulczynski|kulczynskicody|lennon|morisitahorn|ochiai|shared\.ace|shared\.chao|shared\.nseqs|shared\.sobs|sorabund|sorclass|sorest|thetan|thetayc|whittaker)$:tabular'
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #end if
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc='$calc'
+ #end if
+ $all
+ #if float($freq.__str__) > 0:
+ --freq=$freq
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The collect.shared_ command generates collector's curves for calculators, which describe the similarity between communities or their shared richness. Collector's curves describe how richness or diversity change as you sample additional individuals. If a collector's curve becomes parallel to the x-axis, you can be reasonably confident that you have done a good job of sampling and can trust the last value in the curve.
+
+.. _collect.shared: http://www.mothur.org/wiki/Collect.shared
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/collect.single.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/collect.single.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,76 @@
+
+ Summary of calculator values for OTUs
+
+ mothur_wrapper.py
+ --cmd='collect.single'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+\.(\S+)$:tabular'
+ --READ_cmd='read.otu'
+ --READ_list=$otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc='$calc'
+ #end if
+ #if int($abund.__str__) > 0:
+ --abund=$abund
+ #end if
+ #if int($size.__str__) > 0:
+ --size=$size
+ #end if
+
+ #if float($freq.__str__) > 0:
+ --freq=$freq
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The collect.single_ command generates collector's curves using calculators, that describe the richness, diversity, and other features of individual samples. Collector's curves describe how richness or diversity change as you sample additional individuals. If a collector's curve becomes parallel to the x-axis, you can be reasonably confident that you have done a good job of sampling and can trust the last value in the curve. Otherwise, you need to keep sampling.
+
+.. _collect.single: http://www.mothur.org/wiki/Collect.single
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/consensus.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/consensus.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,73 @@
+
+ Find a consensus sequence for each OTU or phylotype
+
+ mothur_wrapper.py
+ --cmd='consensus.seqs'
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ #if $name.__str__ != "None" and len($name.__str__) > 0:
+ --name=$name
+ #end if
+ #if $otu.use == 'yes':
+ --list=$otu.list
+ #if $otu.label.__str__ != "None" and len($otu.label.__str__) > 0:
+ --label='$otu.label'
+ #end if
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.(((unique|[0-9.]*)\.)?cons\.fasta)$:fasta','^\S+?\.(((unique|[0-9.]*)\.)?cons\.names)$:names','^\S+?\.(((unique|[0-9.]*)\.)?cons\.summary)$:tabular'
+ #else
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.cons\.summary$:'$summary,'^\S+\.cons\.fasta$:'$cons_fasta
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ otu['use'] == 'no'
+
+
+ otu['use'] == 'no'
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The consensus.seqs_ command can be used in 2 ways: create a consensus sequence from a fastafile, or with a listfile create a consensus sequence for each otu. Sequences must be aligned.
+
+.. _consensus.seqs: http://www.mothur.org/wiki/Consensus.seqs
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/degap.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/degap.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,39 @@
+
+ Remove gap characters from sequences
+
+ mothur_wrapper.py
+ --cmd='degap.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+.ng\.\w+$:'$out_fasta
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The degap.seqs_ command reads a fasta file and outputs a fasta containing the sequences after all gap characters are removed.
+
+.. _degap.seqs: http://www.mothur.org/wiki/Degap.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/deunique.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/deunique.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,41 @@
+
+ Return all sequences
+
+ mothur_wrapper.py
+ --cmd='deunique.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.redundant\.fasta$:'$out_fasta
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --name=$names
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The deunique.seqs_ command is the reverse of the unique.seqs command, and creates a fasta file from a fasta and name file.
+
+.. _deunique.seqs: http://www.mothur.org/wiki/Deunique.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/dist.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/dist.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,72 @@
+
+ calculate uncorrected pairwise distances between aligned sequences
+
+ mothur_wrapper.py
+ --cmd='dist.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.dist$:'$out_dist
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ #if len($calc.__str__) > 0:
+ --calc=$calc
+ #end if
+ $countends
+ #if float($cutoff.__str__) > 0.0:
+ --cutoff=$cutoff
+ #end if
+ #if len($output.__str__) > 0:
+ --output=$output
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The dist.seqs_ command will calculate uncorrected pairwise distances between aligned sequences.
+
+.. _dist.seqs: http://www.mothur.org/wiki/Dist.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/dist.shared.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/dist.shared.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,121 @@
+
+ Generate a phylip-formatted dissimilarity distance matrix among multiple groups
+
+ mothur_wrapper.py
+ --cmd='dist.shared'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ #if len($output.__str__) > 0:
+ #if $output.__str__ == 'square':
+ --new_datasets='^\S+?\.([a-z]+\.(unique|[0-9.]*)\.(square|lt))\.dist$:square.dist'
+ #elif $output.__str__ == 'lt':
+ --new_datasets='^\S+?\.([a-z]+\.(unique|[0-9.]*)\.(square|lt))\.dist$:lower.dist'
+ #end if
+ #else:
+ --new_datasets='^\S+?\.([a-z]+\.(unique|[0-9.]*)\.(square|lt))\.dist$:lower.dist'
+ #end if
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #end if
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc=$calc
+ #end if
+ #if $output.__str__ != "None" and len($output.__str__) > 0:
+ --output=$output
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The dist.shared_ command will generate a phylip-formatted distance matrix that describes the dissimilarity (1-similarity) among multiple groups.
+
+.. _dist.shared: http://www.mothur.org/wiki/Dist.shared
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/fastq.info.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/fastq.info.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,40 @@
+
+ Convert fastq to fasta and quality
+
+ mothur_wrapper.py
+ --cmd='fastq.info'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.fasta$:'$out_fasta,'^\S+\.qual$:'$out_qfile
+ --outputdir='$logfile.extra_files_path'
+ --fastq=$fastq
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The fastq.info_ command reads a fastq file and creates a fasta and quality file.
+
+
+.. _fastq.info: http://www.mothur.org/wiki/Fastq.info
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/filter.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/filter.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,80 @@
+
+ removes columns from alignments
+
+ mothur_wrapper.py
+ #import re, os.path
+ --cmd='filter.seqs'
+ ## #set fasta_result = "'" + "^\S+\.filter.fasta$:'" + $out_fasta.__str__
+ #set fasta_result = "'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.filter.fasta$',$os.path.basename($fasta.__str__)) + ":'" + $out_fasta.__str__
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.filter$:'$out_filter,$fasta_result
+ --outputdir='$logfile.extra_files_path'
+ ## filter.seqs creates a temp file, this can fail if the path contains dashes (common on MacOSX temp files)
+ ## so specify an tmpdir for the working dir, and the wrapper will symlink inputs into that dir
+ --tmpdir='${logfile.extra_files_path}/input'
+ --fasta=$fasta#for i in $inputs#,${i.fasta}#end for#
+ #if $inputs != None and len($inputs) > 0:
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ #set datasets = []
+ #for i in $inputs:
+ #set datasets = $datasets + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'^\1.filter.fasta$',$os.path.basename($i.fasta.__str__)) + ":align'"]
+ #end for
+ --new_datasets=#echo ','.join($datasets)
+ #end if
+ $vertical
+ #if $trump.__str__ != None and len($trump.__str__) > 0:
+ --trump=$trump
+ #end if
+ #if 100 >= $soft >= 0:
+ --soft='$soft'
+ #end if
+ #if $hard.__str__ != "None" and len($hard.__str__) > 0:
+ --hard=$hard
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The filter.seqs_ command removes columns from alignments based on a criteria defined by the user. For example, alignments generated against reference alignments (e.g. from RDP, SILVA, or greengenes) often have columns where every character is either a '.' or a '-'. These columns are not included in calculating distances because they have no information in them. By removing these columns, the calculation of a large number of distances is accelerated. Also, people also like to mask their sequences to remove variable regions using a soft or hard mask (e.g. Lane's mask). This type of masking is only encouraged for deep-level phylogenetic analysis, not fine level analysis such as that needed with calculating OTUs.
+
+.. _filter.seqs: http://www.mothur.org/wiki/Filter.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/get.groups.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/get.groups.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,90 @@
+
+ Select groups
+
+ mothur_wrapper.py
+ #import re, os.path
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ ## adds .pick before the last extension to the input file
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
+ --cmd='get.groups'
+ --outputdir='$logfile.extra_files_path'
+ --group=$group_in
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups=$groups
+ #end if
+ #if $accnos.__str__ != "None" and len($accnos.__str__) > 0:
+ --accnos=$accnos
+ #end if
+ #if $fasta_in.__str__ != "None" and len($fasta_in.__str__) > 0:
+ --fasta=$fasta_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($fasta_in.__str__)) + ":'" + $fasta_out.__str__]
+ #end if
+ #if $name_in.__str__ != "None" and len($name_in.__str__) > 0:
+ --name=$name_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($name_in.__str__)) + ":'" + $name_out.__str__]
+ #end if
+ #if $list_in.__str__ != "None" and len($list_in.__str__) > 0:
+ --list=$list_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($list_in.__str__)) + ":'" + $list_out.__str__]
+ #end if
+ #if $taxonomy_in.__str__ != "None" and len($taxonomy_in.__str__) > 0:
+ --taxonomy=$taxonomy_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($taxonomy_in.__str__)) + ":'" + $taxonomy_out.__str__]
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fasta_in != None
+
+
+ name_in != None
+
+
+ list_in != None
+
+
+ taxonomy_in != None
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The get.groups_ command selects sequences from a specific group or set of groups from the following file types: fasta, name, group, list, taxonomy.
+
+.. _get.groups: http://www.mothur.org/wiki/Get.groups
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/get.lineage.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/get.lineage.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,95 @@
+
+ Picks by taxon
+
+ mothur_wrapper.py
+ #import re, os.path
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ ## adds .pick before the last extension to the input file
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($taxonomy.__str__)) + ":'" + $taxonomy_out.__str__]
+ --cmd='get.lineage'
+ --outputdir='$logfile.extra_files_path'
+ --taxonomy=$taxonomy
+ --taxon="'$re.sub('\(\d+\)','',$taxon.value.__str__)'"
+ #if $fasta_in.__str__ != "None" and len($fasta_in.__str__) > 0:
+ --fasta=$fasta_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($fasta_in.__str__)) + ":'" + $fasta_out.__str__]
+ #end if
+ #if $group_in.__str__ != "None" and len($group_in.__str__) > 0:
+ --group=$group_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
+ #end if
+ #if $alignreport_in.__str__ != "None" and len($alignreport_in.__str__) > 0:
+ --alignreport=$alignreport_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($alignreport_in.__str__)) + ":'" + $alignreport_out.__str__]
+ #end if
+ #if $list_in.__str__ != "None" and len($list_in.__str__) > 0:
+ --list=$list_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($list_in.__str__)) + ":'" + $list_out.__str__]
+ #end if
+ #if $name_in.__str__ != "None" and len($name_in.__str__) > 0:
+ --name=$name_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($name_in.__str__)) + ":'" + $name_out.__str__]
+ $dups
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fasta_in != None
+
+
+ group_in != None
+
+
+ list_in != None
+
+
+ name_in != None
+
+
+ alignreport_in != None
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The get.lineage_ command reads a taxonomy file and a taxon and generates a new file that contains only the sequences in the that are from that taxon. You may also include either a fasta, name, group, list, or align.report file to this command and mothur will generate new files for each of those containing only the selected sequences.
+
+.. _get.lineage: http://www.mothur.org/wiki/Get.lineage
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/get.oturep.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/get.oturep.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,97 @@
+
+ Generate a fasta with a representative sequence for each OTU
+
+ mothur_wrapper.py
+ --cmd='get.oturep'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.((unique|[0-9.]*)(\S+)\.rep\.fasta)$:fasta','^\S+?\.((unique|[0-9.]*)(\S+)\.rep\.names)$:names'
+ --fasta=$fasta
+ --list=$otu_list
+ #if $input.source == 'column':
+ --column=$input.dist
+ --name=$input.name
+ #elif $input.source == 'phylip':
+ --phylip=$input.dist
+ #if $input.name.__str__ != "None" and len($input.name.__str__) > 0:
+ --name=$input.name
+ #end if
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups=$groups
+ #end if
+ #if $sorted.__str__ != "None" and len($sorted.__str__) > 0:
+ --sorted=$sorted
+ #end if
+ $large
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The get.oturep_ command generates a fasta-formatted sequence file containing only a representative sequence for each OTU. The opposite of the bin.seqs command.
+
+.. _get.oturep: http://www.mothur.org/wiki/Get.oturep
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/get.otus.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/get.otus.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,68 @@
+
+ Get otus containing sequences from specified groups
+
+ mothur_wrapper.py
+ ## output {group_file_name}.pick.{label}.groups {list_file_name}.pick.{label}.list
+ #import re, os.path
+ --cmd='get.otus'
+ --outputdir='$logfile.extra_files_path'
+ --group=$group_in
+ --list=$list_in
+ --label=$label
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups=$groups
+ #end if
+ #if $accnos.__str__ != "None" and len($accnos.__str__) > 0:
+ --accnos=$accnos
+ #end if
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.' + $label.__str__ + '.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.'+ $label.__str__ + '.\2',$os.path.basename($list_in.__str__)) + ":'" + $list_out.__str__]
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The get.otus_ command selects otus containing sequences from a specific group or set of groups.
+
+.. _get.otus: http://www.mothur.org/wiki/Get.otus
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/get.relabund.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/get.relabund.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,100 @@
+
+ Calculate the relative abundance of each otu
+
+ mothur_wrapper.py
+ --cmd='get.relabund'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.relabund$:'$relabund
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #end if
+ #if $scale.__str__ != "None" and len($scale.__str__) > 0:
+ --scale=$scale
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The get.relabund_ command calculates the relative abundance of each otu in a sample. It outputs a .relabund file.
+
+.. _get.relabund: http://www.mothur.org/wiki/Get.relabund
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/get.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/get.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,101 @@
+
+ Picks sequences by name
+
+ mothur_wrapper.py
+ #import re, os.path
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ ## adds .pick before the last extension to the input file (except align.report)
+ --cmd='get.seqs'
+ --outputdir='$logfile.extra_files_path'
+ --accnos=$accnos
+ #if $fasta_in.__str__ != "None" and len($fasta_in.__str__) > 0:
+ --fasta=$fasta_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($fasta_in.__str__)) + ":'" + $fasta_out.__str__]
+ #end if
+ #if $qfile_in.__str__ != "None" and len($qfile_in.__str__) > 0:
+ --qfile=$qfile_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($qfile_in.__str__)) + ":'" + $qfile_out.__str__]
+ #end if
+ #if $name_in.__str__ != "None" and len($name_in.__str__) > 0:
+ --name=$name_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($name_in.__str__)) + ":'" + $name_out.__str__]
+ $dups
+ #end if
+ #if $group_in.__str__ != "None" and len($group_in.__str__) > 0:
+ --group=$group_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
+ #end if
+ #if $alignreport_in.__str__ != "None" and len($alignreport_in.__str__) > 0:
+ --alignreport=$alignreport_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.pick.align.report',$os.path.basename($alignreport_in.__str__)) + ":'" + $alignreport_out.__str__]
+ #end if
+ #if $list_in.__str__ != "None" and len($list_in.__str__) > 0:
+ --list=$list_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($list_in.__str__)) + ":'" + $list_out.__str__]
+ #end if
+ #if $taxonomy_in.__str__ != "None" and len($taxonomy_in.__str__) > 0:
+ --taxonomy=$taxonomy_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($taxonomy_in.__str__)) + ":'" + $taxonomy_out.__str__]
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fasta_in != None
+
+
+
+ qfile_in != None
+
+
+ name_in != None
+
+
+ group_in != None
+
+
+ alignreport_in != None
+
+
+ list_in != None
+
+
+ taxonomy_in != None
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The get.seqs_ command takes a list of sequence names and either a fasta, name, group, list, or align.report file to generate a new file that contains only the sequences in the list. This command may be used in conjunction with the list.seqs command to help screen a sequence collection.
+
+.. _get.seqs: http://www.mothur.org/wiki/Get.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/hcluster.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/hcluster.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,100 @@
+
+ Assign sequences to OTUs (Operational Taxonomic Unit)
+
+ mothur_wrapper.py
+ --cmd='hcluster'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.[fna]n\.sabund$:'$sabund,'^\S+\.[fna]n\.rabund$:'$rabund,'^\S+\.[fna]n\.list$:'$otulist
+ --outputdir='$logfile.extra_files_path'
+ #if $matrix.format == "column":
+ --column=$matrix.dist
+ --name=$matrix.name
+ #elif $matrix.format == "phylip":
+ --phylip=$matrix.dist
+ #if $matrix.name.__str__ != "None" and len($matrix.name.__str__) > 0:
+ --name=$matrix.name
+ #end if
+ #end if
+ #if len($method.__str__) > 0:
+ --method=$method
+ #end if
+ #if float($cutoff.__str__) > 0.0:
+ --READ_cutoff=$cutoff
+ #end if
+ #if len($precision.__str__) > 0:
+ --READ_precision=$precision
+ #end if
+ $hard
+ $sorted
+ $showabund
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The cluster_ command assign sequences to OTUs (Operational Taxonomy Unit).
+
+.. _cluster: http://www.mothur.org/wiki/Cluster
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/heatmap.bin.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/heatmap.bin.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,121 @@
+
+ Generate a heatmap for OTUs
+
+ mothur_wrapper.py
+ --cmd='heatmap.bin'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.((\S+)\.(unique|[0-9.]*)\.heatmap\.bin\.svg)$:svg'
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_relabund=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+ #if $scale.__str__ != "None" and len($scale.__str__) > 0:
+ --scale='$scale'
+ #end if
+ #if $sorted.__str__ != "None" and len($sorted.__str__) > 0:
+ --sorted='$sorted'
+ #end if
+ #if $numotu > 0:
+ --numotu=$numotu
+ #end if
+ #if 100 > $fontsize > 0:
+ --fontsize=$fontsize
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The heatmap.bin_ command generates a heat map from data provided in either a .list or a .shared file.
+
+.. _heatmap.bin: http://www.mothur.org/wiki/Heatmap.bin
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/heatmap.sim.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/heatmap.sim.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,131 @@
+
+ Generate a heatmap for pariwise similarity
+
+ mothur_wrapper.py
+ --cmd='heatmap.sim'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.((unique|[0-9.]*)(\S+)\.heatmap\.sim\.svg)$:svg'
+ #if $input.source == 'similarity':
+ --READ_cmd='read.otu'
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --label='$input.label'
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+ #if $input.calc.__str__ != "None" and len($input.calc.__str__) > 0:
+ --calc='$input.calc'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_cmd='read.otu'
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --label='$input.label'
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+ #if $input.calc.__str__ != "None" and len($input.calc.__str__) > 0:
+ --calc='$input.calc'
+ #end if
+ #elif $input.source == 'column':
+ --column=$input.dist
+ --name=$input.name
+ #elif $input.source == 'phylip':
+ --phylip=$input.dist
+ #if $input.name.__str__ != "None" and len($input.name.__str__) > 0:
+ --name=$input.name
+ #end if
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The heatmap.sim_ command generates a heat map from data provided in either a .list or a .shared file.
+
+.. _heatmap.sim: http://www.mothur.org/wiki/Heatmap.sim
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/indicator.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/indicator.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,68 @@
+
+ Identify indicator "species" for nodes on a tree
+
+ mothur_wrapper.py
+ ## output {group_file_name}.pick.{label}.groups {list_file_name}.pick.{label}.list
+ #import re, os.path
+ --cmd='indicator'
+ --outputdir='$logfile.extra_files_path'
+ --tree=$tree
+ #if isinstance($otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('shared').__class__):
+ --shared=$otu
+ #elif isinstance($otu.datatype, $__app__.datatypes_registry.get_datatype_by_extension('relabund').__class__):
+ --relabund=$otu
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label=$label
+ #end if
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups=$groups
+ #end if
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.indicator.tre$:'$tree_out,'^\S+\.indicator.summary$:'$summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The indicator_ command reads a shared or relabund file and a tree file, and outputs a .indicator.tre and .indicator.summary file. The new tree contains labels at each internal node. The label is the node number so you can relate the tree to the summary file. The summary file lists the indicator value for each OTU for each node.
+
+.. _indicator: http://www.mothur.org/wiki/Indicator
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/libshuff.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/libshuff.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,85 @@
+
+ Cramer-von Mises tests communities for the same structure
+
+ mothur_wrapper.py
+ --cmd='libshuff'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.libshuff\.summary$:'$summary,'^\S+\.libshuff\.coverage$:'$coverage
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.dist'
+ #if $matrix.format == "column":
+ --READ_column=$matrix.dist
+ --READ_name=$matrix.name
+ #elif $matrix.format == "phylip":
+ --READ_phylip=$matrix.dist
+ #end if
+ --READ_group=$group
+ #if len($iters.__str__) > 0:
+ --iters=$iters
+ #end if
+ #if $form == "discrete":
+ #if 1.0 >= float($form.step.__str__) > 0.0:
+ --step=$form.step
+ #end if
+ #if 1.0 >= float($cutoff.__str__) > 0.0:
+ --cutoff=$form.cutoff
+ #end if
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The libshuff_ method is a generic test that describes whether two or more communities have the same structure using the Cramer-von Mises test statistic. The significance of the test statistic indicates the probability that the communities have the same structure by chance. Because each pairwise comparison requires two significance tests, a correction for multiple comparisons (e.g. Bonferroni's correction) must be applied.
+
+.. _libshuff: http://www.mothur.org/wiki/Libshuff
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/list.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/list.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,79 @@
+
+ Lists the names of the sequences
+
+ mothur_wrapper.py
+ --cmd='list.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.accnos$:'$out_file
+ --outputdir='$logfile.extra_files_path'
+ #if $search.type == "fasta":
+ --fasta=$search.input
+ #elif $search.type == "name":
+ --name=$search.input
+ #else if search.type == "group":
+ --group=$search.input
+ #elif $search.type == "alignreport":
+ --alignreport=$search.input
+ #elif $search.type == "list":
+ --list=$search.input
+ #elif $search.type == "taxonomy":
+ --taxonomy=$search.input
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The list.seqs_ command writes out the names of the sequences found within a fasta, name, group, list, or align.report file.
+
+.. _list.seqs: http://www.mothur.org/wiki/list.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/make.group.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/make.group.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,45 @@
+
+ Make a group file
+
+ mothur_wrapper.py
+ --cmd='make.group'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.group:'$output
+ --outputdir='$logfile.extra_files_path'
+ --fasta=${fasta}#for i in $inputs#,${i.fasta}#end for#
+ --groups=${group}#for i in $inputs#,${i.group}#end for#
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The make.group_ command reads a fasta file or series of fasta files and creates a group file.
+
+.. _make.group: http://www.mothur.org/wiki/Make.group
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/merge.files.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/merge.files.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,43 @@
+
+ Merge data
+
+ mothur_wrapper.py
+ --cmd='merge.files'
+ --result='^mothur.\S+\.logfile$:'$logfile,'mergefile:'$output
+ --outputdir='$logfile.extra_files_path'
+ --input=${input}#for i in $inputs#,${i.input}#end for#
+ --output='mergefile'
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The merge.files_ command merge inputs into a single output.
+
+.. _merge.files: http://www.mothur.org/wiki/Merge.files
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/mothur_wrapper.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/mothur_wrapper.py Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,609 @@
+#!/usr/bin/env python
+
+"""
+http://www.mothur.org/
+
+Supports mothur version
+mothur v.1.15.0
+
+Class encapsulating Mothur galaxy tool.
+Expect each invocation to include:
+Here is an example call to this script with an explanation before each param :
+ mothur_wrapper.py
+ # name of a mothur command, this is required
+ --cmd='summary.shared'
+ # Galaxy output dataset list, these are output files that can be determined before the command is run
+ # The items in the list are separated by commas
+ # Each item contains a regex to match the output filename and a galaxy dataset filepath in which to copy the data (separated by :)
+ --result='^mothur.\S+\.logfile$:'/home/galaxy/data/database/files/002/dataset_2613.dat,'^\S+\.summary$:'/home/galaxy/data/database/files/002/dataset_2614.dat
+ # Galaxy output dataset extra_files_path direcotry in which to put all output files
+ --outputdir='/home/galaxy/data/database/files/002/dataset_2613_files'
+ # The id of one of the galaxy outputs (e.g. the mothur logfile) used for dynamic dataset generation
+ # http://bitbucket.org/galaxy/galaxy-central/wiki/ToolsMultipleOutput
+ --datasetid='2578'
+ # The galaxy directory in which to copy all output files for dynamic dataset generation
+ --new_file_path='/home/galaxy/data/database/tmp'
+ # specifies files to copy to the new_file_path
+ # The list is separated by commas
+ # Each item conatins: a regex pattern for matching filenames and a galaxy datatype (separated by :)
+ # The regex match.groups()[0] is used as the id name of the dataset, and must result in unique name for each output
+ --new_datasets='^\S+?\.((\S+)\.(unique|[0-9.]*)\.dist)$:lower.dist'
+ # Many mothur commands first require data to be read into memory using: read.otu, read.dist, or read.tree
+ # This prequisite command and its params are prefixed with 'READ_'
+ --READ_cmd='read.otu'
+ --READ_list=/home/galaxy/data/database/files/001/dataset_1557.dat
+ --READ_group='/home/galaxy/data/database/files/001/dataset_1545.dat'
+ --READ_label='unique,0.07'
+"""
+# import pkg_resources;
+import logging, os, string, sys, tempfile, glob, shutil, types, urllib, optparse, re
+import shlex, subprocess
+from stat import *
+
+log = logging.getLogger( __name__ )
+
+assert sys.version_info[:2] >= ( 2, 4 )
+
+debug = False
+#debug = True
+
+def stop_err( msg ):
+ sys.stderr.write( "%s\n" % msg )
+ sys.exit()
+
+def __main__():
+ # tranform the logfile into html
+ def logfile_to_html(logfile_path,htmlfile_path,tmp_input_dir_name,tmp_output_dir_name,title="Mothur Logfile"):
+ if debug: print >> sys.stdout, 'logfile_to_html %s -> %s' % (logfile_path, htmlfile_path)
+ if debug: print >> sys.stdout, 'logfile_to_html input_dir: %s' % tmp_input_dir_name
+ if debug: print >> sys.stdout, 'logfile_to_html output_dir: %s' % tmp_output_dir_name
+ txt = open(logfile_path,'r')
+ in_pat = re.sub('[^a-zA-Z0-9_/]','.',tmp_input_dir_name) + '/(.+)'
+ out_pat = re.sub('[^a-zA-Z0-9_/]','.',tmp_output_dir_name) + '/(.+)'
+ html = open(htmlfile_path,'w')
+ html.write("%s\n\n\n" % title)
+ try:
+ for line in txt:
+ if line.find('set.dir') >= 0:
+ continue
+ elif line.find('put directory to ') >= 0:
+ continue
+ elif line.startswith('Type ') :
+ continue
+ elif line.find(tmp_output_dir_name) >= 0:
+ line = re.sub(out_pat,'\\1',line)
+ elif line.find(tmp_input_dir_name) >= 0:
+ line = re.sub(in_pat,'\\1',line)
+ html.write(line)
+ except Exception, e:
+ print(str(e))
+ pass
+ html.write('
\n\n\n')
+ html.close()
+ #Strip out "(xx)" confidence values from a taxonomy list
+ def remove_confidence_callback(option, opt, value, parser):
+ # val = "'" + re.sub('\(\d+\)','',value) + "'"
+ setattr(parser.values, option.dest, re.sub('\(\d+\)','',value))
+ #Mothur separates items in a list of values with hyphens
+ def multi_val_callback(option, opt, value, parser):
+ setattr(parser.values, option.dest, '-'.join(value.split(',')))
+ #Handle list arguments that may contain dataset files
+ def prepare_input(value,input_dir):
+ """
+ Mothur requires items in a list of input values to be separated by hyphens
+ Change list separator from comma to hyphen
+ If those items are files, copy them to the input dir.
+ """
+ if input_dir != None and value != None and isinstance(value, str):
+ vals = []
+ for val in value.split(','):
+ if val[0] == '/' and os.path.isfile(val):
+ (dir,fname) = os.path.split(val)
+ try:
+ os.symlink(val,os.path.join(input_dir,fname))
+ except:
+ shutil.copy(val,os.path.join(input_dir,fname))
+ vals.append(fname)
+ if debug: print >> sys.stderr, "scp %s %s" % (val, os.path.join(input_dir,fname))
+ else:
+ vals.append(val)
+ return '-'.join(vals)
+ return value
+ #Parse Command Line and get a list of params
+ # Prefix is used to differentiate between prerequisite commands: read.otu, read.dist, read.tree
+ def get_params(cmd, options, input_dir, prefix=''):
+ if debug: print >> sys.stderr, options
+ params = []
+ for opt in cmd_dict[cmd]['required']:
+ if debug: print >> sys.stderr, opt
+ if isinstance(opt,list): # One of these must be present
+ missing = True
+ for sel in opt:
+ # if debug: print >> sys.stderr, sel
+ try:
+ value = prepare_input(getattr(options,prefix+sel), input_dir)
+ if value != None:
+ params.append('%s=%s' % (sel,value))
+ missing = False
+ except Exception, e:
+ stop_err('Illegal option for cmd %s : %s %s' % (cmd,sel,e))
+ if missing:
+ stop_err('Missing a required parameter for %s, need one of %s' % (cmd,opt))
+ else: # This option is required
+ try:
+ value = prepare_input(getattr(options,prefix+opt), input_dir)
+ # if debug: print >> sys.stderr, value
+ if value != None:
+ params.append('%s=%s' % (opt,value))
+ else:
+ stop_err('Missing a required parameter for %s : %s' % (cmd,opt))
+ except Exception, e:
+ stop_err('Illegal option %s %s' % (opt,e))
+ if 'optional' in cmd_dict[cmd]:
+ for opt in cmd_dict[cmd]['optional']:
+ # if debug: print >> sys.stderr, opt
+ try:
+ value = prepare_input(getattr(options,prefix+opt), input_dir)
+ # if debug: print >> sys.stderr, value
+ if value != None:
+ params.append('%s=%s' % (opt,value))
+ except Exception, e:
+ # should distinguish between READ_ opts and cmd opts
+ # stop_err('Illegal option for %s : %s' % (cmd,opt))
+ pass
+ return params
+ """
+ The command dict has a dict for each mothur command with required and options arguments
+ The top level list of required arguments is interpreted that each value item is required and any list item represents a choice of arguments
+ This covers many, but not all of the argument dependency requirements.
+ For example - read.dist required a phylip or (column and name) argument.
+ The complexity of inputs should be handled by the glaxy tool xml file.
+ """
+ cmd_dict = dict()
+ cmd_dict['merge.files'] = dict({'required' : ['input','output']})
+ cmd_dict['make.group'] = dict({'required' : ['fasta','groups'], 'optional' : ['output']})
+ cmd_dict['summary.seqs'] = dict({'required' : ['fasta'],
+ 'outputs' : ['.names']})
+ cmd_dict['reverse.seqs'] = dict({'required' : ['fasta']})
+ cmd_dict['degap.seqs'] = dict({'required' : ['fasta']})
+ cmd_dict['unique.seqs'] = dict({'required' : ['fasta'], 'optional' : ['names']})
+ cmd_dict['deunique.seqs'] = dict({'required' : ['fasta','names'], 'optional' : []})
+ cmd_dict['chop.seqs'] = dict({'required' : ['fasta','numbases'], 'optional' : ['keep','short']})
+ cmd_dict['filter.seqs'] = dict({'required' : ['fasta'], 'optional' : ['vertical','trump','soft','hard']})
+ cmd_dict['screen.seqs'] = dict({'required' : ['fasta'], 'optional' : ['start','end','maxambig','maxhomop','minlength','maxlength','criteria','optimize','name','group','alignreport']})
+ cmd_dict['trim.seqs'] = dict({'required' : ['fasta'], 'optional' : ['group','oligos','qfile','qaverage','qthreshold','qtrim','flip','maxambig','maxhomop','minlength','maxlength','bdiffs','pdiffs','tdiffs','allfiles']})
+ cmd_dict['list.seqs'] = dict({'required' : [['fasta','name','group','list','alignreport','taxonomy']]})
+ cmd_dict['get.seqs'] = dict({'required' : ['accnos',['fasta','qfile','name','group','list','alignreport','taxonomy']], 'optional' : ['dups']})
+ cmd_dict['remove.seqs'] = dict({'required' : ['accnos',['fasta','qfile','name','group','list','alignreport','taxonomy']], 'optional' : ['dups']})
+ cmd_dict['align.seqs'] = dict({'required' : ['candidate','template'], 'optional' : ['search','ksize','align','match','mismatch','gapopen','gapextend','flip','threshold']})
+ cmd_dict['align.check'] = dict({'required' : ['fasta','map']})
+ cmd_dict['pre.cluster'] = dict({'required' : ['fasta'], 'optional' : ['names','diffs']})
+ cmd_dict['bin.seqs'] = dict({'required' : ['fasta'], 'optional' : ['name','label','group']})
+ cmd_dict['classify.seqs'] = dict({'required' : ['fasta','template','taxonomy'],'optional' : ['name','search','ksize','method','match','mismatch','gapopen','gapextend','numwanted','probs']})
+ cmd_dict['classify.otu'] = dict({'required' : ['list','taxonomy'],'optional' : ['name','cutoff','label','probs']})
+ # label=0.01-0.02-0.03 from 0.01,0.02,0.03 string.replace(options.label,',','-')
+ cmd_dict['chimera.bellerophon'] = dict({'required' : ['fasta'], 'optional' : ['filter','correction','window','increment']})
+ cmd_dict['chimera.ccode'] = dict({'required' : ['fasta','template'], 'optional' : ['filter','mask','window','numwanted']})
+ cmd_dict['chimera.check'] = dict({'required' : ['fasta','template'], 'optional' : ['ksize','svg','name','increment']})
+ cmd_dict['chimera.pintail'] = dict({'required' : ['fasta','template'], 'optional' : ['conservation','quantile','filter','mask','window','increment']})
+ cmd_dict['chimera.slayer'] = dict({'required' : ['fasta','template'], 'optional' : ['search','window','increment','match','mismatch','numwanted','parents','minsim','mincov','iters','minbs','minsnp','divergence','realign']})
+ cmd_dict['dist.seqs'] = dict({'required' : ['fasta'], 'optional' : ['calc','countends','output','cutoff']})
+ cmd_dict['pairwise.seqs'] = dict({'required' : ['fasta'], 'optional' : ['align','calc','countends','output','cutoff','match','mismatch','gapopen','gapextend']})
+ cmd_dict['read.dist'] = dict({'required' : [['phylip','column']], 'optional' : ['name','cutoff','hard','precision','sim','group']})
+ cmd_dict['read.otu'] = dict({'required' : [['rabund','sabund','list','shared','relabund']], 'optional' : ['label','group','groups','ordergroup']})
+ cmd_dict['read.tree'] = dict({'required' : ['tree'], 'optional' : ['name','group']})
+ cmd_dict['cluster'] = dict({'required' : [] , 'optional' : ['method','cutoff','hard','precision']})
+ cmd_dict['hcluster'] = dict({'required' : [['column','phylip']] , 'optional' : ['name','method','cutoff','hard','precision','sorted','showabund']})
+ cmd_dict['cluster.fragments'] = dict({'required' : ['fasta'] , 'optional' : ['name']})
+ cmd_dict['summary.single'] = dict({'required' : [], 'optional' : ['calc','abund','size','label','groupmode']})
+ cmd_dict['summary.shared'] = dict({'required' : [], 'optional' : ['calc','label','groups','all','distance']})
+ cmd_dict['collect.single'] = dict({'required' : [], 'optional' : ['calc','abund','size','label','freq']})
+ cmd_dict['collect.shared'] = dict({'required' : [], 'optional' : ['calc','label','freq','groups','all']})
+ cmd_dict['rarefaction.single'] = dict({'required' : [], 'optional' : ['calc','abund','iters','label','freq']})
+ cmd_dict['rarefaction.shared'] = dict({'required' : [], 'optional' : ['label','iters','groups','jumble']})
+ cmd_dict['normalize.shared'] = dict({'required' : [], 'optional' : ['label','method','norm','groups']})
+ cmd_dict['dist.shared'] = dict({'required' : [], 'optional' : ['calc','label','groups','output']})
+ cmd_dict['split.abund'] = dict({'required' : ['fasta',['name','list']], 'optional' : ['cutoff','group','groups','label','accnos']})
+ cmd_dict['split.groups'] = dict({'required' : ['fasta','group'], 'optional' : []})
+ cmd_dict['tree.shared'] = dict({'required' : [], 'optional' : ['groups','calc','cutoff','precision','label']})
+ cmd_dict['unifrac.unweighted'] = dict({'required' : [], 'optional' : ['groups','iters','distance','random']})
+ cmd_dict['unifrac.weighted'] = dict({'required' : [], 'optional' : ['groups','iters','distance','random']})
+ cmd_dict['parsimony'] = dict({'required' : [], 'optional' : ['groups','iters','random']})
+ cmd_dict['sffinfo'] = dict({'required' : ['sff'], 'optional' : ['fasta','qfile','trim','sfftxt','flow','accnos']})
+ cmd_dict['fastq.info'] = dict({'required' : ['fastq'], 'optional' : []})
+ cmd_dict['heatmap.bin'] = dict({'required' : [], 'optional' : ['label','groups','scale','sorted','numotu','fontsize']})
+ cmd_dict['heatmap.sim'] = dict({'required' : [], 'optional' : ['calc','phylip','column','name','label','groups']})
+ cmd_dict['venn'] = dict({'required' : [], 'optional' : ['calc','label','groups','nseqs','permute']})
+ cmd_dict['pcoa'] = dict({'required' : ['phylip'], 'optional' : []})
+ cmd_dict['phylotype'] = dict({'required' : ['taxonomy'],'optional' : ['name','cutoff','label']})
+ cmd_dict['phylo.diversity'] = dict({'required' : [],'optional' : ['groups','iters','freq','processors','scale','rarefy','collect','summary']})
+ cmd_dict['get.oturep'] = dict({'required' : ['fasta','list'], 'optional' : ['phylip','column','name','label','group','groups','sorted','precision','cutoff','large','weighted']})
+ cmd_dict['get.relabund'] = dict({'required' : [],'optional' : ['scale','label','groups']})
+ cmd_dict['libshuff'] = dict({'required' : [],'optional' : ['iters','form','step','cutoff']})
+ # clearcut options not needed in galaxy: 'version','verbose','quiet','stdout'
+ cmd_dict['clearcut'] = dict({'required' : [['list','fasta']],'optional' : ['seed','norandom','shuffle','neighbor','expblen','expdist','ntrees','matrixout','kimura','jukes','protein','DNA']})
+ cmd_dict['get.lineage'] = dict({'required' : ['taxonomy','taxon'],'optional' : ['fasta','name','group','list','alignreport','dups']})
+ cmd_dict['remove.lineage'] = dict({'required' : ['taxonomy','taxon'],'optional' : ['fasta','name','group','list','alignreport','dups']})
+ cmd_dict['bootstrap.shared'] = dict({'required' : [], 'optional' : ['calc','groups','iters','label']})
+ """
+ Mothur 1.15
+ """
+ cmd_dict['cluster.classic'] = dict({'required' : [] , 'optional' : ['method','cutoff','hard','precision']})
+ cmd_dict['get.groups'] = dict({'required' : ['group'], 'optional' : ['groups','accnos','fasta','name','list','taxonomy']})
+ cmd_dict['remove.groups'] = dict({'required' : ['group'], 'optional' : ['groups','accnos','fasta','name','list','taxonomy']})
+ cmd_dict['get.otus'] = dict({'required' : ['group','list','label'], 'optional' : ['groups','accnos']})
+ cmd_dict['remove.otus'] = dict({'required' : ['group','list','label'], 'optional' : ['groups','accnos']})
+ cmd_dict['parse.list'] = dict({'required' : ['list','group'], 'optional' : ['label']})
+
+ cmd_dict['sub.sample'] = dict({'required' : [['fasta','list','sabund','rabund','shared']], 'optional' : ['name','group','groups','label','size']})
+ cmd_dict['consensus.seqs'] = dict({'required' : ['fasta'], 'optional' : ['list','name','label']})
+ cmd_dict['indicator'] = dict({'required' : ['tree',['shared','relabund']], 'optional' : ['groups','label']})
+ parser = optparse.OptionParser()
+ # Options for managing galaxy interaction
+ parser.add_option( '--debug', dest='debug', action='store_true', default=False, help='Turn on wrapper debugging to stdout' )
+ parser.add_option( '--cmd', dest='cmd', help='The mothur command' )
+ parser.add_option( '--inputdir', dest='inputdir', help='The directory in which to work' )
+ parser.add_option( '--outputdir', dest='outputdir', help='The directory in which to work' )
+ parser.add_option( '--tmpdir', dest='tmpdir', help='The directory in which to work' )
+ parser.add_option( '--tempdefault', dest='tempdefault', help='The default directory in which to search for input' )
+ parser.add_option( '--result', dest='result', help='The name pattern and destination for each output file' )
+ parser.add_option( '--new_file_path', dest='new_file_path', help='The Galaxy new_file_path, dir for extra output datasets' )
+ parser.add_option( '--datasetid', dest='datasetid', help='The Galaxy new_file_path, dir for extra output datasets' )
+ parser.add_option( '--new_datasets', dest='new_datasets', help='The name pattern and datatype ext for ouputs' )
+ # Options for prerequisite Read commands
+ parser.add_option( '--READ_cmd', dest='READ_cmd', help='The mothur command' )
+ # required arguments for Read.dist
+ parser.add_option( '--READ_phylip', dest='READ_phylip', help='' )
+ parser.add_option( '--READ_column', dest='READ_column', help='' )
+ # required arguments for Read.otu
+ parser.add_option( '--READ_rabund', dest='READ_rabund', help='' )
+ parser.add_option( '--READ_sabund', dest='READ_sabund', help='' )
+ parser.add_option( '--READ_list', dest='READ_list', help='' )
+ parser.add_option( '--READ_shared', dest='READ_shared', help='' )
+ parser.add_option( '--READ_relabund', dest='READ_relabund', help='' )
+ # required arguments for Read.tree
+ parser.add_option( '--READ_tree', dest='READ_tree', help='' )
+ # optional arguments for Read cmds
+ parser.add_option( '--READ_name', dest='READ_name', help='' )
+ parser.add_option( '--READ_cutoff', dest='READ_cutoff', type="float", help='' )
+ parser.add_option( '--READ_hard', dest='READ_hard', help='' )
+ parser.add_option( '--READ_precision', dest='READ_precision', type="int", help='' )
+ parser.add_option( '--READ_sim', dest='READ_sim', help='' )
+ parser.add_option( '--READ_group', dest='READ_group', help='' )
+ parser.add_option( '--READ_groups', dest='READ_groups', help='' )
+ parser.add_option( '--READ_ordergroup', dest='READ_ordergroup', help='')
+ parser.add_option( '--READ_label', dest='READ_label', help='' )
+ # Parameter specified in mothur
+ parser.add_option( '--numbases', dest='numbases', type="int", help='Number of base to allow' )
+ parser.add_option( '--fasta', dest='fasta', help='fasta file paths' )
+ parser.add_option( '--fastq', dest='fastq', help='fastq file paths' )
+ parser.add_option( '--qfile', dest='qfile', help='Sequence read quality file (454 platform)' )
+ parser.add_option( '--qaverage', dest='qaverage', type="int", help='Remove sequences that have an average quality below the value' )
+ parser.add_option( '--qthreshold', dest='qthreshold', type="int", help='If at any point a base call in a sequence has a quality score below the value provided to the option, the sequence is terminated' )
+ parser.add_option( '--qtrim', dest='qtrim', help='For sequence below qthreshold, false to scrap file, true to trimmed and in trim file' )
+ parser.add_option( '--flip', dest='flip', help='If true, reverse complement the sequences' )
+ parser.add_option( '--maxambig', dest='maxambig', type="int", help='Number of ambiguous base calls to allow' )
+ parser.add_option( '--maxhomop', dest='maxhomop', type="int", help='Maximun homopolymer length allowed' )
+ parser.add_option( '--minlength', dest='minlength', type="int", help='Minimun sequence length' )
+ parser.add_option( '--maxlength', dest='maxlength', type="int", help='Maximun sequence length' )
+ parser.add_option( '--oligos', dest='oligos', help='The oligos option takes a file that can contain the sequences of the forward and reverse primers and barcodes and their sample identifier.' )
+ parser.add_option( '--bdiffs', dest='bdiffs', type="int", help='Number of barcode differences to allow' )
+ parser.add_option( '--pdiffs', dest='pdiffs', type="int", help='Number of primer differences to allow' )
+ parser.add_option( '--tdiffs', dest='tdiffs', type="int", help='Total number of barcode and primer differences to allow' )
+ parser.add_option( '--diffs', dest='diffs', type="int", help='Number of mismatched bases to allow between sequences in a group' )
+ parser.add_option( '--allfiles', dest='allfiles', help='T - generate fasta and group for each barcode' )
+ parser.add_option( '--name', dest='name', help='A file containing a 2 column table: name, and comma separated list of represetatives' )
+ parser.add_option( '--accnos', dest='accnos', help='A file containing a list of names' )
+ parser.add_option( '--groups', dest='groups', help='pairwise group labels' )
+ parser.add_option( '--group', dest='group', help='A file containing a list of names' )
+ parser.add_option( '--list', dest='list', help='A file containing a list of names' )
+ parser.add_option( '--alignreport', dest='alignreport', help='A align.report file ' )
+ parser.add_option( '--taxonomy', dest='taxonomy', help='A Taxonomy file' )
+ parser.add_option( '--taxon', dest='taxon', help='A Taxon' )
+ # parser.add_option( '--taxon', dest='taxon', action="callback", callback=remove_confidence_callback, help='A Taxon' )
+ parser.add_option( '--candidate', dest='candidate', help=' file ' )
+ parser.add_option( '--template', dest='template', help=' file ' )
+ parser.add_option( '--dups', dest='dups', help='if True also apply to the aliases from the names files' )
+ parser.add_option( '--keep', dest='keep', help='Either front or back to specify the which end of the sequence to keep' )
+ parser.add_option( '--search', dest='search', help='Method for finding the template sequence: kmer, blast, suffix' )
+ parser.add_option( '--ksize', dest='ksize', type="int", help='Size of kmers (5 - 12)' )
+ parser.add_option( '--align', dest='align', help='Alignment method: needleman, blastn, gotoh' )
+ parser.add_option( '--match', dest='match', type="float", help='Reward for a match, default is +1.0' )
+ parser.add_option( '--mismatch', dest='mismatch', type="float", help='Penalty for a mismatch, default is -1.0' )
+ parser.add_option( '--gapopen', dest='gapopen', type="float", help='Penalty for a opening, default is -2.0' )
+ parser.add_option( '--gapextend', dest='gapextend', type="float", help='Penalty for extending a gap, default is -1.0' )
+ parser.add_option( '--threshold', dest='threshold', type="float", help='Cutoff at which an alignment is deemed bad and the reverse complement may be tried, 0.0 - 1.0 default 0.50' )
+ parser.add_option( '--map', dest='map', help='File containing the secondary structure map.' )
+ parser.add_option( '--label', dest='label', type='string', action="callback", callback=multi_val_callback, help='Distance levels you would like a output files created for(separated by commas or dashes)' )
+ parser.add_option( '--filter', dest='filter', help='If true, a 50% soft filter will be applied' )
+ parser.add_option( '--correction', dest='correction', help='If true, square root of the distances is used instead of the distance value' )
+ parser.add_option( '--window', dest='window', type="int", help='Window size for searching for chimeras, default is 1/4 sequence length' )
+ parser.add_option( '--increment', dest='increment', type="int", help='How far you move each window while finding chimeric sequences, default is 25' )
+ parser.add_option( '--mask', dest='mask', help='A file containing one sequence you wish to use as a mask for the your sequences' )
+ parser.add_option( '--numwanted', dest='numwanted', type="int", help='How many sequences you would each query sequence compared with' )
+ parser.add_option( '--start', dest='start', type="int", help='Remove sequences that start after thisposition' )
+ parser.add_option( '--end', dest='end', type="int", help='Remove sequences that end before this position' )
+ parser.add_option( '--criteria', dest='criteria', type="int", help='Percentage of sequences to match' )
+ parser.add_option( '--optimize', dest='optimize', help='List of parameters to optimize' )
+ parser.add_option( '--vertical', dest='vertical', help='Ignore any column that only contains gap characters, "-" or "."' )
+ parser.add_option( '--trump', dest='trump', help='Remove a column if the trump character is found at that position in any sequence of the alignment.' )
+ parser.add_option( '--soft', dest='soft', type='int', help='Soft Mask - percentage required to retain column. (0-100)' )
+ parser.add_option( '--hard', dest='hard', help='Hard Column Filter - A file should only contain one line consisting of 0 and 1 chars' )
+ parser.add_option( '--calc', dest='calc', help='Calc Method - Gap Penality' )
+ parser.add_option( '--countends', dest='countends', help='Penalize terminal gaps' )
+ # parser.add_option( '--cutoff', dest='cutoff', type="float", help='Distance Cutoff threshold, discard larger distances' )
+ parser.add_option( '--cutoff', dest='cutoff', help='Distance Cutoff threshold, discard larger distances' )
+ parser.add_option( '--countgaps', dest='countgaps', help='count gaps as bases' )
+ parser.add_option( '--output', dest='output', help='Format for output' )
+ parser.add_option( '--method', dest='method', help='Method to use for analysis - cluster' )
+ parser.add_option( '--abund', dest='abund', type='int', help='Threshold for rare to Abundant OTU classification' )
+ parser.add_option( '--size', dest='size', type='int', help='Size - sample size' )
+ parser.add_option( '--groupmode', dest='groupmode', help='Collate groups into one result table' )
+ parser.add_option( '--all', dest='all', help='Calculate for all' )
+ parser.add_option( '--freq', dest='freq', type="float", help='Frequency of sequences to choose, as fraction is 0.0 - 1.0 or iteration if int > 1' )
+ parser.add_option( '--iters', dest='iters', type='int', help='Iterations of randomizations' )
+ parser.add_option( '--jumble', dest='jumble', help='If false, just a collector curve across the samples' )
+ parser.add_option( '--conservation', dest='conservation', help='Template frequency information' )
+ parser.add_option( '--quantile', dest='quantile', help='Template quantile information' )
+ parser.add_option( '--parents', dest='parents', type='int', help='Number of Parents to investigate' )
+ parser.add_option( '--minsim', dest='minsim', type='int', help='Minimum simarity (0-100 percent)' )
+ parser.add_option( '--mincov', dest='mincov', type='int', help='Minimum coverage (0-100 percent)' )
+ parser.add_option( '--minbs', dest='minbs', type='int', help='Minimum bootstrap support (0-100 percent)' )
+ parser.add_option( '--minsnp', dest='minsnp', type='int', help='Minimum SNPs to sample(0-100 percent)' )
+ parser.add_option( '--divergence', dest='divergence', type='float', help='Divergence cutoff for chimera determination' )
+ parser.add_option( '--sff', dest='sff', help='Sff file' )
+ parser.add_option( '--sfftxt', dest='sfftxt', help='Generate a sff.txt file' )
+ parser.add_option( '--flow', dest='flow', help='Generate a flowgram file' )
+ parser.add_option( '--trim', dest='trim', help='Whether sequences and quality scores are trimmed to the clipQualLeft and clipQualRight values' )
+ parser.add_option( '--input', dest='input', help='' )
+ parser.add_option( '--phylip', dest='phylip', help='' )
+ parser.add_option( '--column', dest='column', help='' )
+ parser.add_option( '--sorted', dest='sorted', help='Input is presorted' )
+ parser.add_option( '--showabund', dest='showabund', help='' )
+ parser.add_option( '--short', dest='short', help='Keep sequences that are too short to chop' )
+ parser.add_option( '--distance', dest='distance', help='' )
+ parser.add_option( '--scale', dest='scale', help='' )
+ parser.add_option( '--numotu', dest='numotu', help='' )
+ parser.add_option( '--fontsize', dest='fontsize', help='' )
+ parser.add_option( '--neqs', dest='neqs', help='' )
+ parser.add_option( '--permute', dest='permute', help='' )
+ parser.add_option( '--rarefy', dest='rarefy', help='' )
+ parser.add_option( '--collect', dest='collect', help='' )
+ parser.add_option( '--summary', dest='summary', help='' )
+ parser.add_option( '--large', dest='large', help='' )
+ parser.add_option( '--shuffle', dest='shuffle', help='' )
+ parser.add_option( '--neighbor', dest='neighbor', help='' )
+ parser.add_option( '--expblen', dest='expblen', help='' )
+ parser.add_option( '--expdist', dest='expdist', help='' )
+ parser.add_option( '--ntrees', dest='ntrees', help='' )
+ parser.add_option( '--DNA', dest='DNA', help='' )
+ parser.add_option( '--protein', dest='protein', help='' )
+ parser.add_option( '--kimura', dest='kimura', help='' )
+ parser.add_option( '--jukes', dest='jukes', help='' )
+ parser.add_option( '--matrixout', dest='matrixout', help='' )
+ # include read.otu options
+ parser.add_option( '--rabund', dest='rabund', help='' )
+ parser.add_option( '--sabund', dest='sabund', help='' )
+ parser.add_option( '--shared', dest='shared', help='' )
+ parser.add_option( '--relabund', dest='relabund', help='' )
+ parser.add_option( '--ordergroup', dest='ordergroup', help='')
+ # include read.tree options
+ parser.add_option( '--tree', dest='tree', help='' )
+
+ (options, args) = parser.parse_args()
+ """
+ """
+ # print >> sys.stderr, options # so will appear as blurb for file
+ if options.debug != None:
+ debug = options.debug
+ params = []
+ inputdir = None
+ outputdir = None
+ tmp_dir = None
+ tempdefault = ''
+ # Report exception if no command is given
+ if options.cmd == None:
+ stop_err('No mothur command given')
+ # Read directory options
+ if options.tmpdir != None:
+ if not os.path.isdir(options.tmpdir):
+ os.makedirs(options.tmpdir)
+ tmp_dir = options.tmpdir
+ else:
+ tmp_dir = tempfile.mkdtemp()
+ if options.inputdir != None:
+ if not os.path.isdir(options.inputdir):
+ os.makedirs(options.inputdir)
+ inputdir = options.inputdir
+ if options.outputdir != None:
+ if not os.path.isdir(options.outputdir):
+ os.makedirs(options.outputdir)
+ try:
+ outputdir = os.path.join(tmp_dir,'out')
+ os.symlink(options.outputdir,outputdir)
+ except Exception, e:
+ print >> sys.stderr, e
+ outputdir = options.outputdir
+ # Set directories
+ if inputdir == None or not os.path.isdir(inputdir):
+ inputdir = tmp_dir
+ if outputdir == None or not os.path.isdir(outputdir):
+ outputdir = tempfile.mkdtemp()
+ if options.tempdefault != None and os.path.isdir(options.tempdefault):
+ tempdefault = ', tempdefault=%s' % options.tempdefault
+ # params.append('set.dir(input=%s,output=%s%s)' % (inputdir,outputdir,tempdefault))
+ params.append('set.dir(output=%s%s)' % (outputdir,tempdefault))
+ # Check for prerequisite read command
+ if options.READ_cmd != None:
+ read_cmd_opts = ','.join(get_params(options.READ_cmd,options,inputdir,prefix='READ_'))
+ params.append('%s(%s)' % (options.READ_cmd,read_cmd_opts))
+ # Check for command options
+ cmd_opts = ','.join(get_params(options.cmd,options,inputdir))
+ # print >> sys.stderr, cmd_opts
+ # print >> sys.stderr, params # so will appear as blurb for file
+ params.append('%s(%s)' % (options.cmd,cmd_opts))
+ try:
+ # Generate the mothur commandline
+ # http://www.mothur.org/wiki/Command_line_mode
+ cmdline = 'mothur "#' + '; '.join(params) + '"'
+ # print >> sys.stdout, '%s' % cmdline
+ if tmp_dir == None or not os.path.isdir(tmp_dir):
+ tmp_dir = tempfile.mkdtemp()
+ tmp_stderr_name = tempfile.NamedTemporaryFile( dir=tmp_dir,suffix='.err' ).name
+ tmp_stderr = open( tmp_stderr_name, 'wb' )
+ tmp_stdout_name = tempfile.NamedTemporaryFile( dir=tmp_dir,suffix='.out' ).name
+ tmp_stdout = open( tmp_stdout_name, 'wb' )
+ proc = subprocess.Popen( args=cmdline, shell=True, cwd=tmp_dir, stderr=tmp_stderr.fileno(), stdout=tmp_stdout.fileno() )
+ # proc = subprocess.Popen( args=cmdline, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE )
+ returncode = proc.wait()
+ tmp_stderr.close()
+ # get stderr, allowing for case where it's very large
+ tmp_stderr = open( tmp_stderr_name, 'rb' )
+ stderr = ''
+ buffsize = 1048576
+ try:
+ while True:
+ stderr += tmp_stderr.read( buffsize )
+ if not stderr or len( stderr ) % buffsize != 0:
+ break
+ except OverflowError:
+ pass
+ tmp_stderr.close()
+ if returncode != 0:
+ raise Exception, stderr
+ stdout = ''
+ # Parse stdout to provide info
+ tmp_stdout.close()
+ tmp_stdout = open( tmp_stdout_name, 'rb' )
+ info = ''
+ if options.cmd.startswith('chimera') and not options.cmd.endswith('check'):
+ pattern = '^.*$'
+ if options.cmd == 'chimera.slayer':
+ # gi|11093931|MNE12|AF293003 yes
+ pattern = '\S.*\tyes$'
+ elif options.cmd == 'chimera.bellerophon':
+ # gi|11093939|MNB2|AF293011 is a suspected chimera at breakpoint 2195
+ pattern = '\S.* suspected chimera .*'
+ elif options.cmd == 'chimera.ccode':
+ # gi|11093940|MNF8|AF293012 was found have at least one chimeric window.
+ pattern = '\S.* chimeric window.*'
+ elif options.cmd == 'chimera.pintail':
+ pattern = '\S.*chimera.*Yes'
+ # move new generated template .freq and .quan files to outputdir
+ chimera_count = 0
+ for line in tmp_stdout:
+ if re.match(pattern,line):
+ chimera_count += 1
+ info += "Chimeras: %d" % chimera_count
+ else:
+ found_begin = False
+ for line in tmp_stdout:
+ if line.find(outputdir) >= 0:
+ continue
+ if re.match('^Processing.*',line):
+ continue
+ if re.match('.*\.\.\.\s*$',line):
+ continue
+ if re.match('^\d*\s*$',line):
+ continue
+ if re.match('Output .*',line):
+ break
+ if found_begin:
+ info += "%s" % line
+ if re.match('mothur > ' + options.cmd + '\(.*\)', line):
+ found_begin = True
+ tmp_stdout.close()
+ print >> sys.stdout, info
+ # Collect output files
+ flist = os.listdir(outputdir)
+ if debug: print >> sys.stdout, '%s' % flist
+ # process option result first
+ # These are the known galaxy datasets listed in the --result= param
+ if len(flist) > 0 and options.result:
+ # items in list are separated by commas
+ for output in options.result.split(','):
+ # Each item has a regex pattern and a file path to a galaxy dataset
+ (pattern,path) = output.split(':')
+ if debug: print >> sys.stdout, '%s -> %s' % (pattern,path)
+ if path == None or path == 'None':
+ continue
+ found = False
+ for fname in flist:
+ if debug: print >> sys.stdout, 'outdir %s match: %s' % (fname,re.match(pattern,fname))
+ if re.match(pattern,fname):
+ found = True
+ flist.remove(fname)
+ fpath = os.path.join(outputdir,fname)
+ if fname.endswith('.logfile'):
+ # Make the logfile into html
+ logfile_to_html(fpath,path,inputdir,outputdir,title="Mothur %s Logfile" % options.cmd)
+ elif False and outputdir == options.outputdir:
+ # Use a hard link if outputdir is the extra_files_path
+ try:
+ os.link(fpath, path)
+ except:
+ shutil.copy2(fpath, path)
+ else:
+ shutil.copy2(fpath, path)
+ break
+ # chimera.pintail e.g. generates files in the working dir that we might want to save
+ if not found:
+ for fname in os.listdir(tmp_dir):
+ if debug: print >> sys.stdout, 'tmpdir %s match: %s' % (fname,re.match(pattern,fname))
+ if re.match(pattern,fname):
+ fpath = os.path.join(tmp_dir,fname)
+ shutil.copy2(fpath, path)
+ break
+ # Handle the dynamically generated galaxy datasets
+ # http://bitbucket.org/galaxy/galaxy-central/wiki/ToolsMultipleOutput
+ # --new_datasets= specifies files to copy to the new_file_path
+ # The list items are separated by commas
+ # Each item conatins: a regex pattern for matching filenames and a galaxy datatype (separated by :)
+ # The regex match.groups()[0] is used as the id name of the dataset, and must result in unique name for each output
+ if options.new_datasets != None and options.new_file_path != None and options.datasetid != None:
+ datasets = options.new_datasets.split(',')
+ for output in options.new_datasets.split(','):
+ (pattern,ext) = output.split(':');
+ for fname in flist:
+ m = re.match(pattern,fname)
+ if m:
+ fpath = os.path.join(outputdir,fname)
+ if len(m.groups()) > 0:
+ root = m.groups()[0]
+ else:
+ # remove the ext from the name if it exists, galaxy will add back later
+ # remove underscores since galaxy uses that as a field separator for dynamic datasets
+ root = re.sub('\.?'+ext+'$','',fname).replace('_','').replace('.','')
+ # filename pattern required by galaxy
+ fn = "%s_%s_%s_%s_%s" % ( 'primary', options.datasetid, root, 'visible', ext )
+ if debug: print >> sys.stdout, '> %s' % fpath
+ if debug: print >> sys.stdout, '< %s' % os.path.join(options.new_file_path,fn)
+ try:
+ os.link(fpath, os.path.join(options.new_file_path,fn))
+ except:
+ shutil.copy2(fpath, os.path.join(options.new_file_path,fn))
+ except Exception, e:
+ msg = str(e) + stderr
+ """
+ if len(msg) < 50 and stdout != None:
+ # include the last line of stdout
+ msg += stdout.splitlines()[-1]
+ """
+ stop_err( 'Error running ' + msg)
+ finally:
+ # Only remove temporary directories
+ # Enclose in try block, so we don't report error on stale nfs handles
+ try:
+ if outputdir != options.outputdir and os.path.exists(outputdir):
+ if os.path.islink(outputdir):
+ os.remove(outputdir)
+ shutil.rmtree(os.path.dirname(outputdir))
+ else:
+ shutil.rmtree(outputdir)
+ if inputdir != options.inputdir and os.path.exists(inputdir):
+ shutil.rmtree(inputdir)
+ except:
+ pass
+
+
+if __name__ == "__main__": __main__()
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/normalize.shared.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/normalize.shared.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,105 @@
+
+ Normalize the number of sequences per group to a specified level
+
+ mothur_wrapper.py
+ --cmd='normalize.shared'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.norm\.shared$:'$shared
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+ #if $method.__str__ != "None" and len($method.__str__) > 0:
+ --method=$method
+ #end if
+ #if int($norm.__str__) > 0:
+ --norm=$norm
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The normalize.shared_ command normalizes the number of sequences per group to a specified level.
+
+.. _normalize.shared: http://www.mothur.org/wiki/Normalize.shared
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/pairwise.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/pairwise.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,84 @@
+
+ calculate uncorrected pairwise distances between sequences
+
+ mothur_wrapper.py
+ --cmd='pairwise.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.dist$:'$out_dist
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --align=$align
+ #if len($calc.__str__) > 0:
+ --calc=$calc
+ #end if
+ $countends
+ #if float($cutoff.__str__) > 0.0:
+ --cutoff=$cutoff
+ #end if
+ --match=$scoring.match
+ --mismatch=$scoring.mismatch
+ --gapopen=$scoring.gapopen
+ --gapextend=$scoring.gapextend
+ #if len($output.__str__) > 0:
+ --output=$output
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The pairwise.seqs_ command will calculate uncorrected pairwise distances between sequences.
+
+.. _pairwise.seqs: http://www.mothur.org/wiki/Pairwise.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/parse.list.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/parse.list.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,50 @@
+
+ Order Sequences by OTU
+
+ mothur_wrapper.py
+ --cmd='parse.list'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.(\S+\.list)$:list'
+ --list=$otu
+ --group=$group
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The parse.list_ command prints out a fasta-formatted file where sequences are ordered according to the OTU that they belong to. Such an output may be helpful for generating primers specific to an OTU or for classification of sequences.
+
+.. _parse.list: http://www.mothur.org/wiki/Parse.list
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/parsimony.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/parsimony.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,71 @@
+
+ Describes whether two or more communities have the same structure
+
+ mothur_wrapper.py
+ --cmd='parsimony'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.psummary$:'$psummary,'^\S+\.parsimony$:'$parsimony
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.tree'
+ --READ_tree=$tree
+ #if $group.__str__ != "None" and len($group.__str__) > 0:
+ --READ_group='$group'
+ #end if
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups='$groups'
+ #end if
+ #if int($iters.__str__) > 0:
+ --iters=$iters
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The parsimony_ command implements the parsimony method (aka P-test), which was previously implemented in TreeClimber and is also available in MacClade and on the UniFrac website. The parsimony method is a generic test that describes whether two or more communities have the same structure. The significance of the test statistic can only indicate the probability that the communities have the same structure by chance. The value does not indicate a level of similarity.
+
+.. _parsimony: http://www.mothur.org/wiki/Parsimony
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/pcoa.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/pcoa.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,39 @@
+
+ Principal Coordinate Analysis
+
+ mothur_wrapper.py
+ --cmd='pcoa'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.pcoa$:'$pca,'^\S+\.pcoa.loadings$:'$loadings
+ --outputdir='$logfile.extra_files_path'
+ --phylip=$phylip
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The pcoa_ command performs principal coordinate analysis.
+
+.. _pcoa: http://www.mothur.org/wiki/Pcoa
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/phylo.diversity.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/phylo.diversity.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,85 @@
+
+ Alpha Diversity calculate unique branch length
+
+ mothur_wrapper.py
+ --cmd='phylo.diversity'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.phylodiv\.summary$:'$summary_out,'^\S+\.phylodiv$:'$collectors_out,'^\S+\.rarefaction$:'$rarefaction_out
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.tree'
+ --READ_tree=$tree
+ #if $group.__str__ != "None" and len($group.__str__) > 0:
+ --READ_group='$group'
+ #end if
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups='$groups'
+ #end if
+ #if int($iters.__str__) > 0:
+ --iters=$iters
+ #end if
+ #if float($freq.__str__) > 0:
+ --freq=$freq
+ #end if
+ $scale
+ $summary
+ $collect
+ $rarefy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ summary == True
+
+
+ rarefy == True
+
+
+ collect == True
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The phylo.diversity_ command calculates alpha diversity as the total of the unique branch length.
+
+.. _phylo.diversity: http://www.mothur.org/wiki/Phylo.diversity
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/phylotype.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/phylotype.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,65 @@
+
+ Assign sequences to OTUs based on taxonomy
+
+ mothur_wrapper.py
+ --cmd='phylotype'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.[fna]n\.sabund$:'$sabund,'^\S+\.[fna]n\.rabund$:'$rabund,'^\S+\.[fna]n\.list$:'$otulist
+ --outputdir='$logfile.extra_files_path'
+ --taxonomy=$taxonomy
+ #if 50 >= int($cutoff.__str__) > 0:
+ --cutoff=$cutoff
+ #end if
+ #if $name.__str__ != "None" and len($name.__str__) > 0:
+ --name='$name'
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The phylotype_ command assign sequences to OTUs based on their taxonomy and outputs a .list, .rabund and .sabund files.
+
+.. _phylotype: http://www.mothur.org/wiki/Phylotype
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/pre.cluster.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/pre.cluster.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,47 @@
+
+ Remove sequences due to pyrosequencing errors
+
+ mothur_wrapper.py
+ --cmd='pre.cluster'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.precluster\.fasta$:'$fasta_out,'^\S+\.precluster\.names$:'$names_out
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ #if $matrix.name.__str__ != "None" and len($matrix.name.__str__) > 0:
+ --name=$name
+ #if 20 >= int($diffs.__str__) >= 0:
+ --diffs=$diffs
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The pre.cluster_ command implements a pseudo-single linkage algorithm with the goal of removing sequences that are likely due to pyrosequencing errors. The basic idea is that abundant sequences are more likely to generate erroneous sequences than rare sequences. With that in mind, the algorithm proceeds by ranking sequences in order of their abundance. Then we walk through the list of sequences looking for rarer sequences that are within some threshold of the original sequence. Those that are within the threshold are merged with the larger sequence. The original Huse method performs this task on a distance matrix, whereas we do it based on the original sequences. The advantage of our approach is that the algorithm works on aligned sequences instead of a distance matrix. This is advantageous because by pre-clustering you remove a large number of sequences making the distance calculation much faster.
+
+.. _pre.cluster: http://www.mothur.org/wiki/Pre.cluster
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/rarefaction.shared.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/rarefaction.shared.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,110 @@
+
+ Generate inter-sample rarefaction curves for OTUs
+
+ mothur_wrapper.py
+ --cmd='rarefaction.shared'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.rarefaction$:'$rarefaction
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+ #if int($iters.__str__) > 0:
+ --iters=$iters
+ #end if
+ $jumble
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc='$calc'
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The rarefaction.shared_ command generates inter-sample rarefaction curves using a re-sampling without replacement approach. The traditional way that ecologists use rarefaction is not to randomize the sampling order within a sample, rather between samples. For instance, if we wanted to know the number of OTUs in the human colon, we might sample from various sites within the colon, and sequence a bunch of 16S rRNA genes. By determining the number of OTUs in each sample and comparing the composition of those samples it is possible to determine how well you have sampled the biodiversity within the individual.
+
+.. _rarefaction.shared: http://www.mothur.org/wiki/Rarefaction.shared
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/rarefaction.single.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/rarefaction.single.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,77 @@
+
+ Generate intra-sample rarefaction curves for OTUs
+
+ mothur_wrapper.py
+ --cmd='rarefaction.single'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.(((\S+)\.)?rarefaction)$:tabular'
+ --READ_cmd='read.otu'
+ --READ_list=$otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc='$calc'
+ #end if
+ #if int($abund.__str__) > 0:
+ --abund=$abund
+ #end if
+ #if int($iters.__str__) > 0:
+ --iters=$iters
+ #end if
+
+ #if float($freq.__str__) > 0:
+ --freq=$freq
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The rarefaction.single_ command generates intra-sample rarefaction curves using a re-sampling without replacement approach. Rarefaction curves provide a way of comparing the richness observed in different samples.
+
+.. _rarefaction.single: http://www.mothur.org/wiki/Rarefaction.single
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/read.otu.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/read.otu.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,55 @@
+
+ Read OTU list and group to create a shared file
+
+ mothur_wrapper.py
+ --cmd='read.otu'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.shared:'$shared
+ --outputdir='$logfile.extra_files_path'
+ #if $show_rabund.value == True:
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.((\S+)\.rabund)$:rabund'
+ #end if
+ --cmd='read.otu'
+ --list=$otu
+ --group=$otu_group
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The read.otu_ command is called before most of the OTU based mothur commands. It is included here explicitly to allow the creatation of a shared file from OTU list and group files.
+
+.. _read.otu: http://www.mothur.org/wiki/Read.otu
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/remove.groups.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/remove.groups.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,91 @@
+
+ Remove groups
+
+ mothur_wrapper.py
+ #import re, os.path
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ ## adds .pick before the last extension to the input file
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
+ --cmd='remove.groups'
+ --outputdir='$logfile.extra_files_path'
+ --group=$group_in
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups=$groups
+ #end if
+ #if $accnos.__str__ != "None" and len($accnos.__str__) > 0:
+ --accnos=$accnos
+ #end if
+ #if $fasta_in.__str__ != "None" and len($fasta_in.__str__) > 0:
+ --fasta=$fasta_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($fasta_in.__str__)) + ":'" + $fasta_out.__str__]
+ #end if
+ #if $name_in.__str__ != "None" and len($name_in.__str__) > 0:
+ --name=$name_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($name_in.__str__)) + ":'" + $name_out.__str__]
+ #end if
+ #if $list_in.__str__ != "None" and len($list_in.__str__) > 0:
+ --list=$list_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($list_in.__str__)) + ":'" + $list_out.__str__]
+ #end if
+ #if $taxonomy_in.__str__ != "None" and len($taxonomy_in.__str__) > 0:
+ --taxonomy=$taxonomy_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($taxonomy_in.__str__)) + ":'" + $taxonomy_out.__str__]
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fasta_in != None
+
+
+ name_in != None
+
+
+ list_in != None
+
+
+ taxonomy_in != None
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The remove.groups_ command removes sequences from a specific group or set of groups from the following file types: fasta, name, group, list, taxonomy.
+
+.. _remove.groups: http://www.mothur.org/wiki/Remove.groups
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/remove.lineage.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/remove.lineage.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,95 @@
+
+ Picks by taxon
+
+ mothur_wrapper.py
+ #import re, os.path
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ ## adds .pick before the last extension to the input file
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($taxonomy.__str__)) + ":'" + $taxonomy_out.__str__]
+ --cmd='remove.lineage'
+ --outputdir='$logfile.extra_files_path'
+ --taxonomy=$taxonomy
+ --taxon="'$re.sub('\(\d+\)','',$taxon.value.__str__)'"
+ #if $fasta_in.__str__ != "None" and len($fasta_in.__str__) > 0:
+ --fasta=$fasta_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($fasta_in.__str__)) + ":'" + $fasta_out.__str__]
+ #end if
+ #if $group_in.__str__ != "None" and len($group_in.__str__) > 0:
+ --group=$group_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
+ #end if
+ #if $alignreport_in.__str__ != "None" and len($alignreport_in.__str__) > 0:
+ --alignreport=$alignreport_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($alignreport_in.__str__)) + ":'" + $alignreport_out.__str__]
+ #end if
+ #if $list_in.__str__ != "None" and len($list_in.__str__) > 0:
+ --list=$list_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($list_in.__str__)) + ":'" + $list_out.__str__]
+ #end if
+ #if $name_in.__str__ != "None" and len($name_in.__str__) > 0:
+ --name=$name_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($name_in.__str__)) + ":'" + $name_out.__str__]
+ $dups
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fasta_in != None
+
+
+ group_in != None
+
+
+ list_in != None
+
+
+ name_in != None
+
+
+ alignreport_in != None
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The remove.lineage_ command reads a taxonomy file and a taxon and generates a new file that contains only the sequences in the that are not from that taxon. You may also include either a fasta, name, group, list, or align.report file to this command and mothur will generate new files for each of those containing only the selected sequences.
+
+.. _remove.lineage: http://www.mothur.org/wiki/Remove.lineage
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/remove.otus.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/remove.otus.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,68 @@
+
+ Remove otus containing sequences from specified groups
+
+ mothur_wrapper.py
+ ## output {group_file_name}.pick.{label}.groups {list_file_name}.pick.{label}.list
+ #import re, os.path
+ --cmd='remove.otus'
+ --outputdir='$logfile.extra_files_path'
+ --group=$group_in
+ --list=$list_in
+ --label=$label
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups=$groups
+ #end if
+ #if $accnos.__str__ != "None" and len($accnos.__str__) > 0:
+ --accnos=$accnos
+ #end if
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.' + $label.__str__ + '.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.'+ $label.__str__ + '.\2',$os.path.basename($list_in.__str__)) + ":'" + $list_out.__str__]
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The remove.otus_ command removes otus containing sequences from a specific group or set of groups.
+
+.. _remove.otus: http://www.mothur.org/wiki/Remove.otus
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/remove.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/remove.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,100 @@
+
+ Remove sequences by name
+
+ mothur_wrapper.py
+ #import re, os.path
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ ## adds .pick before the last extension to the input file (except align.report)
+ --cmd='remove.seqs'
+ --outputdir='$logfile.extra_files_path'
+ --accnos=$accnos
+ #if $fasta_in.__str__ != "None" and len($fasta_in.__str__) > 0:
+ --fasta=$fasta_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($fasta_in.__str__)) + ":'" + $fasta_out.__str__]
+ #end if
+ #if $qfile_in.__str__ != "None" and len($qfile_in.__str__) > 0:
+ --qfile=$qfile_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($qfile_in.__str__)) + ":'" + $qfile_out.__str__]
+ #end if
+ #if $name_in.__str__ != "None" and len($name_in.__str__) > 0:
+ --name=$name_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($name_in.__str__)) + ":'" + $name_out.__str__]
+ $dups
+ #end if
+ #if $group_in.__str__ != "None" and len($group_in.__str__) > 0:
+ --group=$group_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($group_in.__str__)) + ":'" + $group_out.__str__]
+ #end if
+ #if $alignreport_in.__str__ != "None" and len($alignreport_in.__str__) > 0:
+ --alignreport=$alignreport_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)$',r'\1.pick.align.report',$os.path.basename($alignreport_in.__str__)) + ":'" + $alignreport_out.__str__]
+ #end if
+ #if $list_in.__str__ != "None" and len($list_in.__str__) > 0:
+ --list=$list_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($list_in.__str__)) + ":'" + $list_out.__str__]
+ #end if
+ #if $taxonomy_in.__str__ != "None" and len($taxonomy_in.__str__) > 0:
+ --taxonomy=$taxonomy_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.pick.\2',$os.path.basename($taxonomy_in.__str__)) + ":'" + $taxonomy_out.__str__]
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fasta_in != None
+
+
+
+ qfile_in != None
+
+
+ name_in != None
+
+
+ group_in != None
+
+
+ alignreport_in != None
+
+
+ list_in != None
+
+
+ taxonomy_in != None
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The remove.seqs_ command takes a list of sequence names and either a fasta, name, group, list, or align.report file to generate a new file that does not contain the sequences in the list. This command may be used in conjunction with the list.seqs command to help screen a sequence collection.
+
+.. _remove.seqs: http://www.mothur.org/wiki/Remove.seqs
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/reverse.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/reverse.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,38 @@
+
+ Reverse complement the sequences
+
+ mothur_wrapper.py
+ --cmd='reverse.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.rc\.\w+$:'$out_fasta
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The reverse.seqs_ command will generate a fasta containing the reverse complement of each sequence in the input fasta.
+
+.. _reverse.seqs: http://www.mothur.org/wiki/Reverse.seqs
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/screen.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/screen.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,121 @@
+
+ Screen sequences
+
+ mothur_wrapper.py
+ #import re, os.path
+ --cmd='screen.seqs'
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.good.\2',$os.path.basename($input.__str__)) + ":'" + $out_file.__str__]
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.bad.accnos',$os.path.basename($input.__str__)) + ":'" + $bad_accnos.__str__]
+ --outputdir='$logfile.extra_files_path'
+ --tmpdir='${logfile.extra_files_path}/input'
+ --fasta=$input
+ #if int($start) >= 0:
+ --start=$start
+ #end if
+ #if int($end) >= 0:
+ --end=$end
+ #end if
+ #if int($minlength) >= 0:
+ --minlength=$minlength
+ #end if
+ #if int($maxlength) >= 0:
+ --maxlength=$maxlength
+ #end if
+ #if int($maxambig) >= 0:
+ --maxambig=$maxambig
+ #end if
+ #if int($maxhomop) >= 0:
+ --maxhomop=$maxhomop
+ #end if
+ #if int($criteria) >= 0:
+ --criteria=$criteria
+ #end if
+ #if $optimize != None and $optimize.__str__ != "None":
+ --optimize=$optimize
+ #end if
+ #if $input_names != None and $input_names.__str__ != "None":
+ --name=$input_names
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.good.\2',$os.path.basename($input_names.__str__)) + ":'" + $output_names.__str__]
+ #end if
+ #if $input_groups != None and $input_groups.__str__ != "None":
+ --group=$input_groups
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.good.\2',$os.path.basename($input_groups.__str__)) + ":'" + $output_groups.__str__]
+ #end if
+ #if $input_alignreport != None and $input_alignreport.__str__ != "None":
+ --alignreport=$input_alignreport
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.good.\2',$os.path.basename($input_alignreport.__str__)) + ":'" + $output_alignreport.__str__]
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ input_names != None
+
+
+ input_groups != None
+
+
+ input_alignreport != None
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The screen.seqs_ command enables you to keep sequences that fulfill certain user defined criteria. Furthermore, it enables you to cull those sequences not meeting the criteria from a names, group, or align.report file.
+
+.. _screen.seqs: http://www.mothur.org/wiki/Screen.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/sffinfo.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/sffinfo.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,77 @@
+
+ Summarize the quality of sequences
+
+ mothur_wrapper.py
+ --cmd='sffinfo'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.fasta$:'$out_fasta,'^\S+\.qual$:'$out_qfile,'^\S+\.sff\.txt$:'$out_sfftxt,'^\S+\.flow$:'$out_flow
+ --outputdir='$logfile.extra_files_path'
+ --sff=$sff
+ $fasta
+ $qfile
+ $sfftxt
+ $flow
+ $trim
+ #if $accnos.__str__ != 'None' and len($accnos.__str__) > 0:
+ --accnos=$accnos
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fasta == True
+
+
+ qfile == True
+
+
+ sfftxt == True
+
+
+ flow == True
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The sffinfo_ command will summarize the quality of sequences in an unaligned or aligned fasta-formatted sequence file.
+
+
+.. _sffinfo: http://www.mothur.org/wiki/Sffinfo
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/split.abund.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/split.abund.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,91 @@
+
+ Separate sequences into rare and abundant groups
+
+ mothur_wrapper.py
+ --cmd='split.abund'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.abund\.list$:'$abund_list,'^\S+\.rare\.list$:'$rare_list,'^\S+\.rare\.accnos$:'$rare_accnos,'^\S+\.abund\.accnos$:'$abund_accnos
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.((unique|[0-9.]+)\.(rare|abund)\.fasta)$:fasta','^\S+?\.((unique|[0-9.]+)\.(rare|abund)\.groups)$:groups','^\S+?\.((unique|[0-9.]+)\.(rare|abund)\.accnos)$:accnos'
+ --fasta=$fasta
+ #if $search.type == "list":
+ --list=$search.input
+ #if $search.label.__str__ != "None" and len($search.label.__str__) > 0:
+ --label=$search.label
+ #end if
+ #elif $search.type == "name":
+ --name=$search.input
+ #end if
+ --cutoff=$cutoff
+ #if $group.__str__ != "None" and len($group.__str__) > 0:
+ --group=$group
+ #end if
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups=$groups
+ #end if
+ $accnos
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ accnos == True
+
+
+ accnos == True
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The split.abund_ command reads a fasta file and a list or a names file and splits the sequences into rare and abundant groups.
+
+.. _split.abund: http://www.mothur.org/wiki/Split.abund
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/split.groups.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/split.groups.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,41 @@
+
+ Generates a fasta file for each group
+
+ mothur_wrapper.py
+ --cmd='split.groups'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.(\S+\.fasta)$:fasta'
+ --fasta=$fasta
+ --group=$group
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The split.groups_ command reads a fasta file group file and generates a fasta file for each group in the groupfile.
+
+.. _split.groups: http://www.mothur.org/wiki/Split.groups
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/sub.sample.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/sub.sample.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,203 @@
+
+ Create a sub sample
+
+ mothur_wrapper.py
+ ## output {group_file_name}.pick.{label}.groups {list_file_name}.pick.{label}.list
+ #import re, os.path
+ #set results = ["'^mothur.\S+\.logfile$:'" + $logfile.__str__]
+ --cmd='sub.sample'
+ --outputdir='$logfile.extra_files_path'
+ #if $input.format == "fasta":
+ --fasta=$input.fasta_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.subsample.\2',$os.path.basename($input.fasta_in.__str__)) + ":'" + $fasta_out.__str__]
+ #if $input.name_in.__str__ != "None" and len($input.name_in.__str__) > 0:
+ --name=$input.name_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.subsample.\2',$os.path.basename($input.name_in.__str__)) + ":'" + $names_out.__str__]
+ #end if
+ #if $input.use_group.group_in.__str__ != "None" and len($input.use_group.group_in.__str__) > 0:
+ --group=$input.use_group.group_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.subsample.\2',$os.path.basename($input.use_group.group_in.__str__)) + ":'" + $group_out.__str__]
+ #if $input.use_group.groups.__str__ != "None" and len($input.use_group.groups.__str__) > 0:
+ --groups=$input.use_group.groups
+ #end if
+ #end if
+ #elif $input.format == "list":
+ --list=$input.otu_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.subsample.\2',$os.path.basename($input.otu_in.__str__)) + ":'" + $list_out.__str__]
+ #if $input.use_group.group_in.__str__ != "None" and len($input.use_group.group_in.__str__) > 0:
+ --group=$input.use_group.group_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.subsample.\2',$os.path.basename($input.use_group.group_in.__str__)) + ":'" + $group_out.__str__]
+ #if $input.use_group.groups.__str__ != "None" and len($input.use_group.groups.__str__) > 0:
+ --groups=$input.use_group.groups
+ #end if
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --label=$input.label
+ #end if
+ #elif $input.format == "shared":
+ --shared=$input.otu_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.subsample.\2',$os.path.basename($input.otu_in.__str__)) + ":'" + $shared_out.__str__]
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --label=$input.label
+ #end if
+ #elif $input.format == "sabund":
+ --sabund=$input.otu_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.subsample.\2',$os.path.basename($input.otu_in.__str__)) + ":'" + $sabund_out.__str__]
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --label=$input.label
+ #end if
+ #elif $input.format == "rabund":
+ --rabund=$input.otu_in
+ #set results = $results + ["'" + $re.sub(r'(^.*)\.(.*?)',r'\1.subsample.\2',$os.path.basename($input.otu_in.__str__)) + ":'" + $rabund_out.__str__]
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --label=$input.label
+ #end if
+ #end if
+ #if int($size) > 0:
+ --size=$size
+ #end if
+ --result=#echo ','.join($results)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ input['format'] == 'fasta'
+
+
+ input['format'] == 'list'
+
+
+ input['format'] == 'shared'
+
+
+ input['format'] == 'sabund'
+
+
+ input['format'] == 'rabund'
+
+
+ (input['format'] == 'fasta' and input['name_in'] != None)
+
+
+ input['use_group']['group_in'] != None
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The sub.sample_ command selects otus containing sequences from a specific group or set of groups.
+
+.. _sub.sample: http://www.mothur.org/wiki/Sub.sample
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/summary.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/summary.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,39 @@
+
+ Summarize the quality of sequences
+
+ mothur_wrapper.py
+ --cmd='summary.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.summary$:'$out_summary
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The summary.seqs_ command will summarize the quality of sequences in an unaligned or aligned fasta-formatted sequence file.
+
+
+.. _summary.seqs: http://www.mothur.org/wiki/Summary.seqs
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/summary.shared.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/summary.shared.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,121 @@
+
+ Summary of calculator values for OTUs
+
+ mothur_wrapper.py
+ --cmd='summary.shared'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.summary$:'$summary
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.((\S+)\.(unique|[0-9.]*)\.dist)$:lower.dist'
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+ #*
+ --READ_list=$otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+ *#
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc='$calc'
+ #end if
+ $all
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The summary.shared_ command produce a summary file that has the calculator value for each line in the OTU data and for all possible comparisons between the different groups in the group file.
+
+.. _summary.shared: http://www.mothur.org/wiki/Summary.shared
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/summary.single.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/summary.single.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,74 @@
+
+ Summary of calculator values for OTUs
+
+ mothur_wrapper.py
+ --cmd='summary.single'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+\.((\S+?)\.summary)$:tabular'
+ --READ_cmd='read.otu'
+ --READ_list=$otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $label.__str__ != "None" and len($label.__str__) > 0:
+ --label='$label'
+ #end if
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc='$calc'
+ #end if
+ #if int($abund.__str__) > 0:
+ --abund=$abund
+ #end if
+ #if int($size.__str__) > 0:
+ --size=$size
+ #end if
+ $groupmode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The summary.single_ command produce a summary file that has the calculator value for each line in the OTU data and for all possible comparisons between the different groups in the group file.
+
+.. _summary.single: http://www.mothur.org/wiki/Summary.single
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/tree.shared.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/tree.shared.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,107 @@
+
+ Generate a newick tree for dissimilarity among groups
+
+ mothur_wrapper.py
+ --cmd='tree.shared'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?([a-z]+\.(unique|[0-9.]*)\.tre)$:tre'
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --READ_label='$input.label'
+ #end if
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc=$calc
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The tree.shared_ command will generate a newick-formatted tree file that describes the dissimilarity (1-similarity) among multiple groups.
+
+.. _tree.shared: http://www.mothur.org/wiki/Tree.shared
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/trim.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/trim.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,113 @@
+
+ Trim sequences - primers, barcodes, quality
+
+ mothur_wrapper.py
+ --cmd='trim.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.trim\.fasta$:'$trim_fasta,'^\S+\.trim\.qual$:'$trim_qual,'^\S+\.scrap\.fasta$:'$scrap_fasta,'^\S+\.scrap\.qual$:'$scrap_qual,'^\S+\.groups$:'$groups_file
+ --outputdir='$logfile.extra_files_path'
+ #if $minlength > 0:
+ --minlength=$minlength
+ #end if
+ #if $maxlength > 0:
+ --maxlength=$maxlength
+ #end if
+ #if $maxambig >= 0:
+ --maxambig=$maxambig
+ #end if
+ #if $maxhomop > 0:
+ --maxhomop=$maxhomop
+ #end if
+ #if $oligo.add == "yes":
+ --oligos=$oligo.oligos
+ #if $oligo.bdiffs > 0:
+ --bdiffs=$oligo.bdiffs
+ #end if
+ #if $oligo.pdiffs > 0:
+ --pdiffs=$oligo.pdiffs
+ #end if
+ #if $oligo.tdiffs > 0:
+ --tdiffs=$oligo.tdiffs
+ #end if
+ #end if
+ #if $qual.add == "yes":
+ --qfile=$qual.qfile
+ #if $qual.qaverage > 0:
+ --qaverage=$qual.qaverage
+ #end if
+ #if $qual.qthreshold > 0:
+ --qthreshold=$qual.qthreshold
+ #end if
+ $qual.qtrim
+ #end if
+ $flip
+ --fasta=$fasta
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ qfile != None and len(qfile) > 0
+
+
+
+ qfile != None and len(qfile) > 0
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The trim.seqs_ command provides the preprocessing features needed to screen and sort pyrosequences. The command will enable you to trim off primer sequences and barcodes, use the barcode information to generate a group file and split a fasta file into sub-files, screen sequences based on the qual file that comes from 454 sequencers, cull sequences based on sequence length and the presence of ambiguous bases and get the reverse complement of your sequences. While this analysis is clearly geared towards pyrosequencing collections, it can also be used with traditional Sanger sequences.
+
+.. _trim.seqs: http://www.mothur.org/wiki/Trim.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/unifrac.unweighted.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/unifrac.unweighted.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,89 @@
+
+ Describes whether two or more communities have the same structure
+
+ mothur_wrapper.py
+ --cmd='unifrac.unweighted'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.uwsummary$:'$summary,'^\S+\.unweighted\.(column\.|philip\.)?dist$:'$dist
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.tree'
+ --READ_tree=$tree
+ #if $group.__str__ != "None" and len($group.__str__) > 0:
+ --READ_group='$group'
+ #end if
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups='$groups'
+ #end if
+ #if $name.__str__ != "None" and len($name.__str__) > 0:
+ --READ_name='$name'
+ #end if
+ #if int($iters.__str__) > 0:
+ --iters=$iters
+ #end if
+ $random
+ #if $distance.__str__ != "false":
+ --distance=$distance
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ distance != 'false'
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The unifrac.unweighted_ command the unweighted UniFrac algorithm. The unifrac.weighted command implements the weighted version of the command. Both of these methods are available through the UniFrac website. The UniFrac methods are generic tests that describes whether two or more communities have the same structure. The significance of the test statistic can only indicate the probability that the communities have the same structure by chance. The value does not indicate a level of similarity.
+
+.. _unifrac.unweighted: http://www.mothur.org/wiki/Unifrac.unweighted
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/unifrac.weighted.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/unifrac.weighted.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,90 @@
+
+ Describes whether two or more communities have the same structure
+
+ mothur_wrapper.py
+ --cmd='unifrac.weighted'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.wsummary$:'$summary,'^\S+\.weighted\.(column\.|philip\.)?dist$:'$dist
+ --outputdir='$logfile.extra_files_path'
+ --READ_cmd='read.tree'
+ --READ_tree=$tree
+ #if $group.__str__ != "None" and len($group.__str__) > 0:
+ --READ_group='$group'
+ #end if
+ #if $groups.__str__ != "None" and len($groups.__str__) > 0:
+ --groups='$groups'
+ #end if
+ #if $name.__str__ != "None" and len($name.__str__) > 0:
+ --READ_name='$name'
+ #end if
+ #if int($iters.__str__) > 0:
+ --iters=$iters
+ #end if
+ $random
+ #if $distance.__str__ != "false":
+ --distance=$distance
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ distance != 'false'
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The unifrac.weighted_ command implements the weighted UniFrac algorithm. The unifrac.unweighted command implements the unweighted version of the command. Both of these methods are available through the UniFrac website. The UniFrac methods are generic tests that describes whether two or more communities have the same structure. The significance of the test statistic can only indicate the probability that the communities have the same structure by chance. The value does not indicate a level of similarity.
+
+.. _unifrac.weighted: http://www.mothur.org/wiki/Unifrac.weighted
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/unique.seqs.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/unique.seqs.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,42 @@
+
+ Return unique sequences
+
+ mothur_wrapper.py
+ --cmd='unique.seqs'
+ --result='^mothur.\S+\.logfile$:'$logfile,'^\S+\.unique\.\w+$:'$out_fasta,'^\S+\.names$:'$out_names
+ --outputdir='$logfile.extra_files_path'
+ --fasta=$fasta
+ --name=$names
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The unique.seqs_ command returns only the unique sequences found in a fasta-formatted sequence file and a file that indicates those sequences that are identical to the reference sequence.
+
+.. _unique.seqs: http://www.mothur.org/wiki/Unique.seqs
+
+
+
+
diff -r 000000000000 -r 591e72edabed mothur/tools/mothur/venn.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mothur/tools/mothur/venn.xml Tue Jun 07 16:54:12 2011 -0400
@@ -0,0 +1,115 @@
+
+ Generate Venn diagrams gor groups
+
+ mothur_wrapper.py
+ --cmd='venn'
+ --result='^mothur.\S+\.logfile$:'$logfile
+ --outputdir='$logfile.extra_files_path'
+ --datasetid='$logfile.id' --new_file_path='$__new_file_path__'
+ --new_datasets='^\S+?\.(\S+\.svg)$:svg'
+ --READ_cmd='read.otu'
+ #if $input.source == 'similarity':
+ --READ_list=$input.otu
+ #if $otu_group.__str__ != "None" and len($otu_group.__str__) > 0:
+ --READ_group='$otu_group'
+ #end if
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --label='$input.label'
+ #end if
+ #if $input.calc.__str__ != "None" and len($input.calc.__str__) > 0:
+ --calc='$input.calc'
+ #end if
+ #elif $input.source == 'shared':
+ --READ_shared=$input.otu
+ #if $input.label.__str__ != "None" and len($input.label.__str__) > 0:
+ --label='$input.label'
+ #end if
+ #if $calc.__str__ != "None" and len($calc.__str__) > 0:
+ --calc='$calc'
+ #end if
+ $nseqs
+ $permute
+ #end if
+ #if $input.groups.__str__ != "None" and len($input.groups.__str__) > 0:
+ --groups=$input.groups
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mothur
+
+
+
+
+**Mothur Overview**
+
+Mothur_, initiated by Dr. Patrick Schloss and his software development team
+in the Department of Microbiology and Immunology at The University of Michigan,
+provides bioinformatics for the microbial ecology community.
+
+.. _Mothur: http://www.mothur.org/wiki/Main_Page
+
+**Command Documenation**
+
+The venn_ command generates Venn diagrams to compare the richness shared among 2, 3, or 4 groups.
+
+.. _venn: http://www.mothur.org/wiki/Venn
+
+
+