anndata稀疏矩陣csr_matrix

最近在用scanorama進行單細胞轉錄組數據整合的過程中,出現報錯

error: data sets must be numpy array or scipy.sparse.csr_matrix, received type <class 'scipy.sparse.csc.csc_matrix'>.

經過檢查發(fā)現是data.X 數據格式不正確,需要進行格式轉換后再整合

data.X = scipy.sparse.csr_matrix(data.X)

這里再復習一下Anndata中的csr_matrix格式

anndata

AnnData 格式通常包含以下slot:

  • X包含表達式矩陣。
  • obsm包含嵌入數據。
  • obs包含細胞元數據。
  • var包含基因元數據。
    image.png
It is recommended to store the expression matrix in CSR (compressed sparse row) format to create smaller files depending on sparsity of your data instead of CSC (compressed sparse column) format or dense Numpy array.

csr_matrix(Compressed Sparse Row matrix)壓縮稀疏行格式

為什么要使用csr_matrix?

1.有利于高效運算
2.有利于高效行切片
3.有利于快速地矩陣矢量積運算

#要將表達式矩陣轉換為CSR格式,請使用:
import scipy
adata.X = scipy.sparse.csr_matrix(adata.X)
#要將表達式矩陣轉換為 Numpy 數組,請使用:
adata.X = scipy.sparse.csr_matrix.toarray(adata.X)
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容