What I Am Coding? What I Will Get?
chengang
This user hasn't shared any biographical information
Posts by chengang
书单,藏地密码、独唱团、我不是教你诈
Aug 30th
《藏地密码》是口水小说,看看则行。
《独唱团》,韩寒主编的书,火遍大江南北,读起来却是索然无味,恩,算是本不错的文艺杂志,可能是我的期望错了,或是太高了。
刘墉的《我不是教你诈》。刘墉,也算是个名人吧。其实以前很不喜欢读此类教人为人处世道理的书,总觉得说教意味太浓,没有什么实际意义,只是一帮老人倚老卖老而已。但现在却觉得此类书中精品也不少,这本《我不是教你诈》应该也能算得上值得一读的精品。其实一直以来,总在为自己能否按时拿到博士学位而烦恼。俗话说,奔三的人了,事业一无所成,还纠结在博士学位这样的泥潭中,实在是失败得很。每当论文被拒之时,这种感觉愈发强烈。看到实验室的师兄师弟,师姐师妹一篇篇论文发表出来,心里不免生出一些嫉妒和无奈。甚至在别人求助时,也会有意无意的拖拖拉拉。其实,何必呢?就像刘墉在书中写的,“抬头看看,天多么大;低头看看,地多么实在!”。若干年后,回头看看现在面对的一切,或许根本就不值一提。
借用博文视点周筠老师最在微博里面一句话结束这篇不知所谓的博文吧:“多大点事儿”……
Galveston夏末海滩落日
Aug 19th
Galveston最能讨人喜欢的无疑是海。狭长的小岛,让人无论是住在什么地方都能步行几分钟抵达海边。每天傍晚,酒足饭饱之后惬意地在海边散步——这种在大部分人看来极端奢侈的事情,在Galveston却是人人都可以享受的。
一年一度的新生又来了。因为室友回国渡假,所以一位新生便跟我暂住在一起。晚上囫囵吞枣的吃过晚餐,便朝海边杀去,留下脚印无数,照片数张。
Cytoscape 2.8 新功能预览
Aug 10th
7月份在ISMB上就听到了Cytoscape 2.8的风声(见之前的博客)。前几天,Cytoscape的核心开发人员在服务器上放出了Cytoscape 2.8 Alpha 1,Cytoscape 2.8的首个公测版本。但是从各种迹象看,2.8都只是3.0到来之前的一个过渡而已,在Cytoscape的Wiki上甚至只能找到一条跟2.8有关的条目。不过,2.8还是带来了一些有意思的功能,简单介绍一下。
1. 自定义节点图片:
在之前的版本中,节点的形状就是那几个几何图形,改改颜色、大小和border而已,但在2.8中用户可以在VizMap中用自己的图片作为节点,这无疑会诞生很多创意。例如Cytoscape最活跃的开发人员,Keiichiro Ono 大野圭一朗制作的用PDB数据库中蛋白质三维结构图绘制的蛋白质相互作用网络:
看着很帅,这肯定会诞生很多非常具有想象力的复杂网络可视化效果。
2. 属性函数
电子表格软件,例如Excel,里面各种各样的函数吧,对于简单的数据处理还是很爽的。现在对于Cytoscape中网络的各种属性,包括节点属性、网络属性、边属性,也能使用40多种函数进行简单的处理。同时,插件开发人员也可以在插件中提供新的函数。
3. 根据关键字搜索插件
说实话,Cytoscape的那个插件管理器很不好用,现在终于做出了改进。打开Manage Plugins,可以用关键字搜索所需的插件。添加其它的插件源也更加方便了。
波士顿,ISMB 2010记录
Jul 20th
ISMB,由国际计算生物学协会(ISCB)主办的,全球规模最大的计算生物学会议,每年举办一次。今年的会议于7月11日到14日在美国麻省的波士顿举办。我7月8日早上,从休斯顿的Hobby机场出发,Southwest的飞机到处闲逛,直到下午4点半才到波士顿。坐上预定的shared van到hostel跟中国农大的一行人汇合。7月9日是学生会议;10号无议程,在波士顿溜哒;11号~13号,大会议程;13号下午告别波士顿,晚上12点前回到Galveston。细节还是看图说话吧。
实验室的Abi同学告诉说,建筑上的那个星型标志是犹太教的,这估计是个犹太富商的房子。从波士顿机场到Hostel的路上,Shared Van的司机也说,钱都被犹太人挣了!而且他们还不舍得花钱,所以变得越来越富!还有朋友说,在美国,是无法批判犹太人的,因为所有的大媒体都是犹太人控股的。犹太人,厉害啊!
从我们住的Hostel到会议中心大概有一英里的距离。弯弯曲曲地穿行在波士顿的市中心,能看的东西还是不少的。上面的是波士顿公共图书馆。但它背后的一栋类似形状的房子上也标着波士顿公共图书馆,或许是新馆和旧馆?每天早上都会有很多人聚在门口,似乎是在等着进馆。但大部分应该都是Homeless。在图书馆里面找个地方休息,翻本书看看,这样的流浪汉生活应该也很爽啊,哈哈。如果是湖南省图书馆,估计就被轰出去了。
rendong同学告诉我,这就叫“片儿楼”。不顾古老的墙壁上长满绿色的植物,至少看上去还是蛮有情调的,至于住在里面是否舒适就不是我等过客需要关心的事情了。房子直面宽阔的高速公路和城铁,风情应该不错,只是不知道噪声情况如何。
历史悠久的波士顿第一国家银行,折腾了这么多年,现在基本上是归Bank of America了。挂着这个牌子的大楼完工于1971年,180米高,37层。很有特点的地方是,这栋楼是中间大两头小的形状,没能找到角度拍出来,自己Google吧。这栋楼的名字叫First National Bank Building。
Aug 15, 2010 Update:总是没能安心的把这篇游记写完,(编辑中)的状态已经维持了一个月了。这次选了一些有特点的照片,修改了尺寸后都传了上来,算是基本完成吧。什么时候有心思了再来添加文字。
- 感觉很有风格的7-11
- 从Hostel去会议中心的路上,一座植物建筑
- 波士顿第一国家银行?
- 教堂
- 波士顿
- 美国街头的好建筑都是教堂,这点在波士顿也不例外
- 历史和现代的碰撞
- 遍布全美国的中国城
- 波士顿地铁站
- 要是能进去弄点钱就好了
- 地上那是什么鸟?
- Boston North Market,很有金满地的风格
- 竟然还有叫烤肉山的地方,不过里面的建筑看着很舒服
- Boston Common里的街头画家
- 哪一个比较帅呢?前面这个,还是后面那个?
- 知道这是谁的报告么?如此火爆!嘿嘿,照片拍摄时间,2010年7月11日下午~
- Tower Plaza Hotel
- Southwest
FriendNetworks: A Cytoscape Web based Facebook Application for Visualization and Analysis of Your Friends
Jul 15th
Cytoscape Web is a Flash and Javascript based library for visualization of network in Flash-enable web page. Cytoscape Web is developed by Gray Bader lab, who has been mentioned many times in my last post. As you know, according to different scheme, such as gender, location, work experiences and so on, relationship between people on Facebook can be organized as different networks. Is it possible to find some interesting things from the network consisted by your friends? For example, you plan to invite your friends to attend the party you organize, how to arrange their seat? Maybe, a clustering analysis on your friend network is able to give you some ideas.
Forget above imaginations, at this moment, FriendNetworks is just a toy application that can be used to visualize your friends as a network. More features will be added after I finish some urgent work.
The address of FriendNetworks: http://apps.facebook.com/friendnetworks/
Let me know if you also interested to develop something based on Cytoscape Web.
#ISMB2010 #Cytoscape
Jul 14th
会议开完了,该做点记录了。先说说关于Cytoscape的一些东西,其它的八卦会另外写,波士顿的游记也会另外写。以下内容以时间为序。
9号在ISCB student council举办的Scientific Speed Dating上遇到了多伦多大学的大牛,Gary Bader。Bader,Cytoscape最活跃的Director之一,从他实验室走出来的Cytoscape插件有MCODE,NetMatch等等,Cytoscape Web也是。2010年,到现在为止,有两篇Nature,一篇Science,其它的论文就不说了。Google也曾经邀请Bader去介绍生物信息学的知识。总而言之,就是个大牛。7、8分钟的交流显然是觉得不爽的。Bader一方面在网络的分析方法、可视化等方面很活跃,一方面在基于生物网络的癌症研究上也投入了很多。同样,Bader也在关注生物网落的动态特性,相互抑制的东西是不能同时出现在网络中,融合多种数据有可能是解决这个问题的一个途径。最后问了个很傻很天真的问题,如何解决生物网络数据的低可靠性问题?Bader通常的做法是,集成多个数据库,选择那些有多篇文献报道的相互作用。很简单,很常见的方法,大牛在这方面也没什么太多的手段。
11号,大会的第一天下午,Scooter Morris在Technology Track上介绍了最新的Cytoscape 2.7.0,以及将在Cytoscape 2.8.0中实现的新功能,我感兴趣的有两个:
- 用户自定义节点图片;
- 在节点中显示数学公式;Update Aug 10, 2010: 这里写错了,其实是可以用数学公式对节点和边的属性进行处理
随后,Gary Bader介绍了Cytoscape Web。一个基于Flash的复杂网络工具,提供了丰富的Javascript接口,可以很方便的在网页上展示复杂网络。
12号下午,Gary Bader介绍了Gene MANIA项目。GeneMANIA项目是Bader和Morris两个大牛一起主持的项目,一个对基因的功能相关性进行分析的平台。
13号上午,在Special Session: Visualization of Biological Networks上,各路大牛各显神通。Gary Bader再次介绍了如何用Cytoscape分析生物网络,细节不说了。很有意思的是,在IBM的研究员Frank van Ham的报告后,Bader提了一个有趣的idea:生物网络的显示能否像Google Map那样,在缩放的过程中显示不同层次的信息?很有意思的问题,我想到的是把简单的层次化聚类算法和静态的生物网落,外加Gene Ontology的注释信息结合在一起,似乎可以在某种程度上实现这个功能。
Gary Bader最后还主持了一个关于Cytoscape的讨论会,但因为要赶飞机,没能参加。
从R中调用Cytoscape绘制复杂网络
Jul 2nd
R,治世能臣;Cytoscape,乱世奸雄,两位爱卿可否通力协作,助我顺利毕业?然也!
最近在Cytoscape的mail-list上一个很热门的话题就是如何在R中调用Cytoscape绘制复杂的生物网络,从而将R强大的统计功能,尤其是igraph,sna等复杂网络分析包跟Cytoscape灵活的可视化复杂网络分析功能及众多插件结合在一起。昨天,Cytoscape的核心开发人员,UCSD的Keiichiro Ono在Cytoscape的wiki上发了一篇对此的简要教程,Cytoscape And R。
在R中调用Cytoscape绘图,基本原理就是利用Cytoscape的RPC插件和Apache的XML RPC库在本机上启动Cytoscape的RPC服务,然后在R中用经过修改的XMLRPC包访问Cytoscape的RPC服务,从而实现R和Cytoscape的交互。
1. 安装Cytoscape RPC插件。
- 从其官方网页上下载最新版的Cytoscape RPC插件,在我码这篇文章的时候最新版是0.95。把Jar文件拷到plugin目录。
- 然后到Apache的web serive开发项目组网页上下载XMLRPC库,解压后把lib目录下的xmlrpc-common-3.1.3.jar, xmlrpc-server-3.1.3.jar, ws-commons-util-1.0.2.jar三个文件拷到Cytoscape的plugin目录。
- Cytoscape这边准备完毕。
2. 安装R的XMLRPC包。
- XMLRPC包依赖于RCurl和XML两个包,所以同学们要先在自己的R里面把这个两个包装好。
- 然后,到这个地址下载一个经过修改的XMLRPC包。跟安装其它软件包一样:
sudo R CMD INSTALL XMLRPC_0.2-mod.zip
3. 启动Cytoscape,在plugin菜单下激活RPC插件,默认端口是9000
4. 启动R,加载XMLRPC包和测试用的igraph包:
library(XMLRPC) library(igraph)
接下来,先通过xml.rpc在Cytoscape中新建一个网络,然后用igraph生成一个网络,并将此网络传给Cytoscape:
xml.rpc('http://localhost:9000', 'Cytoscape.createNetwork', 'R-Cytoscape Test')
g1 <- barabasi.game(200)
edgelist1 <- get.edgelist(g1)
edgeIDs <- xml.rpc('http://localhost:9000', 'Cytoscape.createEdgesFromVector', edgelist1[,1], edgelist1[,2])
此时,切换到Cytoscape,会看到一个红点。那其实是一个有两百个节点的网络,只是没有应用任何layout而已。随便选择一个layout就能看到这个网络了。
高级功能我也在研究中,上面这几个Cytoscape的插件和R的包都还是bug无数,大家使用的时候要随时做好自己debug的准备。
等修炼到一定水平再来更新这篇文章。
07-16-2010 Update:
有人放出了基于上述原理的R package,详见这里:http://db.systemsbiology.net:8080/cytoscape/gaggle/test/cy2rpc/public/index.html
Improved trick.c for graph coloring problem
Jun 29th
Graph coloring problem is one of the most famous NP-Complete problems. Many algorithms have been proposed and implemented for this problem, see here, here and here. Trick’s implementation is one of simplest program for graph coloring. A efficient algorithm is implemented by few hundreds lines of C codes.
Unfortunately, this program cannot process the graphs that consisted by more than 10,000 nodes. After a brief review of the codes, I found some marcos are used in this program to define the maximum size of input graph, and the input graph and all necessary variable are stored in static arrays. For the graph that contains 10,000 nodes, user should modify a marco named MAX_NODES to more than 10,000 to handle such large graphs. On my 4GB mem desktop computer, the source codes cannot be compiled successful for such large graphs. I have modified the codes. Now, the arrays for all graph size related variables are declaimed dynamically. Graphs that contain 40,000 nodes can be processed on my desktop computer now.
The modified source code can be download from trick.c.
A small project has been set up on Google code. Latest version of this file can be got from the subversion server. http://code.google.com/p/gossipcoder/
Comment is welcome.
ChangLog:
Jul 02, 2010 add Google code project info
Aug 08, 2010
A improved version for big graph has been upload to google code. Bitset container is used to store the network to reduce requirement of memory.
San Antonio圣安东尼奥周末游记
Jun 28th
再一次踏上了去圣安东尼奥的旅途。两个人,两天,一辆车,出发!
GPS在某些情况下确实是不可靠的,在I35和410公路上晃悠了二十多分钟后,我们终于找到了Yaohua在Priceonline.com上拍到的小旅店。
旅店配了游泳池、健身房,不过对我们都没意义;最有意义的网络,是坏的~~唉,命背不能怪社会啊。反正旅店也只是住住,还是景点重要。第一站,号称德州最有名的旅游景点,Alamo!
Alamo,通常指的是1836年2月23日到3月6日,在现San Anotnio地区的Alamo mission爆发的一场德州人民抵抗墨西哥军队进攻的战役。最终以德州军队的胜利而结束,成为德州独立革命中一个重要转折点,同时这场战役也成美国历史上有名的以少胜多的战役,大概200名德州人丧生,而墨西哥军队则有400~600死亡或受伤。迪斯尼在1954年推出的风靡全美的三集电视剧《大卫克罗 Davy Crockett》的第三集就是《大卫克罗在阿拉莫》(Davy Crockett at the Alamo)。迪斯尼还在1955年以《Davy Crockett, King of the Wild Frontier》的片名将这三集电视剧以电影形式在全美公映。1960年,导演John Wayne还拍摄了一部关于Alamo战役的电影——《The Alamo》。Alamo战役在德州历史上的重要性可见一般。随后围绕德州爆发的美墨战争则最终确定了德州的归属,成为了美帝国主义的一部分:)
现在San Antonio市中心的Alamo战役遗迹其实就是当时的Alamo mission的遗迹。但作为中国人,在看过长城、故宫、乃至长沙的天心阁之后,再来看美国的历史遗迹,那是完全没有震撼力的。Alamo战役这种规模的战斗,就算是放在两千年前的中国也只能算是流氓打群架而已。所以,看是一定要来看看的,但不要抱太高的期望。
BTW,Alamo的遗址里面还提供简体中文的介绍资料,很赞!
Cathedral of San Fernando建于1738至1750年之间,是美国还在使用的最古老的天主教堂,同时也是罗马天主教在圣安东尼奥教区的主教堂。旁白一句,圣安东尼奥教区是1874年从当时的Galveston天主教区分离出来的。看来Galveston这个小岛在美国历史上确实还是有地位的。前任教皇,约翰保罗二世(John Paul II)曾于1987年9月13日访问该教堂。
我们赶到这个教堂门口时正好遇上一对新人的婚礼结束,新娘跟新郎一起走出教堂,走上了一辆大大的黑色SUV。虽然偷拍了照片,但还是不上了,祝他们幸福~
San Fernando教堂和Alamo遗址都座落于San Antonio最著名的River Walk景区周围。River Walk是圣安东尼奥河流经圣安东尼奥Downtown的一部分,其中也有一部分河道是为了圣安东尼奥世博会而人工修葺的。花上8.25美元,泛舟河上,看看岸边的历史建筑、各式酒店、墨西哥风格的餐馆、酒吧、河中的野鸭,听着导游一阵乱侃,很是惬意。同时也发现,自己听力还是有进步的,能听懂的东西比第一次来时要多多了。其实,River Walk的夜晚也很有意思。白天很多酒吧都是关门的,到了晚上则是人声鼎沸,热闹得很啊。看着各色人等用英语、西班牙语,当然还有我们俩说的中文,在河边喝酒,感觉一定很不错。不过,同行的Yaohua同学对酒没兴趣,作罢。River Walk太有名了,历史就不细说了。
找了个中餐buffet搞定晚餐,然后回到旅店休息。
第二天的目标是San Antonio Missions National Historical Park,一座由四个mission组成的国家历史公园,位于圣安东尼奥的南边,离Alamo遗址大概10mile的样子。
San Jose是西班牙语,大概对应的中文应该是“圣何塞”。如果单独是一所教堂,那就直接叫教堂好了;如果一座教堂,周围还修了个大院子,院子里面不仅有神职人员,还有老百姓、军人等等,那就成了一个mission。例如,前面说到的Alamo也是这样的这个mission。但Alamo太有名了,所以并不是包含在这个国家历史公园中。在这个国家历史公园中,San Jose是其中最大,保存最完好的一座。San Jose mission创建于1720年,1782年完工。1794年,mission归还给印地安人;到1824年,San Jose mission走出历史舞台。从那以后,这里就成了军营或流浪人员的地盘。到了20世纪30年代,人们开始重建这个mission,并从此成为了San Antonio Missions National Historical Park的一部分。
既然mission的中心建筑是教堂,所以mission里面的所有东西都是以宗教为核心的。大大小小的十字架随处可见。
四个Mission在风格上大同小异。在可预见的若干年内,我依然会是一个恪守辩证唯物主义的无神论者,但站在古老的教堂里面,看着虔诚的信徒微微低头,向他们的神祈祷时的神情,还是经不住感叹信仰的力量。或许正如很多人所说的,当今中国社会的种种乱象,正是因为我们缺乏了信仰。
建于18世纪,且还在使用的洗手间,很少见吧!哈哈
July 04 2010: 虽然Yaohua同学一再表示我拍这张照片的行为很猥琐,但老爸和老婆都一致表示这张照片乃是本文的精华!到底是一家人啊,感动~~
开车从mission park出来,路上的风景依然美不胜收。摇下车窗,跟河边一对正在享受垂钓乐趣的父子打招呼,在这样的蓝天碧水之间,坐在绿草地上钓鱼聊天,一定是很美妙的事情。难怪老爸对钓鱼这么感兴趣,或许我也应该去认真体验一下。
最后来张车和教堂的合影。这就是Yaohua同学的座驾,载着我们在德州南部到处游荡。









































最新评论