Overview 在数据挖掘(机器学习)领域,python之所以被广泛应用,与其强大的工具包关系密切。正好最近的项目里频繁地使用python处理数据,于是记录一下python的scipy numpy scikits-learn等几个常用工具包的安装及其常用函数的使用。这里只记录在ubuntu 14.04下的安装使用,Mac系统的参考Chris的另一篇文章:Mac上安装Python机器学习库...阅读全文>>
python计算smoothed PSSM(二)
Overview 上一篇文章python计算smoothed PSSM(一)当中,介绍了以当前氨基酸残基为基点,左右取相同数目的序列,然后叠加计算。Chris介绍,这样的算法有特定的用场:蛋白质后修饰。但是,普通的蛋白质序列提取特征就不太适用了:因为窗口值(smoothed window)只能取奇数,而如果有偶数长度的序列片段包含有特征,这种算法就会漏掉。于是决定写一个新的python脚本...阅读全文>>
python计算smoothed PSSM(一)
Overview 最近几天,Chris和我看了很多论文,对PSSM有了更深的认识。但是,鉴于PSSM本身包含单个位置的信息更明显,而几乎没有包含蛋白质序列片段信息,我们两人思考如何将蛋白质序列片段信息编码,终于找到了一种PSSM的处理方式,这种方式叫做smoothed window,特此记录一下。 该算法原理,请参考这篇论文:Predicting RNA-binding sites of ...阅读全文>>
python分离正负样本
Overview 机器学习算法在项目中应用的时候,有时候会用到分离fasta格式的正负样本。于是就写了一个python脚本,效果不错,记录一下。 1. separatePosNeg.py #! /usr/bin/env python # -*- coding: utf-8 -*- # vim:fenc=utf-8 import fileinput i...阅读全文>>
生物信息中常用的Linux命令(二)
Overview 做项目时出现过某些蛋白质序列出现O或者X等情况,导致计算出的PSSM矩阵也有问题。今天又遇到这种情况,在比对文件的时候,用到了两条文件操作的linux命令,记录一下。其他更多的内容参考之前Chris写的另一篇文章生物信息中常用的Linux命令。 1. 按顺序合并文件 普通的合并文件可以直接用一个cat命令,而按顺序合并多个文件必须遍历这些文件,逐个合并。命令如下: for...阅读全文>>
改进计算PSSM的python脚本
Overview 昨天跟Chris讨论SVM分类预测准确性的时候,知道PSSM_AC的作用比PSSM作用更明显,于是决定将以前的python脚本改进一下,输出PSSM和PSSM_AC这两个文件,方便观察。该脚本包括两部分,本文将按顺序记录下来。 以前的脚本可以参考我之前的文章蛋白质序列特征提取方法之——PSSM。 1. t34pssm.py #! /usr/bin/env python i...阅读全文>>
Ubuntu 14.04 安装R和R packages
Overview 虽然已经用了很久的R语言,但一直没整理过,正好需要在我们的云服务器上安装R,所以一并记录下来了。下面的过程虽然是在Ubuntu 14.04上安装的,但是对于其他版本的系统,R和R packages的安装都大同小异。 1. 安装R 1.1 添加源 Ubuntu 14.04中的R版本比较旧,默认安装可能会出很多问题(我试过了)。所以最好添加一个新的源。 在etc/apt/so...阅读全文>>
生物信息中常用的Linux命令
Overview 一直想把常用的命令搜集起来,以便平时用到的时候查阅,可惜一直没抽出来时间专门整理下。最近在做序列的特征提取和多个特征文件合并时,频繁使用到了一些命令,干脆一并整理到这里,以后边用边添加整理新的命令。 这里的linux命令主要在MAC 10.9.5和Ubuntu 14.04下测试,涉及到平台差异性的时候,会尽量指出来,没有区分的话就表示两种平台下都可以使用。如果仍有没涉及到...阅读全文>>
python转换文件格式的一处bug
Overview 在转换fasta格式的文件为chen's format文件时,发现前人的程序有些bug,会将最后一条正样本的class标记为-1于是将程序改了一下,这下就没有问题了。 解决方案 fasta格式如下,第一行为头信息,第二行为氨基酸序列: >sp|Q2YIT7|VIRB3_BRUA2 Type IV secretion system protein virB3 OS=B...阅读全文>>
R中randomForest包与ggplot2的一个不兼容问题
Overview 在做实验的时候因为要用到随机森林,所以使用了R中的randomForest包,但在画图的时候报了一个非常诡异的错误。 1. 错误描述 下面是我引入randomForest包之后的代码,这里省略了一些细节,只保留跟错误有关的代码: ## randomforest library("randomForest") # randomfo...阅读全文>>