基于PASA进行基因预测
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进行基因预测的更多相关文章
- miRNA分析--靶基因预测(三)
miRNA分析--数据过滤(一) miRNA分析--比对(二) 根据miRNA Target Prediction in Plants, miRNA并非所有区域都要求严格匹配,其中第1位碱基和第14位 ...
- HOMER | MEME | 转录因子的靶基因预测
Finding Enriched Motifs in Genomic Regions (findMotifsGenome.pl) 在指定区域做motif enrichment,大大降低了假阳性. ME ...
- 项目二:使用机器学习(SVM)进行基因预测
SVM软件包 LIBSVM -- A Library for Support Vector Machines(本项目所用到的SVM包)(目前最新版:libsvm-3.21,2016年7月8日) C-S ...
- [Deep-Learning-with-Python]基于Keras的房价预测
预测房价:回归问题 回归问题预测结果为连续值,而不是离散的类别. 波士顿房价数据集 通过20世纪70年代波士顿郊区房价数据集,预测平均房价:数据集的特征包括犯罪率.税率等信息.数据集只有506条记录, ...
- 腾讯技术工程 | 基于Prophet的时间序列预测
预测未来永远是一件让人兴奋而又神奇的事.为此,人们研究了许多时间序列预测模型.然而,大部分的时间序列模型都因为预测的问题过于复杂而效果不理想.这是因为时间序列预测不光需要大量的统计知识,更重要的是它需 ...
- Python基于dtw实现股票预测【多线程】
# -*- coding: utf-8 -*- """ Created on Tue Dec 4 08:53:08 2018 @author: zhen "&q ...
- 5、预测和鉴定miRNA的靶基因
转载:http://www.oebiotech.com/Article/mirnabjyyc.html http://www.ebiotrade.com/newsf/2014-9/2014925941 ...
- 知识图谱-生物信息学-医学顶刊论文(Bioinformatics-2021)-MSTE: 基于多向语义关系的有效KGE用于多药副作用预测
MSTE: 基于多向语义关系的有效KGE用于多药副作用预测 论文标题: Effective knowledge graph embeddings based on multidirectional s ...
- 中国快递包裹总量的预测-基于SARIMA模型
code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...
随机推荐
- Vivado Synth/Place Faild但是没有给出error信息
最近遇到一个现象,以前可以编译通过的工程,修改之后发现Synthesis编译报错,而且没有给出error信息,以前也出现过无故place 失败但是没有给出error信息的现象,查看错误日志输出文件,出 ...
- JAVA笔记14__多线程共享数据(同步)/ 线程死锁 / 生产者与消费者应用案例 / 线程池
/** * 多线程共享数据 * 线程同步:多个线程在同一个时间段只能有一个线程执行其指定代码,其他线程要等待此线程完成之后才可以继续执行. * 多线程共享数据的安全问题,使用同步解决. * 线程同步两 ...
- 六. Go并发编程--WaitGroup
一. 序言 WaitGroup是Golang应用开发过程中经常使用的并发控制技术. WaitGroup,可理解为Wait-Goroutine-Group,即等待一组goroutine结束.比如某个go ...
- dotnet OpenXML 转换 PathFillModeValues 为颜色特效
在 OpenXml 预设形状,有一些形状设置了 PathFillModeValues 枚举,此枚举提供了亮暗的蒙层特效.具体的特效是让形状选择一个画刷,在画刷上加上特效.如立体几何 Cube 形状,在 ...
- linux堡垒机下定位日志文件内容
查找关键词grep 命令: grep '关键字' 文件 --color 功能:搜素文件内容 语法: grep [-iv] 关键字 文件 -i 不区分大小写 -v 忽略指定字符串 -n 显示行号 -C ...
- K8S 部署 SpringBoot 项目(一篇够用)
现在比较多的互联网公司都在尝试将微服务迁到云上,这样的能够通过一些成熟的云容器管理平台更为方便地管理微服务集群,从而提高微服务的稳定性,同时也能较好地提升团队开发效率. 但是迁云存在一定的技术难点,今 ...
- MQ限流应用
业务背景:系统中需要发送邮件给用户!实现是javamail发送 问题:某天,发现有些用户并未收到邮件排查: 1,登录发件箱,发现如下图:大量邮件发送失败,大部分是发送频率过高导致邮箱外发功能被限制 3 ...
- Qt分析:Qt中的两种定时器
QTimer类的定时器 QTimer类定时器是QObject类定时器的扩展版或者说升级版,因为它可以提供更多的功能.比如说,它支持单次触发和多次触发. 使用QTimer类定时器的步骤: (1)创建一个 ...
- 用Docker搭建RabbitMq的普通集群和镜像集群
普通集群:多个节点组成的普通集群,消息随机发送到其中一个节点的队列上,其他节点仅保留元数据,各个节点仅有相同的元数据,即队列结构.消费者消费消息时,会从各个节点拉取消息,如果保存消息的节点故障,则无法 ...
- Swift-技巧(六)设置按钮状态并更改
摘要 按钮是一个宝藏控件,可以在设置的时候就对不同的状态添加图片.文本,甚至更改背景.在不同的展示场景中更改到不同的状态显示就好.恰恰是如何更改状态着实让我懵了一阵,所以记录一下过程.如果没有兴趣了解 ...