diff homer.py @ 55:e9cd105a8856

Uploaded
author bgruening
date Mon, 12 Aug 2013 09:06:47 -0400
parents 675d25a0b9d4
children 07a5042bbe90
line wrap: on
line diff
--- a/homer.py	Mon Aug 12 08:16:21 2013 -0400
+++ b/homer.py	Mon Aug 12 09:06:47 2013 -0400
@@ -8,7 +8,7 @@
 from galaxy.datatypes.images import Html
 
 
-class TagDirectory(object):
+class TagDirectory( Text ):
     """Base class for HOMER's Tag Directory datatype."""
 
     file_ext = 'homer_tagdir'
@@ -26,6 +26,29 @@
         self.add_composite_file('tagGCcontent.txt', description = 'Distribution of fragment GC%-content', mimetype = 'text/html', optional=True) # Distribution of fragment GC%-content.
         self.add_composite_file('genomeGCcontent.txt', description = 'Distribution of fragment GC%-content at each location in the genome', mimetype = 'text/html', optional=True) # Distribution of fragment GC%-content at each location in the genome.
 
+
+    def regenerate_primary_file(self,dataset):
+        """
+        cannot do this until we are setting metadata 
+        """
+        flist = os.listdir(dataset.extra_files_path)
+        rval = ['<html><head><title>CuffDiff Output</title></head>']
+        rval.append('<body>')
+        rval.append('<p/>CuffDiff Outputs:<p/><ul>')
+        for i,fname in enumerate(flist):
+            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.close()
+
+    def set_meta( self, dataset, **kwd ):
+        Text.set_meta( self, dataset, **kwd )
+        self.regenerate_primary_file(dataset)
+
+
     def generate_primary_file( self, dataset = None ):
         rval = ['<html><head><title>HOMER database files</title></head><ul>']
         for composite_name, composite_file in self.get_composite_files( dataset = dataset ).iteritems():