基于PASA进行基因预测

时间:2021-06-16 18:51:32

PASA, acronym for Program to Assemble Spliced 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.

Note:
Combine genome and Trinity de novo RNA-Seq assemblies to generate a comprehensive transcript database.

基于RNA-seq数据,将其利用trinity组装---》利用PASA将组装好的序列比对到draft ref----〉预测基因

1、软件安装

  • Trinity

1 conda create -n trinity trinity=2.8.5
2 # 激活环境
3 conda activate trinity
  •  PASA

  • Mysql数据库的准备(考虑到Mysql配置需要root权限,非常不方便,推介使用SQLite, 比起MySQL速度较慢
1 ## 创建只读权限(read-only)用户和所有权限(read-write)用户各一个
2 mysql> GRANT SELECT ON *.* TO 'pasa'@'%' IDENTIFIED BY '123456'
3 mysql> GRANT ALL ON *.* TO 'shehb'@'%' IDENTIFIED BY '123456'
4 mysql> FLUSH PRIVILEGES 123456
  • 安装perl模块
1 cpanm install DBD::mysql
2 cpanm install GD
3 cpanm install DBD::SQLite (Sqlite需要)
  • 安装Gmap,blat,fasta3
1 conda install -c bioconda gmap
2 conda install blat
3 conda install fasta3
  • 安装univec 库(污染数据库),并建库
1 wget ftp://ftp.ncbi.nih.gov/pub/UniVec/UniVec
2 formatdb -i UniVec -p F
  • 安装PASA
1 ## 安装
2 wget https://github.com/PASApipeline/PASApipeline/releases/download/pasa-v2.4.1/PASApipeline.v2.4.1.FULL.tar.gz
3 tar -zxf PASApipeline.v2.4.1.FULL.tar.gz
4 cd PASApipeline.v2.4.1.FULL.tar
5 make -j 8
  • 配置PASA config (如果使用SQLite,则下面MySQL的设置不重要)
 1 ## 配置
2 cd pasa_conf
3 cp pasa.CONFIG.template conf.txt
4 vi conf.txt
5
6 ## 需要修改如下内容:
7 MYSQL_RW_USER=shehb
8 MYSQL_RW_PASSWORD=123456
9 MYSQL_RO_USER=pasa
10 MYSQL_RO_PASSWORD=123456
11 MYSQLSERVER=localhost 此处不能填写IP
12 PASA_ADMIN_EMAIL=邮箱
13 BASE_PASA_URL=http://pasa-dev.tigr.org/cgi-bin/
  • 修改pasa.alignAssembly.Template.txt
1 cd pasa_conf
2 cp pasa.alignAssembly.Template.txt alignAssembly.config
3 vi alignAssembly.config
4
5 DATABASE=/tem/mydb.sqlite
6 validate_alignments_in_db.dbi:--MIN_PERCENT_ALIGNED=80
7 validate_alignments_in_db.dbi:--MIN_AVG_PER_ID=80

  **小提示:

  • MYSQLDB指定的为工作数据库运行完一次后需要删除该数据库, 否则下次运行会报错 ;
  • 如果DATABASE设置的为绝对路径(ie. /tem/mydb.sqlite),将会利用SQLite;如果仅仅用一个简单名字(ie. my_pasa_db),则默认使用MySQL

2、运行

  • 转录组组装(Trinity de novo)

1 ## 结果trinity_out_dir/Triity.fasta
2 Trinity --seqType fq --max_memory 50G --left reads_1.fq --right reads_2.fq --CPU 6
3 # 参数
4 --seqType <string> :type of reads: ('fa' or 'fq')
5 --max_memory <string> :suggested max memory to use by Trinity where limiting can be enabled
6 --left <string> :left reads, one or more file names (separated by commas, no spaces)
7 --right <string> :right reads, one or more file names (separated by commas, no spaces)
  • 转录组组装(Trinity genome-guieded)

1 Trinity --genome_guided_bam rnaseq_alignments.csorted.bam \
2 --max_memory 50G \
3 --genome_guided_max_intron 10000 \
4 --CPU 6
5
6
7 ## 说明
8 若有多个样本的sorted.bam文件,则需使用samtools merge 将其merge
9 结果为Trinity_GG.fasta

以上两种方法可以选用一种作为transcript.fasta即可

  • 过滤转录本序列(可选)

1 /PASApipeline.v2.4.1/bin/seqclean transcript.fasta -v /path/to/your/UniVec

得到transcript.fasta.cln, transcript.fasta.clean

  • PASA将Trinity组装结果回帖到参考基因组

 1 Launch_PASA_pipeline.pl \
2 -c alignAssembly.config\
3 -C -R \
4 -g example.fa.masked \
5 -t transcript.fasta.clean \
6             -T -u transcript.fasta \
7 --ALIGNERS blat,gmap \
8 --CPU 12
9
10 ## 参数
11 -c <filename> * 比对配置文件
12 -C flag, create MYSQL database
13 -R flag, run alignment/assembly pipeline
14 -g <filename> * 参考基因组
15 -t <filename> * 转录组组装的序列
16 --ALIGNERS 比对软件,可以只用一个
17 -- CUP 线程数

这一步得到的<prefix>.assemblies.fasta<prefix>.pasa_assemblies.gff3, 其中gff3用于后面分析

====================分割线=====================

此外,也可根据PASA将转录组回帖到基因组的结果,从中提取ORF,用于训练基因集合,来用于其它基因预测软件。比如:AUGUSTUS

  • 从PASA组装中提取ORF

1 PASApipeline-v2.3.3/scripts/pasa_asmbls_to_training_set.dbi \
2 --pasa_transcripts_fasta <prefix>.assemblies.fasta \
3 --pasa_transcripts_gff3 <prefix>.pasa_assemblies.gff3
4
5
6 ##结果
7 <prefix>.assemblies.fasta.transdecoder.cds/pep/gff3/bed: 虽然不再基因组上,但是根据转录本信息,有可能是编码区的结果
8 <prefix>.assemblies.fasta.transdecoder.genome.bed/gff3: 对应基因组序列的基因模型

我们需要的是后者,并对其进行格式转化gff3---> Genbank格式,进行augustus训练,---具体可查看 Augugtus基因注释

ref

基因结构注释软件PASA安装全纪录

PASA的安装与使用

使用MAKER进行基因注释(高级篇之AUGUSTUS模型训练

Githup

有问题可扫描下面二维码进行交流

基于PASA进行基因预测