b7c8d4de3cc60aea8cae6463077c4af70d6867ed max Wed Jul 16 15:08:23 2025 -0700 skipping quickgenes if markers not found diff --git src/cbPyLib/cellbrowser/cellbrowser.py src/cbPyLib/cellbrowser/cellbrowser.py index a62a548..4d5493b 100755 --- src/cbPyLib/cellbrowser/cellbrowser.py +++ src/cbPyLib/cellbrowser/cellbrowser.py @@ -7088,30 +7088,35 @@ else: logging.info("identical and same size, not copying %s to %s" % (inFname, outFname)) def copyTsvMatrix(matrixFname, outMatrixFname): " copy one file to another, but only if both look like valid input formats for cbBuild " if isMtx(matrixFname) or ".h5" in matrixFname: logging.error("Cannot copy %s to %s, as not a text-based file like tsv or csv. You will need to do the conversion yourself manually or with cbTool.") return copyFileIfDiffSize(matrixFname, outMatrixFname) def generateQuickGenes(outDir): " make a quickGenes.tsv in outDir from markers.tsv " outFname = join(outDir, "quickGenes.tsv") markerFname = join(outDir, "markers.tsv") + + if not isfile(markerFname): + logging.warning("Cannot find marker file %s, so not generating quick genes file" % markerFname) + return + logging.info("Generating %s from %s" % (outFname, markerFname)) clusters = parseMarkerTable(markerFname, None)[0] genesPerCluster = int(round(18 / len(clusters))) # guess a reasonable number of genes per cluster, ~ 18 genes in total maxGenes = None if genesPerCluster == 0: genesPerCluster = 1 maxGenes = 30 quickGenes = defaultdict(list) for clusterName, rows in iterItems(clusters): for row in rows[:genesPerCluster]: sym = row[1] quickGenes[sym].append(clusterName)