IPython笔记本一种新软件有望成为科学数据分享新利器

一种新软件有望成为科学数据分享新利器


交互笔记:共享你的思想

一种新软件有望成为科学数据分享新利器

Titus Brown一边飞行在太平洋上空,一边深潜到学生的研究代码中。从美国东兰辛市密歇根州立大学到澳大利亚墨尔本参加会议的这次长途旅行,给这位生物信息学家详细检查实验室的新运算法则以及去除RNA序列中的错误提供了一次良机。

3年前,Brown必须要等回到办公室后才能这样做,因为如果不经过其他研究人员的解释,他很难潜入到他们的代码中,并对这些代码进行修改以生成新的研究结果。但现在Brown可以用一个免费的开放性软件包在很远的地方与实验室的人一起工作,这个软件包就是IPython,它可以帮助研究人员保存一份详细的实验室运算笔记。

Brown的学生写出说明文本后,附上他们研究生成的原始代码、图标以及数据。然后,坐在飞机上的Brown就可以用电脑里下载的IPython笔记本应用程序零距离接触到学生的研究成果。他重新运行代码后,该程序就会直接执行命令并呈现出他正在阅读的这份材料,让他随时看到他的修改是否有助于提高运算法则。“我可以通过浏览学生的笔记本,确切地了解他们做了哪些工作,然后进行修改,寻找不同的参数,提出不同的观点。”他说,“在世界任何一个地方,我都可以进行这些操作。”

IPython 笔记本的设计目的是让数据分析更容易分享和再生,目前用它来给科研做详细记录、设计教学模型以及与他人合作,其科学家用户已越来越多。一些研究人员甚至会出版这些笔记本,来支持他们的研究论文。Brown就是其中之一,他也在推动着让这个程序成为互动科学出版的新模式。

更好的笔记本

IPython笔记本应用程序是2011年由美国加州大学伯克利分校数据科学家Fernando Pérez和加州州立综合科技大学计算物理学家Brian Granger带领的研究团队共同开发的。“开发这个程序是为了解决我们和其他研究人员以及教育工作者共同面临的问题。” Pérez说。

Pérez 和Granger发现,数据科学家面临一个棘手的问题:他们很难详细地分享自己的原始代码,或对其进行便于理解的描述,让其他人在他们研究的基础上有所拓展。其原因部分是由于很多涉及到大量计算的研究领域的科研人员都是以重复和零碎的方式写代码,因为每次分析都会出现新发现,丢弃掉研究中的多重思路。

记录产生各种数据的每个不同版本的代码并把那些文件和注释笔记相结合,是个令人头疼的问题。而发表后的成果对于跟进该研究的读者来说往往不够详细。“在我从事的计算物理学工作中”,Granger说,“对论文中的运算法则作出高质量的描述与原代码中所描述的详细程度之间的差距通常要以光年来计。没有那些细节,别人想要在一定时间内复制这个过程简直没门儿。”

IPython笔记本通过帮助科学家记录他们的工作,使这些资料更容易分享,并让其他人了解其代码解决了上述哪些问题。应用程序名称IPython中的“I”代表帮助用户运行代码、访问变量,总结数据分析包裹以及了解研究过程的“交互性”命令窗口,而“Python”则指的是作为笔记本程序基础的通用计算机程序语言。(Pérez,Granger及其同事现正在帮助用户把笔记本程序转移到另一项叫作Jupyter的项目中,该项目旨在让IPython与包括 Julia和R在内的其他语言相兼容。)

代码应用

在得克萨斯大学奥斯汀分校,Tal Yarkoni利用IPython笔记本在大脑图像研究中进行自动化元信息分析,以发现参与语言过程、情绪变化以及其他大脑神经活动过程的模式。这位心理信息专家计划把他的笔记和未来的论文一起发表。“分析越复杂,用一份完整的记录来涵盖和传递这个过程就越重要。”他说。

事实上,已经存在与IPython笔记本相似的各种代码语言应用程序。比如在数学家中很受欢迎的商业分析软件包裹Mathematica 和Maple就包含笔记本或类似笔记本的应用程序。 在信号处理、工程以及医疗图像研究等领域使用量极多的商业分析包裹MATLAB也支持笔记本应用。而每种笔记本都有其相应的专业代码语言。

在开放性资源领域,有很多笔记本和类似笔记本的程序。如knitr 使用的是R代码语言,具有强大的数字分析能力;Sage数学软件系统同样基于Python语言,还支持其自带的笔记本;Dexy是一个类似笔记本的程序,专门帮助用户合并短文、代码、数据和其他媒介中的信息,生成论文和讲稿。

但Dexy创始人Ana Nelson却表示,IPython笔记本是其中应用最广的程序。“很多没有听说过其他应用程序的人都知道Ipython。”她说。不过,Granger 和Pérez并不知道有多少人在使用他们的软件,他们仅表示主动使用该程序的用户访问其网站的次数大约在50万~150万人之间。Nelson表示,这是至今为止设计得最好的数字笔记本,其免费性及开放性吸引了很多用户。该应用程序还因Python代码语言受大众欢迎而获益,因为该编程语言在科学界拥有广大的使用群体,他们会每年就此举行国际会议,而且该语言对于入门程序员来说相对简单易学。

尽管随论文一起发表研究笔记的研究人员越来越多,但是让科学期刊把这些资料作为完整的期刊文章的一部分来发表,还需要很长的过程。而目前一些IPython笔记已经作为书籍出版,很多教授还用这个软件开展互动课堂。但到目前为止,这些笔记仍仅作为论文的附属品来发表,经常被用来提供分析代码和附加解释的选择手段。

“出版商仍然不认为他们需要整个研究过程。”Granger说。这些数据的版式可能过新,很难让期刊把笔记本作为正式的文档版本,如html或pdf版本。但是IPython已经开始和一些出版商就此对话。

从新手开始

很多IPython笔记本用户都是技术丰富的程序员,但是专家正在帮助新手使用该软件。大约3个月前,加州大学圣地亚哥分校博士后Yan Song在电脑程序使用方面还没有任何经验。她在分子医学实验室进行细胞研究,包括设计实验、收集数据,而另一位计算机科学家则帮助她挖掘数据。

当他们区分各种神经元时,Song的任务是找出老鼠和人类干细胞中RNA表达发生的变化。以前,她使用Excel对比不同阶段的细胞组织的表达模式。今年早些时候,她开始要检测单个细胞以及细胞大小与复杂的RNA序列数据。她的研究不再像以前一样仅仅分析几组细胞数据,而是一次性对上千个细胞进行对比,每次要检测大约1500个和神经发展相关联的基因。

该实验室生物信息学专业研究生Olga Botvinnik于是在IPython笔记本中生成研究结果,这样Song可以对这些代码进行分析。出于好奇,Song说:“它看起来是一个非常容易操作的界面,你可以给一行信息进行编码,然后立刻检验它是否正确。”

通过在线课程和信息专栏的帮助,仅用了数周时间,Song就学会了一些基本的IPython编程技术,Botvinnik还列了一些菜单,让Song用不同的聚类算法研究她的数据。尽管目前Song还要依赖Botvinnik的帮助进行大量运算和分析,但她表示自己已经开始动手分析数据,并用掌握的生物学知识检验一些特别的细胞或基因子集,在未来分析中她也在教Botvinnik这种方法。“以前我们俩用两种不同的语言交流,我用生物学语言,而她用编程语言。现在,我们有了共同的基础,可以更好地进行交流。这将加速我们的研究。”她说。(鲁捷)

更多阅读

《自然》相关报道(英文)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,158评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,600评论 1 307
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,785评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,655评论 0 220
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,075评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,002评论 1 225
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,146评论 2 318
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,918评论 0 211
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,671评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,838评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,318评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,636评论 3 263
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,343评论 3 244
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,187评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,982评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,126评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,934评论 2 279

推荐阅读更多精彩内容