介绍:如果想识别一种特殊的蛋白质,可以通过以下手段。举个例子,我想分类一个蛋白质是不是细胞因子cytokine (可以替换成别的特殊蛋白),要做以下步骤:

 

1. 找出目前已知的cytokine,先google一下有没有已知的database,如果没有可以去Uniprot数据库(http://www.uniprot.org/)搜索cytokine

 

然后点击download下载结果

fasta格式下载

得到了一个fasta格式的文件,用写字板打开,其中红圈部分是该蛋白序列的UniprotID

2.例得到了,怎么得到反例呢?反例需要找一些与正例差异较大的真实蛋白序列。我们的思路是:列举出所有正例所在PFAM家族,在这些正例以外的PFAM家族中,每个家族抽取一条序列(通常是抽取最长的)当做反例。

具体步骤如下(2-4)。

注意2-4步已经在99服务器/Bioinformatics_Machine_Learning/Machine_Learning/preprocess/protein_negative_sample/ 路径下布置好了,邹老师课题组成员可以直接联系邹老师索取99服务器账号,毋需要2-4步的程序,灰色字体部分仅供理解原理。

怎么看序列的PFAM家族呢?用UniprotID,比如Q02152,访问网址:http://www.uniprot.org/uniprot/Q02152 (将UniprotID放在最后),在网页的下端,如图所示

该序列的PFAM家族就是PF00001

由于序列数量多,PFAM获取应该编程完成,参考该程序

 

3. 找出cytokine(正例)的所有PFAM,并删除重复的PFAM,参考该程序

 

4. 所有的PFAM中,删除正例出现过的家族,得到剩余的PFAM(参考该程序),在剩余的PFAM中每个家族取一条最长的序列作为反例,参考该程序

 

5. 正例的fasta序列就用下载得到的,对这个下载的fasta文件去冗余,用CD-HIT,调整一下参数,使得正反例尽量平衡(一般正例个数比较少,可以把阈值设的大一点,比如0.9;反例个数比较多,可以尽量把阈值设的小一些,比如0.4)。CD-HIT网址:http://weizhong-lab.ucsd.edu/public/,使用方法非常简单,设置好输入文件名,聚类阈值(例如70%),输出文件名即可。也可参考http://bbs.malab.cn/forum.php?mod=viewthread&tid=926&extra=&page=2 11楼)

 

6. 得到了正反例的fasta序列文件后,要分别提取特征,均参考该程序。(188维特征arff文件头

 

7. 利用weka进行交叉验证。如果效果好,可以构建一个web server,用于预测未知蛋白序列是否是cytokine。参考该文档

 

8. Uniprot剩余的序列中(或者某一个新物种的protein,比如大黄鱼),寻找潜在的cytokine。(这步可以不做)

 

 

温馨提示:代码使用参考该文档