Mercurial > repos > iuc > meme_fimo
changeset 4:e5e9a09ac2de draft
Uploaded
| author | iuc |
|---|---|
| date | Wed, 29 Jun 2016 08:26:51 -0400 |
| parents | d44c2896957f |
| children | 6f4ba26d4659 |
| files | Users/gvk/work/git_workspace/tools-iuc/tools/meme/fimo.xml Users/gvk/work/git_workspace/tools-iuc/tools/meme/fimo_wrapper.py fimo.xml fimo_wrapper.py meme.xml test-data/meme_input_1.fasta test-data/prior30.plib |
| diffstat | 7 files changed, 683 insertions(+), 491 deletions(-) [+] |
line wrap: on
line diff
--- a/Users/gvk/work/git_workspace/tools-iuc/tools/meme/fimo.xml Wed Jun 29 08:24:33 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,294 +0,0 @@ -<tool id="meme_fimo" name="FIMO" version="4.11.0.3"> - <description>- Scan a set of sequences for motifs.</description> - <requirements> - <requirement type="package" version="6.9.3">imagemagick</requirement> - <requirement type="package" version="4.11.0">meme</requirement> - </requirements> - <command> - <![CDATA[ - mkdir -p output && - python $__tool_directory__/fimo_wrapper.py - --input_motifs "${input_motifs}" - #if str($fasta_type.fasta_type_selector) == 'history': - --input_fasta "${fasta_type.input_database}" - #else: - --input_fasta "${fasta_type.input_database.fields.path}" - #end if - --options_type $options_type.options_type_selector - #if str($options_type.options_type_selector) == 'advanced': - --alpha "${options_type.alpha}" - #if str($options_type.bgfile_type.bgfile_type_selector) == 'motif_file': - --bgfile "motif-file" - #elif str($options_type.bgfile_type.bgfile_type_selector) == 'bgfile': - --bgfile "${options_type.bgfile_type.bgfile}" - #end if - ${options_type.max_strand} - --max_stored_scores "${options_type.max_stored_scores}" - #if str($options_type.motifs_cond.motifs_selector) == 'no': - #for $motif in $options_type.motifs: - --motif "${motif.motif}" - #end for - #end if - --output_separate_motifs ${options_type.output_separate_motifs} - --motif_pseudo "${options_type.motif_pseudo}" - ${options_type.no_qvalue} - ${options_type.norc} - #if str($options_type.parse_genomic_coord_cond.parse_genomic_coord) == 'yes': - --parse_genomic_coord 'yes' - --remove_duplicate_coords ${options_type.parse_genomic_coord_cond.remove_duplicate_coords} - #end if - #if str($options_type.psp_cond.psp_selector) == 'yes': - --input_psp "${input_psp}" - #end if - #if str($options_type.prior_dist_cond.prior_dist_selector) == 'yes': - --input_prior_dist "${input_prior_dist}" - #end if - ${options_type.qv_thresh} - --thresh ${options_type.thresh} - #end if - --output_path '${html_outfile.files_path}' - --html_output "${html_outfile}" - --interval_output '${interval_outfile}' - --txt_output "${txt_outfile}" - --xml_output "${xml_outfile}" - --gff_output "${gff_outfile}" - ]]> - </command> - <inputs> - <param name="input_motifs" type="data" format="memexml" label="'MEME output' formatted file"/> - <conditional name="fasta_type"> - <param name="fasta_type_selector" type="select" label="Source for sequence to search"> - <option value="cached">Locally Cached sequences</option> - <option value="history" selected="true">Sequences from your history</option> - </param> - <when value="cached"> - <param name="input_database" type="select" label="Genome to search"> - <options from_data_table="all_fasta" /> - </param> - </when> - <when value="history"> - <param format="fasta" name="input_database" type="data" label="Sequences"/> - </when> - </conditional> - <conditional name="options_type"> - <param name="options_type_selector" type="select" label="Options configuration"> - <option value="basic" selected="true">Basic</option> - <option value="advanced">Advanced</option> - </param> - <when value="basic" /> - <when value="advanced"> - <param name="alpha" type="float" value="1.0" min="0" max="1.0" label="Alpha parameter for calculating position specific priors" help="Represents the fraction of all transcription factor binding sites that are binding sites for the TF of interest (must be between 0 and 1)."/> - <conditional name="bgfile_type"> - <param name="bgfile_type_selector" type="select" label="Background file type"> - <option value="default" selected="true">Use frequencies embedded in the application from the non-redundant database</option> - <option value="motif_file">Use frequencies from motif file</option> - <option value="bgfile">Use frequencies from background file</option> - </param> - <when value="motif_file" /> - <when value="default" /> - <when value="bgfile"> - <param name="bgfile" type="data" format="txt" optional="True" label="Background Model" help="File must be in MEME background file format."/> - </when> - </conditional> - <param name="max_strand" label="If matches on both strands at a given position satisfy the output threshold, only report the match for the strand with the higher score" type="boolean" truevalue="--max_strand" falsevalue="" checked="False" help="If the scores are tied, the matching strand is chosen at random. Leave unchecked to report both matches."/> - <param name="max_stored_scores" type="integer" value="100000" label="Maximum number of scores that will be stored" /> - <conditional name="motifs_cond"> - <param name="motifs_selector" type="select" label="Use all motifs in input?"> - <option value="yes" selected="true">Yes</option> - <option value="no">No</option> - </param> - <when value="yes"/> - <when value="no"> - <repeat name="motifs" title="Limit to specified motif"> - <param name="motif" type="text" value="" label="Specify motif by id" /> - </repeat> - </when> - </conditional> - <param name="output_separate_motifs" type="select" label="Output a dataset per motif?" help="Output a collection consisting of a separate dataset for each motif in the input"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <param name="motif_pseudo" type="float" value="0.1" label="Pseudocount to add to counts in motif matrix" help="A pseudocount to be added to each count in the motif matrix, after first multiplying by the corresponding background frequency"/> - <param name="no_qvalue" label="Do not compute a q-value for each p-value" type="boolean" truevalue="--no_qvalue" falsevalue="" checked="True" help="The q-value calculation is that of Benjamini and Hochberg (1995)."/> - <param name="norc" label="Do not score the reverse complement DNA strand" type="boolean" truevalue="--norc" falsevalue="" checked="False" /> - <conditional name="parse_genomic_coord_cond"> - <param name="parse_genomic_coord" label="Check each sequence header for UCSC style genomic coordinates" type="select"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="yes"> - <param name="remove_duplicate_coords" type="select" label="Remove duplicate entries in unique GFF coordinates?" help="Remove duplicate entries as defined by the unique GFF coordinates"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - </when> - <when value="no"/> - </conditional> - <conditional name="psp_cond"> - <param name="psp_selector" type="select" label="Use position-specific priors?"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no"/> - <when value="yes"> - <param name="input_psp" type="data" format="txt" label="Select dataset containing position specific priors" help="Format must be meme psp or wiggle."/> - </when> - </conditional> - <conditional name="prior_dist_cond"> - <param name="prior_dist_selector" type="select" label="Use binned distribution of priors?"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no"/> - <when value="yes"> - <param name="input_prior_dist" type="data" format="txt" label="Select dataset containing binned distribution of priors"/> - </when> - </conditional> - <param name="qv_thresh" label="Use q-values for the output threshold" type="boolean" truevalue="--qv_thresh" falsevalue="" checked="False" help="Leave unchecked to use p-values for the output threshold."/> - <param name="thresh" type="float" value="1e-4" label="Output threshold for displaying search results" help="Only search results with a p-value less than the threshold will be output. The threshold can be set to use q-values rather than p-values via the option above."/> - </when> - </conditional> - <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"> - <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator> - </param> - </inputs> - <outputs> - <data format="html" name="html_outfile" label="${tool.name} on ${on_string} (html)"> - <actions> - <conditional name="fasta_type.fasta_type_selector"> - <when value="cached"> - <action type="metadata" name="dbkey"> - <option type="from_data_table" name="all_fasta" column="1" offset="0"> - <filter type="param_value" column="0" value="seq" keep="True"/> - <filter type="param_value" ref="fasta_type.input_database" column="1"/> - </option> - </action> - </when> - </conditional> - </actions> - </data> - <data format="tabular" name="txt_outfile" label="${tool.name} on ${on_string} (text)"> - <actions> - <conditional name="fasta_type.fasta_type_selector"> - <when value="cached"> - <action type="metadata" name="dbkey"> - <option type="from_data_table" name="all_fasta" column="1" offset="0"> - <filter type="param_value" ref="fasta_type.input_database" column="0"/> - </option> - </action> - </when> - </conditional> - </actions> - </data> - <data format="tabular" name="gff_outfile" label="${tool.name} on ${on_string} (almost-gff)"> - <filter>options_type['output_separate_motifs'] == 'no'</filter> - <actions> - <conditional name="fasta_type.fasta_type_selector"> - <when value="cached"> - <action type="metadata" name="dbkey"> - <option type="from_data_table" name="all_fasta" column="1" offset="0"> - <filter type="param_value" ref="fasta_type.input_database" column="0"/> - </option> - </action> - </when> - </conditional> - </actions> - </data> - <collection name="motifs" type="list" label="Motifs: ${tool.name} on ${on_string}"> - <discover_datasets pattern="(?P<designation>.*)" directory="output" ext="gff" visible="false" /> - <filter>options_type['output_separate_motifs'] == 'yes'</filter> - </collection> - <data format="cisml" name="xml_outfile" label="${tool.name} on ${on_string} (xml)"> - <actions> - <conditional name="fasta_type.fasta_type_selector"> - <when value="cached"> - <action type="metadata" name="dbkey"> - <option type="from_data_table" name="all_fasta" column="1" offset="0"> - <filter type="param_value" ref="fasta_type.input_database" column="0"/> - </option> - </action> - </when> - </conditional> - </actions> - </data> - <data format="interval" name="interval_outfile" label="${tool.name} on ${on_string} (interval)"> - <actions> - <conditional name="fasta_type.fasta_type_selector"> - <when value="cached"> - <action type="metadata" name="dbkey"> - <option type="from_data_table" name="all_fasta" column="1" offset="0"> - <filter type="param_value" ref="fasta_type.input_database" column="0"/> - </option> - </action> - </when> - </conditional> - </actions> - </data> - </outputs> - <tests> - <test> - <param name="input_motifs" value="meme_output_xml_1.xml" ftype="memexml"/> - <param name="fasta_type_selector" value="history"/> - <param name="input_database" value="phiX.fasta" ftype="fasta"/> - <param name="options_type_selector" value="basic"/> - <param name="non_commercial_use" value="True"/> - <output name="html_outfile" file="fimo_output_html_1.html" compare="contains"/> - <output name="txt_outfile" file="fimo_output_txt_1.txt" compare="contains"/> - <output name="gff_outfile" file="fimo_output_almost-gff_1.txt" compare="contains"/> - <output name="xml_outfile" file="fimo_output_xml_1.xml" compare="contains"/> - <output name="interval_outfile" file="fimo_output_interval_1.txt" compare="contains"/> - </test> - <test> - <param name="input_motifs" value="meme_output_xml_1.xml" ftype="memexml"/> - <param name="fasta_type_selector" value="history"/> - <param name="input_database" value="phiX.fasta" ftype="fasta"/> - <param name="options_type_selector" value="advanced"/> - <param name="non_commercial_use" value="True"/> - <output name="html_outfile" file="fimo_output_html_2.html" compare="contains"/> - <output name="txt_outfile" file="fimo_output_txt_2.txt" compare="contains"/> - <output name="gff_outfile" file="fimo_output_almost-gff_2.txt" compare="contains"/> - <output name="xml_outfile" file="fimo_output_xml_2.xml" compare="contains"/> - <output name="interval_outfile" file="fimo_output_interval_2.txt" compare="contains"/> - </test> - <test> - <param name="input_motifs" value="meme_output_xml_1.xml" ftype="memexml"/> - <param name="fasta_type_selector" value="history"/> - <param name="input_database" value="phiX.fasta" ftype="fasta"/> - <param name="options_type_selector" value="advanced"/> - <param name="parse_genomic_coord" value="--parse_genomic_coord"/> - <param name="remove_duplicate_coords" value="yes"/> - <param name="output_separate_motifs" value="yes"/> - <param name="non_commercial_use" value="True"/> - <output name="html_outfile" file="fimo_output_html_2.html" compare="contains"/> - <output name="txt_outfile" file="fimo_output_txt_2.txt" compare="contains"/> - <output_collection name="motifs" type="list"> - <element name="MOTIF1.gff" file="motif1.gff" ftype="gff" compare="contains"/> - </output_collection> - <output name="xml_outfile" file="fimo_output_xml_2.xml" compare="contains"/> - <output name="interval_outfile" file="fimo_output_interval_2.txt" compare="contains"/> - </test> - </tests> - <help> - -.. class:: warningmark - -**WARNING: This tool is only available for non-commercial use. Use for educational, research and non-profit purposes is permitted. -Before using, be sure to review, agree, and comply with the license.** - -FIMO scans a sequence database for individual matches to each of the motifs you provide (sample output for motifs and sequences). -The name FIMO stands for 'Find Individual Motif Occurrences'. The program searches a database of sequences for occurrences of -known motifs, treating each motif independently. Motifs must be in MEME Motif Format. You can define the statistical threshold -(p-value) for motifs and whether FIMO scans just the given sequences or their reverse complements (where applicable). - -.. class:: infomark - -For detailed information on FIMO, click here_, or view the license_. - -.. _here: http://meme-suite.org/doc/fimo.html?man_type=web -.. _license: http://meme-suite.org/doc/copyright.html?man_type=web - - </help> - <citations> - <citation type="doi">10.1093/bioinformatics/btr064</citation> - </citations> -</tool>
--- a/Users/gvk/work/git_workspace/tools-iuc/tools/meme/fimo_wrapper.py Wed Jun 29 08:24:33 2016 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,193 +0,0 @@ -#!/usr/bin/env python -import argparse -import os -import shutil -import string -import subprocess -import sys -import tempfile - -BUFFSIZE = 1048576 -# Translation table for reverse Complement, with ambiguity codes. -DNA_COMPLEMENT = string.maketrans("ACGTRYKMBDHVacgtrykmbdhv", "TGCAYRMKVHDBtgcayrmkvhdb") - - -def get_stderr(tmp_stderr): - tmp_stderr.seek(0) - stderr = '' - try: - while True: - stderr += tmp_stderr.read(BUFFSIZE) - if not stderr or len(stderr) % BUFFSIZE != 0: - break - except OverflowError: - pass - return stderr - - -def reverse(sequence): - # Reverse sequence string. - return sequence[::-1] - - -def dna_complement(sequence): - # Complement DNA sequence string. - return sequence.translate(DNA_COMPLEMENT) - - -def dna_reverse_complement(sequence): - # Returns the reverse complement of the sequence. - sequence = reverse(sequence) - return dna_complement(sequence) - - -def stop_err(msg): - sys.stderr.write(msg) - sys.exit(1) - -parser = argparse.ArgumentParser() -parser.add_argument('--input_motifs', dest='input_motifs', help='MEME output formatted files for input to fimo') -parser.add_argument('--input_fasta', dest='input_fasta', help='Fassta sequence file') -parser.add_argument('--options_type', dest='options_type', help='Basic or Advance options') -parser.add_argument('--input_psp', dest='input_psp', default=None, help='File containing position specific priors') -parser.add_argument('--input_prior_dist', dest='input_prior_dist', default=None, help='File containing binned distribution of priors') -parser.add_argument('--alpha', dest='alpha', type=float, default=1.0, help='The alpha parameter for calculating position specific priors') -parser.add_argument('--bgfile', dest='bgfile', default=None, help='Background file type, used only if not "default"') -parser.add_argument('--max_strand', action='store_true', help='If matches on both strands at a given position satisfy the output threshold, only report the match for the strand with the higher score') -parser.add_argument('--max_stored_scores', dest='max_stored_scores', type=int, help='Maximum score count to store') -parser.add_argument('--motif', dest='motifs', action='append', default=[], help='Specify motif by id') -parser.add_argument('--output_separate_motifs', dest='output_separate_motifs', default='no', help='Output one dataset per motif') -parser.add_argument('--motif_pseudo', dest='motif_pseudo', type=float, default=0.1, help='Pseudocount to add to counts in motif matrix') -parser.add_argument('--no_qvalue', action='store_true', help='Do not compute a q-value for each p-value') -parser.add_argument('--norc', action='store_true', help='Do not score the reverse complement DNA strand') -parser.add_argument('--output_path', dest='output_path', help='Output files directory') -parser.add_argument('--parse_genomic_coord', dest='parse_genomic_coord', default='no', help='Check each sequence header for UCSC style genomic coordinates') -parser.add_argument('--remove_duplicate_coords', dest='remove_duplicate_coords', default='no', help='Remove duplicate entries in unique GFF coordinates') -parser.add_argument('--qv_thresh', action='store_true', help='Use q-values for the output threshold') -parser.add_argument('--thresh', dest='thresh', type=float, help='p-value threshold') -parser.add_argument('--gff_output', dest='gff_output', help='Gff output file') -parser.add_argument('--html_output', dest='html_output', help='HTML output file') -parser.add_argument('--interval_output', dest='interval_output', help='Interval output file') -parser.add_argument('--txt_output', dest='txt_output', help='Text output file') -parser.add_argument('--xml_output', dest='xml_output', help='XML output file') -args = parser.parse_args() - -fimo_cmd_list = ['fimo'] -if args.options_type == 'advanced': - fimo_cmd_list.append('--alpha %4f' % args.alpha) - if args.bgfile is not None: - fimo_cmd_list.append('--bgfile "%s"' % args.bgfile) - if args.max_strand: - fimo_cmd_list.append('--max-strand') - fimo_cmd_list.append('--max-stored-scores %d' % args.max_stored_scores) - if len(args.motifs) > 0: - for motif in args.motifs: - fimo_cmd_list.append('--motif "%s"' % motif) - fimo_cmd_list.append('--motif-pseudo %4f' % args.motif_pseudo) - if args.no_qvalue: - fimo_cmd_list.append('--no-qvalue') - if args.norc: - fimo_cmd_list.append('--norc') - if args.parse_genomic_coord == 'yes': - fimo_cmd_list.append('--parse-genomic-coord') - if args.qv_thresh: - fimo_cmd_list.append('--qv-thresh') - fimo_cmd_list.append('--thresh %4f' % args.thresh) - if args.input_psp is not None: - fimo_cmd_list.append('--psp "%s"' % args.input_psp) - if args.input_prior_dist is not None: - fimo_cmd_list.append('--prior-dist "%s"' % args.input_prior_dist) -fimo_cmd_list.append('--o "%s"' % (args.output_path)) -fimo_cmd_list.append('--verbosity 1') -fimo_cmd_list.append(args.input_motifs) -fimo_cmd_list.append(args.input_fasta) - -fimo_cmd = ' '.join(fimo_cmd_list) - -try: - tmp_stderr = tempfile.NamedTemporaryFile() - proc = subprocess.Popen(args=fimo_cmd, shell=True, stderr=tmp_stderr) - returncode = proc.wait() - if returncode != 0: - stderr = get_stderr(tmp_stderr) - stop_err(stderr) -except Exception, e: - stop_err('Error running FIMO:\n%s' % str(e)) - -shutil.move(os.path.join(args.output_path, 'fimo.txt'), args.txt_output) - -gff_file = os.path.join(args.output_path, 'fimo.gff') -if args.remove_duplicate_coords == 'yes': - tmp_stderr = tempfile.NamedTemporaryFile() - # Identify and eliminating identical motif occurrences. These - # are identical if the combination of chrom, start, end and - # motif id are identical. - cmd = 'sort -k1,1 -k4,4n -k5,5n -k9.1,9.6 -u -o %s %s' % (gff_file, gff_file) - proc = subprocess.Popen(args=cmd, stderr=tmp_stderr, shell=True) - returncode = proc.wait() - if returncode != 0: - stderr = get_stderr(tmp_stderr) - stop_err(stderr) - # Sort GFF output by a combination of chrom, score, start. - cmd = 'sort -k1,1 -k4,4n -k6,6n -o %s %s' % (gff_file, gff_file) - proc = subprocess.Popen(args=cmd, stderr=tmp_stderr, shell=True) - returncode = proc.wait() - if returncode != 0: - stderr = get_stderr(tmp_stderr) - stop_err(stderr) -if args.output_separate_motifs == 'yes': - # Create the collection output directory. - collection_path = (os.path.join(os.getcwd(), 'output')) - # Keep track of motif occurrences. - header_line = None - motif_ids = [] - file_handles = [] - for line in open(gff_file, 'r'): - if line.startswith('#'): - if header_line is None: - header_line = line - continue - items = line.split('\t') - attribute = items[8] - attributes = attribute.split(';') - name = attributes[0] - motif_id = name.split('=')[1] - file_name = os.path.join(collection_path, 'MOTIF%s.gff' % motif_id) - if motif_id in motif_ids: - i = motif_ids.index(motif_id) - fh = file_handles[i] - fh.write(line) - else: - fh = open(file_name, 'wb') - if header_line is not None: - fh.write(header_line) - fh.write(line) - motif_ids.append(motif_id) - file_handles.append(fh) - for file_handle in file_handles: - file_handle.close() -else: - shutil.move(gff_file, args.gff_output) -shutil.move(os.path.join(args.output_path, 'fimo.xml'), args.xml_output) -shutil.move(os.path.join(args.output_path, 'fimo.html'), args.html_output) - -out_file = open(args.interval_output, 'wb') -out_file.write("#%s\n" % "\t".join(("chr", "start", "end", "pattern name", "score", "strand", "matched sequence", "p-value", "q-value"))) -for line in open(args.txt_output): - if line.startswith('#'): - continue - fields = line.rstrip("\n\r").split("\t") - start, end = int(fields[2]), int(fields[3]) - sequence = fields[7] - if start > end: - # Flip start and end and set strand. - start, end = end, start - strand = "-" - # We want sequences relative to strand; FIMO always provides + stranded sequence. - sequence = dna_reverse_complement(sequence) - else: - strand = "+" - # Make 0-based start position. - start -= 1 - out_file.write("%s\n" % "\t".join([fields[1], str(start), str(end), fields[0], fields[4], strand, sequence, fields[5], fields[6]])) -out_file.close()
--- a/fimo.xml Wed Jun 29 08:24:33 2016 -0400 +++ b/fimo.xml Wed Jun 29 08:26:51 2016 -0400 @@ -117,7 +117,10 @@ <option value="yes">Yes</option> </param> <when value="yes"> - <param name="remove_duplicate_coords" type="boolean" truevalue="yes" falsevalue="no" label="Remove duplicate entries in unique GFF coordinates?" help="Remove duplicate entries as defined by the unique GFF coordinates" /> + <param name="remove_duplicate_coords" type="select" label="Remove duplicate entries in unique GFF coordinates?" help="Remove duplicate entries as defined by the unique GFF coordinates"> + <option value="no" selected="true">No</option> + <option value="yes">Yes</option> + </param> </when> <when value="no"/> </conditional>
--- a/fimo_wrapper.py Wed Jun 29 08:24:33 2016 -0400 +++ b/fimo_wrapper.py Wed Jun 29 08:26:51 2016 -0400 @@ -56,13 +56,13 @@ parser.add_argument('--max_strand', action='store_true', help='If matches on both strands at a given position satisfy the output threshold, only report the match for the strand with the higher score') parser.add_argument('--max_stored_scores', dest='max_stored_scores', type=int, help='Maximum score count to store') parser.add_argument('--motif', dest='motifs', action='append', default=[], help='Specify motif by id') -parser.add_argument('--output_separate_motifs', default="no", help='Output one dataset per motif') +parser.add_argument('--output_separate_motifs', dest='output_separate_motifs', default='no', help='Output one dataset per motif') parser.add_argument('--motif_pseudo', dest='motif_pseudo', type=float, default=0.1, help='Pseudocount to add to counts in motif matrix') parser.add_argument('--no_qvalue', action='store_true', help='Do not compute a q-value for each p-value') parser.add_argument('--norc', action='store_true', help='Do not score the reverse complement DNA strand') parser.add_argument('--output_path', dest='output_path', help='Output files directory') -parser.add_argument('--parse_genomic_coord', default='no', help='Check each sequence header for UCSC style genomic coordinates') -parser.add_argument('--remove_duplicate_coords', default='no', help='Remove duplicate entries in unique GFF coordinates') +parser.add_argument('--parse_genomic_coord', dest='parse_genomic_coord', default='no', help='Check each sequence header for UCSC style genomic coordinates') +parser.add_argument('--remove_duplicate_coords', dest='remove_duplicate_coords', default='no', help='Remove duplicate entries in unique GFF coordinates') parser.add_argument('--qv_thresh', action='store_true', help='Use q-values for the output threshold') parser.add_argument('--thresh', dest='thresh', type=float, help='p-value threshold') parser.add_argument('--gff_output', dest='gff_output', help='Gff output file')
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/meme.xml Wed Jun 29 08:26:51 2016 -0400 @@ -0,0 +1,335 @@ +<tool id="meme_meme" name="MEME" version="4.11.0.1"> + <description>- Multiple Em for Motif Elicitation</description> + <requirements> + <requirement type="package" version="6.9.3">imagemagick</requirement> + <requirement type="package" version="4.11.0">meme</requirement> + </requirements> + <command> + <![CDATA[ + meme "$input1" + -o "${html_outfile.files_path}" + -nostatus + -maxsize 1000000 + #if str( $options_type.options_type_selector ) == 'advanced': + -sf "${ str( $options_type.sf ).replace( ' ', '_' ) }" + -${options_type.alphabet_type.alphabet_type_selector} + -mod "${options_type.mod_type.mod_type_selector}" + -nmotifs "${options_type.nmotifs}" + -wnsites "${options_type.wnsites}" + #if $options_type.evt < float('inf'): + -evt "${options_type.evt}" + #end if + #if str( $options_type.mod_type.mod_type_selector ) != 'oops': + #if str( $options_type.mod_type.motif_occurrence_type.motif_occurrence_type_selector ) == 'nsites': + -nsites "${options_type.mod_type.motif_occurrence_type.nsites}" + #elif str( $options_type.mod_type.motif_occurrence_type.motif_occurrence_type_selector ) == 'min_max_sites': + -minsites "${options_type.mod_type.motif_occurrence_type.minsites}" + -maxsites "${options_type.mod_type.motif_occurrence_type.maxsites}" + #end if + #end if + #if str( $options_type.motif_width_type.motif_width_type_selector ) == 'exact': + -w "${options_type.motif_width_type.width}" + #else + -minw "${options_type.motif_width_type.minw}" + -maxw "${options_type.motif_width_type.maxw}" + #end if + #if str( $options_type.motif_trim_type.motif_trim_type_selector ) == 'nomatrim': + -nomatrim + #else + -wg "${options_type.motif_trim_type.wg}" + -ws "${options_type.motif_trim_type.ws}" + ${options_type.motif_trim_type.noendgaps} + #end if + #if str( $options_type.bfile ) != 'None': + -bfile "${options_type.bfile}" + #end if + #if str( $options_type.pspfile ) != 'None': + -psp "${options_type.pspfile}" + #end if + #if str( $options_type.alphabet_type.alphabet_type_selector ) == "dna": + ${options_type.alphabet_type.revcomp} ${options_type.alphabet_type.pal} + #end if + -maxiter "${options_type.maxiter}" + -distance "${options_type.distance}" + -prior "${options_type.alphabet_type.prior_type.prior_type_selector}" + #if str( $options_type.alphabet_type.prior_type.prior_type_selector ) != 'addone': + -b "${options_type.alphabet_type.prior_type.prior_b}" + #if str( $options_type.alphabet_type.prior_type.plib ) != 'None': + -plib "${options_type.alphabet_type.prior_type.plib}" + #end if + #end if + #if str( $options_type.alphabet_type.spmap_type.spmap_type_selector ) == 'cons': + -cons "${options_type.alphabet_type.spmap_type.cons}" + #else + -spmap "${options_type.alphabet_type.spmap_type.spmap_type_selector}" + -spfuzz "${options_type.alphabet_type.spmap_type.spfuzz}" + #end if + #if str( $options_type.branching_type.branching_type_selector ) == 'x_branch': + -x_branch + -bfactor "${options_type.branching_type.bfactor}" + -heapsize "${options_type.branching_type.heapsize}" + #end if + #end if + 2>&1 || echo "Error running MEME." + && mv ${html_outfile.files_path}/meme.html ${html_outfile} + && mv ${html_outfile.files_path}/meme.txt ${txt_outfile} + && mv ${html_outfile.files_path}/meme.xml ${xml_outfile} + ]]> + </command> + <inputs> + <param format="fasta" name="input1" type="data" label="Sequences"/> + <conditional name="options_type"> + <param name="options_type_selector" type="select" label="Options Configuration"> + <option value="basic" selected="true">Basic</option> + <option value="advanced">Advanced</option> + </param> + <when value="basic" /> + <when value="advanced"> + <param name="sf" type="text" value="Galaxy FASTA Input" label="Name of sequence set" argument="-sf"/> + <conditional name="alphabet_type"> + <param name="alphabet_type_selector" type="select" label="Sequence Alphabet"> + <option value="protein">Protein</option> + <option value="dna" selected="true">DNA</option> + </param> + <when value="protein"> + <conditional name="prior_type"> + <param name="prior_type_selector" type="select" label="Choice of prior" argument="-prior"> + <option value="dirichlet">simple Dirichlet prior</option> + <option value="dmix" selected="true">mixture of Dirichlets prior</option> + <option value="mega">extremely low variance dmix</option> + <option value="megap">mega for all but last iteration of EM; dmix on last iteration</option> + <option value="addone">add +1 to each observed count</option> + </param> + <when value="dirichlet"> + <param name="prior_b" type="float" value="0.01" label="strength of prior on model parameters" argument="-b"/> + <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" argument="-plib"/> + </when> + <when value="dmix"> + <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" argument="-b"/> + <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" argument="-plib"/> + </when> + <when value="mega"> + <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" argument="-b"/> + <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" argument="-plib"/> + </when> + <when value="megap"> + <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" argument="-b"/> + <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" argument="-plib"/> + </when> + <when value="addone" /> + </conditional> + <conditional name="spmap_type"> + <param name="spmap_type_selector" type="select" label="EM starting points" argument="-spmap"> + <option value="uni">uni</option> + <option value="pam" selected="true">pam</option> + <option value="cons">Use starting point from string</option> + </param> + <when value="uni"> + <param name="spfuzz" type="float" value="0.5" label="Fuzziness of the mapping" argument="-spfuzz"/> + </when> + <when value="pam"> + <param name="spfuzz" type="integer" value="120" label="Fuzziness of the mapping" argument="-spfuzz"/> + </when> + <when value="cons"> + <param name="cons" type="text" value="" label="Starting point from string" argument="-cons"/> + </when> + </conditional> + </when> + <when value="dna"> + <param name="revcomp" label="Check reverse complement" type="boolean" truevalue="-revcomp" falsevalue="" checked="False"/> + <param name="pal" label="Check for palindromes" type="boolean" truevalue="-pal" falsevalue="" checked="False"/> + <conditional name="prior_type"> + <param name="prior_type_selector" type="select" label="Sequence Alphabet" argument="-prior"> + <option value="dirichlet" selected="true">simple Dirichlet prior</option> + <option value="dmix">mixture of Dirichlets prior</option> + <option value="mega">extremely low variance dmix</option> + <option value="megap">mega for all but last iteration of EM; dmix on last iteration</option> + <option value="addone">add +1 to each observed count</option> + </param> + <when value="dirichlet"> + <param name="prior_b" type="float" value="0.01" label="strength of prior on model parameters" argument="-b"/> + <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" argument="-plib"/> + </when> + <when value="dmix"> + <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" argument="-b"/> + <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" argument="-plib"/> + </when> + <when value="mega"> + <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" argument="-b"/> + <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" argument="-plib"/> + </when> + <when value="megap"> + <param name="prior_b" type="float" value="0" label="strength of prior on model parameters" argument="-b"/> + <param name="plib" type="data" format="txt" optional="True" label="Dirichlet prior file" argument="-plib"/> + </when> + <when value="addone" /> + </conditional> + <conditional name="spmap_type"> + <param name="spmap_type_selector" type="select" label="EM starting points" argument="-spmap"> + <option value="uni" selected="true">uni</option> + <option value="pam">pam</option> + <option value="cons">Use starting point from string</option> + </param> + <when value="uni"> + <param name="spfuzz" type="float" value="0.5" label="Fuzziness of the mapping" argument="-spfuzz"/> + </when> + <when value="pam"> + <param name="spfuzz" type="integer" value="120" label="Fuzziness of the mapping" argument="-spfuzz"/> + </when> + <when value="cons"> + <param name="cons" type="text" value="" label="Starting point from string" argument="-cons"/> + </when> + </conditional> + </when> + </conditional> + <param name="nmotifs" type="integer" value="1" label="Number of different motifs to search" argument="-nmotifs" /> + <param name="evt" type="float" value="inf" label="E-value to stop looking for motifs" argument="-evt"/> + <conditional name="mod_type"> + <param name="mod_type_selector" type="select" label="Expected motif distribution" argument="-mod"> + <option value="oops">One Occurrence Per Sequence</option> + <option value="zoops" selected="true">Zero or One Occurrence Per Sequence</option> + <option value="anr">Any Number of Repetitions</option> + </param> + <when value="oops" /> + <when value="zoops"> + <conditional name="motif_occurrence_type"> + <param name="motif_occurrence_type_selector" type="select" label="Number of motif occurrences"> + <option value="default" selected="true">Use defaults</option> + <option value="nsites">nsites</option> + <option value="min_max_sites">min and max sites</option> + </param> + <when value="default" /> + <when value="nsites"> + <param name="nsites" type="integer" value="1" label="Search nsites number of occurrences" argument="-nsites"/> + </when> + <when value="min_max_sites"> + <param name="minsites" type="integer" value="1" label="minsites" argument="-minsites"/> + <param name="maxsites" type="integer" value="50" label="maxsites" argument="-maxsites"/> + </when> + </conditional> + </when> + <when value="anr"> + <conditional name="motif_occurrence_type"> + <param name="motif_occurrence_type_selector" type="select" label="Number of motif occurrences"> + <option value="default" selected="true">Use defaults</option> + <option value="nsites">nsites</option> + <option value="min_max_sites">min and max sites</option> + </param> + <when value="default" /> + <when value="nsites"> + <param name="nsites" type="integer" value="1" label="Search nsites number of occurrences" argument="-nsites"/> + </when> + <when value="min_max_sites"> + <param name="minsites" type="integer" value="1" label="minsites" argument="-minsites"/> + <param name="maxsites" type="integer" value="50" label="maxsites" argument="-maxsites"/> + </when> + </conditional> + </when> + </conditional> + <param name="wnsites" type="float" value="0.8" label="Weight on the prior on nsites" argument="-wnsites"/> + <conditional name="motif_width_type"> + <param name="motif_width_type_selector" type="select" label="Motif width type"> + <option value="exact">Exact width</option> + <option value="range" selected="true">Specify a range</option> + </param> + <when value="exact"> + <param name="width" type="integer" value="10" label="Width of motif to search" argument="-w"/> + </when> + <when value="range"> + <param name="minw" type="integer" value="8" label="Min width of motif to search" argument="-minw"/> + <param name="maxw" type="integer" value="50" label="Max width of motif to search" argument="-maxw"/> + </when> + </conditional> + <conditional name="motif_trim_type"> + <param name="motif_trim_type_selector" type="select" label="Motif trim type"> + <option value="nomatrim">No motif trim</option> + <option value="trim" selected="true">Trim motif</option> + </param> + <when value="nomatrim" /> + <when value="trim"> + <param name="wg" type="integer" value="11" label="Gap cost" argument="-wg"/> + <param name="ws" type="integer" value="1" label="Space cost" argument="-ws"/> + <param name="noendgaps" label="Do not penalize endgaps" type="boolean" truevalue="-noendgaps" falsevalue="" checked="False"/> + </when> + </conditional> + <param name="bfile" type="data" format="txt" optional="True" label="Background Model" argument="-bfile"/> + <param name="pspfile" type="data" format="txt" optional="True" label="Position-Specific Prior" argument="-psp"/> + <param name="maxiter" type="integer" value="50" label="Number of iterations of EM to run" argument="-maxiter"/> + <param name="distance" type="float" value="0.001" label="Convergence criterion" argument="-distance"/> + <conditional name="branching_type"> + <param name="branching_type_selector" type="select" label="x-branching type"> + <option value="x_branch">Perform x-branching</option> + <option value="no_x_branch" selected="true">No x-branching</option> + </param> + <when value="no_x_branch" /> + <when value="x_branch"> + <param name="bfactor" type="integer" value="3" label="Number of iterations of branching" argument="-bfactor"/> + <param name="heapsize" type="integer" value="64" label="Maximum number of heaps to use" argument="-heapsize"/> + </when> + </conditional> + </when> + </conditional> + <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"> + <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator> + </param> + </inputs> + <outputs> + <data format="html" name="html_outfile" label="${tool.name} on ${on_string} (html)"/> + <data format="txt" name="txt_outfile" label="${tool.name} on ${on_string} (text)"/> + <data format="memexml" name="xml_outfile" label="${tool.name} on ${on_string} (xml)"/> + </outputs> + <tests> + <test> + <param name="input1" value="meme_input_1.fasta" ftype="fasta" dbkey="hg19"/> + <param name="options_type_selector" value="basic"/> + <param name="non_commercial_use" value="True"/> + <output name="html_outfile" file="meme_output_html_1.html" compare="contains"/> + <output name="txt_outfile" file="meme_output_txt_1.txt" lines_diff="12"/> + <output name="xml_outfile" file="meme_output_xml_1.xml" lines_diff="8"/> + </test> + <test> + <param name="input1" value="meme_input_1.fasta" ftype="fasta" dbkey="hg19"/> + <param name="options_type_selector" value="advanced"/> + <param name="plib" value="prior30.plib" ftype="txt"/> + <param name="non_commercial_use" value="True"/> + <output name="html_outfile" file="meme_output_html_2.html" compare="contains"/> + <output name="txt_outfile" file="meme_output_txt_2.txt" lines_diff="12"/> + <output name="xml_outfile" file="meme_output_xml_2.xml" lines_diff="8"/> + </test> + </tests> + <help> + +.. class:: warningmark + +**WARNING: This tool is only available for non-commercial use. Use for educational, research and non-profit purposes is permitted. +Before using, be sure to review, agree, and comply with the license.** + +If you want to specify sequence weights, you must include them at the top of your input FASTA file. + +MEME discovers novel, ungapped motifs (recurring, fixed-length patterns) in your sequences (sample output from sequences). +MEME splits variable-length patterns into two or more separate motifs. A motif is a sequence pattern that occurs repeatedly +in a group of related sequences. MEME represents motifs as position-dependent letter-probability matrices which describe the +probability of each possible letter at each position in the pattern. Individual MEME motifs do not contain gaps. Patterns +with variable-length gaps are split by MEME into two or more separate motifs. MEME takes as input a group of sequences and +outputs as many motifs as requested. MEME uses statistical modeling techniques to automatically choose the best width, number +of occurrences, and description for each motif. + +.. class:: infomark + +For detailed information on MEME, click here_, or view the license_. + +.. _here: http://meme-suite.org/doc/meme.html?man_type=web +.. _license: http://meme-suite.org/doc/copyright.html?man_type=web + + </help> + <citations> + <citation type="bibtex"> + @article{Proceedings of the Second International Conference on Intelligent Systems for Molecular Biology, pp. 28-36, AAAI Press, Menlo Park, California, + author = {Bailey,Timothy L. and Elkan, Charles}, + title = {Fitting a mixture model by expectation maximization to discover motifs in biopolymers}, + year = {1994}, + eprint = {None}, + url = {http://www.sdsc.edu/~tbailey/papers/ismb94.pdf} + }</citation> + </citations> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/meme_input_1.fasta Wed Jun 29 08:26:51 2016 -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/prior30.plib Wed Jun 29 08:26:51 2016 -0400 @@ -0,0 +1,275 @@ +Alphabet= ACDEFGHIKLMNPQRSTVWY +NumDistr= 30 +Number= 0 +Mixture= 0.055795 +B= 5.623820 +Alpha= 0.0855491 0.0221831 0.0111063 0.0209959 0.0505726 0.025437 0.0155389 0.132951 0.0247865 0.150287 0.0577239 0.0209317 0.0166629 0.0220905 0.0244295 0.0497608 0.070277 0.157532 0.0102219 0.0309633 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= HMM9.4 reestimated in henikoff29.2 + +Number= 1 +Mixture= 0.198333 +B= 0.097240 +Alpha= 0.0562629 0.0329597 0.0692513 0.0385232 0.0400041 0.143573 0.0428939 0.0226244 0.0442102 0.0665467 0.0117853 0.0447655 0.0833299 0.0395825 0.0611271 0.0588852 0.0513472 0.0317153 0.0237865 0.0368161 +FullUpdate= 1 +QUpdate= 1 +StructID= 24 +Comment= Outside + +Number= 2 +Mixture= 0.043566 +B= 1.648336 +Alpha= 0.0144564 0.00845337 0.00785519 0.00864933 0.255959 0.0110815 0.0509526 0.0234533 0.0120443 0.0561967 0.015111 0.0190974 0.00857653 0.0167812 0.0164918 0.0197108 0.0151013 0.0252782 0.050139 0.364613 +FullUpdate= 1 +QUpdate= 1 +StructID= 26 +Comment= Inside + +Number= 3 +Mixture= 0.060170 +B= 2.595432 +Alpha= 0.0452144 0.00587917 0.169731 0.0751478 0.00749471 0.0845832 0.0369819 0.00610072 0.0548186 0.011029 0.00382749 0.212785 0.0206532 0.0416705 0.0280716 0.117267 0.0533742 0.00943157 0.00216149 0.0137784 +FullUpdate= 1 +QUpdate= 1 +StructID= 19 +Comment= Outside Alpha + +Number= 4 +Mixture= 0.065466 +B= 3.112271 +Alpha= 0.0361167 0.0049157 0.0134924 0.0461325 0.00557631 0.0209043 0.0302551 0.016425 0.307554 0.0338255 0.0139435 0.0360733 0.0127659 0.0873761 0.222668 0.0369042 0.0354442 0.0228891 0.00434827 0.0123906 +FullUpdate= 1 +QUpdate= 1 +StructID= 21 +Comment= Outside Beta + +Number= 5 +Mixture= 0.067614 +B= 2.053644 +Alpha= 0.0194362 0.00765176 0.00188738 0.00372898 0.0849894 0.00421787 0.00400459 0.152735 0.00407958 0.4568 0.106051 0.00304386 0.00545956 0.00900935 0.00605071 0.00519029 0.016255 0.0861045 0.00787965 0.0154248 +FullUpdate= 1 +QUpdate= 1 +StructID= 22 +Comment= Inside alpha + +Number= 6 +Mixture= 0.080724 +B= 2.138987 +Alpha= 0.0423172 0.0153891 0.00409306 0.00565735 0.0197117 0.00590607 0.00139926 0.307863 0.00544884 0.115721 0.0285808 0.00522771 0.00474851 0.00328193 0.00351054 0.00892385 0.0348922 0.380003 0.00117673 0.00614917 +FullUpdate= 1 +QUpdate= 1 +StructID= 23 +Comment= Inside beta + +Number= 7 +Mixture= 0.051030 +B= 3.878926 +Alpha= 0.0548123 0.000759746 0.144127 0.46019 0.00249502 0.0192754 0.0106535 0.00938765 0.0562429 0.0163148 0.00717389 0.0245612 0.0177482 0.0744802 0.0199233 0.0323535 0.0257651 0.018574 0.00087086 0.00429088 +FullUpdate= 1 +QUpdate= 1 +StructID= 23 +Comment= Alpha helix + +Number= 8 +Mixture= 0.103529 +B= 1.486325 +Alpha= 0.315754 0.0384546 0.0116388 0.0133665 0.0111126 0.107921 0.00752325 0.0154885 0.0111281 0.0231087 0.011626 0.0228375 0.0304785 0.0166632 0.0156345 0.186379 0.0954421 0.0546691 0.00351538 0.00725682 +FullUpdate= 1 +QUpdate= 1 +StructID= 23 +Comment= Beta strand + +Number= 9 +Mixture= 0.062940 +B= 8.221215 +Alpha= 0.0869919 0.00672577 0.0600995 0.10763 0.0153489 0.0378086 0.0325335 0.023388 0.113765 0.041623 0.0196906 0.0625344 0.0262599 0.0788667 0.0707399 0.0886634 0.0666777 0.0361472 0.00484308 0.0196629 +FullUpdate= 1 +QUpdate= 1 +StructID= 23 +Comment= Other + +Number= 10 +Mixture= 0.012518 +B= 38.955631 +Alpha= 0.732922 0.0145131 0.00623235 0.00951423 0.00717778 0.0289521 0.00351664 0.0125081 0.00886593 0.0183651 0.00832812 0.00670968 0.00364556 0.00622169 0.00812899 0.0582399 0.0205067 0.0394327 0.00207485 0.00414489 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= A + +Number= 11 +Mixture= 0.004953 +B= 381.562195 +Alpha= 0.00563239 0.959814 0.00144129 0.00213042 0.00158645 0.00168393 0.000989765 0.00325263 0.00148501 0.00343924 0.00168673 0.00159054 0.00121534 0.00129942 0.00195209 0.00296106 0.0039912 0.00266944 0.000327808 0.000851203 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= C + +Number= 12 +Mixture= 0.013849 +B= 90.727570 +Alpha= 0.00897115 0.00169015 0.859473 0.0360829 0.00269485 0.00606504 0.00469816 0.00400134 0.0047981 0.00514968 0.00208395 0.029754 0.00241276 0.0045506 0.00433816 0.0088208 0.00511143 0.00527448 0.00104469 0.00298475 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= D + +Number= 13 +Mixture= 0.008388 +B= 404.591034 +Alpha= 0.00241514 0.000413991 0.0122981 0.96369 0.000665578 0.00187461 0.00106904 0.00149214 0.00121548 0.00129791 0.000554145 0.00253496 0.000624495 0.00316839 0.00115045 0.00171781 0.001468 0.0014564 0.000278652 0.000614791 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= E + +Number= 14 +Mixture= 0.008064 +B= 83.323669 +Alpha= 0.00839779 0.00428348 0.00298116 0.00358128 0.850936 0.00329382 0.00196832 0.0130534 0.00320345 0.0351883 0.00729724 0.00287304 0.00358482 0.00218728 0.00264753 0.00833798 0.00418729 0.0120684 0.00448366 0.025446 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= F + +Number= 15 +Mixture= 0.032205 +B= 32.644871 +Alpha= 0.0234448 0.00236512 0.0112957 0.00811395 0.00248143 0.868718 0.00345598 0.00342985 0.00859682 0.0040966 0.00239339 0.012342 0.00423123 0.00440054 0.00795347 0.0165095 0.0065024 0.00550512 0.00140604 0.00275817 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= G + +Number= 16 +Mixture= 0.005033 +B= 35.520824 +Alpha= 0.0100058 0.00386024 0.0131498 0.0108984 0.0122851 0.00738691 0.722249 0.00521193 0.00686054 0.0150103 0.00673014 0.0367074 0.00625526 0.0429912 0.0234127 0.0187246 0.0128445 0.00837399 0.00390723 0.0331349 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= H + +Number= 17 +Mixture= 0.007454 +B= 101.265472 +Alpha= 0.0106938 0.00267663 0.00404166 0.00466637 0.00838963 0.00372808 0.00182575 0.681615 0.0059102 0.0770333 0.0184335 0.004676 0.0027124 0.00372663 0.00418165 0.00773357 0.0109237 0.140679 0.00140417 0.00494911 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= I + +Number= 18 +Mixture= 0.009400 +B= 150.415985 +Alpha= 0.00688657 0.00169711 0.00222738 0.00346887 0.00115861 0.00302866 0.00209171 0.00400905 0.903944 0.0037747 0.00186061 0.00449531 0.00249618 0.00324487 0.041775 0.00392196 0.00461714 0.00296607 0.000893256 0.00144282 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= K + +Number= 19 +Mixture= 0.017057 +B= 31.896633 +Alpha= 0.0114646 0.00367926 0.00296188 0.00596126 0.0190009 0.00382486 0.00338381 0.0401936 0.00650072 0.790038 0.031659 0.00392791 0.0050046 0.00753591 0.00771818 0.00748621 0.0101555 0.0312597 0.00242405 0.00581952 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= L + +Number= 20 +Mixture= 0.002761 +B= 201.346268 +Alpha= 0.00353933 0.00165628 0.0014931 0.00161065 0.00279831 0.00194259 0.00101868 0.00969101 0.00211316 0.0217036 0.928022 0.00162899 0.0015681 0.0015629 0.00138977 0.00294601 0.00311476 0.00723178 0.00156295 0.00340569 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= M + +Number= 21 +Mixture= 0.005734 +B= 108.343185 +Alpha= 0.0067512 0.00239062 0.0140378 0.0043452 0.00365788 0.00689345 0.0148828 0.00715373 0.00789036 0.00614036 0.00289697 0.858995 0.00399721 0.00770961 0.00570515 0.0238176 0.011602 0.00591549 0.00167893 0.00353897 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= N + +Number= 22 +Mixture= 0.022818 +B= 15.153304 +Alpha= 0.0417987 0.00360232 0.0113792 0.0152366 0.00564775 0.0123795 0.00606957 0.0091353 0.0165122 0.0167265 0.00490487 0.00915437 0.755604 0.0131375 0.012587 0.0283392 0.0189623 0.0140029 0.0012848 0.00353553 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= P + +Number= 23 +Mixture= 0.005931 +B= 79.417511 +Alpha= 0.0142993 0.00266984 0.0053289 0.0321605 0.0028715 0.00426743 0.0257509 0.00565307 0.0106106 0.0161186 0.00955753 0.0104696 0.00638107 0.807311 0.0149106 0.0111968 0.00889459 0.00681482 0.00206658 0.00266624 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= Q + +Number= 24 +Mixture= 0.011491 +B= 93.103897 +Alpha= 0.00756896 0.00314197 0.00296652 0.00327634 0.00194604 0.00467894 0.00721049 0.00406061 0.0277257 0.00663852 0.00217868 0.00577047 0.00473306 0.00953551 0.889701 0.00650859 0.00506022 0.00294281 0.00205549 0.00230062 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= R + +Number= 25 +Mixture= 0.008219 +B= 47.504795 +Alpha= 0.0284818 0.00697155 0.00749796 0.00604665 0.00515171 0.00954817 0.00380684 0.00637929 0.0104463 0.00908885 0.00471437 0.0194592 0.00711823 0.00611827 0.00979722 0.707416 0.139256 0.00656298 0.0015377 0.00460086 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= S + +Number= 26 +Mixture= 0.019050 +B= 14.027470 +Alpha= 0.0247201 0.00718027 0.00845584 0.0076239 0.00600101 0.0073401 0.00492149 0.0173757 0.0129878 0.0125773 0.0100452 0.0230424 0.00659406 0.0110314 0.0112037 0.107763 0.690341 0.0249364 0.00193884 0.00392074 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= T + +Number= 27 +Mixture= 0.007047 +B= 76.958153 +Alpha= 0.0447488 0.00734525 0.00576457 0.00805666 0.00714188 0.00593389 0.0041663 0.0688592 0.00714299 0.0255115 0.00800708 0.00501678 0.00632646 0.00492002 0.00812967 0.0100074 0.0240134 0.745035 0.00126243 0.00261056 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= V + +Number= 28 +Mixture= 0.003957 +B= 150.973328 +Alpha= 0.00517343 0.00213336 0.00350645 0.00390297 0.018439 0.0041919 0.0023655 0.00404231 0.00420998 0.0171406 0.00379068 0.00363696 0.00245861 0.00387467 0.00502035 0.00465674 0.00417283 0.00620977 0.888513 0.012561 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= W + +Number= 29 +Mixture= 0.004904 +B= 30.653225 +Alpha= 0.0342049 0.00809912 0.0126852 0.0174701 0.156033 0.0118268 0.0431342 0.0204751 0.0164439 0.0363664 0.0129811 0.0131986 0.0103037 0.0116235 0.0159032 0.0287792 0.0176143 0.024986 0.0131845 0.494687 +FullUpdate= 1 +QUpdate= 1 +StructID= 0 +Comment= Y + +/* $Header$ */ +/* $Header$ */ +/* $Header$ */
