pySCENIC:对新 SciPy 的兼容性修复
python - <<'PY'
from pathlib import Path
SP = Path("/share/biosoft/python/Python-v3.10.10/lib/python3.10/site-packages")
def sub(path, old, new):
s = path.read_text()
if new in s:
print("already patched:", path)
return
if old not in s:
raise SystemExit(f"pattern not found: {path}")
path.write_text(s.replace(old, new, 1))
print("patched:", path)
sub(SP / "arboreto/core.py",
""" if isinstance(target_gene_expression, scipy.sparse.spmatrix):
target_gene_expression = target_gene_expression.A.flatten()""",
""" if scipy.sparse.issparse(target_gene_expression):
target_gene_expression = target_gene_expression.toarray().ravel()""")
sub(SP / "pyscenic/utils.py",
""" # Create numpy array of idx pairs.
return np.array(
[
[symbol2idx[s1], symbol2idx[s2]]
for s1, s2 in zip(adjacencies.TF, adjacencies.target)
]
)""",
""" # Create numpy array of idx pairs (int64, C-contiguous for the numba kernel).
pairs = [
[symbol2idx[s1], symbol2idx[s2]]
for s1, s2 in zip(adjacencies.TF, adjacencies.target)
]
return np.ascontiguousarray(pairs, dtype=np.int64).reshape(-1, 2)""")
sub(SP / "pyscenic/utils.py",
" rhos = masked_rho4pairs(ex_mtx.values, col_idx_pairs, 0.0)",
""" rhos = masked_rho4pairs(
np.ascontiguousarray(ex_mtx.values, dtype=np.float64),
col_idx_pairs,
0.0,
)""")
PY
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
