Category Archives: 打工日记

质量精度

  前些天fy踅摸出肽序列实验质量公式。代入第一同位素的原子量,结果与Mascot一致。但是对于元素平均值,则出现了0.01左右的差别。

  平均计算的精度相对较低,其实不用来来回回加氢原子减质子这么折腾。所以我怀疑Mascot对公式进行了简化。大伙试了几次,最后用最老实的办法,MH直接减掉氢的平均原子量,搞定。

  且慢,fy大虾又发现Mascot使用Unimod database的修饰数据,也许和我们的数据不同?对比中……

M和水蜜桃

  最近都加班到很晚,不过进度满意。

  共享内存索引服务的BUG被彻底清除后,周六着手移植到新版SDK,周日搞定,开始跑测试。对比结果,我发现Mascot做蛋白质酶切时,会先除掉N端的M(甲酰蛋氨酸)。组长很快查到了这操作的理论依据。今天我在pFind里也加上了对应的处理代码。再运行测试数据,鉴定率又有提高。

  刚才在路上买了两个大水蜜桃犒劳自己。连续十几个小时对着屏幕了。吃完桃洗澡睡觉。

开始用ICE写程序,组里来新人

  开始用ICE写些试探性的分布式小程序了,感觉不错。

  索引服务还有问题,肽质量计算仍然有BUG要改;Q_TOF预处理数据要全面再跑一次,评价效果;新版预处理DLL开发还有很多事要协调。自己写代码,纯技术问题永远是简单的,麻烦都来自人,所以百分之五十以上的工作内容都是交流、交流再交流。

  组里来的新人chh的工程能力让人赞赏:本科参加ACM竞赛用的是Eclipse + GCC + Linux编程平台;毕业设计用VC7.1开发图形图像处理软件;算法功底不必多说,设计模式也了解不少。这下开发工作可以指望帮手了。有踏实的基础到哪里找不到好出路呢。

确定BUG位置

  前些天着急上火,因为pFind的肽序列质量误差过大的BUG总也排除不了。今天总算逮住了。导致质量计算不准的是数据索引模块,而且仅仅是修饰的索引才出现BUG。老版本遗留问题。真折腾。同时松口气,BUG定位后就好改了。

  有关质量误差的其他细节今天也都改完了。不由高兴起来,明天去实验室加班。昨天会上好大压力。阿弥陀佛,我得把《最后期限》再看一遍。

  上周开始重新浏览Distributed Programming with Ice,目前在精读The Ice Run Time in Detail一章。刚写了个HelloWord代码。上网一看,ICE 3.1.0又发布了,乖乖,好快的推出速度。

搞生物的人

  下午去军事医学科学院考察他们的集群硬件环境。IBM的刀片服务器,16个节点,每个节点2个CPU,2G内存,还有几十T的磁盘。完成人类基因组计划后,他们开始参与人类蛋白质组计划,俺们算法的直接客户。

  无论Sequest还是Mascot,集群架构其实都差不多。

  国内生物实验室的高通量质谱仪越来越多,有的一天得出的实验结果数据就好几十G,所以就需要与此向适应的处理鉴定能力。和生物仪器比起来,集群硬件和鉴定软件的价格对生物学家不算最大的投资。

  生物信息学术会议上,一多半都是华人,我们与领域前沿的交流频繁程度并不逊色于任何人。开发自主的生物信息软件,科研实力并不是问题。在价格和服务反应上,相信本土开发者会更有优势。要说差距,也许就得在工程能力和科研成果孵化上考虑了。

细节

  修改pFind的bug。以前大家写失水或失氨,习惯直接把质量“-18”或者“-17”,这在相当长的时间里都没错。直到测试Q_TOF数据,结果相当地夸张。博士们一 分析,原来母离子误差过大。终于要告别整数的美好时光了,以后用1.0078250代表氢离子第一同位素质量,用1.00794代表氢离子平均质量……

  像这篇blog说的,细节要人老命。

  新建一个类负责提供典型离子的质量,然后替代掉所有“18”这样的硬编码Magic number。索引和搜索引擎都改完了,就剩下肽打分算法了,等fy大侠回来吧。

ACE和ICE

  为pFind集群版本的开发做准备,技术调研。

  买了本The ACE Programmer’s Guide: Practical Design Patterns for Network and Systems Programming中文版。Google到Distributed Programming with Ice中文电子版。两本书都是马维达翻译的。翻箱倒柜,找到2004年9月的《程序员》,有ICE的系列专题。

  另外看了看SWT的文档。pFind会向Linux移植。

FDR

  前几天都在用蛋白反转库测试pFind的FDR。征用了N台服务器和PC,成天咕噜咕噜跑,CPU100%,其他啥也干不了。

  喝完同学的喜酒,去实验室看假阳性实验的进展,果然跑完了。拷回来分析,和对手不分上下。这次pFind打分算法没加误差模型。刚好碰上fy,帮我把误差参数训练出来,又开始跑。估计5月4日能出结果,希望效果更好一点。

Google的算法

  开始设计pFind系统的集群版本。今天在读Google的论文:MapReduce: Simplified Data Processing on Large Clusters。之前推荐过The Google File SystemWeb Search for a Planet: The Google Cluster Architecture两篇论文。

  Google的强大不只源于PageRank算法,用普通PC组成的高效集群也是一个杀手锏。李开复就提到过,MapReduce算法和GFS架构才是Google真正的核心竞争力。

  digg上热炒Google购买Orion算法的的事。引出一大堆各式各样的八卦议论,比如有关这个博士生的国籍。有个小伙这么写“After all Israel is just America III. Canada is America II.”,哈哈。

  有趣的是,现在,北京时间2006年4月10日22:30分,用Google Web Search搜索这个新闻,可看的内容很少,但用Google Blog Search搜索,就能找到世界各地用各种语言写的评论,很多都是20分钟前刚写的。