工欲善其事必先利其器
nf-celescope 可以说是celescope的升级版,采用Nextflow框架,优化计算资源配置,在参考基因定量部分采用更快的STARsolo。新版本定量软件环境部署学习成本低、运行速度快同时兼容不同组学生物信息捕获
Nextflow 可以在任何兼容 POSIX 的系统(Linux、macOS 等)上使用,也可以通过 WSL 在 Windows 上使用。它需要安装 Bash 3.2(或更高版本)和 Java 11(或更高版本,最多 22)。首先查看我们的服务器当前环境的Java是否符合要求,如果不符合可以使用conda创建一个符合要求的Java环境。尽量不要去动默认环境的java版本
##首先是创建一个新环境,安装nextflow
mamba create -n nf_celescope nextflow
mamba activate nf_celescope
pip install nf-core
pip install sccore
nextflow安装成功
wget -c https://github.com/singleron-RD/scrna/archive/refs/tags/1.2.1.tar.gz
tar -xf 1.2.1.tar.gz
环境如果配置好的话,使用起来还是蛮简单的,基本就是
每个pipeline都给出了使用说明,见:https://github.com/singleron-RD/nf-celescope 。这里我们还是以单细胞转录组数据定量为例。
nextflow run singleron-RD/scrna \
--input ./samplesheet.csv \
--outdir ./results \
--star_genome path_to_star_genome_index \
-profile docker
--input ##输入文件信息。
--outdir ##保存结果的输出目录
--star_genome ##STAR参考基因组目录路径
--max_cpus ##最大调用cpu。默认16
--max_memory ##最大使用内存。默认128.GB
-profile ##选择配置文件。可选[docker、singularity、podman、shifter、charliecloud、charliecloud、conda]。若未指定,则使用本地软件
更多参数见:https://github.com/singleron-RD/scrna/blob/master/docs/parameters.md
samplesheet.csv
以逗号分割的csv文件。包含三列信息,分别为
首次使用,可以提供 fasta
gtf
genome_name
star_genome
。创建的索引文件,将会保存在{outdir}/star_genome/{genome_name}/
star_genome
。后续再次使用,可以直接调用。
fasta: "https://raw.githubusercontent.com/singleron-RD/test_genome/master/human.GRCh38.99.MT/human.GRCh38.99.MT.fasta"
gtf: "https://raw.githubusercontent.com/singleron-RD/test_genome/master/human.GRCh38.99.MT/human.GRCh38.99.MT.gtf"
genome_name: "human.GRCh38.99.MT"
数据还是来自于CRA008674 。见:CeleScope — 新格元单细胞多组学分析工具箱
样本少的话,其实可以直接按照输入文件格式要求,手动创建。
样本多的话,手动创建难免出错,这时候可以使用其提供的python脚本自动创建。【其实也可以使用shell命令快速制作】
#pip install sccore
#cat run_info.csv |awk -F "," 'BEGIN{print "sample"",""prefix"}{print $3","$2}'|head -n 4 > manifext.csv
manifest -m manifext.csv -f ~/scRNA/CRA008674/st1_data
nextflow run /home/data/t020559/biosoft/scrna-1.2.1 \
--input /home/data/t020559/scRNA/CRA008674/text/samplesheet.csv \
--outdir /home/data/t020559/scRNA/CRA008674/text/out_results \
--star_genome /home/data/t020559/ref/mouse/refdata_celescope \
--max_cpus 8 --max_memory 100.GB \
-profile singularity
由于我们使用的是共享服务器。出于安全的考虑,没有配置docker。所以这里我们调用Singularity 。
运行日志-部分
如果是第一次使用nextflow流程的话,可能环境会麻烦一点。比如遇到报错:ERROR ~ Plugin with id nf-validation not found in any repository
很明显这个报错,是由于网络原因,无法从github下载所需的插件
一个常规的解决办法,就是使用本地电脑从github 下载后上传服务器使用
wget -c https://github.com/nextflow-io/nf-validation/releases/download/1.1.3/nf-validation-1.1.3.zip
非常不巧的是,这个nf-validation-1.1.3.zip
压缩文件应该有问题,无法解压直接使用
另一个更曲线救国的办法就是,从别的终端拷贝到服务器。比如在自己本地电脑,配置一下上述nextflow环境。运行一个测试代码
nextflow run ~/biosoft/scrna-1.2.1 -profile test,singularity --outdir ./results
那么就会成功下载这个nf-validation-1.1.3
插件(本机电脑需要科学上网)。然后上传服务器即可使用。
参考: