Mercurial > repos > bgruening > upload_testing
changeset 56:07a5042bbe90
Uploaded
author | bgruening |
---|---|
date | Mon, 12 Aug 2013 14:25:53 -0400 |
parents | e9cd105a8856 |
children | 5b919ef94655 |
files | homer.py tool-data/homer_available_genomes.loc.sample tools/findMotifsGenome.xml tools/findPeaks.xml |
diffstat | 4 files changed, 106 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/homer.py Mon Aug 12 09:06:47 2013 -0400 +++ b/homer.py Mon Aug 12 14:25:53 2013 -0400 @@ -1,14 +1,14 @@ """ HOMER special datatypes """ - +import os from galaxy.datatypes.data import get_file_peek from galaxy.datatypes.data import Text, Data from galaxy.datatypes.metadata import MetadataElement from galaxy.datatypes.images import Html -class TagDirectory( Text ): +class TagDirectory( Html ): """Base class for HOMER's Tag Directory datatype.""" file_ext = 'homer_tagdir' @@ -16,7 +16,7 @@ allow_datatype_change = False def __init__(self, **kwd): - Text.__init__( self, **kwd ) + Html.__init__( self, **kwd ) #self.add_composite_file('tagInfo.txt', description = 'basic configuration information', mimetype = 'text/html') # Contains basic configuration information self.add_composite_file('tagLengthDistribution.txt', description = 'histogram of read lengths used for alignment', mimetype = 'text/html') # File contains a histogram of read lengths used for alignment. self.add_composite_file('tagCountDistribution.txt', description = 'histogram of clonal read depth, showing the number of reads per unique position', mimetype = 'text/html') # File contains a histogram of clonal read depth, showing the number of reads per unique position. @@ -29,25 +29,23 @@ def regenerate_primary_file(self,dataset): """ - cannot do this until we are setting metadata + regenerate the index file after metadata generation """ - flist = os.listdir(dataset.extra_files_path) - rval = ['<html><head><title>CuffDiff Output</title></head>'] + rval = ['<html><head><title>HOMER database files</title></head>'] rval.append('<body>') rval.append('<p/>CuffDiff Outputs:<p/><ul>') - for i,fname in enumerate(flist): + for fname in os.listdir(dataset.extra_files_path): sfname = os.path.split(fname)[-1] rval.append( '<li><a href="%s" type="text/html">%s</a>' % ( sfname, sfname ) ) rval.append( '</ul></body></html>' ) - f = file(dataset.file_name,'w') - f.write("\n".join( rval )) - f.write('\n') + f = file( dataset.file_name, 'w' ) + f.write( '%s\n' % '\n'.join( rval ) ) f.close() - - def set_meta( self, dataset, **kwd ): - Text.set_meta( self, dataset, **kwd ) - self.regenerate_primary_file(dataset) - + if not dataset.info: + dataset.info = 'HOMER datatype object' + if not dataset.blurb: + dataset.blurb = 'Composite file - HOMER' + return True def generate_primary_file( self, dataset = None ): rval = ['<html><head><title>HOMER database files</title></head><ul>'] @@ -59,6 +57,11 @@ rval.append( '</ul></html>' ) return "\n".join( rval ) + def set_meta( self, dataset, **kwd ): + Html.set_meta( self, dataset, **kwd ) + self.regenerate_primary_file(dataset) + + def display_data(self, trans, data, preview=False, filename=None, to_ext=None, size=None, offset=None, **kwd): """Apparently an old display method, but still gets called.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/homer_available_genomes.loc.sample Mon Aug 12 14:25:53 2013 -0400 @@ -0,0 +1,6 @@ +hg18 +hg19 +mm9 +mm10 + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/findMotifsGenome.xml Mon Aug 12 14:25:53 2013 -0400 @@ -0,0 +1,61 @@ +<tool id="homer_findMotifsGenome" name="identify motifs" version="0.1.2"> + <requirements> + <requirement type="package" version="35x1">blat</requirement> + <requirement type="package" version="2.8.2">weblogo</requirement> + <requirement type="package" version="9.07">ghostscript</requirement> + </requirements> + <description></description> + <!--<version_command></version_command>--> + <command> + #import tempfile + #set $tmpdir = tempfile.mkdtemp() + export PATH=\$PATH:$database.fields.path; + + findMotifsGenome $infile ${infile.metadata.dbkey} $tmpdir + + + ; + cp $tmpdir/homerResults.html $denovo_results_html; + cp -r $tmpdir/homerResults/* "$denovo_results_html.files_path"; + + cp $tmpdir/knownResults.html $known_results_html; + cp -r $tmpdir/knownResults/* "$known_results_html.files_path"; + + + + 2>&1 + + </command> + <inputs> + <param name="database" type="select" label="HOMER database" min="1"> + <options from_file="homer.loc"> + <column name="value" index="0"/> + <column name="name" index="1"/> + <column name="path" index="2"/> + </options> + </param> + + <param name="infile" format="bed" type="data" label="BED file" help="a file containing genomic coordinates"> + <validator type="dataset_metadata_in_file" filename="homer_available_genomes.loc" metadata_name="dbkey" metadata_column="0" message="No HOMER genome build available for your species."/> + </param> + + </inputs> + <outputs> + <data format="html" name="denovo_results_html" label="HOMER de novo motifs"> + <data format="html" name="known_results_html" label="HOMER known motifs"> + </outputs> + <tests> + <test> + + </test> + </tests> + + <help> + + .. class:: infomark + + **Homer findMotifsGenome** + + </help> +</tool> +
--- a/tools/findPeaks.xml Mon Aug 12 09:06:47 2013 -0400 +++ b/tools/findPeaks.xml Mon Aug 12 14:25:53 2013 -0400 @@ -1,38 +1,40 @@ <tool id="homer_findPeaks" name="homer_findPeaks" version="0.1.2"> <requirements> - <requirement type="package" version="4.1">homer</requirement> + <requirement type="package" version="35x1">blat</requirement> + <requirement type="package" version="2.8.2">weblogo</requirement> + <requirement type="package" version="9.07">ghostscript</requirement> </requirements> <description>Homer's peakcaller. Requires tag directories (see makeTagDirectory)</description> <!--<version_command></version_command>--> <command> - findPeaks $tagDir.extra_files_path $options -o $outputPeakFile + export PATH=\$PATH:$database.fields.path; - #if $control_tagDir: - -i $control_tagDir.extra_files_path + findPeaks $affected_tag_dir.extra_files_path -o $outputPeakFile + + #if $control_tag_dir: + -i $control_tag_dir.extra_files_path #end if - 2> $out_log || echo "Error running findPeaks." >&2 + 2>&1 + </command> <inputs> - <param format="homerTagDirectory" name="tagDir" type="data" label="tag directory" help="Must be made with homer_makeTagDirectory" /> - <param format="homerTagDirectory" name="control_tagDir" type="data" optional="True" label="Control tag directory" help="Must be made with homer_makeTagDirectory" /> - <param type="text" name="options" label="Extra options" value="" help="See link below for more options"> - <sanitizer> - <valid initial="string.printable"> - <remove value="'"/> - <remove value="/"/> - </valid> - <mapping initial="none"> - <add source="'" target="__sq__"/> - </mapping> - </sanitizer> + <param name="database" type="select" label="HOMER database" min="1"> + <options from_file="homer.loc"> + <column name="value" index="0"/> + <column name="name" index="1"/> + <column name="path" index="2"/> + </options> </param> + <param name="affected_tag_dir" format="homer_tagdir" type="data" label="tag directory" help="Must be made with the tool makeTagDirectory" /> + <param name="control_tag_dir" type="data" format="homer_tagdir" optional="True" label="Control tag directory" help="Must be made with makeTagDirectory" /> + </inputs> <outputs> <!--<data format="html" name="html_outfile" label="index" />--> <!--<data format="html" hidden="True" name="html_outfile" label="index.html" />--> - <data format="txt" name="outputPeakFile" label="${tool.name} on #echo os.path.splitext(str($tagDir.name))[0]#.txt" /> - <data format="txt" name="out_log" label="${tool.name} on #echo os.path.splitext(str($tagDir.name))[0]#.log" /> + <data format="txt" name="outputPeakFile" label="${tool.name} on #echo os.path.splitext(str($affected_tag_dir.name))[0]#.txt" /> + <!--<data format="txt" name="out_log" label="${tool.name} on #echo os.path.splitext(str($tagDir.name))[0]#.log" />--> </outputs> <tests> <test>