Skip to content

Commit

Permalink
some progress on synteny
Browse files Browse the repository at this point in the history
  • Loading branch information
abretaud authored and fubar2 committed Jan 9, 2024
1 parent 52f45e9 commit d4b4894
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions tools/jbrowse2/jbrowse2.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ def process_genomes(self):
# issues.
self.add_assembly(genome_node['path'], genome_node['label'])

def add_assembly(self, path, label):
def add_assembly(self, path, label, default=True):
# Find a non-existing filename for the new genome
# (to avoid colision when upgrading an existing instance)
rel_seq_path = os.path.join('data', 'assembly')
Expand All @@ -419,8 +419,9 @@ def add_assembly(self, path, label):
while uniq_label in self.assembly_ids:
uniq_label = label + str(lab_try)
lab_try += 1
self.current_assembly_id = uniq_label
self.assembly_ids.append(uniq_label)
if default:
self.current_assembly_id = uniq_label

copied_genome = seq_path + '.fasta'
shutil.copy(path, copied_genome)
Expand All @@ -442,6 +443,8 @@ def add_assembly(self, path, label):
'--skipCheck',
rel_seq_path + '.fasta.gz'])

return uniq_label

def text_index(self):
# Index tracks
args = [
Expand Down Expand Up @@ -567,10 +570,9 @@ def add_paf(self, data, trackData, pafOpts, **kwargs):

self.symlink_or_copy(os.path.realpath(data), dest)

self.add_assembly(pafOpts['genome'], pafOpts['genome_label'])
# TODO adapt to possibly changed assembly label
added_assembly = self.add_assembly(pafOpts['genome'], pafOpts['genome_label'], default=False)

self._add_track(trackData['label'], trackData['key'], trackData['category'], rel_dest)
self._add_track(trackData['label'], trackData['key'], trackData['category'], rel_dest, assemblies=[self.current_assembly_id, added_assembly])

def add_hic(self, data, trackData, hicOpts, **kwargs):
rel_dest = os.path.join('data', trackData['label'] + '.hic')
Expand Down Expand Up @@ -621,15 +623,20 @@ def add_sparql(self, url, query, query_refnames, trackData):
# '--config', '{"queryTemplate": "%s"}' % query,
# url])

def _add_track(self, id, label, category, path):
def _add_track(self, id, label, category, path, assemblies=[]):

assemblies_opt = self.current_assembly_id
if assemblies:
assemblies_opt = ','.join(assemblies)

self.subprocess_check_call([
'jbrowse', 'add-track',
'--load', 'inPlace',
'--name', label,
'--category', category,
'--target', os.path.join(self.outdir, 'data'),
'--trackId', id,
'--assemblyNames', self.current_assembly_id,
'--assemblyNames', assemblies_opt,
path])

def _sort_gff(self, data, dest):
Expand Down

0 comments on commit d4b4894

Please sign in to comment.