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进行基因预测的更多相关文章

  1. miRNA分析--靶基因预测(三)

    miRNA分析--数据过滤(一) miRNA分析--比对(二) 根据miRNA Target Prediction in Plants, miRNA并非所有区域都要求严格匹配,其中第1位碱基和第14位 ...

  2. HOMER | MEME | 转录因子的靶基因预测

    Finding Enriched Motifs in Genomic Regions (findMotifsGenome.pl) 在指定区域做motif enrichment,大大降低了假阳性. ME ...

  3. 项目二:使用机器学习(SVM)进行基因预测

    SVM软件包 LIBSVM -- A Library for Support Vector Machines(本项目所用到的SVM包)(目前最新版:libsvm-3.21,2016年7月8日) C-S ...

  4. [Deep-Learning-with-Python]基于Keras的房价预测

    预测房价:回归问题 回归问题预测结果为连续值,而不是离散的类别. 波士顿房价数据集 通过20世纪70年代波士顿郊区房价数据集,预测平均房价:数据集的特征包括犯罪率.税率等信息.数据集只有506条记录, ...

  5. 腾讯技术工程 | 基于Prophet的时间序列预测

    预测未来永远是一件让人兴奋而又神奇的事.为此,人们研究了许多时间序列预测模型.然而,大部分的时间序列模型都因为预测的问题过于复杂而效果不理想.这是因为时间序列预测不光需要大量的统计知识,更重要的是它需 ...

  6. Python基于dtw实现股票预测【多线程】

    # -*- coding: utf-8 -*- """ Created on Tue Dec 4 08:53:08 2018 @author: zhen "&q ...

  7. 5、预测和鉴定miRNA的靶基因

    转载:http://www.oebiotech.com/Article/mirnabjyyc.html http://www.ebiotrade.com/newsf/2014-9/2014925941 ...

  8. 知识图谱-生物信息学-医学顶刊论文(Bioinformatics-2021)-MSTE: 基于多向语义关系的有效KGE用于多药副作用预测

    MSTE: 基于多向语义关系的有效KGE用于多药副作用预测 论文标题: Effective knowledge graph embeddings based on multidirectional s ...

  9. 中国快递包裹总量的预测-基于SARIMA模型

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

随机推荐

  1. MySQL复习(一)MySQL架构

    MySQL架构 MySQL采用的是C/S架构,我们在使用MySQL的时候,都是以客户端的身份,发送请求连接到运行服务端的MySQL守护进程,而MySQL服务器端则根据我们的请求进行处理并把处理后的结果 ...

  2. Linux有什么可取之处竟如此受欢迎

    什么是Linux? Linux是一个操作系统软件.和Windows不同的是,Linux是一套开放源代码程序的.并可以自由传播的类Unix操作系统,它是一个支持多用户.多任务.多线程和多CPU的操作系统 ...

  3. numpy中的nan和常用方法

    1.数组的拼接 import numpy as np t1 = np.array([[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11]]) t2 = np.array([ ...

  4. uvm_cookbook--DUT-Testbench Connections--Abstract-Concrete Class Connections

    抽象和具体class的连接 An alternative to using a virtual interface handle for DUT to UVM testbench connection ...

  5. wifi 热点配置最优信道

    wifi热点服务hostapd启动需要配置hostad.conf文件,其中有一个参数channel是用来配置信道的,信道的可选参数如下: # channel 1-14 is 2.4 GHz ; cha ...

  6. songwenxin

    # -*- coding: utf-8 -*- import wx from modelmngr_frame import MyFrame1 ############################# ...

  7. hdu 1027 Ignatius and the Princess II(正、逆康托)

    题意: 给N和M. 输出1,2,...,N的第M大全排列. 思路: 将M逆康托,求出a1,a2,...aN. 看代码. 代码: int const MAXM=10000; int fac[15]; i ...

  8. JAVA笔记9__异常/throw关键字/自定义异常/受检与非受检异常、assert关键字/StringBuffer、StringBuilder/代码国际化、动态文本

    /** * 异常:在程序中导致程序中断运行的一些指令 * 1.受检异常:编译期 * 2.非受检异常:运行期 * 异常处理过程分析: * 1.一旦产生异常,系统会自动产生一个异常类的实例化对象 * 2. ...

  9. 就因为把int改成Integer,第2天被辞了

    本文节选自<设计模式就该这样学>之享元模式(Flyweight Pattern) 1 故事背景 一个程序员就因为改了生产环境上的一个方法参数,把int型改成了Integer类型,因为涉及到 ...

  10. 如何减小微信小程序代码包大小

    原作于:https://captnotes.com/how_to_reduce_package_size_of_weapp 这两天被小程序代码包大小暴涨的问题困扰了挺久.简单说说怎么回事吧,就是之前好 ...