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. Google Object detection配置与使用

    Google Object detection 前言: 本文记录了使用Google发布的Object detection(July 1st, 2019)接口,完成了对标注目标的检测.参考了很多博文,在 ...

  2. Noip模拟55 2021.9.17(打表大胜利)

    T1 skip 普通$dp$很好打: $f[i]=max(f[j]-\sum_{k=1}^{K}k+a_i)$ 就是要注意边界问题很烦人. 1 #include<bits/stdc++.h> ...

  3. [暴力题解&&考试反思] 双十一欢乐赛(联赛膜你测试32)

    前言: 今天考试很迷糊.从7点考到11点半,我大概从7点睡到9点.隐隐约约看到旁边的狗哥敲了好几个题,我才开始写代码.然后因为还是很困,而且T1迷迷糊糊调了好长时间,T3T4的暴力就懒的写了... 估 ...

  4. 8.18考试总结[NOIP模拟43]

    又挂了$80$ 好气哦,但要保持优雅.(草 T1 地衣体 小小的贪心:每次肯定从深度较小的点向深度较大的点转移更优. 模拟一下,把边按链接点的子树最大深度排序,发现实际上只有上一个遍历到的点是对当前考 ...

  5. 运用Tomcat创建第一个web项目

    一.了解Web服务器软件 在部署tomcat前,先说一说web服务器软件是用来干什么的?简单来说,就是web容器,可以部署web项目,让用户通过浏览器来访问这些项目. 1.常见的javaweb服务器软 ...

  6. 碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python

    碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python 题目描述 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率.(这里的相撞是指存在任意两只 ...

  7. httprunner3源码解读(1)简单介绍源码模块内容

    前言 最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于 ...

  8. JMeter学习记录收藏

    1.如何进行一个简单的性能测试 2.JMeter各种功能名词解释,比较全 3.聚合报告分析 4.CSV文件参数化,名词解释 5.JMeter快捷键

  9. QuantumTunnel:内网穿透服务设计

    背景 最近工作中有公网访问内网服务的需求,便了解了内网穿透相关的知识.发现原理和实现都不复杂,遂产生了设计一个内网穿透的想法. 名字想好了,就叫QuantumTunnel,量子隧道,名字来源于量子纠缠 ...

  10. robot_framewok自动化测试--(8)SeleniumLibrary 库(selenium、元素定位、关键字和分层设计)

    SeleniumLibrary 库 一.selenium 1.1.Selenium 介绍 Selenium 自动化测试工具,它主要是用于 Web 应用程序的自动化测试,但并不只局限于此,同时支持所有基 ...