Skip to content

Commit

Permalink
Use session assembly
Browse files Browse the repository at this point in the history
  • Loading branch information
cmdcolin committed Nov 30, 2023
1 parent 6c16e2e commit be7e6e6
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 72 deletions.
2 changes: 1 addition & 1 deletion plugins/data-management/src/ucsc-trackhub/doConnect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export async function doConnect(self: any) {
const asm = assemblyManager.get(genomeName)
if (!asm) {
// @ts-expect-error
session.addAssemblyConf({
session.addSessionAssembly({
name: genomeName,
sequence: {
type: 'ReferenceSequenceTrack',
Expand Down
88 changes: 44 additions & 44 deletions plugins/data-management/src/ucsc-trackhub/ucscTrackHub.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { FileLocation, isUriLocation, objectHash } from '@jbrowse/core/util'
import { openLocation } from '@jbrowse/core/util/io'
import {
generateUnsupportedTrackConf,
generateUnknownTrackConf,
} from '@jbrowse/core/util/tracks'
FileLocation,
isUriLocation,
notEmpty,
objectHash,
} from '@jbrowse/core/util'
import { openLocation } from '@jbrowse/core/util/io'
import { generateUnknownTrackConf } from '@jbrowse/core/util/tracks'
import { RaStanza, GenomesFile, TrackDbFile } from '@gmod/ucsc-hub'

export async function fetchGenomesFile(genomesLoc: FileLocation) {
Expand Down Expand Up @@ -54,47 +56,45 @@ export function generateTracks({
assemblyName: string
sequenceAdapter: any
}) {
const tracks: any = []

for (const [trackName, track] of Object.entries(trackDb.data)) {
const trackKeys = Object.keys(track!)
const parentTrackKeys = new Set([
'superTrack',
'compositeTrack',
'container',
'view',
])
if (trackKeys.some(key => parentTrackKeys.has(key))) {
continue
}
const parentTracks = []
let currentTrackName = trackName
do {
currentTrackName = trackDb.data[currentTrackName]?.data.parent || ''
if (currentTrackName) {
;[currentTrackName] = currentTrackName.split(' ')
parentTracks.push(trackDb.data[currentTrackName])
return Object.entries(trackDb.data)
.map(([trackName, track]) => {
const trackKeys = Object.keys(track!)
const parentTrackKeys = new Set([
'superTrack',
'compositeTrack',
'container',
'view',
])
if (trackKeys.some(key => parentTrackKeys.has(key))) {
return undefined
}
const parentTracks = []
let currentTrackName = trackName
do {
currentTrackName = trackDb.data[currentTrackName]?.data.parent || ''
if (currentTrackName) {
;[currentTrackName] = currentTrackName.split(' ')
parentTracks.push(trackDb.data[currentTrackName])
}
} while (currentTrackName)
parentTracks.reverse()
const categories = parentTracks
.map(p => p?.data.shortLabel)
.filter((f): f is string => !!f)
const res = makeTrackConfig({
track: track!,
categories,
trackDbLoc,
trackDb,
sequenceAdapter,
})
return {
...res,
trackId: `ucsc-trackhub-${objectHash(res)}`,
assemblyNames: [assemblyName],
}
} while (currentTrackName)
parentTracks.reverse()
const categories = parentTracks
.map(p => p?.data.shortLabel)
.filter((f): f is string => !!f)
const res = makeTrackConfig({
track: track!,
categories,
trackDbLoc,
trackDb,
sequenceAdapter,
})
tracks.push({
...res,
trackId: `ucsc-trackhub-${objectHash(res)}`,
assemblyNames: [assemblyName],
})
}

return tracks
.filter(notEmpty)
}

function makeTrackConfig({
Expand Down
27 changes: 0 additions & 27 deletions test_data/volvox/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2170,33 +2170,6 @@
"displayId": "volvox_bedpe-LinearPairedArcDisplay"
}
]
},
{
"type": "AlignmentsTrack",
"trackId": "volvox-sorted",
"name": "volvox-sorted",
"adapter": {
"type": "BamAdapter",
"bamLocation": {
"uri": "volvox-sorted.bam",
"locationType": "UriLocation"
},
"index": {
"location": {
"uri": "volvox-sorted.bam.bai",
"locationType": "UriLocation"
},
"indexType": "BAI"
},
"sequenceAdapter": {
"type": "TwoBitAdapter",
"twoBitLocation": {
"uri": "volvox.2bit",
"locationType": "UriLocation"
}
}
},
"assemblyNames": ["volvox"]
}
],
"plugins": [
Expand Down

0 comments on commit be7e6e6

Please sign in to comment.