前段时间,估计2个月之前了吧,Nature Commnication 上发了一篇史上最强RNA-Seq数据分析测评文章,本来一直想介绍一下的,但是尴尬的是实验室一直没来RNA-Seq数据让我分析,所以就一直没写文章提供的"RNACocktail",现在终于能够写一下如何布置RNACocktail的工作环境了。
官方地址:【https://bioinform.github.io/rnacocktail/】
如果你懂docker,并且有管理员权限,那你可以尝试他们提供的docker image, 也就是docker pull marghoob/rnacocktail
.但这里,我们采用的是conda
进行软件管理,为了保证环境的一致性和稳定性,我重新建立一个虚拟环境,国内用户可以需要添加清华镜像源提高下载速度(后面提到的配置文件里设置了清华镜像源)。
按照往常,我可能要把每一行下载的代码都要罗列出来才行,但是conda install
有一个选项是-file
, 通过已有的环境设置参数文件,一步搞定。我的配置文件放在我的GitHub上,下载后用conda install --file fileName.txt
进行安装。
注意,RNACocktail是大杂烩的体系,下面不同步骤及其对应的主要软件
- 比对,align, HISAT2
- 转录本重建,reconstruct, StringTie
- 基因定量,quantify, Salmon-SMEM
- 差异表达,diff, DESeq2
- 短读长序列从头组装,denovo, Oases
- 长读长序列矫正,long_correct, loRDEC
- 长读长序列比对,long_align, STARlong
- 长读长序列转录本重建,long_reconstruct,IDP
- 长读长序列转录融合检测,long_fusion, IDP-fusion
- 变异位点识别,variant,GATK
- RNA编辑检测,editing, GIREMI
- RNA融合检测,fusion, FusionCatcher
并且,最后以上步骤最后都加入了all
豪华套餐。
那么问题来了,我目前不需要三代测序,也不需要做RNA edit 和 fusion的分析,主要工作就是基因定量和差异表达分析,我不需要安装所有的软件。
安装方法:
我提供的requirement.txt
文件安装的软件是RNACocktail流程的中配版本,而且我以身试坑,能够运行。大家可以根据需要,在此基础上添加不同口味的软件。
# 方法1,自定义环境名
conda env create -n rnacocktial(名字随意) -f=requiremment.txt
# 方法2, 指定安装路径
crate env create -p $HOME/software/rnacocktail(路径自选) -f=requiremment.txt
如下是我将服务器导出环境配置文件,在我本地电脑上运行的示例图。
最后需要自己安装作者放在GitHub上最新版本的RNACocktial
source activate rnacocktail
pip install https://github.com/bioinform/RNACocktail/archive/v0.2.1.tar.gz
如果不需要可以一键删除,
conda env remove -n rnacocktial
定量流程测试
由于安装的软件版本和官方的未必一样,需要先用quantify
这一步探探雷。官方给的推荐命令如下:
run_rnacocktail.py quantify
--quantifier_idx salmon_fmd_idx # 使用salmon index -t reference.fa -i salmon_index_basename --type fmd 构建
--1 seq_1.fq.gz --2 seq_2.fq.gz #双端测序
--libtype IU # 无链特异性,双端
--salmon_k 19 # salmon教程75bp以上推荐31
--outdir out #
--workdir work
--salmon /path/to/salmon #salmon所在位置
--threads 10 #线程数
--sample A #表示样本A
--unzip # 解压
之前写过是时候来一波RNA-Seq差异表达分析实操了 用的就是salmon,刚好能派上用场。
下载(拟南芥cDNA)序列,也就是转录组数据库,建立索引
# downlaod data from ensemblgenomes
curl ftp://ftp.ensemblgenomes.org/pub/plants/release-28/fasta/arabidopsis_thaliana/cdna/Arabidopsis_thaliana.TAIR10.28.cdna.all.fa.gz -o athal.fa.gz
# build quasi-mapping-based index
salmon index -t athal.fa.gz -i Athaliana --type fmd
使用run_rancocktail对样本定量
for fn in ERR1698{194..209};ERR1698{194..209};
do
samp=`basename ${fn}`
echo "Processin sample ${sampe}"
run_rnacocktail.py quantify \
--quantifier_idx /public1/wangjw/database/TAIR10/Athaliana/\
--1 ${samp}_1.fastq.gz \
--2 ${samp}_2.fastq.gz \
--libtype IU \
--salmon_k 31\
--workdir data \
--salmon $PATH/miniconda3/envs/rnacocktail/bin/salmon \
--threads 10 \
--sample ${sampe} \
--unzip
最后结果会存放在 data/salmon-smem下(截图是目前分析的数据),说明配置没有问题。
GITHUB地址: 一不小心被我删了。。尴尬
https://github.com/xuzhougeng/zgtoolkits/blob/master/requirement_of_rnacocktial.txt