python解析命令行参数

Overview python程序也可以拥有C语言风格的命令行参数,例如-h/--help输出帮助信息,-i/--input提示输入文件,-o/--output提示输出文件等等。除了清晰明了,还有一个好处就是输入参数的顺序可以随意一些。 在python中,实现这个功能的函数跟C/C++中一样,也是getopt().下面用实际的代码展示一下。 1. getoptions.py 首先,我们定义...阅读全文>>

python处理数据常用工具包

Overview 在数据挖掘(机器学习)领域,python之所以被广泛应用,与其强大的工具包关系密切。正好最近的项目里频繁地使用python处理数据,于是记录一下python的scipy numpy scikits-learn等几个常用工具包的安装及其常用函数的使用。这里只记录在ubuntu 14.04下的安装使用,Mac系统的参考Chris的另一篇文章:Mac上安装Python机器学习库...阅读全文>>

KNN与K-means的区别

Overview 在机器学习(数据挖掘)领域,有两种算法,经常让初学者混淆,那就是:KNN分类和K-means聚类。而实际上这两种算法没有任何关系,只是名字里面都有一个K。下面,我们记录一下这两种算法,并分析一下它们的区别。 1.KNN分类 实际上KNN算法也可以用来做回归,但是我们这里只讨论分类。KNN全名是k-Nearest Neighbors,用法如下: (1).将已经分好类的样本的...阅读全文>>

数据挖掘之数据标准化(Normalization)

Overview 在数据挖掘工作中,往往需要对得到的特征向量进行数据预处理。其中有重要的一步就是标准化(Normalization),也叫“归一化”。其目的就是为了放置得到的多个特征量纲差距过大,从而影响精度,而且也能是模型收敛速度加快。而归一化的方式一般有下面两种。更多详细内容参考维基百科:Normalization (statistics)。 1.1 重新缩放法 这个是最简单的标准化方...阅读全文>>

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...阅读全文>>