changeset 7:c321ab02c2a0 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/meme_chip commit 9068afc3812495aaf88c9a2f5a224c634d634742
author iuc
date Fri, 20 Apr 2018 09:03:24 -0400
parents 444093446b0b
children 81c0806236ef
files .shed.yml get_meme_motif_databases.py meme_chip.xml test-data/input1.fasta test-data/output1.html
diffstat 5 files changed, 163 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/.shed.yml	Mon Apr 16 13:01:45 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-name: meme_chip
-owner: iuc
-description: |
-  Performs motif discovery, motif enrichment analysis and clustering on large nucleotide datasets.
-homepage_url: http://meme-suite.org/
-long_description: |
-  MEME-ChIP performs motif discovery, motif enrichment analysis and clustering on large nucleotide datasets.
-  The MEME Suite supports motif-based analysis of DNA, RNA and protein sequences.  It provides motif
-  discovery algorithms using both probabilistic (MEME) and discrete models (MEME), which have complementary
-  strengths.  It also allows discovery of motifs with arbitrary insertions and deletions (GLAM2).  In
-  addition to motif discovery, the MEME Suite provides tools for scanning sequences for matches to motifs
-  (FIMO, MAST and GLAM2Scan), scanning for clusters of motifs (MCAST), comparing motifs to known motifs
-  (Tomtom), finding preferred spacings between motifs (SpaMo), predicting the biological roles of motifs
-  (GOMo), measuring the positional enrichment of sequences for known motifs (CentriMo), and analyzing
-  ChIP-seq and other large datasets (MEME-ChIP).  The MEME Suite is comprised of a collection of tools
-  that work together.
-auto_tool_repositories:
-  name_template: "{{ tool_id }}"
-  description_template: "{{ tool_name }} tool from the meme package"
-remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/meme_chip
-type: unrestricted
-categories:
-  - ChIP-seq
--- a/get_meme_motif_databases.py	Mon Apr 16 13:01:45 2018 -0400
+++ b/get_meme_motif_databases.py	Fri Apr 20 09:03:24 2018 -0400
@@ -9,4 +9,3 @@
         full_path = os.path.join(file_path, file_name)
         options.append((file_name, full_path, i == 0))
     return options
-
--- a/meme_chip.xml	Mon Apr 16 13:01:45 2018 -0400
+++ b/meme_chip.xml	Fri Apr 20 09:03:24 2018 -0400
@@ -8,7 +8,6 @@
     <command detect_errors="exit_code"><![CDATA[
 #import os
 #set primary_output = $os.path.join($output.files_path, "index.html")
-#set options_type = $options_type_cond.options_type
 meme-chip '$input'
 -noecho
 #if $control:
@@ -16,7 +15,7 @@
 #end if
 $sequence_alphabet
 -o '$output.files_path'
-#if str($options_type)=='advanced':
+#if str($options_type_cond.options_type)=='advanced':
     ## FIXME: CentriMo cannot be run,  See the comments in the input section.
     ## #set run_centrimo = $options_type_cond.run_centrimo_cond.run_centrimo
     ## #if str($run_centrimo) == "yes":
@@ -40,14 +39,11 @@
     ##         -centrimo-flip
     ##     #end if
     ## #end if
-    #if $options_type_cond.search_given_strand:
-        -norc
-    #end if
+    $options_type_cond.search_given_strand
     -order $options_type_cond.background_model_order
     #if str($options_type_cond.subsampling_cond.subsampling) == "no":
         -norand
-        #set seed = $options_type_cond.subsampling_cond.subsampling.seed
-        #if $seed:
+        #if $options_type_cond.subsampling_cond.subsampling.seed:
             -seed $options_type_cond.subsampling_cond.subsampling.seed
         #end if
     #end if
@@ -58,13 +54,11 @@
         -ccut $options_type_cond.ccut
     #end if
     -group-thresh $options_type_cond.group_threash
-    #if $options_type_cond.group_weak:
+    #if str($options_type_cond.group_weak):
         -group-weak $options_type_cond.group_weak
     #end if
     -filter-thresh $options_type_cond.filter_thresh
-    #if $options_type_cond.old_clustering:
-        -old-clustering
-    #end if
+    $options_type_cond.old_clustering
     -meme-mod $options_type_cond.meme_mod
     #if $options_type_cond.meme_minw:
         -meme-minw $options_type_cond.meme_minw
@@ -81,9 +75,7 @@
     #if $options_type_cond.meme_maxsites:
         -meme-maxsites $options_type_cond.meme_maxsites
     #end if
-    #if $options_type_cond.meme_pal:
-        -meme-pal
-    #end if
+    $options_type_cond.meme_pal
     -dreme-e $options_type_cond.dreme_e
     -dreme-m $options_type_cond.dreme_m
     -spamo-skip
@@ -145,14 +137,14 @@
                     <option value="3">3rd order model of sequences</option>
                     <option value="4">4th order model of sequences</option>
                 </param>
-                <param name="nmeme" type="integer" optional="true" value="0" min="0" label="Limit of sequences to pass to MEME" help="Zero value has no effect"/>
+                <param name="nmeme" type="integer" optional="true" value="" min="1" label="Limit of sequences to pass to MEME"/>
                 <conditional name="subsampling_cond">
                     <param name="subsampling" type="select" label="Should subsampling be random?" help="Select 'No' if your input sequences are sorted in order of confidence (best to worst)">
                         <option value="yes" selected="true">Yes</option>
                         <option value="no">No</option>
                     </param>
                     <when value="yes">
-                        <param name="seed" type="integer" optional="true" value="0" min="0" label="Seed for the randomized selection of sequences" help="Zero value indicates random seeding"/>
+                        <param name="seed" type="integer" optional="true" value="" min="1" label="Seed for the randomized selection of sequences"/>
                     </when>
                     <when value="no"/>
                 </conditional>
@@ -160,8 +152,8 @@
                 <param name="group_threash" type="float" value="0.05" min="0" label="Primary threshold for clustering motifs" />
                 <param name="group_weak" type="float" optional="true" value="0" min="0" label="Secondary threshold for clustering motifs" help="Zero value results in 2*primary threshold"/>
                 <param name="filter_thresh" type="float" value="0.05" min="0" label="E-value threshold for including motifs"/>
-                <param name="search_given_strand" type="boolean" truevalue="true" falsevalue="" checked="False" label="Search given strand only"/>
-                <param name="old_clustering" type="boolean" truevalue="true" falsevalue="" checked="False" label="Pick cluster seed motifs based only on significance"/>
+                <param name="search_given_strand" type="boolean" truevalue="-norc" falsevalue="" checked="False" label="Search given strand only"/>
+                <param argument="-old_clustering" type="boolean" truevalue="-old_clustering" falsevalue="" checked="False" label="Pick cluster seed motifs based only on significance"/>
                 <param name="meme_mod" type="select" label="What is the expected motif site distribution?">
                     <option value="oops" selected="True">One occurance per sequence</option>
                     <option value="zoops">Zero or one occurances per sequence</option>
@@ -172,7 +164,7 @@
                 <param name="meme_nmotifs" type="integer" optional="true" value="0" min="0" label="Maximum number of motifs to find"/>
                 <param name="meme_minsites" type="integer" optional="true" value="0" min="0" label="Minimum number of sites per motif"/>
                 <param name="meme_maxsites" type="integer" optional="true" value="0" label="Maximum number of sites per motif"/>
-                <param name="meme_pal" type="boolean" truevalue="true" falsevalue="" checked="False" label="Look for palindromes only"/>
+                <param argument="-meme_pal" type="boolean" truevalue="-meme-pal" falsevalue="" checked="False" label="Look for palindromes only"/>
                 <param name="dreme_e" type="float" value="0.05" min="0" label="Stop DREME searching after reaching this E-value threshold"/>
                 <param name="dreme_m" type="integer" value="10" min="1" label="Stop DREME searching after finding this many motifs" />
             </when>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input1.fasta	Fri Apr 20 09:03:24 2018 -0400
@@ -0,0 +1,66 @@
+>chr21_19617074_19617124_+
+AAAAATTATTACTAGGGAGGGGGCCGGAACCTCGGGACGTGGGTATATAA
+>chr21_26934381_26934431_+
+GCGCCTGGTCGGTTATGAGTCACAAGTGAGTTATAAAAGGGTCGCACGTT
+>chr21_28217753_28217803_-
+CAAAGGGGAGGAGTGGGGTGGGGGTGGGGGTTTCACTGGTCCACTATAAA
+>chr21_31710037_31710087_-
+AACACCCAGGTTTCTGAGTATATAATCGCCGCACCAAAGAATTTAATTTT
+>chr21_31744582_31744632_-
+CCCAGGTCTAAGAGCATATATAACTTGGAGTCCAGACTATGACATTCAAA
+>chr21_31768316_31768366_+
+AACGTATATAAATGGTCCTGTCCAGATGTGGCATGCAAACTCAGAATCTT
+>chr21_31914206_31914256_-
+TGACACCCACTACTTAGAGTATAAAATCATTCTGAGAAGTTAGAGACACC
+>chr21_31933633_31933683_-
+TCAGAGTATATATAAATGTTCCTGTCCAGTCACAGTCACCAAACTGACCT
+>chr21_31962741_31962791_-
+ACATATAACTCAGGTTGGATAAAATAATTTGTACAAATCAGGAGAGTCAA
+>chr21_31964683_31964733_+
+TCTGATTCACTGAGGCATATAAAAGGCCCTCTGCGGAGAAGTGTCCATAC
+>chr21_31973364_31973414_+
+aaacttaaaactctataaacttaaaactCTAGAATCTGATCCTGCTATAC
+>chr21_31992870_31992920_+
+CTCATACACTATTGAAGATGTATAAAATTTCATTTGCAGATGGTGACATT
+>chr21_32185595_32185645_-
+TCACCACCCACCAGAGCTGGGATATATAAAGAAGGTTCTGAGACTAGGAA
+>chr21_32202076_32202126_-
+TGCCCACCAGCTTGAGGTATAAAAAGCCCTGTACGGGAAGAGACCTTCAT
+>chr21_32253899_32253949_-
+AGCCCCACCCACCAGCAAGGATATATAAAAGCTCAGGAGTCTGGAGTGAC
+>chr21_32410820_32410870_-
+TCTACCCCACTAATCACTGAGGATGTATAAAAGTCCCAGGGAAGCTGGTG
+>chr21_36411748_36411798_-
+ATAGTTCTGTATAGTTTCAGTTGGCATCtaaaaattatataactttattt
+>chr21_37838750_37838800_-
+gatggttttataaggggcctcaccctcggctcagccctcattcttctcct
+>chr21_45705687_45705737_+
+CCGGGGCGGAGCGGCCTTTGCTCTTTGCGTGGTCGCGGGGGTATAACAGC
+>chr21_45971413_45971463_-
+CAGGCCCTGGGCATATAAAAGCCCCAGCAGCCAACAGGctcacacacaca
+>chr21_45978668_45978718_-
+CAGAGGGGTATAAAGGTTCCGACCACTCAGAGGCCTGGCACGAtcactca
+>chr21_45993530_45993580_+
+CCAAGGAGGAGTATAAAAGCCCCACAAACCCGAGCACCTCACTCACTCGC
+>chr21_46020421_46020471_+
+GAGACATATAAAAGCCAACATCCCTGAGCACCTAACACACGGactcactc
+>chr21_46031920_46031970_+
+GGAAAATACCCAGGGAGGGTATAAAACCTCAGCAGCCAGGGCACACAAAC
+>chr21_46046964_46047014_+
+ACAAGGCCAGGAGGGGTATAAAAGCCTGAGAGCCCCAAGAACctcacaca
+>chr21_46057197_46057247_+
+ATTGCTGAGTCTCCTGCTGGGAAAACACAGGCCCTGGGCATATAAAAGCC
+>chr21_46086869_46086919_-
+GACAGGTGTGCTTCTGTGCTGTGGGGATGCCTGGGCCCAGGTATAAAGGC
+>chr21_46102103_46102153_-
+AGGTGTGTGCTTCTGTGCTGTGGGGATGCCTGGGTCCAGGTATAAAGGCT
+>chr21_47517957_47518007_+
+CCTGGCGGCGGGGCGGGTCAGGCCGGCGGGGCGGGGTATAAAGGGGGCGG
+>chr21_47517957_47518007_+
+CCTGGCGGCGGGGCGGGTCAGGCCGGCGGGGCGGGGTATAAAGGGGGCGG
+>chr21_47517957_47518007_+
+CCTGGCGGCGGGGCGGGTCAGGCCGGCGGGGCGGGGTATAAAGGGGGCGG
+>chr21_47575506_47575556_-
+TGAGAAGCCGGTGGGGAGGTGCTGCCGGTGAGCGTATAAAGGCCCTGGCG
+>chr21_47575506_47575556_-
+TGAGAAGCCGGTGGGGAGGTGCTGCCGGTGAGCGTATAAAGGCCCTGGCG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output1.html	Fri Apr 20 09:03:24 2018 -0400
@@ -0,0 +1,86 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset="UTF-8">
+    <title>MEME ChIP</title>
+  </head>
+  <body onload="page_loaded()" onpageshow="page_shown(event)" 
+    onresize="page_resize()" onscroll="delayed_process_draw_tasks()">
+    <div class="prog_logo big">
+      <h1>MEME-ChIP</h1>
+      <h2>Motif Analysis of Large Nucleotide Datasets</h2>
+    </div>
+    <p>
+      If you use MEME-ChIP in your research, please cite the following paper:<br />
+    </p>
+    <!-- navigation -->
+    <div class="pad2">
+      <a class="jump" href="#data_sec">Motifs</a>
+      &nbsp;&nbsp;|&nbsp;&nbsp;
+      <a class="jump" href="#programs_sec">Programs</a>
+      &nbsp;&nbsp;|&nbsp;&nbsp;
+      <a class="jump" href="#input_sec">Input Files</a>
+      &nbsp;&nbsp;|&nbsp;&nbsp;
+      <a class="jump" href="#info_sec">Program information</a>
+    </div>
+    <!-- alert the user when their browser is not up to the task -->
+    <noscript><h1 style="color:red">Javascript is required to view these results!</h1></noscript>
+    <h1 id="html5_warning" style="color:red; display:none;">Your browser does not support canvas!</h1>
+    <script>if (!window.HTMLCanvasElement) $("html5_warning").style.display = "block";</script>
+    <!-- write out the job description -->
+    <span id="ins_desc"></span>
+    <script>make_description($("ins_desc"), data["description"]);</script>
+    <!-- write out clustered motifs -->
+    <h2 class="mainh pad2" id="data_sec">Motifs</h2>
+    <div class="box">
+      <p>The significant motifs 
+      (E-value &le; <span id="ins_filter_thresh"></span>)
+      found by the programs MEME, DREME and CentriMo; 
+      clustered by similarity and ordered by E-value.</p>
+      <script>$("ins_filter_thresh").innerHTML = data["filter_thresh"]; </script>
+      <div class="motifbox">
+        <span class="action" onclick="show_all(true)">Expand All Clusters</span>
+        <span class="action" onclick="show_all(false)">Collapse All Clusters</span>
+      </div>
+      <div id="logos"></div>
+      <script>make_clustered_motifs($("logos"));</script>
+    </div>
+    <!-- write out a list of all programs run -->
+    <h2 class="mainh pad2" id="programs_sec">Programs</h2>
+    <div class="box" id="program_listing"></div>
+    <script>make_program_listing($("program_listing"));</script>
+    <!-- write out input files -->
+    <h2 id="input_sec" class="mainh pad2">Input Files</h2>
+    <div id="input_files" class="box">
+      <div id="sequence_db"></div>
+      <script>make_sequence_db_listing('sequence_db', "Primary Sequences");</script>
+      <div id="neg_sequence_db"></div>
+      <script>make_sequence_db_listing('neg_sequence_db', "Control Sequences");</script>
+      <h4 id="motif_dbs_header">Motifs</h4>
+      <div id="motif_dbs"></div>
+      <script>make_motif_db_listing($("motif_dbs"));</script>
+    </div>
+    <!-- list information on this program -->
+    <div id="info_sec" class="bar">
+      <div class="subsection">
+        <h5 id="version">MEME-ChIP version</h5>
+        <span id="ins_version"></span> 
+        (Release date: <span id="ins_release"></span>)<br>
+      </div>
+      <script>
+        $("ins_version").innerHTML = data["version"];
+        $("ins_release").innerHTML = data["release"];
+      </script>
+      <div class="subsection">
+        <h5 id="reference">Reference</h5>
+        <div class="subsection">
+          <h5 id="command">Command line summary</h5>
+          <textarea id="cmd" rows="5" style="width:100%;" readonly="readonly">
+          </textarea>
+          <script>$("cmd").value = data["cmd"].join(" ");</script>
+        </div>
+      </div>
+    </div>
+    <div id="scrollpad"></div>
+  </body>
+</html>