PASA, acronym for Program to Assemble** S**pliced Alignments, is a eukaryotic genome annotation tool that exploits spliced alignments of expressed transcript sequences to automatically model gene structures, and to maintain gene structure annotation consistent with the most recently available experimental sequence data. PASA also identifies and classifies all splicing variations supported by the transcript alignments.
基于RNA-seq数据,将其利用trinity组装----> 利用PASA将组装好的序列比对到draft ref----〉预测基因
软件安装
-
Trinity
conda create -n trinity trinity=2.8.5
#激活环境
conda activate trinity
-
PASA
(1) Mysql数据库的准备(*考虑到Mysql配置需要root权限,非常不方便,推介使用SQLite, 比起MySQL速度较慢)
## 创建只读权限(read-only)用户和所有权限(read-write)用户各一个
mysql> GRANT SELECT ON *.* TO 'pasa'@'%' IDENTIFIED BY '123456'
mysql> GRANT ALL ON *.* TO 'shehb'@'%' IDENTIFIED BY '123456'
mysql> FLUSH PRIVILEGES 123456
考虑到Mysql配置需要root权限,非常不方便,推介使用SQLite, 虽然比起MySQL速度较慢
(2) 安装perl模块
cpanm install DBD::mysql
cpanm install GD
#用SQLite时
cpanm install DBD::SQLite
(3) 安装Gmap,blat,fasta3
conda install -c bioconda gmap
conda install blat
conda install fasta3
#或根据源码安装gmap
wget http://research-pub.gene.com/gmap/src/gmap-gsnap-2018-07-04.tar.gz
tar xf gmap-gsnap-2018-07-04.tar.gz
cd gmap-2018-07-04/
./configure --prefix=$PWD
make -j 20
make install
(4) 安装univec 库(污染数据库)
wget ftp://ftp.ncbi.nih.gov/pub/UniVec/UniVec
formatdb -i UniVec -p F
(5) 安装PASA
## 安装
wget https://github.com/PASApipeline/PASApipeline/releases/download/pasa-v2.4.1/PASApipeline.v2.4.1.FULL.tar.gz
tar -zxf PASApipeline.v2.4.1.FULL.tar.gz
cd PASApipeline.v2.4.1.FULL.tar
make -j 8
(6) 配置PASA config (如果使用SQLite,则下面MySQL的设置不重要)
## 配置
cd pasa_conf
cp pasa.CONFIG.template conf.txt
vi conf.txt
## 需要修改如下内容:
MYSQL_RW_USER=shehb
MYSQL_RW_PASSWORD=123456
MYSQL_RO_USER=pasa
MYSQL_RO_PASSWORD=123456
MYSQLSERVER=localhost 此处不能填写IP
PASA_ADMIN_EMAIL=邮箱
BASE_PASA_URL=http://pasa-dev.tigr.org/cgi-bin/
(7) 修改pasa.alignAssembly.Template.txt
cd pasa_conf
cp pasa.alignAssembly.Template.txt alignAssembly.config
vi alignAssembly.config
DATABASE=/tem/mydb.sqlite
validate_alignments_in_db.dbi:--MIN_PERCENT_ALIGNED=80
validate_alignments_in_db.dbi:--MIN_AVG_PER_ID=80
小提示:
- MYSQLDB指定的为工作数据库运行完一次后需要删除该数据库, 否则下次运行会报错
- 如果DATABASE设置的为绝对路径(ie. /tem/mydb.sqlite),将会利用SQLite;如果仅仅用一个简单名字(ie. my_pasa_db),则默认使用MySQL
运行
-
转录组组装(Trinity de novo)
## 结果trinity_out_dir/Triity.fasta
Trinity --seqType fq --max_memory 50G --left reads_1.fq --right reads_2.fq --CPU 6
# 参数
--seqType :type of reads: ('fa' or 'fq')
--max_memory :suggested max memory to use by Trinity where limiting can be enabled
--left :left reads, one or more file names (separated by commas, no spaces)
--right :right reads, one or more file names (separated by commas, no spaces)
-
转录组组装 (Trinity genome-guieded)
Trinity --genome_guided_bam rnaseq_alignments.csorted.bam \
--max_memory 50G \
--genome_guided_max_intron 10000 \
--CPU 6
若有多个样本的sorted.bam文件,则需使用samtools merge 将其merge 。结果为Trinity_GG.fasta
以上两种方法可以选用一种作为transcript.fasta即可
-
过滤转录本序列(可选)
/PASApipeline.v2.4.1/bin/seqclean transcript.fasta -v /path/to/your/UniVec
-
PASA将Trinity组装结果回帖到参考基因组
Launch_PASA_pipeline.pl \
-c alignAssembly.config\
-C -R \
-g example.fa.masked \
-t transcript.fasta.clean \
-T -u transcript.fasta \
--ALIGNERS blat,gmap \
--CPU 12
## 参数
-c * 比对配置文件
-C flag, create MYSQL database
-R flag, run alignment/assembly pipeline
-g * 参考基因组
-t * 转录组组装的序列
--ALIGNERS 比对软件,可以只用一个
-- CUP 线程数
这一步得到的
===========================分割线==========================
此外,也可根据PASA将转录组回帖到基因组的结果,从中提取ORF,用于训练基因集合,来用于其它基因预测软件。比如:AUGUSTUS
-
从PASA组装中提取ORF
PASApipeline-v2.3.3/scripts/pasa_asmbls_to_training_set.dbi \
--pasa_transcripts_fasta .assemblies.fasta \
--pasa_transcripts_gff3 .pasa_assemblies.gff3
得到主要文件:
.assemblies.fasta.transdecoder.cds/pep/gff3/bed: 虽然不再基因组上,但是根据转录本信息,有可能是编码区的结果 .assemblies.fasta.transdecoder.genome.bed/gff3: 对应基因组序列的基因模型
我们需要的是后者,并对其进行格式转化gff3---> Genbank格式,进行augustus训练,具体可查看 Augugtus基因注释
也可以通过conda进行安装pasa
conda create -n pasa
conda activate pasa
conda install -c bioconda pasa
配置文件位于*envs/pasa/opt/pasa-2.5.2/pasa_conf
参考
基因结构注释软件PASA安装全纪录
PASA的安装与使用
使用MAKER进行基因注释(高级篇之AUGUSTUS模型训练
Githup