# HG changeset patch # User fubar # Date 1708672542 0 # Node ID cb4b32ca996818d34e5560fab5d3ef08a217ab05 # Parent 8f02a84ee278438d020a917bf1a893a061843108 planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 48bc917d34af182e9158915862c8a35723660919-dirty diff -r 8f02a84ee278 -r cb4b32ca9968 jbrowse2.py --- a/jbrowse2.py Wed Feb 21 02:57:30 2024 +0000 +++ b/jbrowse2.py Fri Feb 23 07:15:42 2024 +0000 @@ -450,22 +450,24 @@ if len(genome_name.split()) > 1: genome_name = genome_name.split()[0] # spaces and cruft break scripts when substituted - fapath = genome_node["path"] - assem = self.make_assembly(fapath, genome_name) - assemblies.append(assem) - self.genome_names.append(genome_name) - if self.genome_name is None: - self.genome_name = ( - genome_name # first one for all tracks - other than paf - ) - self.genome_firstcontig = None - fl = open(fapath, "r").readline().strip().split(">") - if len(fl) > 1: - fl = fl[1] - if len(fl.split()) > 1: - self.genome_firstcontig = fl.split()[0].strip() - else: - self.genome_firstcontig = fl + if genome_name not in self.genome_names: + # ignore dupes - can have multiple pafs with same references? + fapath = genome_node["path"] + assem = self.make_assembly(fapath, genome_name) + assemblies.append(assem) + self.genome_names.append(genome_name) + if self.genome_name is None: + self.genome_name = ( + genome_name # first one for all tracks - other than paf + ) + self.genome_firstcontig = None + fl = open(fapath, "r").readline().strip().split(">") + if len(fl) > 1: + fl = fl[1] + if len(fl.split()) > 1: + self.genome_firstcontig = fl.split()[0].strip() + else: + self.genome_firstcontig = fl if self.config_json.get("assemblies", None): self.config_json["assemblies"] += assemblies else: @@ -1013,26 +1015,31 @@ def add_paf(self, data, trackData, pafOpts, **kwargs): tname = trackData["name"] tId = trackData["label"] - pgname = pafOpts["genome_label"] - if len(pgname.split()) > 1: - pgname = pgname.split()[ - 0 - ] # trouble from spacey names in command lines avoidance - asstrack = self.make_assembly(pafOpts["genome"], pgname) - self.genome_names.append(pgname) - if self.config_json.get("assemblies", None): - self.config_json["assemblies"].append(asstrack) - else: - self.config_json["assemblies"] = [ - asstrack, - ] + pgnames = [x.strip() for x in pafOpts["genome_label"].split(',')] + pgpaths = [x.strip() for x in pafOpts["genome"].split(',')] + passnames = [self.genome_name] # always first + for i, gname in enumerate(pgnames): + if len(gname.split()) > 1: + gname = gname.split()[0] + # trouble from spacey names in command lines avoidance + if gname not in self.genome_names: + passnames.append(gname) + # ignore if already there - eg for duplicates among pafs. + asstrack = self.make_assembly(pgpaths[i], gname) + self.genome_names.append(gname) + if self.config_json.get("assemblies", None): + self.config_json["assemblies"].append(asstrack) + else: + self.config_json["assemblies"] = [ + asstrack, + ] url = "%s.paf" % (trackData["label"]) dest = "%s/%s" % (self.outdir, url) self.symlink_or_copy(os.path.realpath(data), dest) trackDict = { "type": "SyntenyTrack", "trackId": tId, - "assemblyNames": [self.genome_name, pgname], + "assemblyNames": passnames, "name": tname, "adapter": { "type": "PAFAdapter", @@ -1533,6 +1540,9 @@ default_session_data["session_name"] = root.find( "metadata/general/session_name" ).text + jc.zipOut = root.find( + "metadata/general/zipOut" + ).text == "true" general_data = { "analytics": root.find("metadata/general/analytics").text, "primary_color": root.find("metadata/general/primary_color").text, diff -r 8f02a84ee278 -r cb4b32ca9968 jbrowse2.xml --- a/jbrowse2.xml Wed Feb 21 02:57:30 2024 +0000 +++ b/jbrowse2.xml Fri Feb 23 07:15:42 2024 +0000 @@ -17,9 +17,12 @@ python '$__tool_directory__/jbrowse2.py' --outdir '$output.files_path' --xml '$trackxml' && - -cp '$output.files_path/index.html' '$output' - +#if $jbgen.zipOut == "true": + (cd '$output.files_path' && zip -r - . ) > JBrowse2.zip && + mv JBrowse2.zip '$output' +#else + cp '$output.files_path/index.html' '$output' +#end if ## Ugly testing hack since I cannot get to test the files I want to test. Hmph. #if str($uglyTestingHack) == "enabled": && cp '$trackxml' '$output' @@ -77,6 +80,7 @@ ${jbgen.defaultLocation} + ${jbgen.zipOut} ${jbgen.enableAnalytics} ${jbgen.primary_color} ${jbgen.secondary_color} @@ -89,100 +93,109 @@ #for $tg in $track_groups: - #for $track in $tg.data_tracks: - - #if $track.data_format.data_format_select != "sparql": - - #set dataset = $track.data_format.annotation - - - - - #else - user_email="anonymous" - user_id="-1" - display_name="Unnamed History"/> - #end if - - - - - - #end if + #for $track in $tg.data_tracks: + + #if $track.data_format.data_format_select != "sparql": + + #set dataset = $track.data_format.annotation + + + + + #else + user_email="anonymous" + user_id="-1" + display_name="Unnamed History"/> + #end if + + + + + + #else + + #end if - - + - #if str($track.data_format.data_format_select) == "pileup": - - - ${dataset.metadata.bam_index} - - - #else if str($track.data_format.data_format_select) == "cram": - - - ${dataset.metadata.cram_index} - - - #else if str($track.data_format.data_format_select) == "blast": - - #if str($track.data_format.blast_parent) != "": - ${track.data_format.blast_parent} - #end if - ${track.data_format.is_protein} - ${track.data_format.min_gap} - - #else if str($track.data_format.data_format_select) == "gene_calls": - - #if $track.data_format.match_part.match_part_select == "true": - ${track.data_format.match_part.name} - #end if - - #else if str($track.data_format.data_format_select) == "paf": - - ${track.data_format.synteny_genome} - ${track.data_format.synteny_genome.name} - - #else if str($track.data_format.data_format_select) == "hic": - - - #else if str($track.data_format.data_format_select) == "cool": - - - #else if str($track.data_format.data_format_select) == "sparql": - - - ${track.data_format.url} - ${track.data_format.query} - ${track.data_format.query_refnames} - - #end if - - + #if str($track.data_format.data_format_select) == "pileup": + + + ${dataset.metadata.bam_index} + + + #else if str($track.data_format.data_format_select) == "cram": + + + ${dataset.metadata.cram_index} + + + #else if str($track.data_format.data_format_select) == "blast": + + #if str($track.data_format.blast_parent) != "": + ${track.data_format.blast_parent} + #end if + ${track.data_format.is_protein} + ${track.data_format.min_gap} + + #else if str($track.data_format.data_format_select) == "gene_calls": + + #if $track.data_format.match_part.match_part_select == "true": + ${track.data_format.match_part.name} + #end if + + #else if str($track.data_format.data_format_select) == "paf": + + + #for gnome in $track.data_format.synteny_genome: + $gnome, + #end for + + + #for gnome in $track.data_format.synteny_genome: + $gnome.name, + #end for + + + #else if str($track.data_format.data_format_select) == "hic": + + + #else if str($track.data_format.data_format_select) == "cool": + + + #else if str($track.data_format.data_format_select) == "sparql": + + + ${track.data_format.url} + ${track.data_format.query} + ${track.data_format.query_refnames} + + #end if + + #end for - #end for + #end for ]]> @@ -236,7 +249,7 @@ - + @@ -302,11 +315,12 @@ - - + type="data" + multiple="True"/> + @@ -376,7 +390,11 @@ - + + + + + @@ -405,6 +423,7 @@ + @@ -739,6 +758,7 @@ + diff -r 8f02a84ee278 -r cb4b32ca9968 macros.xml --- a/macros.xml Wed Feb 21 02:57:30 2024 +0000 +++ b/macros.xml Fri Feb 23 07:15:42 2024 +0000 @@ -140,6 +140,8 @@
+ @@ -502,7 +504,6 @@ -