相关文章推荐
聪明的冰棍  ·  Navicat for Sqlite ...·  8 月前    · 
刚毅的灭火器  ·  通过V$SESSION视图查看当前数据库会话 ...·  8 月前    · 
卖萌的烤土司  ·  【【专家观点】东数西算高楼渐起——全国算力一 ...·  8 月前    · 
时尚的蜡烛  ·  AWS DMS 数据验证 - AWS ...·  8 月前    · 
温柔的黄花菜  ·  mysql怎么根据逗号将一行数据拆分成多行数 ...·  8 月前    · 
憨厚的水煮鱼  ·  2023年个税专项附加扣除信息确认开始了,来 ...·  1 年前    · 
温暖的卡布奇诺  ·  Exchange Server 中的 ...·  1 年前    · 
考研的蚂蚁  ·  伊朗末代国王:进行现代化变革,女性不戴头巾, ...·  1 年前    · 
神勇威武的长颈鹿  ·  博物馆IP走进黄金商圈,大英博物馆“埃及萌神 ...·  1 年前    · 
爱听歌的松树  ·  南开区学区(2022-2023年)吐血整理完 ...·  2 年前    · 
Code  ›  构建可重复的单细胞数据分析流程开发者社区
数据分析 大数据
https://cloud.tencent.com/developer/article/1799588
爱听歌的土豆
2 年前
作者头像
生信技能树jimmy
0 篇文章

构建可重复的单细胞数据分析流程

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 单细胞天地 > 构建可重复的单细胞数据分析流程

构建可重复的单细胞数据分析流程

作者头像
生信技能树jimmy
发布 于 2021-03-10 14:57:48
829 0
发布 于 2021-03-10 14:57:48
举报

作者 | 周运来

男,

一个长大了才会遇到的帅哥,

稳健,潇洒,大方,靠谱。

一段生信缘,一棵技能树。

生信技能树核心成员,单细胞天地特约撰稿人,简书创作者,单细胞数据科学家。

科学研究的过程可重复性可以说是一件不言而喻的事情:如果你提出一观点或发现一个现象,在别人那里完全重复不出来,谁知道是不是臆想呢?但是有时候重复人家的研究结论又会显得不可理喻:分析的环境,软件的版本,试剂的保质期,甚至是历史条件都会成为不可重复的原因。然而,我们仍然做着这样的努力,至少我们看到数据科学家在做着这样的努力。

分析可重复也是对数据科学家的基本要求之一,你不能给出资方一个不可重复的结果。在这方面R语言和Python都有相应的工程技术来保证数据科学的可重复性,今天我们主要讲一讲R语言生态的单细胞数据分析可重复性流程构建方法。其实大家会看到讲的主要是R语言里面的项目管理,或者换句话说:Rmarkdown 在单细胞数据分析中的应用。

本文既来自不才的单细胞数据分析经验,也来自下面这个报告的启发。

R语言在数据可重复上做的努力,集中地体现在一个项目上:http://ropensci.github.io/reproducibility-guide/。在这个项目中我们可以看到一些可用的R包和原则。

构建可重复的单细胞数据分析流程另一个需求是现在的期刊的编辑也学会阅读代码了:

  • Top Ten Reasons to Not Share Your Code(washington,2012)
  • Does your code stand up to scrutiny?(nature,2018)
  • As a reviewer, can I justify requesting data and code be made available even if the journal does not?
  • Should You Publish Your Research Data? The New Trend of Data Journals

很多有规模的学术期刊都有专门的提交原始数据的数据库和储存代码的代码池,尽管还有很多是利用公共的数据和github,但是这个趋势已经很明显了:需要提供code and data。这对一个行业当然是有加速作用的,降低了行业入门的门槛。

以上,要求构建可重复的单细胞数据分析流程,而且在技术上已经成为可能。这对做科技服务的公司也有一点启发:交付代码也许会成为常态。

那我们就看看有哪些需要考虑的:

  • 分析环境(conda,Docker)
  • 软件版本(git)
  • 随机种子(seed)
  • 团队写作(git)
  • 流程管理(Snakemake )
  • 文档材料(Rmarkdown)

整个数据分析流程的环境可以用conda来创建和维护,分析流程可以用Snakemake 来定义各个分析规则,版本管理和团队协作可以用git来实现,而Rmarkdown可以用来集成代码/输出结果和文本注释。这几种工具本身都是可复用的,并支持绝大部分的单细胞数据分析。那么,总结下来,我们可以:

  • R/Bioconductor package for clustering of scRNA-seq data scalable to millions of cells.
  • Snakemake workflow to demultiplex scRNA-seq data.
  • Book written in R Markdown teaching readers how to analyze scRNA-seq data.

如果一个数据科学项目没有很好的项目管理,随着脚本量的增加往往变得十分凌乱,以至于第二天到办公室都不知道该从何处下手了,这一点写过学术论文的朋友应该很清楚。

好在我们可以在RStudio用Projects来管理我们数据和代码,在需要反复调试和可视化的时候,用RProjects来组织git和Rmark down是一个最佳实战。

为了保证数据科学项目的可持续和可重复,一个RProjects是值得拥有的。

  • 用Rmark down组织脚本和结果
  • 重要结果(算法)的脚本执行代码审查
  • 同一个数据分析项目建一个单独的文件夹(Projects)
  • 文件和变量命名有规可循(代码做好时间线注释)
  • 为每个数据科学里程碑写一个Readme
  • 为项目建立rawdata以及过程数据文件夹
  • 建议使用相对路径
  • 为经常用到的脚本写模板

在Linux下,写好一个Rmd之后,如想批量可视化某个基因集,可以用下面的代码来执行。

rmarkdown:: render(input=rmd,output_format='html_document',output_file=outfile)}

如果是bookdown来组织项目,那就更方便了,写好各个章节的Rmd之后,直接 sh _build.sh ,这样跑完之后结题报告就以一本书的形式呈现出来了。

以上,其实用到的核心技术并不多,主要是R语言生态的:

怎么样?对构建可重复的单细胞数据分析流程有信心了吗?

References

[1] As a reviewer, can I justify requesting data and code be made available even if the journal does not?: https://stats.stackexchange.com/questions/14416/as-a-reviewer-can-i-justify-requesting-data-and-code-be-made-available-even-if [2] http://ropensci.github.io/reproducibility-guide/ [3] https://peerj.com/preprints/3159v2/

本文参与 腾讯云自媒体分享计划 ,分享自微信公众号。
原始发表:2021-03-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除
编程算法
r 语言
git
github
开源

本文分享自 单细胞天地 微信公众号, 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

编程算法
r 语言
git
github
开源
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
关于作者
生信技能树jimmy
0
文章
0
累计阅读量
0
获赞
前往专栏
  • 社区

    • 专栏文章
    • 阅读清单
    • 互动问答
    • 技术沙龙
    • 技术视频
    • 团队主页
    • 腾讯云TI平台
  • 活动

    • 自媒体分享计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2023 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
聪明的冰棍  ·  Navicat for Sqlite 合并两个相同的数据库(扩充数据库内容)_sqlite_程序小小说-DAMO开发者矩阵
8 月前
刚毅的灭火器  ·  通过V$SESSION视图查看当前数据库会话信息-云原生数据库 PolarDB-阿里云
8 月前
卖萌的烤土司  ·  【【专家观点】东数西算高楼渐起——全国算力一张网 东西协同一盘棋】-国家发展和改革委员会
8 月前
时尚的蜡烛  ·  AWS DMS 数据验证 - AWS 数据库迁移服务
8 月前
温柔的黄花菜  ·  mysql怎么根据逗号将一行数据拆分成多行数据 - 开发技术 - 亿速云
8 月前
憨厚的水煮鱼  ·  2023年个税专项附加扣除信息确认开始了,来看看有哪些项目- 四川省人民政府网站
1 年前
温暖的卡布奇诺  ·  Exchange Server 中的 Exchange 系統管理中心 (部分機器翻譯) | Microsoft Learn
1 年前
考研的蚂蚁  ·  伊朗末代国王:进行现代化变革,女性不戴头巾,为何还会被推翻?|穆罕默德|王朝|法拉赫|巴列维_网易订阅
1 年前
神勇威武的长颈鹿  ·  博物馆IP走进黄金商圈,大英博物馆“埃及萌神”亮相南京东路_古埃及
1 年前
爱听歌的松树  ·  南开区学区(2022-2023年)吐血整理完整版 - 知乎
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号