前言
近期分析了一部分小麥的全長轉(zhuǎn)錄組數(shù)據(jù),參考了網(wǎng)上許多流程,收獲良多,在此記錄一下
全長轉(zhuǎn)錄組測序基于PacBio單分子實(shí)時(shí)測序技術(shù)(SMRT cell),憑借超長讀長的優(yōu)勢(shì),建庫過程中無需打斷RNA分子,直接對(duì)反轉(zhuǎn)錄的全長cDNA測序,得到從5’末端到3’PolyA尾的高質(zhì)量全長轉(zhuǎn)錄本序列,可用來進(jìn)行轉(zhuǎn)錄本鑒定、融合基因、可變剪切、精確地分析轉(zhuǎn)錄本的結(jié)構(gòu)等分析。詳見
SMRT cell測序下機(jī)后經(jīng) smrtlink server初級(jí)處理,會(huì)將polymerase reads去除接頭低質(zhì)量序列等,轉(zhuǎn)為subreads序列,一般公司交付的數(shù)據(jù)為subreads.bam,每個(gè)樣本主要包括三個(gè)文件:
movie.subreads.bam
movie.subreads.bam.pbi
movie.subreadset.xml
創(chuàng)建conda環(huán)境
conda create -n fulllength
conda activate fulllength
conda install isoseq3
1,拆分reads
使用pbccs軟件拆分reads,直接使用conda安裝,conda install pbccs
ccs -j 10 movie.subreads.bam movie.ccs.bam --report-file movie.ccs.report --min-rq 0.9 #j為線程數(shù),根據(jù)集群情況,適當(dāng)調(diào)整
2,去除文庫構(gòu)建中的測序引物
primers.fasta 公司會(huì)提供,也可用samtools查看,基本每條reads都會(huì)帶有同樣的引物序列,samtools view -h movie.ccs.bam|less
使用lima軟件去除,conda install lima
lima movie.ccs.bam primers.fasta movieX.fl.bam --isoseq --peek-guess
如果有不同lane下機(jī)的數(shù)據(jù),可以在生成ccs.bam這一步進(jìn)行合并
samtools merge movie.merged.bam 01.movieX.fl.primer_5p--test1_3p.bam 02.movieX.fl.primer_5p--test1_3p.bam
3,嵌合體去除(refine)
轉(zhuǎn)錄組文庫在構(gòu)建過程中可能會(huì)產(chǎn)生嵌合體,即同一個(gè)ZMW中兩個(gè)轉(zhuǎn)錄本嵌合到一起,這一步需要做的就是對(duì)拆分完且去除完引物的CCS序列,進(jìn)一步過濾,去除嵌合體序列。
isoseq3 refine movie.merged.bam movieX.flnc.bam --require-polya --num-threads 10
#--require-polya 需要有polyA的isoform,并將其去除
4,聚類和糾錯(cuò)(cluster & Polish)
測序過程中一個(gè)ZMW孔會(huì)產(chǎn)生一個(gè)轉(zhuǎn)錄本序列,即一個(gè)CCS,不同的CCS可能會(huì)是相同的轉(zhuǎn)錄本序列,因此需要再通過聚類(cluster)的方式,得到一致性的轉(zhuǎn)錄本序列。
isoseq3 cluster movieX.flnc.bam clustered.bam --verbose --num-threads 10 --use-qvs
Polish糾錯(cuò)是為了進(jìn)一步提升轉(zhuǎn)錄本中堿基的質(zhì)量,這一步屬于可選操作,目前smrtlink v8版本及以上可以不必進(jìn)行Polish,即可獲得準(zhǔn)確度大于0.99的高質(zhì)量轉(zhuǎn)錄本(high-quality isoforms,hq),和低質(zhì)量轉(zhuǎn)錄本(low-quality isoforms,lq)
這一步在分析小麥的時(shí)候沒有加進(jìn)去,代碼如下:
isoseq3 polish clustered.bam subreads.bam polished.bam(optional)
最終polished.hq.fasta.gz
為后續(xù)分析的主要文件
5,參考基因組比對(duì)
使用minimap
軟件將高質(zhì)量全長轉(zhuǎn)錄本與參考基因組進(jìn)行比對(duì)
minimap2 -t 24 -d wheat.mmi wheat.genome.fa
minimap2 -t 24 -ax splice -uf --MD --secondary=no -C5 -O6,24 -B4 wheat.mmi movie.unpolished.hq.fasta >movie.maped.hq.sam 2>run.log
6,全長轉(zhuǎn)錄本去冗余
由于全長轉(zhuǎn)錄本在聚類過程中參數(shù)設(shè)置較嚴(yán)格,為得到質(zhì)量較高的一致轉(zhuǎn)錄本序列,同一轉(zhuǎn)錄本的多拷貝序列可能分到不同Cluster,會(huì)產(chǎn)生一些冗余的序列。同時(shí),全長轉(zhuǎn)錄本測序過程中,由于3'端存在Poly-A結(jié)構(gòu),可以確定3'端比較完整,而5'端序列容易降解,導(dǎo)致同一轉(zhuǎn)錄本的不同拷貝分到不同的Cluster,導(dǎo)致冗余序列的產(chǎn)生。冗余轉(zhuǎn)錄本示意圖如下:
采用
TOFU
(Collapse_isoforms_by_sam.py
)軟件對(duì)轉(zhuǎn)錄本序列進(jìn)行去冗余,過濾Identity小于0.9
,Coverage小于0.85
的序列。
#sort -k 3,3 -k 4,4n movie.maped.hq.sam > movie.maped.hq.sorted.sam
#collapse_isoforms_by_sam.py --input movie.unpolished.hq.fasta -s movie.maped.hq.sorted.sam -c 0.9 -i 0.85 --dun-merge-5-shorter -o hq_isoforms.fasta.no5merge
########更新版##############
#minimap2生成的sam文件是沒有header的,那使用samtools轉(zhuǎn)bam并排序的時(shí)候會(huì)報(bào)錯(cuò),這一部分可以自己手動(dòng)加上
samtools faidx genome.fa
python ~/hychao/script/get_minimap_header_from_fai.py genome.fa.fai > header
cat header movie.maped.hq.sam > new_header.sam
samtools view -bS new_header.sam|samtools sort -o new_header.sorted.bam
samtools index -c new_header.sorted.bam #可以放到IGV里查看
nohup ~/hychao/biosoft/cDNA_Cupcake/cupcake/tofu/collapse_isoforms_by_sam.py --input movie.unpolished.hq.fasta -b new_header.sorted.bam -c 0.9 -i 0.85 --dun-merge-5-shorter -o tofu_hq_isoforms.fasta.no5merge &
結(jié)果文件為
-rw-r--r-- 1 xxx hpc 20M Jul 29 14:13 hq_isoforms.fasta.no5merge.collapsed.gff
-rw-r--r-- 1 xxx hpc 21M Jul 29 14:13 hq_isoforms.fasta.no5merge.collapsed.gff.unfuzzy
-rw-r--r-- 1 xxx hpc 1.1M Jul 29 14:13 hq_isoforms.fasta.no5merge.collapsed.group.txt
-rw-r--r-- 1 xxx hpc 1.1M Jul 29 14:13 hq_isoforms.fasta.no5merge.collapsed.group.txt.unfuzzy
-rw-r--r-- 1 xxx hpc 18M Jul 29 21:50 hq_isoforms.fasta.no5merge.collapsed.gtf
-rw-r--r-- 1 xxx hpc 59M Jul 29 14:13 hq_isoforms.fasta.no5merge.collapsed.rep.fa
-rw-r--r-- 1 xxx hpc 1.4M Jul 29 14:13 hq_isoforms.fasta.no5merge.ignored_ids.txt
hq_isoforms.fasta.no5merge.collapsed.gff
可以放到IGV里查看,還是比較準(zhǔn)確的
7,可變剪切分析
可變剪切(Alternative Splicing,AS)是指從一個(gè)mRNA前體中通過不同的剪接方式(選擇不同的剪接位點(diǎn)組合)產(chǎn)生不同的mRNA剪接異構(gòu)體的過程,是大多數(shù)真核生物細(xì)胞中普遍的一種基因表達(dá)方式。真核細(xì)胞的基因序列中,包含了內(nèi)含子(Intron)與外顯子(Exon),兩者交互穿插。一條未經(jīng)剪切的RNA,可以具有多種外顯子剪切形式,因此使得一個(gè)基因在不同時(shí)間、不同環(huán)境中可以翻譯出不同的蛋白質(zhì),進(jìn)而增加其生理狀況下系統(tǒng)的復(fù)雜性或適應(yīng)性。可變剪接是調(diào)節(jié)基因表達(dá)和產(chǎn)生蛋白質(zhì)組多樣性的重要機(jī)制,是導(dǎo)致真核生物基因和蛋白質(zhì)數(shù)量較大差異的重要原因。
通過Astalavista
軟件獲取樣品存在的可變剪接類型
astalavista -t asta --threads 24 -i hq_isoforms.fasta.no5merge.collapsed.gtf -o AS.gtf.gz
AS.gtf.gz
文件包含了可變剪切的具體信息,我只需要可變剪切類型及位置
ls *gz|while read file;do less $file|cut -f1,4,5 > $file.info;done
ls *gz|while read file;do less $file|cut -f9|cut -d ";" -f4|sed 's/structure\ //g' > $file.str;done
ls *gz|while read file;do paste $file.info $file.str > $file.result;done
ls *result|while read file;do cat $file|awk 'BEGIN{OFS="\t"}{$1=$1;print}' > $file.format;done
mkdir mid_file
find . -name "*" -type f -exec mv {} ./mid_file \;
cd mid_file
mv ./*format ../
最終會(huì)得到*.AS.gtf.gz.result.format
文件
1D 173335 173649 "1-,2-"
1D 174573 174796 "0,1^2-"
1D 4246295 4246638 "0,1^2-"
1D 4248784 4249679 "0,1^2-"
1D 6833566 6833999 "0,1^2-"
Astalavista
軟件產(chǎn)生的結(jié)果是用各種符號(hào)組合來表示的,不同符號(hào)類型表示不同的可變剪切類型
For simple AS events, AStalavista software defined AS code
“0, 1–2?”
for exon skipping (ES),“1?, 2?”
for alternative donor (A5SS),“1-, 2-”
for alternative acceptor (A3SS),“'0, 1?2-”
for intron retention (IR), and“'1–2?, 3–4?”
for mutual exon skipping (MXE*).
8,CDS分析
CDS(Coding sequence)是編碼蛋白產(chǎn)物的序列,與蛋白質(zhì)的密碼子對(duì)應(yīng)。在全長轉(zhuǎn)錄組的測序結(jié)果中,預(yù)測蛋白質(zhì)編碼區(qū)有助于基因的結(jié)構(gòu)分析,同時(shí)也是進(jìn)行后續(xù)蛋白結(jié)構(gòu)分析的基礎(chǔ)。
采用TransDecoder
軟件對(duì)去冗余后的高質(zhì)量全長轉(zhuǎn)錄本進(jìn)行CDS預(yù)測
TransDecoder尋找轉(zhuǎn)錄本中的編碼區(qū)
DIAMOND: 超快的蛋白序列比對(duì)軟件
TransDecoder.LongOrfs -t hq_isoforms.fasta.no5merge.collapsed.rep.fa
blast
或者pfam
搜索已知蛋白的同源序列來識(shí)別ORF
blastp -query hq_isoforms.fasta.no5merge.collapsed.rep.fa.transdecoder_dir/longest_orfs.pep -db swissprot.fa -max_target_seqs 1 -outfmt 6 -evalue 1e-5 -num_threads 28 > hq_isoforms.fasta.no5merge.collapsed.rep.fa.transdecoder_dir/longest_orfs.pep.format6.blast
TransDecoder.Predict -t hq_isoforms.fasta.no5merge.collapsed.rep.fa --retain_blastp_hits hq_isoforms.fasta.no5merge.collapsed.rep.fa.transdecoder_dir/longest_orfs.pep.format6.blast
最終得到文件
-rw-r--r-- 1 xxx hpc 2.9M Aug 6 10:45 hq_isoforms.fasta.no5merge.collapsed.rep.fa.transdecoder.bed
-rw-r--r-- 1 xxx hpc 11M Aug 6 10:45 hq_isoforms.fasta.no5merge.collapsed.rep.fa.transdecoder.cds
-rw-r--r-- 1 xxx hpc 13M Aug 6 10:45 hq_isoforms.fasta.no5merge.collapsed.rep.fa.transdecoder.gff3
-rw-r--r-- 1 xxx hpc 5.4M Aug 6 10:45 hq_isoforms.fasta.no5merge.collapsed.rep.fa.transdecoder.pep
CDS文件
>PB.1.1|1D:146392-147506(+)|transcript/33657.p2 GENE.PB.1.1|1D:146392-147506(+)|transcript/33657~~PB.1.1|1D:146392-147506(+)|transcript/33657.p2 ORF type:complete
ATGGCGTCCATGCTCTGCTCCTACTCCGTCTCCATGCCCGCCGCCGCCAGGGCTCCGCTC
CTCCGGTCCAGCGCTAGCTCCTACGCCACCTCGGTCGGGTTCGCCACCTCGCAGCTCGCC
GGCCTCAGCCTCAGCCTCGGCCTCACCTCCACGGCCGCGGTCTCCCTCCCCGCCAAGAAC
ACCATCGTCGCGCGCCGGATCTGCCCCTTCTTGGAGAAGAAGACGAACCGGGCCAACAAG
GTGTCCTTCTCCAACCACAAGACCAAGAAGCAGCAGTTTGTGAACCTGCAGTACAAGAAG
CTGTGGTGGGAGGCCGGCAAGCGCTACGTCAAGCTCAGGCTCTCCACCAAGGCCCTCAAG
ACCATCGAGAAGCACGGCCTCGACGCCGTCGCCAAGAAGGCGGGGATCGACCTCAACAAG
AAATGA
以上為全長轉(zhuǎn)錄組分析學(xué)習(xí)的主要內(nèi)容,后續(xù)會(huì)持續(xù)更新學(xué)習(xí)