【nextflow】本地安装nf-core/rnaseq
参考博文:https://zhuanlan.zhihu.com/p/428316843 转载请注明出处
1. 下载安装包:
nextflow可以通过bioconda安装,所以这次我们只需要下载nf-core/rnaseq的安装包即可:
mamba create -n nextflow nextflow nf-core conda activate nextflow nf-core download nf-core/rnaseq tar -zxvf nf-core-rnaseq-3.4.tar.gz
此时我们可以通过nextflow运行这个安装包:
nextflow run nf-core-rnaseq-3.6/workflow/ \ # 格式就是nextflow run <下载好的nf-core-rnaseq文件夹下workflow文件夹的目录> --input samplesheet.csv \ # 就是上一步我们用python脚本生成的samplesheet.csv文件 --fasta Homo_sapiens.GRCh38.dna.primary_assembly.fa \ # 参考基因组所在的目录 --transcript_fasta gencode.v38.transcripts.fa \ # 参考转录组所在的目录 --gtf gencode.v38.annotation.gtf \ # 基因组注释文件所在的目录 --gencode \ # 强调GTF文件的格式是GENCODE的,因为从ENSEMBL和GENCODE下载 的GTF文件格式会略有不同 --aligner hisat2 \ # 默认的比对和定量软件是STAR+Salmon,但是STAR真的是太耗内 存了,几百G都有可能,跑着跑着就core dumped了,所以内存不够的就用hisat2吧 --hisat2_index /genome/index/hisat2 \ # 可以不写这个参数,pipeline会自己构建索引,就是比较慢 --splicesites gencode.v38.annotation.splice_sites.txt \ # 可以不写,pipeline会利用上面的python脚本自己生成 --skip_qualimap \ # 因为qualimap是用于外显子测序的质控的,如果不跳过就会报错 --save_reference \ # 如果没有提供现成的hisat2_index/salmon_index等,可以在此次运算后将index保存下来 -profile singularity # 用singularity容器运行,省心又省力
按照这个测试了一下发现不行,有一步会报错。这时候有两种可能,一种是我的数据不对,可能是存在不配对的reads导致出现这个问题我重新换了数据,发现还是不对。另一种可能是这个本地的镜像在运行时会有问题,所以我重新使用了云版本的nf-core,代码如下:
nextflow run nf-core/rnaseq -profile singularity --input samplesheet.csv \ --fasta refrence.fasta \ --gtf 'refrence.gtf' \ --aligner hisat2 \ --skip_qualimap --outdir ./test5 --max_memory 60.GB --max_cpus 32 -r 3.6
一次跑通非常开心。
这里有这样几个点,参考基因组需要normalized,每行需要相同的碱基,有的参考基因组需要使用picard工具重新normalize一下。
其次参考基因组的gff最号转成gtf,我首先提取了primary transcripts然后将gff文件使用gffread转化为gtf。
测序文件可以直接用fastq-dump来注释:
fastq-dunmp --gzip --split-3 SRR.sra
此处注意fastq-dump一般推荐使用--split-3这个拆分方法,另外,加上--gzip就可以直接获得压缩格式的文件。