STREAM
STREAM (Single-cell Trajectories Reconstruction, Exploration And Mapping) is an interactive pipeline capable of disentangling and visualizing complex branching trajectories from both single-cell transcriptomic and epigenomic data.
STREAM is now published in Nature Communications! Please cite our paper H Chen, L Albergante, JY Hsu, CA Lareau, GL Bosco, J Guan, S Zhou, AN Gorban, DE Bauer, MJ Aryee, DM Langenau, A Zinovyev, JD Buenrostro, GC Yuan, L Pinello. Single-cell trajectories reconstruction, exploration and mapping of omics data with STREAM. Nature Communications, volume 10, Article number: 1903 (2019).if you find STREAM helpful for your research.
Installation with Bioconda
#For single cell RNA-seq analysis:
conda create -n stream python=3.6 stream jupyter
conda activate myenv
#For single cell ATAC-seq analysis:
conda create -n myenv python=3.6 stream stream_atac jupyter
conda activate myenv
该工具不仅能使用单细胞转录组的表达数据进行拟时间(轨迹)分析,而且还可以使用单细胞ATAC的拟时间分析( k-mers and motifs),这为单细胞转录组和单细胞ATAC联合分析提供了一种方法。
输入文件
单细胞转录组输入文件:主要包括表达矩阵、细胞类型文件、细胞类型标注颜色文件。
单细胞转录组输入文件格式--细胞类型文件
单细胞转录组输入文件格式--细胞类型标注颜色文件
其中表达矩阵的列为样品名称,行为基因名称,细胞类型文件为样品对应的细胞类型,此文件的行数与表达矩阵的列数需要对应,细胞类型标注颜色文件只需要与细胞类型文件所有的细胞类型对应即可。
gene_list
此文件主要为画单个基因在轨迹上面的分布情况。
使用
简单的使用命令:
stream -m data_Nestorowa.tsv.gz -l cell_label.tsv.gz -c cell_label_color.tsv.gz
stream -m data_Nestorowa.tsv.gz -l cell_label.tsv.gz -c cell_label_color.tsv.gz -g gene_list.tsv.gz -p
stream -m data_Nestorowa.tsv.gz -l cell_label.tsv.gz -c cell_label_color.tsv.gz --DE --TG --LG -p
上述三个命令,其中第一个命令主要是轨迹分析,第二个命令是使用第一个命令生成的中间文件进行后续分析(-p 参数代表不在重复进行计算轨迹分析),主要是画单个基因在轨迹上的分布图,第三个命令是做不同分支点的比较,含有三种差异分析,具体可见官方说明。
报错
其实今天主要想记录的就是报错以及解决方案(软件的使用说明和结果解读官方就有,不需要再重复赘述),在实际使用过程中,出现了如下报错:
我使用不同的集群、不同数据进行测试,结果发现有的数据会有如此报错,有的没有,同一个数据,我截取前100个细胞进行分析,不报错,但是一多的话,又报错,这说明肯定不是数据格式的问题,实在是找不到问题,后面就在GitHub的stream官网上面询问,最终找到了问题原因。
报错的原因是由于我使用的数据,其结果没有分支点,而软件默认分析的过程中,会有一步对分支点进行优化,如果分支点都没有,谈何优化,因此报错。报错的解决方案:
a:如果没有分支点,则可以通过调整参数--n_clusters(by default it's 10, you can increase it to 20)增加分支点,我用我的数据,--n_clusters参数一直调整到100的时候才没有报错。
b:设置参数 --disable_EPG_optimize,不进行优化,就可以避免报错。
最后建议如果没有分支点的话,可以设置不用优化的参数:--disable_EPG_optimize,不然调整--n_clusters可能需要把估计分成更多聚类,没有必要,而且增加后续分析难度。
2019年7月1日
网友评论