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. vue3.x组件间通信,实用小技巧都在这里

    本想简单写写,没想到说清楚已经变成了一篇很长的帖子,欢迎当笔记搜藏起来. props / emits 父子组件通信 props一般负责向子组件传递数据 下面是一个简单的例子,父组件向子组件传递了一个t ...

  2. Sequence Model-week3编程题1-Neural Machine Translation with Attention

    1. Neural Machine Translation 下面将构建一个神经机器翻译(NMT)模型,将人类可读日期 ("25th of June, 2009") 转换为机器可读日 ...

  3. kivy 选择框

    from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.lang import builder # 注册 ...

  4. gridlayout在kv中的引用

    from kivy.app import App from kivy.uix.gridlayout import GridLayout class GridLayoutWidget(GridLayou ...

  5. Java:并发笔记-08

    Java:并发笔记-08 说明:这是看了 bilibili 上 黑马程序员 的课程 java并发编程 后做的笔记 7. 共享模型之工具-1 7.1 线程池 1. 自定义线程池 步骤1:自定义拒绝策略接 ...

  6. seata整合多数据源

    seata整合多数据源 一.背景 二.整合步骤 1.seata server的搭建 2.引入数据源切换组件 3.引入seata组件 4.配置多数据源 5.关闭seata自己默认的数据源代理 6.配置s ...

  7. 零基础学习STM32之入门学习路线

    可以说就目前的市场需求来看,stm32在单片机领域已经拥有了绝对的地位,51什么的已经过时了也只能拿来打基础了,最后依然会转到stm32来,也正是因为这样stm32的学习者越来越多,其中不难发现绝大部 ...

  8. VirtualBox Share Folder

    转载:https://www.cnblogs.com/Dennis-mi/articles/5896586.html 使用virtualbox最方便的host-guest交换文件方案莫过于共享文件夹功 ...

  9. PWN学习之整数溢出

    目录 PWN学习之整数溢出 整数溢出 溢出和回绕 漏洞多发函数 整数溢出例子 PWN学习之整数溢出 整数溢出 如果一个整数用来计算一些敏感数值,如缓冲区大小或数值索引,就会产生潜在的危险.通常情况下, ...

  10. python 处理xml 数据

    1 import xml.sax 2 import xml.sax.handler 3 4 # python 处理xml 数据 类,将xml数据转化为字典 5 ''' 6 原数据:<?xml v ...