7d1fa338ded4783ef25abad8afecfe6ee3077d71 markd Sat Jun 7 15:03:18 2025 -0700 keep ordering consistent when clsLongReadRna trackDb is generated diff --git src/hg/makeDb/outside/clsLongReadRna/clsTrackTool src/hg/makeDb/outside/clsLongReadRna/clsTrackTool index c422baa1e13..1d00d29f1f2 100755 --- src/hg/makeDb/outside/clsLongReadRna/clsTrackTool +++ src/hg/makeDb/outside/clsLongReadRna/clsTrackTool @@ -528,31 +528,31 @@ osp.join(trackDir, stageTissueToBigBedPath(stage_tissue))) fh.write(EXPR_MODELS_VIEW_TDB) for clsMeta in clsMetas: write_expr_data_trackdb(fh, clsMeta, 'models', osp.join(trackDir, sampleIdToBigBedPath(clsMeta)), EXPR_MODELS_TDB) fh.write(EXPR_READS_VIEW_TDB) for clsMeta in clsMetas: write_expr_data_trackdb(fh, clsMeta, 'reads', osp.join(trackDir, sampleIdToBamPath(clsMeta)), EXPR_READS_TDB) def metaSortKey(clsMeta): - return (clsMeta.tissue, clsMeta.stage) + return (clsMeta.tissue, clsMeta.stage, clsMeta.sid) def makeTrackDb(opts, clsMetadataTab, trackDir, trackDb, parent): clsMetas = sorted(loadClsMetadata(clsMetadataTab).values(), key=metaSortKey) with open(trackDb, 'w') as fh: writeTrackDb(fh, clsMetas, trackDir, parent) ## # check for BAMs matching metadata ## def listBams(trackDir, capture): pat = osp.join(trackDir, capture, '*.bam') bams = glob.glob(pat) if len(bams) == 0: raise Exception(f"no BAMs found matching {pat}") return frozenset(bams)