changeset 39:75edbc203532 draft

planemo upload for repository https://github.com/Yating-L/jbrowse_hub commit faeedda55e23f1197bc454d3db2d52af29d786e8-dirty
author yating-l
date Fri, 17 Mar 2017 19:00:01 -0400
parents 3a3591cf27f9
children 4af741177682
files TrackHub.py jbrowse_hub.py jbrowse_hub.xml trackObject.py
diffstat 4 files changed, 43 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/TrackHub.py	Fri Mar 17 16:28:21 2017 -0400
+++ b/TrackHub.py	Fri Mar 17 19:00:01 2017 -0400
@@ -46,7 +46,12 @@
     def addTrack(self, track):
         track_label = track['label']
         track_color = track['track_color']
-        track_type = track['track_type']
+        if track['dataType'] == 'blastxml':
+            track_type = "G-OnRamp_plugin/BlastAlignment"
+        elif track['dataType'] == 'gff3_transcript' or track['dataType'] == 'gff3_mrna':
+            track_type = "G-OnRamp_plugin/GenePred"
+        else:
+            track_type = "CanvasFeatures"
         if track['dataType'] == 'bam':
             self.createTrackList()
             json_file = os.path.join(self.json, "trackList.json")
@@ -54,7 +59,6 @@
             bam_track['type'] = 'JBrowse/View/Track/Alignments2'
             bam_track['storeClass'] = 'JBrowse/Store/SeqFeature/BAM'
             bam_track['label'] = track_label
-            bam_track['color'] = track_color
             bam_track['urlTemplate'] = os.path.join('../raw', track['fileName'])
             bam_track['baiUrlTemplate'] = os.path.join('../raw', track['index'])
             utils.add_tracks_to_json(json_file, bam_track, 'add_tracks')
@@ -64,7 +68,8 @@
             json_file = os.path.join(self.json, "trackList.json")
             bigwig_track = dict()
             bigwig_track['label'] = track_label
-            bigwig_track['color'] = track_color
+            #color_setting = {"pos_color" : track['pos_color'], "neg_color" : track['neg_color']} 
+            bigwig_track['style'] = {"pos_color" : track['pos_color'], "neg_color" : track['neg_color']} 
             bigwig_track['urlTemplate'] = os.path.join('../raw', track['fileName'])
             bigwig_track['type'] = 'JBrowse/View/Track/Wiggle/XYPlot'
             bigwig_track['storeClass'] = 'JBrowse/Store/SeqFeature/BigWig'
@@ -72,15 +77,11 @@
         else: 
             gff3_file = os.path.join(self.raw, track['fileName'])
             if track['dataType'] == 'bedSpliceJunctions' or track['dataType'] == 'gtf':
-                p = subprocess.Popen(['flatfile-to-json.pl', '--gff', gff3_file, '--trackType', track_type, '--trackLabel', track_label, '--config', '{"glyph": "JBrowse/View/FeatureGlyph/Segments", "color" : "%s"}' % track_color, '--out', self.json])
+                p = subprocess.Popen(['flatfile-to-json.pl', '--gff', gff3_file, '--trackType', track_type, '--trackLabel', track_label, '--Config', '{"glyph": "JBrowse/View/FeatureGlyph/Segments"}', '--clientConfig', '{"color" : "%s"}' % track_color, '--out', self.json])
             elif track['dataType'] == 'gff3_transcript':
-                p = subprocess.Popen(['flatfile-to-json.pl', '--gff', gff3_file, '--trackType', track_type, '--trackLabel', track_label, '--config', '{"transcriptType": "transcript", "color" : "%s"}' % track_color, '--out', self.json])
-            elif track['dataType'] == 'gff3_mrna':
-                p = subprocess.Popen(['flatfile-to-json.pl', '--gff', gff3_file, '--trackType', track_type, '--trackLabel', track_label, '--config', '{"color" : "%s"}' % track_color, '--out', self.json])
-            elif track['dataType'] == 'blastxml':
-                p = subprocess.Popen(['flatfile-to-json.pl', '--gff', gff3_file, '--trackType', track_type, '--trackLabel', track_label, '--config', '{"color" : "%s"}' % track_color, '--out', self.json])
+                p = subprocess.Popen(['flatfile-to-json.pl', '--gff', gff3_file, '--trackType', track_type, '--trackLabel', track_label, '--Config', '{"transcriptType": "transcript"}', '--clientConfig', '{"color" : "%s"}' % track_color, '--out', self.json])
             else:
-                p = subprocess.Popen(['flatfile-to-json.pl', '--gff', gff3_file, '--trackType', track_type, '--trackLabel', track_label, '--config', '{"color" : "%s"}' % track_color, '--out', self.json])
+                p = subprocess.Popen(['flatfile-to-json.pl', '--gff', gff3_file, '--trackType', track_type, '--trackLabel', track_label, '--clientConfig', '{"color" : "%s"}' % track_color, '--out', self.json])
             p.communicate()
             
     def indexName(self):
--- a/jbrowse_hub.py	Fri Mar 17 16:28:21 2017 -0400
+++ b/jbrowse_hub.py	Fri Mar 17 19:00:01 2017 -0400
@@ -132,7 +132,7 @@
                 #print f
                 if f in inputs_data.keys():
                     metadata = inputs_data[f]
-                    #print metadata
+                    print metadata
                 #Convert tracks into gff3 format
                 all_tracks.addToRaw(f, datatype, metadata)
 
--- a/jbrowse_hub.xml	Fri Mar 17 16:28:21 2017 -0400
+++ b/jbrowse_hub.xml	Fri Mar 17 19:00:01 2017 -0400
@@ -38,10 +38,10 @@
 
         #for $f in $format
             #set track_label =  str($f.formatChoice.label)
-            #set track_color = str($f.formatChoice.track_color)
-            #set extra_data_dict = {"label" : $track_label, 
-                                    "track_color" : $track_color} 
+            #set extra_data_dict = {"label" : $track_label} 
             #if $f.formatChoice.format_select == 'bed'
+                #set track_color = str($f.formatChoice.track_color)
+                #silent extra_data_dict.update({"track_color" : $track_color})
                 #if $f.formatChoice.bedChoice.bed_select == 'bed_simple_repeats_option'
                     --bedSimpleRepeats $f.formatChoice.bedChoice.BED_simple_repeats
                     #silent $prepare_json($f.formatChoice.bedChoice.BED_simple_repeats, extra_data_dict)
@@ -55,8 +55,8 @@
                 #silent $prepare_json($f.formatChoice.BAM, extra_data_dict)
             #end if
             #if $f.formatChoice.format_select == 'gff3'
-                #set track_type = $f.formatChoice.track_type
-                #silent extra_data_dict.update({"track_type" : $track_type})
+                #set track_color = str($f.formatChoice.track_color)
+                #silent extra_data_dict.update({"track_color" : $track_color})
                 #if $f.formatChoice.gff3Choice.gff3_select == 'gff3_transcript'
                     --gff3_transcript $f.formatChoice.gff3Choice.GFF3_transcript
                     #silent $prepare_json($f.formatChoice.gff3Choice.GFF3_transcript, extra_data_dict)
@@ -66,17 +66,22 @@
                 #end if
             #end if
             #if $f.formatChoice.format_select == 'blastxml'
-                #set track_type = $f.formatChoice.track_type
-                #silent extra_data_dict.update({"track_type" : $track_type})
                 --blastxml $f.formatChoice.BlastXML
+                #set track_color = str($f.formatChoice.track_color)
+                #silent extra_data_dict.update({"track_color" : $track_color})
                 #silent $prepare_json($f.formatChoice.BlastXML, extra_data_dict)
             #end if
             #if $f.formatChoice.format_select == 'gtf'
                 --gtf $f.formatChoice.GTF
+                #set track_color = str($f.formatChoice.track_color)
+                #silent extra_data_dict.update({"track_color" : $track_color})
                 #silent $prepare_json($f.formatChoice.GTF, extra_data_dict)
             #end if
             #if $f.formatChoice.format_select == 'bigwig'
                 --bigwig $f.formatChoice.BIGWIG
+                #set pos_color = str($f.formatChoice.pos_color)
+                #set neg_color = str($f.formatChoice.neg_color)
+                #silent $extra_data_dict.update({"pos_color" : $pos_color, "neg_color" : $neg_color})
                 #silent $prepare_json($f.formatChoice.BIGWIG, extra_data_dict)
             #end if
        #end for
@@ -111,13 +116,6 @@
                                 label="BAM File"
                         />
                         <param name="label" type="text" size="30" value = "Sequence Alignment" label="Track name" />
-                        <param name="track_color" type="color" label="Track color" value="#daa520">
-                            <sanitizer>
-                                <valid initial="string.letters,string.digits">
-                                    <add value="#"/>
-                                </valid>
-                            </sanitizer>
-                        </param>
                     </when>     
                     <when value="bed">
                         <conditional name="bedChoice">
@@ -159,10 +157,6 @@
                                 label="Blast Alignments File"
                         />
                         <param name="label" type="text" size="30" value="Blast Alignment" label="Track name" />
-                        <param name="track_type" type="select" label="Set trackType">
-                            <option value="CanvasFeatures">CanvasFeatures (Default)</option>
-                            <option value="G-OnRamp_plugin/BlastAlignment">BlastAlignment (contain advanced features, need install G_OnRamp_plugin</option>
-                        </param>
                         <param name="track_color" type="color" label="Track color" value="#daa520">
                             <sanitizer>
                                 <valid initial="string.letters,string.digits">
@@ -179,7 +173,14 @@
                                 label="BIGWIG File"
                         />
                         <param name="label" type="text" size="30" value="Sequence Coverage" label="Track name" />
-                        <param name="track_color" type="color" label="Track color" value="#daa520">
+                        <param name="pos_color" type="color" label="Positive Coverage Color" value="#FFA600">
+                            <sanitizer>
+                                <valid initial="string.letters,string.digits">
+                                    <add value="#"/>
+                                </valid>
+                            </sanitizer>
+                        </param>
+                        <param name="neg_color" type="color" label="Negative Coverage Color" value="#005EFF">
                             <sanitizer>
                                 <valid initial="string.letters,string.digits">
                                     <add value="#"/>
@@ -211,10 +212,6 @@
                             </when>
                         </conditional>
                         <param name="label" type="text" size="30" value="Gene Prediction" label="Track name" />
-                        <param name="track_type" type="select" label="Set trackType">
-                            <option value="CanvasFeatures">CanvasFeatures (Default)</option>
-                            <option value="G-OnRamp_plugin/GenePred">GenePred (contain advanced features, need install G_OnRamp_plugin</option>
-                        </param>
                         <param name="track_color" type="color" label="Track color" value="#daa520">
                             <sanitizer>
                                 <valid initial="string.letters,string.digits">
--- a/trackObject.py	Fri Mar 17 16:28:21 2017 -0400
+++ b/trackObject.py	Fri Mar 17 19:00:01 2017 -0400
@@ -60,14 +60,22 @@
             utils.gtfToGff3(dataFile, des_path, self.chrom_size)
         track['fileName'] = fileName
         track['dataType'] = dataType
+        self.SetMetadata(track, metaData)
+        self.tracks.append(track)
+
+    #If the metadata is not set, use the default value
+    def SetMetadata(self, track, metaData):
         track.update(metaData)
-        #If the metadata is not set, use the default value
         if 'name' not in metaData.keys() or track['name'] == '':
-            track['name'] = fileName
+            track['name'] = track['fileName']
         if 'label' not in metaData.keys() or track['label'] == '':
             track['label'] = track['name']
         if 'track_color' not in metaData.keys() or track['track_color'] == '':
             track['track_color'] = "#daa520"
         if 'track_type' not in metaData.keys() or track['track_type'] == '':
             track['track_type'] = "CanvasFeatures"
-        self.tracks.append(track)
+        if track['dataType'] == 'bigwig':
+            if 'pos_color' not in metaData.keys() or track['pos_color'] == '':
+                track['pos_color'] = "#FFA600"
+            if 'neg_color' not in metaData.keys() or track['neg_color'] == '':
+                track['neg_color'] = "#005EFF"