comparison autogenJB2.py @ 98:b1260bca5fdc draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/jbrowse2 commit 44d8fc559ecf5463a8f753561976fa26686c96f6
author bgruening
date Wed, 05 Jun 2024 10:00:07 +0000
parents 74074746ccd8
children 878c27dfea9d
comparison
equal deleted inserted replaced
97:74074746ccd8 98:b1260bca5fdc
75 }, 75 },
76 } 76 }
77 for i, x in enumerate(genome_paths) 77 for i, x in enumerate(genome_paths)
78 ], 78 ],
79 ) 79 )
80 logging.debug("@@@autogenJB2 paths=%s, genomes=%s" % (genome_paths, genomes))
81 assref_name = jc.process_genomes(genomes[0]) 80 assref_name = jc.process_genomes(genomes[0])
82 if not default_session_data.get(assref_name, None): 81 if not default_session_data.get(assref_name, None):
83 default_session_data[assref_name] = { 82 default_session_data[assref_name] = {
84 "tracks": [], 83 "tracks": [],
85 "style": {}, 84 "style": {},
88 "default_on": [], 87 "default_on": [],
89 "default_off": [], 88 "default_off": [],
90 }, 89 },
91 } 90 }
92 listtracks = trackList 91 listtracks = trackList
92 # foo.paf must have a foo_paf.fasta or fasta.gz to match
93 tnames = [x[2] for x in listtracks] 93 tnames = [x[2] for x in listtracks]
94 texts = [x[1] for x in listtracks] 94 texts = [x[1] for x in listtracks]
95 for i, track in enumerate(listtracks): 95 for i, track in enumerate(listtracks):
96 track_conf = { 96 track_conf = {
97 "trackfiles": [], 97 "trackfiles": [],
102 track_conf["dataset_id"] = trackname 102 track_conf["dataset_id"] = trackname
103 useuri = "no" 103 useuri = "no"
104 if tpath.startswith("http://") or tpath.startswith("https://"): 104 if tpath.startswith("http://") or tpath.startswith("https://"):
105 useuri = "yes" 105 useuri = "yes"
106 if trext == "paf": 106 if trext == "paf":
107 refdat = ["%s ~ %s" % (x[0],x[2]) for x in listtracks if x[1] in ["fasta", "fasta.gz"]] 107 refname = trackname + "_paf.fasta"
108 if len(refdat) == 0: 108 refdat = [x[2] for x in listtracks if x[2] == refname]
109 if not refdat:
109 jc.logging.warn( 110 jc.logging.warn(
110 "!! No reference file for %s found. Using main reference" 111 "No reference file %s corresponding to paf file %s found. Not building - there must be a corresponding fasta for each paf"
111 % (refname) 112 % (refname, trackname)
112 ) 113 )
113 refdat = ["%s ~ %s" % (genomes[0].path, assref_name),] 114 sys.exit(3)
114 else: 115 else:
115 track_conf.update( 116 track_conf.update(
116 { 117 {
117 "conf": { 118 "conf": {
118 "options": { 119 "options": {
119 "paf": { 120 "paf": {
120 "genome": ",".join(refdat) 121 "genome": refdat,
122 "genome_label": trackname,
121 } 123 }
122 } 124 }
123 } 125 }
124 } 126 }
125 ) 127 )
138 os.path.realpath(track[0]), 140 os.path.realpath(track[0]),
139 ] 141 ]
140 sys.stdout.write("#### calling %s" % " ".join(cmd)) 142 sys.stdout.write("#### calling %s" % " ".join(cmd))
141 jc.subprocess_check_call(cmd) 143 jc.subprocess_check_call(cmd)
142 track_conf.update( 144 track_conf.update(
143 {"conf": {"options": {"bam": {"bam_index": " %s ~ %s," % (tpath,ipath)}}}} 145 {"conf": {"options": {"bam": {"bam_index": " %s ~ %s," % (tpath, ipath)}}}}
144 ) 146 )
145 elif trext == "cram": 147 elif trext == "cram":
146 ipath = track[3] 148 ipath = track[3]
147 if not os.path.exists(ipath): 149 if not os.path.exists(ipath):
148 ipath = os.path.realpath( 150 ipath = os.path.realpath(
220 jc.add_default_session(default_session_data) 222 jc.add_default_session(default_session_data)
221 # jc.add_defsess_to_index(default_session_data) 223 # jc.add_defsess_to_index(default_session_data)
222 # jc.text_index() not sure what broke here. 224 # jc.text_index() not sure what broke here.
223 else: 225 else:
224 sys.stderr.write( 226 sys.stderr.write(
225 "!!!! Collection has no suitable trackfiles for autogenJB2 - nothing to process" 227 "Collection has no suitable trackfiles for autogenJB2 - nothing to process"
226 ) 228 )