comparison TrackHub.py @ 24:bb6fdccef474 draft

Uploaded
author yating-l
date Wed, 12 Jul 2017 12:55:27 -0400
parents df2a55f071fc
children 31a41ce128cc
comparison
equal deleted inserted replaced
23:cf607cd87659 24:bb6fdccef474
54 self.SetMetadata(track, metadata) 54 self.SetMetadata(track, metadata)
55 if track['dataType'] == 'bam': 55 if track['dataType'] == 'bam':
56 self.Bam(track, metadata) 56 self.Bam(track, metadata)
57 # print "add bam track\n" 57 # print "add bam track\n"
58 elif track['dataType'] == 'bigwig': 58 elif track['dataType'] == 'bigwig':
59 self.BigWig(track, metadata) 59 #create trackList.json if not exist
60 self.createTrackList()
61 json_file = os.path.join(self.json, "trackList.json")
62 bigwig_file = os.path.join(self.raw, track['fileName'])
63 subprocess.call(['add-bw-track.pl', '--label', metadata['label'], '--bw_url', bigwig_file, '--pos_color', metadata['style']['pos_color'], '--neg_color', metadata['style']['neg_color'], '--plot', 'JBrowse/View/Track/Wiggle/XYPlot', '--out', json_file, '--in', json_file])
60 else: 64 else:
61 flat_file = os.path.join(self.raw, track['fileName']) 65 flat_file = os.path.join(self.raw, track['fileName'])
62 if track['dataType'] == 'bed': 66 if track['dataType'] == 'bed':
63 subprocess.call(['flatfile-to-json.pl', '--bed', flat_file, '--trackType', metadata['type'], '--trackLabel', metadata['label'], '--Config', '{"category" : "%s"}' % metadata['category'], '--clientConfig', '{"color" : "%s"}' % metadata['color'], '--out', self.json]) 67 subprocess.call(['flatfile-to-json.pl', '--bed', flat_file, '--trackType', metadata['type'], '--trackLabel', metadata['label'], '--Config', '{"category" : "%s"}' % metadata['category'], '--clientConfig', '{"color" : "%s"}' % metadata['color'], '--out', self.json])
64 elif track['dataType'] == 'bedSpliceJunctions' or track['dataType'] == 'gtf' or track['dataType'] == 'blastxml': 68 elif track['dataType'] == 'bedSpliceJunctions' or track['dataType'] == 'gtf' or track['dataType'] == 'blastxml':
116 bam_track['category'] = metadata['category'] 120 bam_track['category'] = metadata['category']
117 bam_track = json.dumps(bam_track) 121 bam_track = json.dumps(bam_track)
118 #Use add-track-json.pl to add bam track to json file 122 #Use add-track-json.pl to add bam track to json file
119 new_track = subprocess.Popen(['echo', bam_track], stdout=subprocess.PIPE) 123 new_track = subprocess.Popen(['echo', bam_track], stdout=subprocess.PIPE)
120 subprocess.call(['add-track-json.pl', json_file], stdin=new_track.stdout) 124 subprocess.call(['add-track-json.pl', json_file], stdin=new_track.stdout)
121 125 '''
122 def BigWig(self, track, metadata): 126 def BigWig(self, track, metadata):
123 #create trackList.json if not exist 127 #create trackList.json if not exist
124 self.createTrackList() 128 self.createTrackList()
125 json_file = os.path.join(self.json, "trackList.json") 129 json_file = os.path.join(self.json, "trackList.json")
126 bigwig_track = dict() 130 bigwig_track = dict()
133 bigwig_track = json.dumps(bigwig_track) 137 bigwig_track = json.dumps(bigwig_track)
134 #Use add-track-json.pl to add bigwig track to json file 138 #Use add-track-json.pl to add bigwig track to json file
135 new_track = subprocess.Popen(['echo', bigwig_track], stdout=subprocess.PIPE) 139 new_track = subprocess.Popen(['echo', bigwig_track], stdout=subprocess.PIPE)
136 #output = new_track.communicate()[0] 140 #output = new_track.communicate()[0]
137 subprocess.call(['add-track-json.pl', json_file], stdin=new_track.stdout) 141 subprocess.call(['add-track-json.pl', json_file], stdin=new_track.stdout)
138 142 '''
143 def BigWig
139 #If the metadata is not set, use the default value 144 #If the metadata is not set, use the default value
140 def SetMetadata(self, track, metadata): 145 def SetMetadata(self, track, metadata):
141 if 'label' not in metadata.keys() or metadata['label'] == '': 146 if 'label' not in metadata.keys() or metadata['label'] == '':
142 metadata['label'] = track['fileName'] 147 metadata['label'] = track['fileName']
143 if 'color' not in metadata.keys() or metadata['color'] == '': 148 if 'color' not in metadata.keys() or metadata['color'] == '':