diff --git a/AMULET.py b/AMULET.py index 35b25ee..1f682ba 100644 --- a/AMULET.py +++ b/AMULET.py @@ -44,7 +44,11 @@ def generateMatrix(data, cellids, unionoverlaps): regioninfo = dict() - matrix = np.zeros((len(unionoverlaps), len(cellids))) + # Indicator matrix only ever stores 0/1 (peak-in-cell), so int8 is + # sufficient and 8x smaller than the float64 default. This is the + # binding memory constraint for high-per-cell-coverage assays + # (e.g. 10x Chromium multiome at 25K+ cells/library). See #28. + matrix = np.zeros((len(unionoverlaps), len(cellids)), dtype=np.int8) for i in range(len(data)): curchr = data[i,0] curstart = data[i,1]