introduction
- PSAURON 是一款基于机器学习的新型开源工具,专门用于评估基因组注释中蛋白编码基因的质量。它通过训练于来自超过1000个植物和动物基因组的多样化数据,能够对编码DNA或蛋白质序列进行评分,准确反映序列是否为真实蛋白编码区域。PSAURON 不仅支持全基因组范围的蛋白质注释质量评估,还能快速识别可能的虚假注释蛋白,具备良好的效果和广泛的适用性。
- 特点
- PSAURON 不需要针对每个物种进行特定训练,只需一次训练即可完成。并且已经有1000多个动植物的训练数据。
- 给对每个蛋白进行评分,也可以对所有蛋白进行总体的评分。
- PSAURON 旨在控制注释噪声,突出潜在错误,辅助识别需进一步调查的序列。
- 不会特地标识出缺少起始密码子/终止密码子的序列。
软件安装
这里展示万能的生信安装工具conda包的安装过程
conda create -n psauron -y
conda activate psauron
conda install psauron -y
使用教程
- 对蛋白序列进行评估(输入文件为蛋白序列文件)
- 除了输入参数外,其他参数均为默认
- 框内框外阈值为0.5(默认)
- 输入序列为蛋白,加上-p参数
psauron -i Tgra.chr.pep -o nc_psauron.csv -p
- 输出文件:数值是百分制(0-1),得分越高越好
- nc筛选后的abandoned.gene.id.txt文件
- 从蛋白id格式调整为基因id格式
sed 's/\.TU\./.model./' abandoned.gene.id.txt > abandoned.gene.id.model.txt
- 筛选出nc_psauron.csv中评分为false的行
- 3679个gene
grep ',False,' nc_psauron.csv > false_lines.csv
- 筛选nc_psauron.csv和abandoned.gene.id.model.txt共有的基因id
- 1769个基因
- 虽然不会特地标识出这些结构不完整的基因,但被错误注释阅读框的这些基因在PSAURON这里还是会有较低的评分
grep -F -f abandoned.gene.id.model.txt false.csv > false.abandoned.csv
- 评估一下这些被筛选出来不完整的cds序列
psauron -i incomplete.cds.fa
conclusion
- PSAURON 会忽略序列中的内部终止密码子(stop codon)。即使一个序列的 PSAURON 得分很高,也不代表这个序列一定包含一个有效的 ORF(开放阅读框)
- 以这段生成的CDS序列为例:5' - A T G G G A T A G A A A C T A T G G T A A C C - 3'
- 在正常的阅读框内,第三个就是终止密码子,而这么短的序列翻译后也不符合真实的蛋白结构。
- DNA 是由四种碱基组成的长链,它的蛋白质翻译是按每三个碱基(一个密码子 codon)一组来进行的。起始点不同,所得到的氨基酸序列就不同。因此,一个双链上就会有6种可能阅读框
- PSAURON软件的工作原理就是依据这种可能性,再次以上面的序列为例,正常翻译的话到第三个密码子就结束了,如果改变起始起始位置的话,就有另外两种的可能:
- 5' - A T G G G A T A G A A A C T A T G G T A A C C - 3'
- 5' - A T G G G A T A G A A A C T A T G G T A A C C - 3'
- 原本较短的序列也能够延长,当然,这是不考虑起始密码子和终止密码子的情况下的可能。
- gff文件中记录的注释,已经按照反义链和正义链,所以阅读框的情况是三种,及从起始密码子之后的第1/2/3个碱基开始。
- 多数的cds都是从第1个开始的,也有部分是从2和3开始
- 在 GFF3 文件中,CDS 第 8 列(phase) 表示当前 CDS 片段的读码框是否与前一个 CDS 片段连贯对齐。
phase=0
➜ 从当前起点正好是新的一个三联密码子的开始;phase=1
➜ 前一个 CDS 片段留下了一个碱基,需要补 2 个碱基才能组成下一个密码子;phase=2
➜ 前一个 CDS 留下了 2 个碱基,需要补 1 个碱基。
- 例如下面的实际情况:
- 至此,这个工具的主要作用,和论文中说的一样,是一种过滤或者说质量检验标准,速度是挺快的。质量评价方面,cds标准还好理解一下,蛋白评价的体系不是特别清除,反正能够选择使用。
- 拿NC和NCC来讲,NCC版本中存在的很多确实起始密码子或者终止密码子的cds被丢掉。但是,如果用PSAURON进行评估的话,就可以对这些不完整的cds进行重新评估,推测其他可能的两种阅读框是否才是正确的,进而保留一部分被筛掉的基因。如果能够筛选出来的话,这部分保留的基因能够当做存在但注释不够准确的部分保留下来,如果用对应的工具进行结构矫正的话应该可以换源原本真实的结构。到此也只是设想,现在还没有找到那么便利的工具就是了。而且,实际盖起来也没有那么简单。现在得到的cds结构是拼接过的,而且考虑到碱基数量,不分cds片段在被提取的时候已经往后顺移了1-2位,如果真要处理得直接从cds片段开始切手,全部拿到后再进行完整正确的结构计算。
参数表
参数 | 说明 |
| 显示帮助信息并退出 |
| 必须,FASTA 文件路径,文件为拼接过的 CDS 或蛋白质序列。FASTA 文件可以通过 |
| 可选,输出结果文件路径,默认是 |
| 可选,排除长度小于指定值的蛋白质序列,单位是氨基酸,默认是 5 |
| 可选,排除描述中包含特定文本的 CDS(忽略大小写),例如 "hypothetical",默认不排除 |
| 可选,“框内”得分的概率阈值,数值越大越保守(高特异性,低灵敏度),默认 0.5,取值范围 [0, 1] |
| 可选,“框外”得分的概率阈值,数值越大越宽松(高灵敏度,低特异性),默认 0.5,取值范围 [0, 1] |
| 可选,强制使用 CPU 而非 GPU,默认不启用(如果有 GPU 会自动使用) |
| 可选,只评分“框内”CDS,可能会降低模型准确度,默认不启用 |
| 可选,如果输入的是蛋白质序列,启用该选项,可能会降低准确度,默认不启用 |
| 可选,输出详细信息和进度条,默认关闭 |