Repository 'meme_chip'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/meme_chip

Changeset 0:6095db402811 (2018-04-20)
Next changeset 1:091a9d638d78 (2018-11-15)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/meme_chip commit 9068afc3812495aaf88c9a2f5a224c634d634742
added:
get_meme_motif_databases.py
macros.xml
meme_chip.xml
meme_motif_databases.loc.sample
test-data/input1.fasta
test-data/output1.html
tool_data_table_conf.xml.sample
b
diff -r 000000000000 -r 6095db402811 get_meme_motif_databases.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/get_meme_motif_databases.py Fri Apr 20 09:03:44 2018 -0400
[
@@ -0,0 +1,11 @@
+import os
+
+
+def get_meme_motif_database_options(file_path):
+    options = []
+    if not os.path.isdir(file_path):
+        return options
+    for i, file_name in enumerate(os.listdir(file_path)):
+        full_path = os.path.join(file_path, file_name)
+        options.append((file_name, full_path, i == 0))
+    return options
b
diff -r 000000000000 -r 6095db402811 macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Fri Apr 20 09:03:44 2018 -0400
b
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<macros>
+    <token name="@WRAPPER_VERSION@">4.11.2</token>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="1.3.23">graphicsmagick</requirement>
+            <requirement type="package" version="4.11.2">meme</requirement>
+        </requirements>
+    </xml>
+</macros>
+
b
diff -r 000000000000 -r 6095db402811 meme_chip.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meme_chip.xml Fri Apr 20 09:03:44 2018 -0400
[
b'@@ -0,0 +1,224 @@\n+<tool id="meme_chip" name="MEME-ChIP" version="4.11.2">\n+    <description>- motif discovery, enrichment analysis and clustering on large nucleotide datasets</description>\n+    <macros>\n+        <import>macros.xml</import>\n+    </macros>\n+    <expand macro="requirements" />\n+    <code file="get_meme_motif_databases.py" />\n+    <command detect_errors="exit_code"><![CDATA[\n+#import os\n+#set primary_output = $os.path.join($output.files_path, "index.html")\n+meme-chip \'$input\'\n+-noecho\n+#if $control:\n+    -neg \'$control\'\n+#end if\n+$sequence_alphabet\n+-o \'$output.files_path\'\n+#if str($options_type_cond.options_type)==\'advanced\':\n+    ## FIXME: CentriMo cannot be run,  See the comments in the input section.\n+    ## #set run_centrimo = $options_type_cond.run_centrimo_cond.run_centrimo\n+    ## #if str($run_centrimo) == "yes":\n+    ##     -db $options_type_cond.run_centrimo_cond.meme_motif_databases.fields.path\n+    ##     #if $options_type_cond.run_centrimo_cond.centrimo_local:\n+    ##         -centrimo-local\n+    ##     #end if\n+    ##     #if $options_type_cond.run_centrimo_cond.centrimo_score:\n+    ##         -centrimo-score $options_type_cond.run_centrimo_cond.centrimo_score\n+    ##     #end if\n+    ##     #if $options_type_cond.run_centrimo_cond.centrimo_maxreg:\n+    ##         -centrimo-maxreg $options_type_cond.run_centrimo_cond.centrimo_maxreg\n+    ##     #end if\n+    ##     #if $options_type_cond.run_centrimo_cond.centrimo_ethresh:\n+    ##         -centrimo-ethresh $options_type_cond.run_centrimo_cond.centrimo_ethresh\n+    ##     #end if\n+    ##     #if $options_type_cond.run_centrimo_cond.centrimo_noseq:\n+    ##         -centrimo-noseq\n+    ##     #end if\n+    ##     #if $options_type_cond.run_centrimo_cond.centrimo_flip:\n+    ##         -centrimo-flip\n+    ##     #end if\n+    ## #end if\n+    $options_type_cond.search_given_strand\n+    -order $options_type_cond.background_model_order\n+    #if str($options_type_cond.subsampling_cond.subsampling) == "no":\n+        -norand\n+        #if $options_type_cond.subsampling_cond.subsampling.seed:\n+            -seed $options_type_cond.subsampling_cond.subsampling.seed\n+        #end if\n+    #end if\n+    #if $options_type_cond.nmeme:\n+        -nmeme $options_type_cond.nmeme\n+    #end if\n+    #if $options_type_cond.ccut:\n+        -ccut $options_type_cond.ccut\n+    #end if\n+    -group-thresh $options_type_cond.group_threash\n+    #if str($options_type_cond.group_weak):\n+        -group-weak $options_type_cond.group_weak\n+    #end if\n+    -filter-thresh $options_type_cond.filter_thresh\n+    $options_type_cond.old_clustering\n+    -meme-mod $options_type_cond.meme_mod\n+    #if $options_type_cond.meme_minw:\n+        -meme-minw $options_type_cond.meme_minw\n+    #end if\n+    #if $options_type_cond.meme_maxw:\n+        -meme-maxw $options_type_cond.meme_maxw\n+    #end if\n+    #if $options_type_cond.meme_nmotifs:\n+        -meme-nmotifs $options_type_cond.meme_nmotifs\n+    #end if\n+    #if $options_type_cond.meme_minsites:\n+        -meme-minsites $options_type_cond.meme_minsites\n+    #end if\n+    #if $options_type_cond.meme_maxsites:\n+        -meme-maxsites $options_type_cond.meme_maxsites\n+    #end if\n+    $options_type_cond.meme_pal\n+    -dreme-e $options_type_cond.dreme_e\n+    -dreme-m $options_type_cond.dreme_m\n+    -spamo-skip\n+    -fimo-skip\n+#end if\n+&& rm \'$output\'\n+&& ln -s $primary_output \'$output\'\n+    ]]></command>\n+    <inputs>\n+        <param name="input" type="data" format="fasta" label="Primary sequences" help="Nucleotide sequences must have equal length"/>\n+        <param name="control" type="data" format="fasta" optional="true" label="Control sequences" help="If no selection, positive sequences in the input are shuffled to create the negative set"/>\n+        <param name="sequence_alphabet" type="select" label="Sequence alphabet">\n+            <option value="-dna" selected="true">DNA</option>\n+            <option value="-rna">RNA</option>\n+        </param>\n+        <c'..b'r">Any number of repititions</option>\n+                </param>\n+                <param name="meme_minw" type="integer" optional="true" value="0" min="0" label="Minimum motif width"/>\n+                <param name="meme_maxw" type="integer" optional="true" value="0" min="0" label="Maximum motif width"/>\n+                <param name="meme_nmotifs" type="integer" optional="true" value="0" min="0" label="Maximum number of motifs to find"/>\n+                <param name="meme_minsites" type="integer" optional="true" value="0" min="0" label="Minimum number of sites per motif"/>\n+                <param name="meme_maxsites" type="integer" optional="true" value="0" label="Maximum number of sites per motif"/>\n+                <param argument="-meme_pal" type="boolean" truevalue="-meme-pal" falsevalue="" checked="False" label="Look for palindromes only"/>\n+                <param name="dreme_e" type="float" value="0.05" min="0" label="Stop DREME searching after reaching this E-value threshold"/>\n+                <param name="dreme_m" type="integer" value="10" min="1" label="Stop DREME searching after finding this many motifs" />\n+            </when>\n+        </conditional>\n+        <param name="non_commercial_use" label="I certify that I am not using this tool for commercial purposes." type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False">\n+            <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator>\n+        </param>\n+    </inputs>\n+    <outputs>\n+        <data name="output" format="html" label="${tool.name} (html) on ${on_string}"/>\n+    </outputs>\n+    <tests>\n+        <test>\n+            <param name="input" value="input1.fasta" ftype="fasta"/>\n+            <param name="non_commercial_use" value="True"/>\n+            <output name="output" file="output1.html" ftype="html" compare="contains"/>\n+        </test>\n+        <test>\n+            <param name="input" value="input1.fasta" ftype="fasta"/>\n+            <param name="sequence_alphabet" value="-rna"/>\n+            <param name="options_type" value="advanced"/>\n+            <param name="background_model_order" value="0"/>\n+            <param name="non_commercial_use" value="True"/>\n+            <output name="output" file="output1.html" ftype="html" compare="contains"/>\n+        </test>\n+    </tests>\n+    <help>\n+.. class:: warningmark\n+\n+**WARNING: This tool is only available for non-commercial use. Use for educational, research and non-profit purposes is permitted.\n+Before using, be sure to review, agree, and comply with the license.**\n+\n+MWMW-ChIP perform motif discovery, motif enrichment analysis and clustering on large nucleotide datasets.\n+\n+If you want to specify sequence weights, you must include them at the top of your input FASTA file.\n+\n+MEME discovers novel, ungapped motifs (recurring, fixed-length patterns) in your sequences (sample output from sequences).\n+MEME splits variable-length patterns into two or more separate motifs.  A motif is a sequence pattern that occurs repeatedly\n+in a group of related sequences.  MEME represents motifs as position-dependent letter-probability matrices which describe the\n+probability of each possible letter at each position in the pattern.  Individual MEME motifs do not contain gaps.  Patterns\n+with variable-length gaps are split by MEME into two or more separate motifs.  MEME takes as input a group of sequences and\n+outputs as many motifs as requested.  MEME uses statistical modeling techniques to automatically choose the best width, number\n+of occurrences, and description for each motif.\n+\n+.. class:: infomark\n+\n+For detailed information on MEME, click here_, or view the license_.\n+\n+.. _here: http://meme-suite.org/doc/meme.html?man_type=web\n+.. _license: http://meme-suite.org/doc/copyright.html?man_type=web\n+\n+    </help>\n+    <citations>\n+        <citation type="doi">10.1093/bioinformatics/btr189</citation>\n+    </citations>\n+</tool>\n+\n'
b
diff -r 000000000000 -r 6095db402811 meme_motif_databases.loc.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/meme_motif_databases.loc.sample Fri Apr 20 09:03:44 2018 -0400
b
@@ -0,0 +1,7 @@
+# This file has the format (white space characters are TAB characters):
+#
+#<value> <name> <path> <description>
+#
+#So, meme_motif_databases.loc could look something like this:
+#
+#2017_12 2017_12 /meme_motif_databases/2017_12 December 2017
b
diff -r 000000000000 -r 6095db402811 test-data/input1.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/input1.fasta Fri Apr 20 09:03:44 2018 -0400
b
@@ -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
b
diff -r 000000000000 -r 6095db402811 test-data/output1.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output1.html Fri Apr 20 09:03:44 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>
b
diff -r 000000000000 -r 6095db402811 tool_data_table_conf.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample Fri Apr 20 09:03:44 2018 -0400
b
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Location of meme_motif_databases -->
+    <table name="meme_motif_databases" comment_char="#" allow_duplicate_entries="False">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/meme_motif_databases.loc" />
+    </table>
+</tables>