# HG changeset patch
# User kevyin
# Date 1353648627 18000
# Node ID 7268cbc535e5afaf46310502293955521271bae5
# Parent 59d58008c40d2712d213fad4585c015c838af1e8
findpeaks and maketagdirectory
diff -r 59d58008c40d -r 7268cbc535e5 README
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README Fri Nov 23 00:30:27 2012 -0500
@@ -0,0 +1,13 @@
+Homer wrapper for Galaxy
+
+Code repo: https://bitbucket.org/gvl/homer
+
+=========================================:
+LICENSE for this wrapper:
+=========================================:
+Kevin Ying
+Garvan Institute: http://www.garvan.org.au
+GVL: https://genome.edu.au/wiki/GVL
+
+http://opensource.org/licenses/mit-license.php
+
diff -r 59d58008c40d -r 7268cbc535e5 annotatePeaks.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/annotatePeaks.xml Fri Nov 23 00:30:27 2012 -0500
@@ -0,0 +1,41 @@
+
+
+ homer
+
+
+
+
+ annotatePeaks.pl $input_bed $genome_selector 1> $out_annotated
+ 2> $out_log || echo "Error running annotatePeaks." >&2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. class:: infomark
+
+ **Homer annoatePeaks**
+ More information on accepted formats
+ http://biowhat.ucsd.edu/homer/ngs/annotation.html
+
+
+
+
+
diff -r 59d58008c40d -r 7268cbc535e5 bed2pos.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bed2pos.xml Fri Nov 23 00:30:27 2012 -0500
@@ -0,0 +1,34 @@
+
+
+ homer
+
+
+
+
+ bed2pos.pl $input_bed 1> $out_pos
+ 2> $out_log || echo "Error running bed2pos." >&2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. class:: infomark
+
+ **Homer bed2pos.pl**
+ http://biowhat.ucsd.edu/homer/ngs/miscellaneous.html
+
+
+
diff -r 59d58008c40d -r 7268cbc535e5 datatypes_conf.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datatypes_conf.xml Fri Nov 23 00:30:27 2012 -0500
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff -r 59d58008c40d -r 7268cbc535e5 findPeaks.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/findPeaks.xml Fri Nov 23 00:30:27 2012 -0500
@@ -0,0 +1,52 @@
+
+
+ homer
+
+
+
+
+ findPeaks $tagDir.extra_files_path $options -o $outputPeakFile
+
+ #if $control_tagDir:
+ -i $control_tagDir.extra_files_path
+ #end if
+
+ 2> $out_log || echo "Error running findPeaks." >&2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. class:: infomark
+
+ **Homer findPeaks**
+ http://biowhat.ucsd.edu/homer/ngs/peaks.html
+
+
+
+
diff -r 59d58008c40d -r 7268cbc535e5 homerDatatypes.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/homerDatatypes.py Fri Nov 23 00:30:27 2012 -0500
@@ -0,0 +1,118 @@
+"""
+homer composite datatypes
+Use at your peril
+Kevin Ying
+for the homer wrapper
+
+Nov 2012
+"""
+
+import logging, os, sys, time, tempfile, shutil, string, glob
+import data
+from galaxy import util
+from cgi import escape
+import urllib, binascii
+from galaxy.web import url_for
+from galaxy.datatypes import metadata
+from galaxy.datatypes.metadata import MetadataElement
+from galaxy.datatypes.data import Text
+from galaxy.datatypes.tabular import Tabular
+from galaxy.datatypes.images import Html
+from galaxy.datatypes.interval import Interval
+from galaxy.util.hash_util import *
+
+gal_Log = logging.getLogger(__name__)
+verbose = False
+
+class HomerTagDirectory(Html):
+ """
+ base class to use for homer tag directory datatypes
+ composite datatype elements
+ stored in extra files path
+ """
+
+ #MetadataElement( name="base_name", desc="base name for all transformed versions of this genetic dataset", default='HomerTagDirectory',
+ #readonly=True, set_in_upload=False)
+
+ composite_type = 'auto_primary_file'
+ #allow_datatype_change = False
+ file_ext = 'homerTagDirectory'
+
+ def __init__(self, **kwd):
+ Html.__init__(self, **kwd)
+ self.add_composite_file('tagInfo.txt', description="tagInfo")
+ self.add_composite_file('tagAutocorrelation.txt', description="tagAutocorrelation")
+ self.add_composite_file('tagCountDistribution.txt', description="tagCountDistribution")
+ self.add_composite_file('tagLengthDistribution.txt', description="tagLengthDistribution")
+
+ def generate_primary_file(self, dataset=None):
+ rval = ['
Homer Tag Directory Galaxy Composite Dataset ']
+ rval.append('This composite dataset is composed of the following files:
')
+ for composite_name, composite_file in self.get_composite_files( dataset = dataset ).iteritems():
+ fn = composite_name
+ opt_text = ''
+ if composite_file.optional:
+ opt_text = ' (optional)'
+ if composite_file.get('description'):
+ rval.append( '- %s (%s)%s
' % ( fn, fn, composite_file.get('description'), opt_text ) )
+ else:
+ rval.append( '- %s%s
' % ( fn, fn, opt_text ) )
+ rval.append( '
' )
+ return "\n".join( rval )
+
+
+ def regenerate_primary_file(self,dataset):
+ """
+ cannot do this until we are setting metadata
+ """
+ #bn = dataset.metadata.base_name
+ efp = dataset.extra_files_path
+ flist = os.listdir(efp)
+ rval = ['Files for Composite Dataset %sComposite %s contains:' % (dataset.name,dataset.name)]
+ for i,fname in enumerate(flist):
+ sfname = os.path.split(fname)[-1]
+ f,e = os.path.splitext(fname)
+ rval.append( '- %s
' % ( sfname, sfname) )
+ rval.append( '
' )
+ f = file(dataset.file_name,'w')
+ f.write("\n".join( rval ))
+ f.write('\n')
+ f.close()
+
+ def get_mime(self):
+ """Returns the mime type of the datatype"""
+ return 'text/html'
+
+ def set_meta( self, dataset, **kwd ):
+
+ """
+ for homer maketagdirectory eg
+
+ """
+ Html.set_meta( self, dataset, **kwd )
+ if kwd.get('overwrite') == False:
+ if verbose:
+ gal_Log.debug('@@@ HomerTagDirectory set_meta called with overwrite = False')
+ return True
+ try:
+ efp = dataset.extra_files_path
+ except:
+ if verbose:
+ gal_Log.debug('@@@ HomerTagDirectory set_meta failed %s - dataset %s has no efp ?' % (sys.exc_info()[0], dataset.name))
+ return False
+ try:
+ flist = os.listdir(efp)
+ except:
+ if verbose: gal_Log.debug('@@@ HomerTagDirectory set_meta failed %s - dataset %s has no efp ?' % (sys.exc_info()[0],dataset.name))
+ return False
+ if len(flist) == 0:
+ if verbose:
+ gal_Log.debug('@@@ HomerTagDirectory set_meta failed - %s efp %s is empty?' % (dataset.name,efp))
+ return False
+ self.regenerate_primary_file(dataset)
+ if not dataset.info:
+ dataset.info = 'Galaxy HomerTagDirectory datatype object'
+ if not dataset.blurb:
+ dataset.blurb = 'Composite file - Homer Galaxy toolkit'
+ return True
+
diff -r 59d58008c40d -r 7268cbc535e5 makeTagDirectory.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/makeTagDirectory.xml Fri Nov 23 00:30:27 2012 -0500
@@ -0,0 +1,48 @@
+
+
+ homer
+
+ makeTagDirectory
+ echo "Doh!"
+ makeTagDirectory ${tagDir.extra_files_path}
+ #for $alignF in $alignmentFiles
+ $alignF.file -format $alignF.file.ext
+ #end for
+ 2> $out_log || echo "Error running homer_makeTagDirectory." >&2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. class:: infomark
+
+ After the job finishes, save the zip file, unzip and open "index.html"
+
+ The actual meme-chip command is displayed under "Command line summary"
+
+ Defaults:
+ http://meme.nbcr.net/meme/doc/meme-chip.html
+
+
+
+
diff -r 59d58008c40d -r 7268cbc535e5 pos2bed.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pos2bed.xml Fri Nov 23 00:30:27 2012 -0500
@@ -0,0 +1,34 @@
+
+
+ homer
+
+
+
+
+ pos2bed.pl $input_peak 1> $out_bed
+ 2> $out_log || echo "Error running pos2bed." >&2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .. class:: infomark
+
+ **Homer pos2bed.pl**
+ http://biowhat.ucsd.edu/homer/ngs/miscellaneous.html
+
+
+