RNA-Seq數(shù)據(jù)組裝得到的轉(zhuǎn)錄本具有編碼蛋白質(zhì)的能力咱圆。預(yù)測編碼區(qū)對于確定轉(zhuǎn)錄產(chǎn)物在細(xì)胞中的分子作用至關(guān)重要!!!
通過Cufflinks或Stringtie得到的gtf文件也物,所以需要準(zhǔn)備如下兩個(gè)文件:
transcripts.gtf: 你自己的RNA-seq數(shù)據(jù)經(jīng)過Cufflinks控淡,或Stringtie得到的gtf文件陪白,記錄預(yù)測轉(zhuǎn)錄本的GTF文件
genome.fasta: 參考基因組序列
第一步:依據(jù)參考genome.fasta文件,從gtf文件中提取fasta序列叠荠。
conda activate python3 #進(jìn)入環(huán)境
TransDecoder.Predict #啟動TransDecoder
###基于mm10的 Tophat結(jié)果
示例:
gtf_genome_to_cdna_fasta.pl trans.gtf /xx/xx/Mus_musculus.GRCm38.dna.toplevel.fa > trans.fa
操作路徑于:/home/u20111230014/workspace/tran_gtf_ZF
PS: DPP-0_transcripts.gtf和 mm10.fa必須在同一個(gè)文件夾
實(shí)例:
gtf_genome_to_cdna_fasta.pl DPP-0_transcripts.gtf mm10.fa > DPP-0_mm10_trans.fa
gtf_genome_to_cdna_fasta.pl DPP-1_transcripts.gtf mm10.fa > DPP-1_mm10_trans.fa
###基于GRCm39的 Tophat結(jié)果
操作所在路徑:/home/u20111230014/workspace/genome/GRCm39/tophat_gtf_genome_to_cdna
實(shí)例
將所有所需要的文件軟連接到同一文件夾
ln -s /home/u20111230014/workspace/genome/GRCm39/Tophat_Cufflinks_DPP-0_clean.fq/transcripts.gtf DPP-0_GRCm39_transcripts.gtf
gtf_genome_to_cdna_fasta.pl DPP-0_GRCm39_transcripts.gtf GRCm39.fa > DPP-0_GRCm39_trans.fa
gtf_genome_to_cdna_fasta.pl DPP-1_GRCm39_transcripts.gtf GRCm39.fa > DPP-1_GRCm39_trans.fa
第二步:將gtf文件轉(zhuǎn)換為gff3格式(只是為了后續(xù)分析)盹沈。
示例
gtf_to_alignment_gff3.pl trans.gtf > trans.gff3
實(shí)例
###基于mm10的 Tophat結(jié)果
操作路徑于:/home/u20111230014/workspace/tran_gtf_ZF
gtf_to_alignment_gff3.pl DPP-0_transcripts.gtf > DPP-0_mm10_trans.gff3
gtf_to_alignment_gff3.pl DPP-1_transcripts.gtf > DPP-1_mm10_trans.gff3
###基于GRCm39的 Tophat結(jié)果
操作所在路徑:/home/u20111230014/workspace/genome/GRCm39/tophat_gtf_genome_to_cdna
軟連接腳本:
ln -s /home/u20111230014/workspace/tran_gtf_ZF/gtf_to_alignment_gff3.slurm tophat_gtf_to_alignment_gff3.slurm
實(shí)例
gtf_to_alignment_gff3.pl DPP-0_GRCm39_transcripts.gtf > DPP-0_GRCm39_trans.gff3
gtf_to_alignment_gff3.pl DPP-1_GRCm39_transcripts.gtf > DPP-1_GRCm39_trans.gff3
第三步:預(yù)測轉(zhuǎn)錄本中長的開放閱讀框,-m參數(shù)設(shè)置為300個(gè)氨基酸袜香。并進(jìn)行blastp和hmmer比對撕予。
示例
TransDecoder.LongOrfs -m 300 -t trans.fa
實(shí)例
TransDecoder.LongOrfs -m 300 -t DPP-0_mm10_trans.fa
TransDecoder.LongOrfs -m 300 -t DPP-1_mm10_trans.fa
第四步:為了提高預(yù)測的靈敏度,與已知的蛋白數(shù)據(jù)庫進(jìn)行比對蜈首,探索同源性实抡。
1) blastp search
選用Swissprot數(shù)據(jù)庫的蛋白序列,下載uniprot_sprot.fasta.gz欢策,網(wǎng)址是ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/
解壓縮
gunzip uniprot_sprot.fasta.gz
建blast+庫于路徑:/home/u20111230014/workspace/genome
#### 建數(shù)據(jù)庫
makeblastdb -in uniprot_sprot.fasta -dbtype prot -parse_seqids -hash_index -out uniprot
## makeblastdb參數(shù)說明:
-in 輸入數(shù)據(jù)庫文件
-dbtype 蛋白庫用prot,核酸用nucl
-out 所建數(shù)據(jù)庫的名稱
-parse_seqids
-hash_index 創(chuàng)建哈希序列
數(shù)據(jù)比對
###基于mm10.fa的比對
操作路徑在:/home/u20111230014/workspace/tran_gtf_ZF
index文件:uniprot的11個(gè)子文件吆寨,再加上一個(gè)uniprot_sprot.fasta,共12個(gè)
示例:
blastp -query trans.fa.transdecoder_dir/longest_orfs.pep -db uniprot -max_target_seqs 1 -outfmt 6 -evalue 1e-5 -num_threads 10 > blastp.outfmt6 &
實(shí)例:
blastp -query DPP-0_mm10_trans.fa.transdecoder_dir/longest_orfs.pep -db uniprot -max_target_seqs 1 -outfmt 6 -evalue 1e-5 -num_threads 10 > DPP-0_mm10_blastp.outfmt6
2瓤堋W那濉!PS: 如果報(bào)錯(cuò):BLAST Database error: No alias or index file found for nucleotide database [nt] in search path, 必須將uniprot的index俺孙,共12個(gè)文件辣卒,跟要跑的所有文件放在一起才行,如下:
(python3) [u20111230014@cpu10 tran_gtf_ZF]$ ll uniprot*
lrwxrwxrwx 1 u20111230014 u20111230014 43 Feb 23 16:23 uniprot -> /home/u20111230014/workspace/genome/uniprot
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.pdb -> /home/u20111230014/workspace/genome/uniprot/uniprot.pdb
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.phd -> /home/u20111230014/workspace/genome/uniprot/uniprot.phd
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.phi -> /home/u20111230014/workspace/genome/uniprot/uniprot.phi
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.phr -> /home/u20111230014/workspace/genome/uniprot/uniprot.phr
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.pin -> /home/u20111230014/workspace/genome/uniprot/uniprot.pin
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.pog -> /home/u20111230014/workspace/genome/uniprot/uniprot.pog
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.pos -> /home/u20111230014/workspace/genome/uniprot/uniprot.pos
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.pot -> /home/u20111230014/workspace/genome/uniprot/uniprot.pot
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.psq -> /home/u20111230014/workspace/genome/uniprot/uniprot.psq
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.ptf -> /home/u20111230014/workspace/genome/uniprot/uniprot.ptf
lrwxrwxrwx 1 u20111230014 u20111230014 55 Feb 24 18:32 uniprot.pto -> /home/u20111230014/workspace/genome/uniprot/uniprot.pto
lrwxrwxrwx 1 u20111230014 u20111230014 63 Feb 23 16:28 uniprot_sprot.fasta -> /home/u20111230014/workspace/genome/uniprot/uniprot_sprot.fasta
如果還是報(bào)同樣的錯(cuò)睛榄,就換一種方法:下載preformatted的數(shù)據(jù)庫添寺!
去到miniconda下 blast包里含update_blastdb.pl文件的路徑,用perl 更新一下數(shù)據(jù)庫
!!!blast軟件所在的位置:/home/u20111230014/miniconda3/pkgs/blast-2.12.0-h3289130_3/bin
先查看數(shù)據(jù)庫列表:
(python3) [u20111230014@cpu10 bin]$ perl update_blastdb.pl --showall
Connected to NCBI
16S_ribosomal_RNA
18S_fungal_sequences
28S_fungal_sequences
Betacoronavirus
ITS_RefSeq_Fungi
ITS_eukaryote_sequences
LSU_eukaryote_rRNA
LSU_prokaryote_rRNA
SSU_eukaryote_rRNA
env_nt
env_nr
human_genome
landmark
mito
mouse_genome
nr
nt
pataa
patnt
pdbaa
pdbnt
ref_euk_rep_genomes
ref_prok_rep_genomes
ref_viroids_rep_genomes
ref_viruses_rep_genomes
refseq_select_rna
refseq_select_prot
refseq_protein
refseq_rna
swissprot
tsa_nr
tsa_nt
taxdb
###再選擇需要的數(shù)據(jù)庫進(jìn)行更新下載:
perl update_blastdb.pl nr #nr 是蛋白質(zhì)懈费, nt是核酸
!!!PS:nohup掛在后臺下載计露,中途如果超時(shí)的話,需重新執(zhí)行命令就行,之前下載好的不用重新執(zhí)行F惫蕖2嫒ぁ!大概有十幾個(gè)文件该押,下好批量解壓命令:ls *.tar.gz | xargs -n1 tar xzvf
基于GRCm39.fa的比對
操作路徑在:/home/u20111230014/workspace/genome/GRCm39/tophat_gtf_genome_to_cdna/
index文件:uniprot的11個(gè)子文件疗杉,再加上一個(gè)uniprot_sprot.fasta,共12個(gè)
實(shí)例
blastp -query DPP-0_mm10_trans.fa.transdecoder_dir/longest_orfs.pep -db uniprot -max_target_seqs 1 -outfmt 6 -evalue 1e-5 -num_threads 10 > DPP-0_mm10_blastp.outfmt6
2) Pfam search
在建立索引數(shù)據(jù)庫hmmpress Pfam-A.hmm成功后蚕礼,使用 hmmscan 進(jìn)行 Pfam 注釋
conda activate python3 #進(jìn)入環(huán)境
hmmbuild --help #啟動
Pfam-A存放于:hmm=/home/u20111230014/workspace/genome/Pfam-A/Pfam-A.hmm
PS: 執(zhí)行hmmscan 前輸入上面的路徑指示烟具,或直接寫入slurm腳本
進(jìn)入存放轉(zhuǎn)換格式好的樣本tran.fa文件目錄
cd /home/u20111230014/workspace/tran_gtf_ZF
(python3) [u20111230014@cpu6 tran_gtf_ZF]$ ll *mm10_trans.fa
-rw-rw-r-- 1 u20111230014 u20111230014 38711086 Feb 23 15:26 DPP-0_mm10_trans.fa
-rw-rw-r-- 1 u20111230014 u20111230014 38539068 Feb 23 15:28 DPP-1_mm10_trans.fa
-rw-rw-r-- 1 u20111230014 u20111230014 45990886 Feb 23 15:31 DPP-2_mm10_trans.fa
-rw-rw-r-- 1 u20111230014 u20111230014 39814002 Feb 23 15:34 DPP-3_mm10_trans.fa
-rw-rw-r-- 1 u20111230014 u20111230014 33385081 Feb 23 15:37 DPP-4_mm10_trans.fa
-rw-rw-r-- 1 u20111230014 u20111230014 38240368 Feb 23 15:40 DPP-5_mm10_trans.fa
示例:
hmmscan --cpu 8 -o hmm_pfam.trans.txt --tblout hmm_pfam.trans.tbl --noali -E 1e-5 $hmm trans.fa
###參數(shù)說明
-o FILE 將結(jié)果輸出到指定的文件中。默認(rèn)是輸出到標(biāo)準(zhǔn)輸出
--tblout FILE 將蛋白質(zhì)家族的結(jié)果以表格形式輸出到指定的文件中奠蹬。默認(rèn)不輸出該文件
--domtblout FILE 將蛋白結(jié)構(gòu)域的比對結(jié)果以表格形式輸出到指定的文件中朝聋。默認(rèn)不輸出該文件。該表格中包含query序列起始結(jié)束位點(diǎn)與目標(biāo)序列起始結(jié)束位點(diǎn)的匹配信息
--acc 在輸出結(jié)果中包含 PF 的編號囤躁,默認(rèn)是蛋白質(zhì)家族的名稱
--noali 在輸出結(jié)果中不包含比對信息冀痕。輸出文件的大小則會更小
-E FLOAT default:10.0 設(shè)定 E_value 閾值,推薦設(shè)置為 1e-5
-T FLOAT 設(shè)定 Score 閾值
--domE FLOAT default:10.0 設(shè)定 E_value 閾值狸演。該參數(shù)和 -E 參數(shù)類似言蛇,不過是 domain 比對設(shè)定的值
--cpu 線程
實(shí)例腳本:
hmm=/home/u20111230014/workspace/genome/Pfam-A/Pfam-A.hmm
hmmscan --cpu 25 -o DPP-0_mm10_hmm_pfam.trans.txt --tblout DPP-0_mm10_hmm_pfam.trans.tbl --noali -E 1e-5 $hmm DPP-0_mm10_trans.fa
hmmscan --cpu 25 -o DPP-1_mm10_hmm_pfam.trans.txt --tblout DPP-1_mm10_hmm_pfam.trans.tbl --noali -E 1e-5 $hmm DPP-1_mm10_trans.fa
####
hmmscan --cpu 25 -o DPP-0_GRCm39_hmm_pfam.trans.txt --tblout DPP-0_GRCm39_hmm_pfam.trans.tbl --noali -E 1e-5 $hmm DPP-0_GRCm39_trans.fa
hmmscan --cpu 25 -o DPP-1_GRCm39_hmm_pfam.trans.txt --tblout DPP-1_GRCm39_hmm_pfam.trans.tbl --noali -E 1e-5 $hmm DPP-1_GRCm39_trans.fa
第五步:結(jié)合blastp和pfam的結(jié)果預(yù)測可能的編碼區(qū)。
TransDecoder.Predict #啟動
示例:
TransDecoder.Predict -t trans.fa --retain_pfam_hits hmm_pfam.trans.tbl --retain_blastp_hits blastp.outfmt6
實(shí)例:
TransDecoder.Predict -t DPP-0_GRCm39_trans.fa --retain_pfam_hits DPP-0_GRCm39_hmm_pfam.trans.tbl --retain_blastp_hits DPP-0_GRCm39_blastp.outfmt6
第六步: 生成基于參考基因組的編碼區(qū)注釋文件
示例:
cdna_alignment_orf_to_genome_orf.pl trans.fa.transdecoder.gff3 trans.gff3 trans.fa > trans.fa.transdecoder.genome.gff3
實(shí)例:
cdna_alignment_orf_to_genome_orf.pl DPP-0_mm10_trans.fa.transdecoder.gff3 DPP-0_mm10_trans.gff3 DPP-0_mm10_trans.fa > DPP-0_mm10_trans.fa.transdecoder.genome.gff3
最終輸出結(jié)果文件如下:
trans.fa.transdecoder.pep: 最終預(yù)測的CDS對應(yīng)的蛋白序列
trans.fa.transdecoder.cds: 最終預(yù)測的CDS序列
trans.fa.transdecoder.gff3: 最終ORF對應(yīng)的GFF3
trans.fa.transdecoder.bed: 以BED格式存放ORF位置信息
trans.fa.transdecoder.genome.gff3: 基于參考基因組的GFF3文件
BED和GFF3文件可以使用IGV可視化宵距。
參考:([小張聊科研])https://mp.weixin.qq.com/s?src=11×tamp=1645587577&ver=3637&signature=ydPEWFG06TSywWPWpAOTRgJNtSQ2BUEOlUYjQZV3OGiZKZxJmIp2mHe9bWlV3UDcnKn0p1K0SWstUxzPQyTmCKC7GdYDBRdHKhKYct*vh-mH-qsE4a4A-TBNazUb&new=1
生信分析師高端
http://dl2.kerwin.cn:8063/csdn/key/article-a_giant_pig-103065967/auth/1645608443-2022062317272318-0-2af5159d4f371312acc26ac982c48187
卡西莫多的禮物
https://blog.csdn.net/qq_35696312/article/details/104779347