Smart-seq2和10x这两个单细胞技术是现在初学者进入单细胞领域最需要掌握的,它们代表着单细胞的两个全然不同的发展策略。
绝大部分的技术原理介绍会从 单细胞悬浮液制备到测序细节面面俱到,其实并不那么的初学者友好。给大家推荐了一个高度精炼的综述,这个综述于2020年9月发表在 《Experimental & Molecular Medicine》杂志,标题是:《Single-cell sequencing techniques from individual to multiomics analyses》,链接是:https://www.nature.com/articles/s12276-020-00499-2
- 首先呢,smart-seq2技术依赖于C1这个仪器,每次都是96个细胞一起测序,每个细胞的测序量这个综述可能是写错了,应该是1M-10M为佳,不太可能是100-1000个M,最重要的是它可以覆盖到整个RNA分子的全长测序,每个细胞都是独立的测序,独立的fastq文件哦 。
- 然后呢,对于10X技术单细胞转录组呢,每次可以测好几千的细胞,每个细胞只需要5-10K的reads,而且仅仅是测RNA分子的一段即可,全部的细胞都混合在一起是一个fastq文件,虽然说有barcode可以区分,可以拆分成为不同细胞的表达量矩阵。
正常情况下,大家只需要按需选择10x或者smart-seq2技术平台做单细胞转录组数据即可,如果万一同一时间做了两个技术,有可能是需要整合,恰好看到了2024新鲜出炉的一个文章提到了这一点:《Single-cell RNa-sequencing of virus-specific cellular immune responses in chronic hepatitis B patients》,它使用了Python编程语言的scanpy进行整合,值得分享:
- https://zenodo.org/records/8399409
- https://zenodo.org/records/8399458
- https://zenodo.org/records/8399475
使用 BBKNN batch correction ,核心的Python代码是:
bc.pp.fraction_counts(adata=adata, species='human')
adata.obs['n_counts'] = adata.X.sum(axis=1)
adata.obs['n_genes'] = np.sum(adata.X > 0, axis = 1)
adata = bc.st.filtering_cells_genes_min(adata, standard_min_cells, 1, 1)
adata = bc.st.per_cell_normalize(adata, results_folder)
adata = bc.st.highly_variable_genes(adata)
adata = bc.st.regress_out(adata, results_folder)
#adata.obs['old batch'] = adata.obs['batch']
#adata.obs['batch'] = adata.obs['protocol_organ']
#adata = bc.st.pca_neighbors_umap(adata, results_folder, method='bbknn')
#adata.obs['batch'] = adata.obs['old batch']
#del adata.obs['old batch']
adata = bc.st.pca_neighbors_umap(adata, results_folder)
adata = bc.st.clustering(adata, results_folder, myres=1)
adata
但是肉眼看起来效果不太好:
文章是如下所示的方法学描述:
该研究的表达量矩阵以及对应的Python代码都是公开的:
- https://zenodo.org/records/8399409
- https://zenodo.org/records/8399458
- https://zenodo.org/records/8399475
感兴趣的可以下载去读一下哈!