Mercurial > repos > yating-l > hubarchivecreator
changeset 57:b39dd0b5a166 draft
planemo upload for repository https://github.com/goeckslab/hub-archive-creator commit ce28781f52a4f84039de300cb41e3982f2e8bf51-dirty
author | yating-l |
---|---|
date | Fri, 30 Jun 2017 14:49:14 -0400 |
parents | 04cc7c2e7b47 |
children | a0fc8379223c |
files | Bam.py Bed.py BedBlastAlignments.py BedSimpleRepeats.py BedSpliceJunctions.py BigBed.py BigWig.py Datatype.py Gff3.py Gtf.py Psl.py TrackDb.py bigPsl.py cytoBand.py hubArchiveCreator.xml templates/trackDb/layout.txt util/subtools.py |
diffstat | 17 files changed, 114 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/Bam.py Fri Jun 02 17:28:01 2017 -0400 +++ b/Bam.py Fri Jun 30 14:49:14 2017 -0400 @@ -37,6 +37,7 @@ # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = self.data_bam["group_name"] + self.database = self.data_bam["database"] if self.data_bam["long_label"]: self.long_label = self.data_bam["long_label"] else: @@ -58,7 +59,8 @@ long_label=self.long_label, track_type='bam', visibility='pack', priority=self.priority, track_file=bam_index_file_path, track_color=self.track_color, - group_name=self.group_name + group_name=self.group_name, + database=self.database ) # # dataURL = "tracks/%s" % self.name_bam
--- a/Bed.py Fri Jun 02 17:28:01 2017 -0400 +++ b/Bed.py Fri Jun 30 14:49:14 2017 -0400 @@ -26,6 +26,7 @@ self.track_color = self.data_bed_generic["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = self.data_bed_generic["group_name"] + self.database = self.data_bed_generic["database"] if self.data_bed_generic["long_label"]: self.long_label = self.data_bed_generic["long_label"] else: @@ -51,7 +52,8 @@ priority=self.priority, track_file=myBigBedFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) # dataURL = "tracks/%s" % trackName #
--- a/BedBlastAlignments.py Fri Jun 02 17:28:01 2017 -0400 +++ b/BedBlastAlignments.py Fri Jun 30 14:49:14 2017 -0400 @@ -21,6 +21,7 @@ self.track_color = data_bed_blast_alignments["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_bed_blast_alignments["group_name"] + self.database = data_bed_blast_alignments["database"] if data_bed_blast_alignments["long_label"]: self.long_label = data_bed_blast_alignments["long_label"] else: @@ -44,7 +45,8 @@ bigBedFile.name, typeOption='bed12+12', tab='True', - autoSql=auto_sql_option) + autoSql=auto_sql_option, + extraIndex='name') self.createTrack(file_path=trackName, track_name=trackName, @@ -52,7 +54,9 @@ priority=self.priority, track_file=myBigBedFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database + ) # dataURL = "tracks/%s" % trackName
--- a/BedSimpleRepeats.py Fri Jun 02 17:28:01 2017 -0400 +++ b/BedSimpleRepeats.py Fri Jun 30 14:49:14 2017 -0400 @@ -20,6 +20,7 @@ self.track_color = data_bed_simple_repeats["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_bed_simple_repeats["group_name"] + self.database = data_bed_simple_repeats["database"] if data_bed_simple_repeats["long_label"]: self.long_label = data_bed_simple_repeats["long_label"] else: @@ -42,7 +43,8 @@ self.chromSizesFile.name, bigBedFile.name, typeOption='bed4+12', - autoSql=auto_sql_option) + autoSql=auto_sql_option + ) # Create the Track Object self.createTrack(file_path=trackName, @@ -51,7 +53,8 @@ priority=self.priority, track_file=myBigBedFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) # dataURL = "tracks/%s" % trackName #
--- a/BedSpliceJunctions.py Fri Jun 02 17:28:01 2017 -0400 +++ b/BedSpliceJunctions.py Fri Jun 30 14:49:14 2017 -0400 @@ -20,6 +20,7 @@ self.track_color = data_bed_splice_junctions["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_bed_splice_junctions["group_name"] + self.database = data_bed_splice_junctions["database"] if data_bed_splice_junctions["long_label"]: self.long_label = data_bed_splice_junctions["long_label"] else: @@ -41,7 +42,8 @@ self.chromSizesFile.name, bigBedFile.name, typeOption='bed12+1', - autoSql=auto_sql_option) + autoSql=auto_sql_option + ) # Create the Track Object self.createTrack(file_path=trackName, @@ -50,7 +52,8 @@ priority=self.priority, track_file=myBigBedFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) # dataURL = "tracks/%s" % trackName #
--- a/BigBed.py Fri Jun 02 17:28:01 2017 -0400 +++ b/BigBed.py Fri Jun 30 14:49:14 2017 -0400 @@ -21,6 +21,7 @@ self.priority = data_bigbed["order_index"] self.track_color = data_bigbed["track_color"] self.group_name = data_bigbed["group_name"] + self.database = data_bigbed["database"] track_name = "".join((self.name_bigbed, ".bigbed")) if data_bigbed["long_label"]: @@ -43,7 +44,8 @@ priority=self.priority, track_file=bigbed_file_path, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) print "- BigBed %s created" % self.name_bigbed
--- a/BigWig.py Fri Jun 02 17:28:01 2017 -0400 +++ b/BigWig.py Fri Jun 30 14:49:14 2017 -0400 @@ -23,6 +23,7 @@ self.track_color = data_bigwig["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_bigwig["group_name"] + self.database = data_bigwig["database"] if data_bigwig["long_label"]: self.long_label = data_bigwig["long_label"] else: @@ -43,7 +44,8 @@ priority=self.priority, track_file=myBigWigFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database = self.database) print("- BigWig %s created" % self.name_bigwig) #print("- %s created in %s" % (trackName, myBigWigFilePath))
--- a/Datatype.py Fri Jun 02 17:28:01 2017 -0400 +++ b/Datatype.py Fri Jun 30 14:49:14 2017 -0400 @@ -76,7 +76,7 @@ file_path=None, track_name=None, long_label=None, thick_draw_item='off', short_label=None, track_type=None, visibility=None, priority=None, - track_file=None, track_color='#000000', group_name="Default"): + track_file=None, track_color='#000000', group_name="Default", database=""): # TODO: Remove the hardcoded "tracks" by the value used as variable from myTrackFolderPath data_url = "tracks/%s" % file_path @@ -97,7 +97,6 @@ #sanitize the track_name sanitized_name = subtools.fixName(track_name) - track_db = TrackDb( trackName=sanitized_name, longLabel=long_label, @@ -108,7 +107,8 @@ thickDrawItem=thick_draw_item, priority=priority, track_color=rgb_ucsc, - group_name=group_name + group_name=group_name, + database=database ) # Return the Bam Track Object
--- a/Gff3.py Fri Jun 02 17:28:01 2017 -0400 +++ b/Gff3.py Fri Jun 30 14:49:14 2017 -0400 @@ -22,6 +22,7 @@ self.track_color = data_gff3["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_gff3["group_name"] + self.database = data_gff3["database"] if data_gff3["long_label"]: self.long_label = data_gff3["long_label"] else: @@ -65,6 +66,7 @@ priority=self.priority, track_file=myBigBedFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) print("- Gff3 %s created" % self.name_gff3)
--- a/Gtf.py Fri Jun 02 17:28:01 2017 -0400 +++ b/Gtf.py Fri Jun 30 14:49:14 2017 -0400 @@ -28,6 +28,7 @@ self.track_color = data_gtf["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_gtf["group_name"] + self.database = data_gtf["database"] if data_gtf["long_label"]: self.long_label = data_gtf["long_label"] else: @@ -76,7 +77,8 @@ visibility='dense', priority=self.priority, track_file=myBigBedFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) # TODO: Use Logging instead of print if modified_gtf.is_modified:
--- a/Psl.py Fri Jun 02 17:28:01 2017 -0400 +++ b/Psl.py Fri Jun 30 14:49:14 2017 -0400 @@ -19,6 +19,7 @@ self.track_color = data_psl["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_psl["group_name"] + self.database = data_psl["database"] if data_psl["long_label"]: self.long_label = data_psl["long_label"] else: @@ -58,6 +59,7 @@ priority=self.priority, track_file=my_big_psl_file_path, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) print("- BigPsl %s created" % self.name_psl) \ No newline at end of file
--- a/TrackDb.py Fri Jun 02 17:28:01 2017 -0400 +++ b/TrackDb.py Fri Jun 30 14:49:14 2017 -0400 @@ -4,7 +4,7 @@ """docstring for TrackDb""" def __init__(self, trackName="", longLabel="", shortLabel="", trackDataURL="", trackType="", visibility="", - thickDrawItem='off', priority="0", track_color="#000000", group_name="Default"): + thickDrawItem='off', priority="0", track_color="#000000", group_name="Default", database=""): super(TrackDb, self).__init__() self.trackName = trackName @@ -17,3 +17,5 @@ self.priority = priority self.track_color = track_color self.group_name = group_name + self.database = database + \ No newline at end of file
--- a/bigPsl.py Fri Jun 02 17:28:01 2017 -0400 +++ b/bigPsl.py Fri Jun 30 14:49:14 2017 -0400 @@ -21,6 +21,7 @@ self.track_color = data_bigpsl["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_bigpsl["group_name"] + self.database = data_bigpsl["database"] if data_bigpsl["long_label"]: self.long_label = data_bigpsl["long_label"] else: @@ -44,7 +45,8 @@ bigBedFile.name, typeOption='bed12+12', tab='True', - autoSql=auto_sql_option) + autoSql=auto_sql_option, + extraIndex='name') self.createTrack(file_path=trackName, track_name=trackName, @@ -52,7 +54,8 @@ priority=self.priority, track_file=myBigBedFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) # dataURL = "tracks/%s" % trackName
--- a/cytoBand.py Fri Jun 02 17:28:01 2017 -0400 +++ b/cytoBand.py Fri Jun 30 14:49:14 2017 -0400 @@ -20,6 +20,7 @@ self.track_color = data_bed_cytoBand["track_color"] # TODO: Think about how to avoid repetition of the group_name everywhere self.group_name = data_bed_cytoBand["group_name"] + self.database = data_bed_cytoBand["database"] if data_bed_cytoBand["long_label"]: self.long_label = data_bed_cytoBand["long_label"] else: @@ -52,7 +53,8 @@ priority=self.priority, track_file=myBigBedFilePath, track_color=self.track_color, - group_name=self.group_name) + group_name=self.group_name, + database=self.database) # dataURL = "tracks/%s" % trackName #
--- a/hubArchiveCreator.xml Fri Jun 02 17:28:01 2017 -0400 +++ b/hubArchiveCreator.xml Fri Jun 30 14:49:14 2017 -0400 @@ -73,7 +73,8 @@ #set track_color = str($f.formatChoice.track_color) #set group_name = str($g.group_name) #set longLabel = str($f.formatChoice.longLabel) - #set extra_data_dict = {"track_color": $track_color, + #set extra_data_dict = {"database": "", + "track_color": $track_color, "group_name": $group_name, "long_label": $longLabel} @@ -109,11 +110,15 @@ #end if #if $f.formatChoice.bedChoice.bed_select == "bed_blast_alignment_option" --bedBlastAlignments $f.formatChoice.bedChoice.BED_blast_alignment + #set database = str($f.formatChoice.bedChoice.database) + #silent extra_data_dict.update({"database": $database}) #silent $prepare_json($f.formatChoice.bedChoice.BED_blast_alignment, $index_track_final, extra_data_dict) #end if #if $f.formatChoice.bedChoice.bed_select == "bed_blat_alignment_option" --bigpsl $f.formatChoice.bedChoice.BED_blat_alignment + #set database = str($f.formatChoice.bedChoice.database) + #silent extra_data_dict.update({"database": $database}) #silent $prepare_json($f.formatChoice.bedChoice.BED_blat_alignment, $index_track_final, extra_data_dict) #end if @@ -264,6 +269,12 @@ type="data" label="Bed Blast Alignments (Bed12+12) File" /> + <param name="database" type="select" label="Protein database"> + <option value="NCBI" selected="true">NCBI</option> + <option value="Swiss-Prot">Swiss-Prot</option> + <option value="FlyBase">FlyBase</option> + <option value="Others">Others</option> + </param> </when> <when value="bed_blat_alignment_option"> <param @@ -272,6 +283,10 @@ type="data" label="Bed BLAT Alignments (bigPsl) File" /> + <param name="database" type="select" label="mRNA database"> + <option value="NCBI" selected="true">NCBI</option> + <option value="Others">Others</option> + </param> </when> </conditional> <param name="longLabel" type="text" size="30" label="Track name" />
--- a/templates/trackDb/layout.txt Fri Jun 02 17:28:01 2017 -0400 +++ b/templates/trackDb/layout.txt Fri Jun 30 14:49:14 2017 -0400 @@ -14,6 +14,49 @@ maxHeightPixels 100:32:8 windowingFunction mean+whiskers + % elif "bigBed 12 +" in trackDb.trackType and trackDb.database: + +track ${trackDb.trackName} +longLabel ${trackDb.longLabel} +shortLabel ${trackDb.shortLabel} +bigDataUrl ${trackDb.trackDataURL} +type ${trackDb.trackType} +visibility ${trackDb.visibility} +thickDrawItem ${trackDb.thickDrawItem} +priority ${trackDb.priority} +color ${trackDb.track_color} +group ${trackDb.group_name.lower().replace(' ', '_')} +searchIndex name + % if "NCBI" in trackDb.database: +url https://www.ncbi.nlm.nih.gov/protein/$$ +urlLabel ${trackDb.database} Details: + % elif "Swiss-Prot" in trackDb.database: +url http://www.uniprot.org/uniprot/$$ +urlLabel ${trackDb.database} Details: + % elif "FlyBase" in trackDb.database: +url http://flybase.org/reports/$$ +urlLabel ${trackDb.database} Details: + % else: +url https://www.ncbi.nlm.nih.gov/gquery/?term=$$ +urlLabel ${trackDb.database} Details: + % endif + + % elif "bigPsl" in trackDb.trackType and trackDb.database: + +track ${trackDb.trackName} +longLabel ${trackDb.longLabel} +shortLabel ${trackDb.shortLabel} +bigDataUrl ${trackDb.trackDataURL} +type ${trackDb.trackType} +visibility ${trackDb.visibility} +thickDrawItem ${trackDb.thickDrawItem} +priority ${trackDb.priority} +color ${trackDb.track_color} +group ${trackDb.group_name.lower().replace(' ', '_')} +searchIndex name +url https://www.ncbi.nlm.nih.gov/nuccore/$$ +urlLabel NCBI Details: + % else: ## See this http://genome.ucsc.edu/goldenPath/help/hgTrackHubHelp.html
--- a/util/subtools.py Fri Jun 02 17:28:01 2017 -0400 +++ b/util/subtools.py Fri Jun 30 14:49:14 2017 -0400 @@ -182,7 +182,7 @@ return p def bedToBigBed(sorted_bed_file_name, chrom_sizes_file_name, big_bed_file_name, - typeOption=None, autoSql=None, tab=False): + typeOption=None, autoSql=None, tab=False, extraIndex=None): """ Call bedToBigBed on sorted_bed_file_name, using chrom_sizes_file_name and write the result into big_bed_file_name :param sorted_bed_file_name: @@ -209,6 +209,9 @@ array_call.append(autoSql) if tab: array_call.append('-tab') + if extraIndex: + index = ''.join(['-extraIndex=', extraIndex]) + array_call.append(index) p = _handleExceptionAndCheckCall(array_call) return p