前段時(shí)間,估計(jì)2個月之前了吧,Nature Commnication 上發(fā)了一篇史上最強(qiáng)RNA-Seq數(shù)據(jù)分析測評文章,本來一直想介紹一下的,但是尷尬的是實(shí)驗(yàn)室一直沒來RNA-Seq數(shù)據(jù)讓我分析,所以就一直沒寫文章提供的"RNACocktail",現(xiàn)在終于能夠?qū)懸幌氯绾尾贾肦NACocktail的工作環(huán)境了。
官方地址:【https://bioinform.github.io/rnacocktail/】
如果你懂docker,并且有管理員權(quán)限,那你可以嘗試他們提供的docker image, 也就是docker pull marghoob/rnacocktail.但這里,我們采用的是conda進(jìn)行軟件管理,為了保證環(huán)境的一致性和穩(wěn)定性,我重新建立一個虛擬環(huán)境,國內(nèi)用戶可以需要添加清華鏡像源提高下載速度(后面提到的配置文件里設(shè)置了清華鏡像源)。
按照往常,我可能要把每一行下載的代碼都要羅列出來才行,但是conda install有一個選項(xiàng)是-file, 通過已有的環(huán)境設(shè)置參數(shù)文件,一步搞定。我的配置文件放在我的GitHub上,下載后用conda install --file fileName.txt進(jìn)行安裝。
注意,RNACocktail是大雜燴的體系,下面不同步驟及其對應(yīng)的主要軟件
- 比對,align, HISAT2
- 轉(zhuǎn)錄本重建,reconstruct, StringTie
- 基因定量,quantify, Salmon-SMEM
- 差異表達(dá),diff, DESeq2
- 短讀長序列從頭組裝,denovo, Oases
- 長讀長序列矯正,long_correct, loRDEC
- 長讀長序列比對,long_align, STARlong
- 長讀長序列轉(zhuǎn)錄本重建,long_reconstruct,IDP
- 長讀長序列轉(zhuǎn)錄融合檢測,long_fusion, IDP-fusion
- 變異位點(diǎn)識別,variant,GATK
- RNA編輯檢測,editing, GIREMI
- RNA融合檢測,fusion, FusionCatcher
并且,最后以上步驟最后都加入了all豪華套餐。
那么問題來了,我目前不需要三代測序,也不需要做RNA edit 和 fusion的分析,主要工作就是基因定量和差異表達(dá)分析,我不需要安裝所有的軟件。
安裝方法:
我提供的requirement.txt文件安裝的軟件是RNACocktail流程的中配版本,而且我以身試坑,能夠運(yùn)行。大家可以根據(jù)需要,在此基礎(chǔ)上添加不同口味的軟件。
# 方法1,自定義環(huán)境名
conda env create -n rnacocktial(名字隨意) -f=requiremment.txt
# 方法2, 指定安裝路徑
crate env create -p $HOME/software/rnacocktail(路徑自選) -f=requiremment.txt
如下是我將服務(wù)器導(dǎo)出環(huán)境配置文件,在我本地電腦上運(yùn)行的示例圖。

最后需要自己安裝作者放在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 構(gòu)建
--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 #線程數(shù)
--sample A #表示樣本A
--unzip # 解壓
之前寫過是時(shí)候來一波RNA-Seq差異表達(dá)分析實(shí)操了 用的就是salmon,剛好能派上用場。
下載(擬南芥cDNA)序列,也就是轉(zhuǎn)錄組數(shù)據(jù)庫,建立索引
# 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

最后結(jié)果會存放在 data/salmon-smem下(截圖是目前分析的數(shù)據(jù)),說明配置沒有問題。
GITHUB地址: 一不小心被我刪了。。尷尬
https://github.com/xuzhougeng/zgtoolkits/blob/master/requirement_of_rnacocktial.txt