Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
logging.info("Using %s to map symbols to genome" % defGenes)
geneToSym = cellbrowser.readGeneSymbols({'geneIdType':defGenes})
geneLocsId = cellbrowser.parseGeneLocs(defGenes)
geneLocs = {}
for geneId, locs in iterItems(geneLocsId):
sym = geneToSym[geneId]
geneLocs[sym] = locs
else:
geneToSym = cellbrowser.readGeneSymbols({'geneIdType':geneType})
geneLocs = cellbrowser.parseGeneLocs(geneType)
matOfh = open(outMatrixFname, "w")
clustOfh = open(clusterFname, "w")
mr = cellbrowser.MatrixTsvReader()
mr.open(inMatrixFname)
matType, cellNames = mr.matType, mr.sampleNames
cellIds = range(0, len(cellNames))
cellNameToId = dict(zip(cellNames, cellIds))
# make a list of lists of cellIds, one per cluster, in the right order
clusterCellIds = [] # list of tuples with cell-indexes, one per cluster
allCellNames = [] # list for cellIds, with a matrix, meta and with bam file
allCellIndices = [] # position of all cellIds in allCellNames
for clusterName in clusterOrder:
cellIdxList = []
for cellName in clusterToCells[clusterName]:
if cellName not in cellNameToId:
logging.warn("%s is in meta but not in expression matrix." % cellName)
continue