文章僅是記錄自己的學(xué)習(xí)使用犬钢,有錯(cuò)誤請(qǐng)指出锭弊,我立刻改正!
官方說明:https://github.com/PASApipeline/PASApipeline/wiki
一、Conda安裝PASA
(一)軟件安裝
##conda環(huán)境##
conda create -n PASA
conda activate PASA
##PASA安裝##
conda install -c bioconda pasa
conda install -c bioconda samtools=1.9
conda install -c bioconda samtools openssl=1.0
conda install -c bioconda gmap=2018.03.25
#1胧辽、可以選擇不使用gmap(只使用blat),這樣就不用更新gmap公黑,gmap=2017.11.15和conda的環(huán)境有沖突邑商,會(huì)導(dǎo)致報(bào)錯(cuò)。
(二)配置文件
##編輯比對(duì)配置文件##
cd pasa_conf
cp pasa.alignAssembly.Template.txt alignAssembly.config
vi alignAssembly.config
DATABASE=/tmp/mydb.sqlite
validate_alignments_in_db.dbi:--MIN_PERCENT_ALIGNED=80
validate_alignments_in_db.dbi:--MIN_AVG_PER_ID=80
##環(huán)境變量##
export PATH=/home/miniconda2/envs/PASA/bin:$PATH
export PATH=/home/miniconda2/envs/PASA/opt/pasa-2.4.1/bin:$PATH
二凡蚜、設(shè)置污染數(shù)據(jù)庫進(jìn)行過濾
##配置UniVec數(shù)據(jù)庫##
wget ftp://ftp.ncbi.nih.gov/pub/UniVec/UniVec
makeblastdb -in UniVec -dbtype nucl -parse_seqids -title UniVec -out UniVec
#1人断、UniVec是一個(gè)數(shù)據(jù)庫,可用于快速識(shí)別核酸序列中可能來自載體來源(載體污染)的片段。
#2朝蜘、formatdb和makeblastdb的效果一樣恶迈。
##通過污染數(shù)據(jù)庫進(jìn)行過濾##
tools=/home/miniconda2/envs/PASA/opt/pasa-2.4.1/bin
$tools/seqclean \
all_transcripts.fasta \
-v /home/PASA/UniVec
#1、輸出的all_transcripts.fasta.clean谱醇、all_transcripts.fasta.cln以及all_transcripts.fasta要在同一個(gè)文件夾里暇仲,否則后面運(yùn)行時(shí)會(huì)報(bào)錯(cuò)。
#2副渴、依據(jù)處理需求下載不同數(shù)據(jù)庫奈附,現(xiàn)在的NGS數(shù)據(jù)一般不需要過濾。
三煮剧、map到參考基因組(主程序)
pasa_dir=/home/miniconda2/envs/PASA/opt/pasa-2.4.1/bin
$pasa_dir/Launch_PASA_pipeline.pl \
-c alignAssembly.config \
-C -R \
-g genome_sample.fasta \
-t all_transcripts.fasta.clean \
-T -u all_transcripts.fasta \
--ALIGNERS blat,gmap --CPU 20
#1桅狠、--ALIGNERS調(diào)用的比對(duì)的軟件(gmap、blat)轿秧,可以單獨(dú)或一起使用中跌。
#2、如前面不進(jìn)行clean菇篡,直接對(duì)fasta文件進(jìn)行mapping漩符,則刪去-T -u參數(shù),將轉(zhuǎn)錄本文件放在-t參數(shù)后驱还。
#3嗜暴、二次調(diào)用主程序前,需要?jiǎng)h除數(shù)據(jù)庫文件或者修改配置文件中的數(shù)據(jù)庫名(DATABASE=/tmp/mydb.sqlite)议蟆。
(一)參數(shù)說明:
-c:設(shè)置比對(duì)配置文件闷沥,可以把配置文件放在自定義目錄下
-C :flag create MYSQL database
-R :flag run alignment/assembly pipeline
-g:設(shè)置基因組文件
-t:設(shè)置轉(zhuǎn)錄本過濾后的.clean文件
-T:flag,transcript db were trimmed using the TGI seqclean tool
-u :設(shè)置轉(zhuǎn)錄本文件
--MAX_INTRON_LENGTH /-I :GMAP or BLAT 所需的最大內(nèi)含子,默認(rèn)值為100000
--IMPORT_CUSTOM_ALIGNMENTS_GFF3:only using the alignments supplied in the corresponding GFF3 file
(二)輸出結(jié)果:
使用blat/gmap將 all_transcripts.fasta 文件與基因組樣本.fasta 對(duì)齊咐容。生成的文件包括:
'sample_mydb_pasa.validated_transcripts.gff3/gtf/bed':有效比對(duì)
'sample_mydb_pasa.failed_gmap_alignments.gff3/gtf/bed':驗(yàn)證測(cè)試失敗的比對(duì)
'alignment.validations.output':描述對(duì)齊驗(yàn)證結(jié)果舆逃,以制表符分隔根據(jù)基因組比對(duì)位置將正確的比對(duì)聚類,并使用 PASA 比對(duì)組裝器進(jìn)行裝配。生成的文件包括:
'sample_mydb_pasa.assemblies.fasta':FASTA 格式的 PASA 裝配結(jié)果 'sample_mydb_pasa.pasa_assemblies.gff3/gtf/bed':PASA 裝配結(jié)構(gòu)結(jié)果
'sample_mydb_pasa.pasa_alignment_assembly_building.ascii_illustrations.out':裝配程序集的描述以及它們是如何從底層轉(zhuǎn)錄本比對(duì)中構(gòu)建的'sample_mydb_pasa.pasa_assemblies_scribed.txt':制表符分隔的格式路狮,描述 PASA 裝配集的內(nèi)容虫啥,包括裝配到相應(yīng)結(jié)構(gòu)中的轉(zhuǎn)錄本
四、其他功能
(一)根據(jù)PASA結(jié)果提取ORF
pasa_dir= tools=/home/miniconda2/envs/PASA/opt/pasa-2.4.1
$pasa_dir/scripts/pasa_asmbls_to_training_set.dbi \
--pasa_transcripts_fasta sample_mydb.assemblies.fasta \
--pasa_transcripts_gff3 sample_mydb.pasa_assemblies.gff3
#1奄妨、要在運(yùn)行完主程序的文件夾下運(yùn)行涂籽,不然會(huì)產(chǎn)生報(bào)錯(cuò)。
#輸出結(jié)果:
#sample_mydb.assemblies.fasta.transdecoder.cds/pep/gff3/bed: ORF序列
#sample_mydb.assemblies.fasta.transdecoder.genome.bed/gff3: 預(yù)測(cè)產(chǎn)生的ORF對(duì)應(yīng)基因組的結(jié)構(gòu)文件
(二)基因組注釋提升
##檢查gff3文件與PASA 兼容性##
pasa_dir=/home/miniconda2/envs/PASA/opt/pasa-2.4.1/bin
perl $pasa_dir/misc_utilities/pasa_gff3_validator.pl orig_annotations_sample.gff3
#1砸抛、pasa_gff3_validator.pl 將顯示gff3 文件中pasa無法識(shí)別评雌、理解或無法正確加載的gene注釋信息行。
#2直焙、提交的gff3注釋文件中的每個(gè)基因必須有相應(yīng)的CDS序列柳骄。
#3、文件必須要是gff3格式箕般。
##加載gff3文件##
$pasa_dir/scripts/Load_Current_Gene_Annotations.dbi \
-c alignAssembly.config \
-g genome_sample.fasta \
-P orig_annotations_sample.gff3
##比較注釋比較并更新的gff3文件##
$pasa_dir/Launch_PASA_pipeline.pl \
-c annotCompare.config -A \
-g genome_sample.fasta \
-t all_transcripts.fasta.clean \
--CPU 20
#1耐薯、-A compare to annotated genes。-R 用于比對(duì)transcripts 丝里, -A 用于和已有g(shù)ff3注釋文件的比較和更新曲初。
#2、PASA 將輸出一個(gè)新的 GFF3 文件杯聚,其中包含 PASA 更新版本的基因組注釋臼婆,包括 PASA 成功更新的那些基因模型,以及那些保持不變的基因模型幌绍。mysql_db.gene_structures_post_PASA_updates.pid.gff3(pid 是進(jìn)程 ID)
#3颁褂、一個(gè)較完整gff3注釋文件通常需要至少兩輪的注釋加載、注釋比較和注釋更新傀广,才能最大程度地將轉(zhuǎn)錄本對(duì)齊并入基因結(jié)構(gòu)中颁独。
#4、alignAssembly.config文件伪冰。將 $PASAHOME/pasa_conf/pasa.annotationCompare.Template.txt 文件復(fù)制到工作目錄中作為“annotCompare.config”誓酒。然后,像之前一樣使用 alignAssembly.config 文件那樣將 MYSQLDB=< MYSQLDB> 替換為 MYSQLDB=/tmp/mydb.sqlite贮聂。