注:这些工具的应用都是受限的,有些本来就是只能用于预测动物,在使用之前务必用ground truth数据来测试一些。我想预测某一个植物的转录本,所以可以拿已经注释得比较好的拟南芥来测试一下。(测试的结果还是比较惊人的)

CPC

(熟悉的名字,原来是北京大学的高歌、魏丽萍开发的)

搜文章时才发现2017年已经出了CPC2了

CPC可在线使用
a Support Vector Machine-based classifier, named Coding Potential Calculator (CPC), to assess the protein-coding potential of a transcript based on six biologically meaningful sequence features.
Coding Potential Calculator distinguish protein-coding from non-coding RNAs based on the sequence features of the input transcripts. Our preliminary performance assessment suggests the CPC can reliably discriminate the coding and non-coding transcripts in ~98% accuracy. We provide an online version of CPC here.
自称有98%的准确率

bin/run_predict.sh (input_seq) (result_in_table) (working_dir) (result_evidence)

CPC RESULTS (The first column is input sequence ID; the second column is input sequence length; the third column is coding status and the four column is the coding potential score (the "distance" to the SVM classification hyper-plane in the features space).)

AF282387	528	coding	3.32462
Tsix_mus 4300 noncoding -1.30047

HOMO EVIDENCE
ORF EVIDENCE

AF282387	ORF_FRAMEFINDER	4	529	99.43	109.41	Full
Tsix_mus ORF_FRAMEFINDER 4077 4206 3.00 27.50 Full

FRAME FINDER

>AF282387 Filobasidiella neoformans calcineurin B regulatory subunit (CNB1) mRNA, complete cds [framefinder (3,528) score=109.41 used=99.43% {forward,strict} ]
MGAAESSMFNSLEKNSNFSGPELMRLKKRFMKLDKDGSGSIDKDEFLQIPQIANNPLAHR
MIAIFDEDGSGTVDFQEFVGGLSAFSSKGGRDEKLRFAFKVYDMDRDGYISNGELYLVLK
QMVGNNLKDQQLQQIVDKTIMEADKDGDGKLSFEEFTQMVASTDIVKQMTLEDLF
>Tsix_mus NR_002844.1 Mus musculus X (inactive)-specific transcript, antisense (Tsix) on chromosome X [framefinder (4076,4205) score=27.50 used=3.00% {forward,strict} ]
MKGYVLKLSSWAGEIAQWLGVLTALPEGLSSILNNFVVAHSHL

BLAST RESULT

CPC2

CPC2 runs ∼1000 times faster than CPC1 and exhibits superior accuracy compared with CPC1, especially for long non-coding transcripts. Moreover, the model of CPC2 is species-neutral, making it feasible for ever-growing non-model organism transcriptomes.

个人测试,CPC1不用blast还是比较快的,但是blast起来真的是奇慢无比,它后台居然还在调用blastall这种古老的软件,现在我们连blast都嫌慢,都只用diamond了。

CPC2用python改写了,还是在调用libvm来进行分类。

CPC的大致原理:

1. 特征选择,Feature Selection。four intrinsic features as Fickett TESTCODE score, open reading frame (ORF) length, ORF integrity and isoelectric point (pI).

2. 使用svm构建分类模型,trained a support vector machine (SVM) model

3. 使用多个物种的数据来验证模型的性能。评价指标:sensitivity, specificity and accuracy

这么简单的方法,是不是瞬间有种我也能发NAR的错觉~~

PLEK

(predictor of long non-coding RNAs and messenger RNAs based on an improved k-mer scheme)

an efficient alignment-free computational tool to distinguish lncRNAs from mRNAs in RNA-seq transcriptomes of species lacking reference genomes.

貌似没有website,也没有GitHub,程序放在了sourceforge.

基本原理:

核心:kmer和svm

It is suitable for vertebrates lacking high-quality genome sequences and annotation information and is especially effective for the de novo assembled transcriptome data generated by PacBio or 454 sequencing platforms.

k-mer pattern is a specific string with k nucleotides, each can be ACG or T. For k = 1 to 5, we had 4 + 16 + 64 + 256 + 1024 = 1,364 patterns: 4 one-mer patterns, 16 two-mer patterns, 64 three-mer patterns, 256 four-mer patterns, and 1,024 five-mer patterns.

选了5种kmer

非常常规的特征选择,最后还是调用libsvm,发了BMCBioinformatics。看了之后是不是自己也想发一篇。

CNCI

Utilizing sequence intrinsic composition to classify protein-coding and long non-coding transcripts

特征选择

To distinguish protein-coding sequences from the non-coding sequences, we extracted five features, i.e. the length and S-score of MLCDS, length-percentage, score-distance and codon-bias. The length and S-score of MLCDS were used as the first two features, which assess the extent and quality of the MLCDS, respectively. Moreover, as demonstrated earlier in the text, protein-coding transcripts possess a special reading frame obviously distinct from the other five in the distribution of ANT. We analyzed six MLCDS candidates outputted by dynamic programming of the six reading frames for each transcript, with the assumption that there must exist one best MLCDS (as described earlier in the text); however, this phenomenon does not generally exist for non-coding transcripts. Thus, we defined other two features, length-percentage and score-distance, as follows:

测试结果:cnci不能直接处理fasta序列,输入fasta出来的结果为空。于是我就输入gtf和基因组2bit文件,才能出来有效的结果。

CPAT

CPAT: Coding-Potential Assessment Tool using an alignment-free logistic regression model

使用说明文档:http://rna-cpat.sourceforge.net/

特征选择:

The first feature was the maximum length of the open reading frame (ORF).

The second feature was ORF coverage defined as the ratio of ORF to transcript lengths.

The third feature we used was the Fickett TESTCODE score (termed ‘Fickett score’ hereafter), which is a simple linguistic feature that distinguishes protein-coding RNA and ncRNA according to the combinational effect of nucleotide composition and codon usage bias (22).

The fourth feature we used was hexamer usage bias (termed ‘hexamer score’ hereafter). This may be the most discriminating feature because of the dependence between adjacent amino acids in proteins (23).

We build a logistic regression model using these four linguistic features as predictor variables. A χ2 test was used to evaluate whether our logit model with predictors fits the training data significantly better than the null model, which had only an intercept.

FEELnc

FEELnc: a tool for long non-coding RNA annotation and its application to the dog transcriptome

OrfPredictor

OrfPredictor: predicting protein-coding regions in EST-derived sequences

PhyloCSF

PhyloCSF: a comparative genomics method to distinguish protein coding and non-coding regions

lncRNA的编码性预测——PhyloCSF的使用

后面会一一测试。

待续~~~

七种常见的核酸序列蛋白编码能力预测工具 | ncRNAs | lncRNA的更多相关文章

  1. 七种常见经典排序算法总结(C++实现)

    排序算法是非常常见也非常基础的算法,以至于大部分情况下它们都被集成到了语言的辅助库中.排序算法虽然已经可以很方便的使用,但是理解排序算法可以帮助我们找到解题的方向. 1. 冒泡排序 (Bubble S ...

  2. Java枚举的七种常见用法

    用法一:常量 在JDK1.5之前,我们定义常量都是:publicstaticfianl.....现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. Java代码 ...

  3. 七种常见经典排序算法总结(C++)

    最近想复习下C++,很久没怎么用了,毕业时的一些经典排序算法也忘差不多了,所以刚好一起再学习一遍. 除了冒泡.插入.选择这几个复杂度O(n^2)的基本排序算法,希尔.归并.快速.堆排序,多多少少还有些 ...

  4. 七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)

    http://blog.csdn.net/xw20084898/article/details/17564957 一.工具:VC+OpenCV 二.语言:C++ 三.原理 otsu法(最大类间方差法, ...

  5. 【转】七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)

    http://blog.csdn.net/xw20084898/article/details/17564957 一.工具:VC+OpenCV 二.语言:C++ 三.原理 otsu法(最大类间方差法, ...

  6. 【图像算法】七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)

    图像算法:图像阈值分割 SkySeraph Dec 21st 2010  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modified Da ...

  7. Java几种常见的编码方式

    几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言 ...

  8. 常见的七种Hadoop和Spark项目案例

    常见的七种Hadoop和Spark项目案例 有一句古老的格言是这样说的,如果你向某人提供你的全部支持和金融支持去做一些不同的和创新的事情,他们最终却会做别人正在做的事情.如比较火爆的Hadoop.Sp ...

  9. Mol. Cell. Proteomics | 糖蛋白基因组学:一种常见的基因多态性影响人血清胎球蛋白/α-2-HS-糖蛋白的糖基化形式

    大家好,本次分享的是发表在Molecular & Cellular Proteomics上的一篇关于糖蛋白基因组学的文章,题目是Glycoproteogenomics: A Frequent ...

随机推荐

  1. poj 1456 Supermarket - 并查集 - 贪心

    题目传送门 传送点I 传送点II 题目大意 有$n$个商品可以销售.每个商品销售会获得一个利润,但也有一个时间限制.每个商品需要1天的时间销售,一天也只能销售一件商品.问最大获利. 考虑将出售每个物品 ...

  2. bzoj 1095 Hide 捉迷藏 - 动态点分治 -堆

    Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条双 ...

  3. ml机器学习笔记

    一.安装机器学习的包 1.conda create -n ml python=3.6 2.source activate ml 3.升级pip :pip install --upgrade pip 4 ...

  4. Xcode project 设置相关

    FauxPas 这是一款Mac平台的用于检查Xcode项目的辅助工具 ,可以帮助我们找出常见的错误.隐藏的bug.不良实践以及可维护性问题和风格问题. 一, $(SRCROOT)  :当前工程所在的目 ...

  5. Python3基础 list + *运算 扩充列表

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. P4556 [Vani有约会]雨天的尾巴

    目录 思路 优化 过程中的问题/疑问 错误 代码 思路 每个节点维护一课线段树(当然是动态开点) 线段树的作用是统计这个节点有多少种粮食型号,以及最多的粮食型号 然后树上差分,u和v点 +1,lca( ...

  7. (转)Awesome Courses

    Awesome Courses  Introduction There is a lot of hidden treasure lying within university pages scatte ...

  8. .Net Core项目在Docker上运行,内存占用过多导致pods重启的问题

    默认情况下,.NET Core应用的内存回收模式是Server模式,这种情况下,内存占用和服务器核心数量有关,一半占用量比较大. 我们的应用目前吞吐量都不大,可以采用Workstation模式,这种模 ...

  9. 51nod1057-N的阶乘(大数乘法巧解)

    这道大数乘法开始我是想套板子模拟的..然后就发现2/3的例子都wa了.(惊了).然后在思考后发现n2的板子的确过不了这么多的大数.(不看题的下场).所以,我在网上发现了分块求大数的方法.%%% 思路来 ...

  10. js try catch 的使用,容错处理

    tag: js try catch 的使用,js容错处理 网友回答: try{ //正常执行 }catch(e/*你感觉会出错的 错误类型*/){ // 可能出现的意外 eg:用户自己操作失误 或者 ...