Miguel Acevedo研究蜥蜴疟疾,人们总是会问他两个问题。“蜥蜴真会得疟疾吗?”(答案是肯定的。)以及,“我会从蜥蜴那里感染疟疾吗?”(不太可能。)
蜥蜴疟疾是研究病媒传播疾病生态学和演化的模型[1]。自上世纪90年代起, Acevedo的一位同事在波多黎各的同一地点持续研究这个问题,而佛罗里达大学野生生态学家Acevedo想将这些早期数据与自己的数据结合起来作长期分析。
但做起来没那么容易。Acevedo使用标准化的数据录入模板记录他的数据,而同事的数据混合了纸质笔记本、Excel电子表格和手绘地图。“这是那个年代最有条理的数据,但当时并没有现在的标准。”他说。数据栏在各表格间不一定一致,也不一定用了相同的单位,而且不总是清楚检测了哪些采样点。
最后,本来只需要一个上午就能完成的工作,最终花了六七个月的时间, Acevedo说:“你知道的,这真的很费劲,而且也没意思。”
由于资助者和出版商的要求,加上对开放科学和可重复性的日益重视,研究人员在发表论文的同时,越来越多地公布他们的数据。其他科学家可以使用这些数据来推动新的研究。但不是每个期刊都要求作者提供数据集,另外有些作者由于担心被抢先发表或者没有时间,会拒绝这样做。(《自然》的出版方施普林格·自然的研究数据政策“强烈建议在发表时公开所有支持论文分析和结论的数据集”,并规定“共享社区认可的数据类型”。)
《自然》咨询了一些数据科学家关于发布可用、高质量数据的最佳实践,以下是他们的建议。
创建元数据
如果有一样东西,让科学家加进去能最大化数据价值的,那便是“元数据,元数据,还是元数据”,密歇根州立大学环境科学家Patricia Soranno说。
元数据是描述数据的数据,比如像智能手机摄像头每次拍照时存储的时间戳和地理位置信息。元数据基本上解释了数据的含义,是使数据满足FAIR原则(可发现、可访问、可互操作、可重复使用[2])的关键。“没有元数据的数据”, Acevedo说,“就像没有说明书的乐高积木套装。”
这些“说明书”的内容因实验而异。例如,显微镜数据需要的元数据与基因序列所需的元数据并不同。不过,俄亥俄州丹尼森大学生态学家Sarah Supp说,元数据通常可以被放入一个简单的“README”文本文件,列出数据何时、何处、如何以及由谁收集的;数据发布的许可;数据是否完整收集;以及它们的状态,例如,是原始的还是处理过的数据。
拜耳美国作物科学公司产品开发科学家Anne Brown建议,最好是有一个“代码书”,定义实验变量、单位、缩写词、预期范围以及如何表示缺失数据(例如使用“NA”)。如果有很多表格或文件,则需要解释它们是如何相互关联的。如果使用了软件进行数据处理,那么需要详细说明工具、版本号和运行参数。密苏里州圣路易斯的研究数据管理顾问Crystal Lewis在Twitter上分享了模板README文件、数据字典和项目摘要(参见go.nature.com/43kvzt2)。
对于Acevedo而言,良好的元数据实践使他的蜥蜴疟疾项目变得可维持。他说:“就好像从创伤里学习。”
过度分享
考虑到原始数据、探索性的死胡同以及最终处理的数据集,“到项目结束时,实际上会有成千上万个版本的数据。”Ciera Martinez说,她是加州伯克利Eric和Wendy Schmidt数据科学与环境中心的研究数据科学家。那么,科学家们应该发布哪一个版本的数据?
“如果你能共享原始数据和衍生数据,那就这样做。”伯克利数据科学研究所的数据科学家Karthik Ram说。处理后的数据是分析的基础,但原始数据能让其他研究者测试你的假设和处理策略。
虽然这么说,但原始数据集可能庞大笨重,并且存储成本高。在这种情况下,Martinez说,一个“有效的经验法则”是发布用于生成你的图表的数据。
Brown说,最终,发布数据不应仅在列表上打勾就完了,而应该服务于科学群体。所以,问问自己,其他人可能希望从数据中得到什么,他们可能如何使用这些数据。“了解这些能让你明白,如果其他研究者要使用这些数据,那么我要确保他们能理解。”
采纳标准
每个项目都是不同的,对于应该发布哪些数据及其如何完成的预期也各不相同。因此,Martinez建议寻求更广泛的社区指导。许多学科都有专门的数据储存库,例如分别用于DNA序列和蛋白质结构的Genbank和Protein DataBank。数据也可以发布到Zenodo、Figshare和Dryad等通用存档。Brown建议询问你的出版商(或资助者)是否有首选的存储位置和文件格式。或者,咨询你的机构资源图书馆员,美国农业部(USDA)农业研究局植物遗传学家Jacqueline Campbell建议说。
小数据集可以存储在代码共享网站GitHub上,但佛罗里达大学环境数据科学家Ethan White警告说,这并不能保证数据的持久性。数据可能随时被删除或修改,因此最好也做个正式存档。
科学分析师Tracy Chen说,永远不要将数据发布到个人网站上。她就职于NASA系外行星科学研究所,合著了天体物理数据的最佳实践文件[3]。如果你换工作或退休,个人网站的链接可能会过期。
考虑格式
在亚利桑那大学图森分校教授生态数据科学的Ellen Bledsoe说,数据应采用开放的、非专有的文件格式;否则,它们可能变得无法阅读。Bledsoe在从商业电子表格程序Lotus 1-2-3(现已过时)提取数据时遇到了这个问题。“尝试处理那些数据增加了一个全新的步骤。”她说。
基于文本的文件格式,如CSV(逗号分隔值),可以被许多工具和编程语言读取,实现了FAIR数据原则的“I”(可互操作)。与二进制文件不同,跟踪文本文件随时间变化的方式很容易。首要的是,避免使用PDF文件来存储表格,Campbell说,她也是美国农业部SoyBase大豆遗传数据库的助理馆长。她说,电子表格容易导入。但是,PDF表格必须手动输入——这是个缓慢、痛苦且易出错的过程。
包含代码
如果你使用代码进行数据分析,请将其与数据一起发布。代码揭示了你所做的许多步骤和决策,“它实际上提供了一个更为详细的方法部分”,White说。发布之前,要在干净的计算机环境中测试代码是否可以运行——即没有存储对象的环境。删除计算机特定的元素,如硬编码的文件路径。东北大学旧金山校区的计算机科学家John Guerra Gómez建议,加入注释以显示你正在做什么,并详细说明如何运行代码。“像时间旅行者那样思考”,他说,“我希望未来的自己知道些什么?”
最后,Carpentries执行主任Kari Jordan建议寻找一个编程伙伴。位于加州奥克兰的Carpentries举办了科学计算和数据分析研讨会,并在专家培训期间提出一点——“永远不要独自教学”。Jordan说:“永远不要独自教学,不要独自学习,不要独自做任何事。”
例如,White说,你可以请一个更高级的程序员提供高水平反馈:“你可以做哪几件事让这个更好懂?”White通常会回答:建议将长代码块分解为离散函数,消除重复的代码,并确保函数和变量名具有信息性。Supp说,如果第三方可以理解并执行你的代码,“在使代码变得可读方面,你可能做得相当不错。”
考虑可访问性
大数据项目通常期待潜在用户具有一定水平的技术基础设施。并且,它们对人们如何使用、查询和操作数据有所假设。
然而,这些假设通常站不住脚,英国埃克塞特大学科学哲学和历史教授Sabina Leonelli说。“创建一个通用、可以无限改变用途的平台,这个想法在实践中失败了,因为它没有考虑到世界各地、在不同条件下工作的团队。”
她的建议是:向研究数据联盟或国际科学理事会的数据委员会这样的组织寻求对你的数据标准和假设的反馈。另外,如果可能的话,考虑“低技术解决方案”。例如,你能否开发一个低带宽版本的数据库,或者同时发布低分辨率和高分辨率的图像?
Leonelli说,如果不考虑到一系列需求,结果将是这些资源只有你和跟你差不多的人才能用。“你有可能制作出一种没有考虑到这些需求的资源。”
勇敢尝试
Bledsoe表示,开放科学不是全或零游戏,你所做的任何事情都会具有价值。“即使你不知道如何全面推进开放科学,但只从零推进到20%也很好了。”她说。
因此,发布你的数据,这会为数据使用者提供更多的分析内容,也会为数据提供者带来更多的合作机会。
Supp承认,这也很可怕:分享意味着暴露自己于审查之下。“这有一定程度的风险。”她说。“但这也是我们变好的方式。”
参考文献
1. Otero, L., Schall, J. J., Cruz, V., Aaltonen, K. & Acevedo, M.A. Parasitology 146, 453–461 (2019).
2. Wilkinson, M. D. et al. Sci. Data 3, 160018 (2016).
3. Chen, T. X. et al. Astrophys. J. Supp. Ser. 260, 5 (2022).
原文以How to make your scientific data accessible, discoverable and useful标题发表在2023年6月27日《自然》的技术特写版块上,© nature,doi: 10.1038/d41586-023-01929-7
本文来自微信公众号:Nature Portfolio (ID:nature-portfolio),作者:Jeffrey M. Perkel