最近读了一篇文章名为《LncPipe: A Nextflow-based pipeline for identification and analysis of long non-coding RNAs from RNA-Seq data》于2018年6月28号发表在《Journal of Genetics and Genomics》上,文章通过构建一个新的程序名为LncPipe 来帮助科研工作着从RNAseq数据中挖掘出lncRNA。
文章的原文是这么写的:
LncPipe is the first one-stop pipeline integrating all the essential softwares and analyses for exploring lncRNAs from RNA-Seq data。
one-stop pipeline 显得相当的有趣,怀着好奇的心态,来看看这个软件到底好不好用
1.软件的运行流程
我们可以看到整个软件的运行逻辑还是比较清楚的。
软件最大的特点是用 用R、perl、javascript、shell 将分析的各个流程衔接起来。
反正看起来比较牛逼的样子...
2.软件的安装
首先我们找到网站的站点....这个网站有2个站点
github:https://github.com/likelet/LncPipe
LncPipe:http://seqworld.com/LncPipe/
因为这是软件的组装,所以安装起来显得相当的麻烦
我们来看看软件的安装:
a.安装NextFlow
# Make sure that Java v8+ is installed:
java -version
# Install Nextflow
curl -fsSL get.nextflow.io | bash
#也可以通过conda 来安装
conda install -c bioconda nextflow
# Add Nextflow binary to your PATH:
mv nextflow ~/bin/
# OR system-wide installation:
# sudo mv nextflow /usr/local/bin
第一步我们的nextflow就安装上去了
第二步移动nextflow到指定文件夹(软件我都是放到一个专门的地方)
mv nextflow /data2/niexiongwei/Tools/nextflow/
第三步配置安装path
vim ~/.bashrc
source ~/.bashrc
到这里第一步nextflow就安装好了
b.安装pipeline
nextflow 能够联网访问Github 所以不用安装
c.pepline的配置
作者提供了3种配置方式Docker、Singularity、conda
很显然 Docker 是最好的选择...
首先是安装Docker环境
DOcker 安装还是比较简单的,需要注意的是需要弄清楚Linux 内核版本
我们以我的机器Ubantu 作为例子
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
sudo apt-get -y install docker-ce
这个项目最大的亮点是用Docker封装了一个运行容器,就是这个安装有点扯...
我们来看看怎么运行的
3.软件运行
nextflow -c docker.config run LncRNAanalysisPipe.nf
4.准备参数
配置输入数据
params {
/*
User setting options (mandatory)
*/
// input file and genome reference
fastq_ext = '*_{1,2}.fq.gz'
fasta_ref = '/data/database/hg38/genome.fa'
design = 'design.file'
hisat2_index = '/data/database/hg38/hisatIndex/grch38_snp_tran/genome_snp_tran'
cpatpath='/opt/CPAT-1.2.3'
//human gtf only
gencode_annotation_gtf = "/data/database/hg38/Annotation/gencode.v24.annotation.gtf"
lncipedia_gtf = "/data/database/hg38/Annotation/lncipedia_4_0_hg38.gtf" // set "null" if you are going to perform analysis on other species
// additional options for non-human species, else leaving them unchanged
species="human"// mouse , zebrafish, fly
known_coding_gtf=""
known_lncRNA_gtf=""
/*
User setting options (optional)
*/
// tools setting
star_idex = ''//set if star used
bowtie2_index = ''//set if tophat used
aligner = "hisat" // or "star","tophat"
sam_processor="sambamba"//or "samtools(deprecated)"
qctools ="fastp" // or "afterqc","fastp","fastqc"
detools = "edger"//or "deseq2","noiseq" not supported yet
quant = "kallisto"// or 'htseq'
//other setting
singleEnd = false
unstrand = false
skip_combine = false
lncRep_Output = 'reporter.html'
lncRep_theme = 'npg'
lncRep_cdf_percent = 10
lncRep_max_lnc_len = 10000
lncRep_min_expressed_sample = 50
mem=60
cpu=30
}
5.输出结果
Result/
├── QC
│ ├── N1141_1.clean_fastqc.html
│ ├── N1141_2.clean_fastqc.html
│ ├── N1177_1.clean_fastqc.html
│ └── N1177_2.clean_fastqc.html
├── Identified_lncRNA
│ ├── all_lncRNA_for_classifier.gtf
│ ├── final_all.fa
│ ├── final_all.gtf
│ ├── lncRNA.fa
│ ├── protein_coding.fa
│ └── protein_coding.final.gtf
├── LncReporter
│ ├── Differential_Expression_analysis.csv
│ └── Report.html
├── Quantification
│ ├── kallisto.count.txt
│ └── kallisto.tpm.txt
└── Star_alignment
├── STAR_N1141
│ ├── N1141Aligned.sortedByCoord.out.bam
│ ├── N1141Log.final.out
│ ├── N1141Log.out
│ ├── N1141Log.progress.out
│ └── N1141SJ.out.tab
└── STAR_N1177
├── N1177Aligned.sortedByCoord.out.bam
├── N1177Log.final.out
├── N1177Log.out
├── N1177Log.progress.out
└── N1177SJ.out.tab
最后总结一下,这个软件数据配置是真的麻烦...
其最大的特点就是用程序将各个分析软件衔接起来了,希望能够一次输出结果,然而生物数据分析种会有各种各样的问题,一次打包运行可能会带来一些问题。
这个软件最后的总结就是,很鸡肋,安装配置相当麻烦,而且错误奇怪,不如自己动手安装流程一步步的分析...
6.后记
因为肺炎的原因,暂时不能回校,因此没办法用学校的服务器进行数据分析。
等疫情结束后,实际数据运行一次,看看最后的输出结果....
先留个尾巴在这里