Monday, April 16, 2007

Get the SBMLToolbox worked under the Linux

After several days work, I finally figured out the problem that the TranslateSBML function fail to work and you got a Segmentation violation.

The original aim for me is to install COBRAToolbox-1.1 in Linux and Matlab 2006b.

SBMLToolbox 2.0.2
libsbml 2.3.4
fedora core 6
gcc-4.1.1-51.fc6
matlab 7.3 (2006b)

1. Install libsbml-2.3.4 following the instructon in the package

2. Build the TranslateSBML.mexglx using the following arguments in the Makefile
Do not forget to change the matlab root directory.

MEX = /usr/local/Matlab74/bin/mex
XCFLAGS = $(CFLAGS) -g
XLDFLAGS = $(LDFLAGS) -L/usr/local/lib
XCPPFLAGS = $(CPPFLAGS) -I/usr/local/include -I/usr/local/include/sbml/
LIBS = -lsbml

3. sudo cp /usr/local/lib/libsbml.so /usr/local/Matlab74/bin/glnx86/
This is required by the matlab. But the glpkcc.mexglx worked without this operation. I don't know what happend.

Anyway, the TranslateSBML function should work now. Though I spent much time on the source code, it ends up only copying a file. :)

Thursday, March 29, 2007

VPN connection in IUPUI

http://pptpclient.sourceforge.net/howto-fedora-core-6.phtml

First , install pptconfig as following,

# rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/fc6/pptp-release-current.noarch.rpm
# yum --enablerepo=pptp-stable install pptpconfig

Yum will help you to install other programs.
1.
sudo route add -host 134.68.107.67 gw 10.235.96.100
2.
sudo pptconfig
name: any
server: pptp.iupui.edu
domain: ads
username: any
passwd: some

then add start
in log window 'connected' should be shown.

Finally,
3.
sudo route add default ppp0

It should be OK now!

Sunday, February 25, 2007

写点心得

其他的我的笔记 http://ctb.pku.edu.cn:40005

程序方面的,关于perl

以前学习C的时候,提到过解释性的语言(?),脚本就是解释性的吧,所以一直很不屑

原来为了处理字符方便,用C++,不过后来师弟们写的程序还是C,所以一直头疼字符(文本)处理

赴美之后,正儿八经的用perl,因为简历上吹嘘会用,现在每天几乎都是在写perl程序中度过的,以前因为字符处理的不方便造成了很多时间的耽误

今天终于学会用perl画图了,竟然还是非常的漂亮,比R和matlab都要方便很多(脚本画图方面,一次处理几十幅甚至几百幅图的情况)

perl对我最大的用处
就是数组和映射,正则表达式;如果你要处理文本,从中需要挑出一些符合条件的字符串,只需要写出合理的正则表达式,这些表达式在各种脚本语言和vim中都是通用的

如果是不停的做重复工作,可以把模板写到右键菜单里,点一下就新建新的程序就有个框架了

最后,推荐大家用linux,觉得特别亲切,原因是所有的源代码都是C写的;感觉当年学习C的时候要知道这些那个小论文根本不在话下,而且可以为开源社区做出很多贡献(每人一个程序)。linux下的C程序很简单的就和系统融为一体了(因为是命令行的)

最近还发现了很多贴心的功能,比如自动连接网络(甚至是无线,以前这个服务被我关了,让我痛苦了很长时间)。

另外就是推荐vim了,用ctags,按两个键就自动跳到函数定义的地方去了,利用这种机制甚至可以浏览非C文件,只要你自己生成了ctags文件;比如我浏览代谢反应时,只要按两个键ctrl+]就可以跳到代谢物的名字文件去了,ctrl+T就可以跳回来,根本感觉不到是在不同的文件中,它们实际甚至在不同的目录中

如果你稍微了解一下一些程序的机制,你就会发现它们的拓展用处,比如,我的文件夹下的一些图是依赖与当前文件夹的数据文件的,当数据文件改变时,需要重新执行画图脚本,可是文件很多,你可能记不清是不是运行过了;这其实可以用make程序来作,平时make是用来执行编译程序的命令的,这对于那些熟悉make和ctags的人不是大发现,但是我自己有所需求,然后思考解决后,就觉得有无比成就感,坚持了效率至上(不写代码的原则)

然后是窗口管理器,虽然有些小功能慢于win,但是现在是越来越好了,而且是好的越来越快,一个例子就是gaim来了消息,tab处不停的闪光;虽然是小事,但是都是紧要的事,因为错过了女朋友的消息不是什么好玩的事;

桌面环境:genome,fvwm,kde,enlightenment,xgl-compiz,xvfc;这些是我用过的,换个桌面环境就是换个程序而已,多有诱惑力;好多感受是不好形容的,第一次用e16感觉是科幻小说,到了e17反而去掉了那个眩的效果;3d的就更不用说了,之是我的高级ati卡没她妈的驱动,真是浪费了

上面的看起来是没有多少内涵,深层次点的;搞个加密系统弄到u盘上只是几个小时的活,你能干的事情就是到win下面去杀毒,手工杀毒;这个系统很安全,没有密码高手也没多少办法

最后,不能忘记被迫用linux的原因,因为当时我的显示器是1280x1024的,浏览网页时ie字太小,而linux下字体可以无限放大;另外一个小原因就是当时被一个德国老头b4了

哥们们试试linux吧,你可以用两个显示器,奇数窗口显示在a上,偶数窗口显示在b上;拍下显示器就切换桌面等激动人心的事到处都是