1 课程项目简介
1.1 项目一:配置可重复的数据分析环境(2学时)
1.1.1 上手实操
在自己电脑上配置一个可重复的数据分析环境。
1.1.2 课后作业
- 确保电脑上安装了 R、Python 等需要用到的软件
- 请在雨课堂内完成分组(第二次上课时确认)
- 请与助教取得联系,建立学习小组
1.2 项目二:R 语言统计分析和可视化基础(2学时)
以 ISME J 的论文数据为例(Gao, Cao, Cai, et al. 2021),介绍分组数据统计分析和可视化的技巧。
1.2.1 论文简介
- 研究背景
- 科学问题
- 结果与分析
1.2.2 上手实操
ggplot2
软件包及图形语法- 统计分析的数学基础
- 数据集的介绍
ggpubr
软件包的应用
1.2.3 课后作业
- 阅读论文,并且查阅 GitHub 仓库,在自己电脑中复现论文中的分析结果
- 将分析结果整理成 PDF 文档,提交到我的文件收集中(使用坚果云收件箱二维码收作业)
1.3 项目三:转录组学数据分析和可视化(4学时)
以 ISME Communications 的论文数据为例(Gao, Cao, Ju, et al. 2021),介绍转录组学数据分析的技巧。
1.3.1 论文简介
- 研究背景
- 科学问题
- 转录组学分析的基本原理
1.3.2 上手实操
- 转录组学分析流程
- 数据预处理
- 数据标准化
- 差异表达分析
- 差异表达基因注释
- 差异表达基因可视化
- 差异表达基因富集分析
- Bioconductor 软件(
DESeq2
、ClusterProfiler
、enrichplot
)- Bioconductor 与 CRAN 的关系
- 如何安装 Bioconductor 软件包
- 基因功能数据库(KEGG、GO、CAZyme、ARG、COG)
1.3.3 课后作业
- 阅读论文,并且查阅 GitHub 仓库,在自己电脑中复现论文中的分析结果
- 将分析结果整理成 PDF 文档,提交到我的文件收集中(使用坚果云收件箱二维码收作业)
1.4 项目四:微生物组数据分析及可视化(4学时)
本项目基于 dada2 软件包提供的示例数据,展示如何使用 R 语言进行微生物组数据分析及可视化。
1.4.1 主要内容
- dada2 软件包介绍
- 微生物组数据分析流程
- 微生物组数据可视化
1.4.2 上手实操
- 安装 dada2 软件包
- 加载示例数据
1.4.3 课后作业
- 请将代码整理成 PDF 文档,提交到我的文件收集中(使用坚果云收件箱二维码收作业)
1.5 项目五:大模型的API调用(4学时)
本项目将展示如何利用大模型的API调用,实现文本生成、对话、翻译、代码生成等任务。
1.5.1 主要内容
- Huggingface
- OpenAI(ChatAnywhere)
- 阿里云百炼
1.5.2 上手实操
- 使用 R 调用 OpenAI API
- 使用 Python 调用 OpenAI API
- 使用 R 和 Python 调用 HuggingFace API
- 使用 R 和 Python 调用阿里云百炼 API
1.5.3 课后作业
- 申请阿里云百炼 API KEY,配置 Chatbox 桌面应用
- 使用 Chatbox 桌面应用,选择 DeepSeek 模型,与 AI 对话
1.6 项目六:手搓神经网络模型(4学时)
本项目将展示如何利用 PyTorch 从零开始构建一个神经网络模型,以解决手写字母识别问题。
1.6.1 主要内容
- 神经网络模型基础
- 手写字母识别的历史
- 评估模型的准确率
1.6.2 上手实操
- 配置一个可用的 Conda 环境
- 安装需要的软件 Pytorch 和 torchvision
- 下载 MNIST 数据集
- 从零搭建一个神经网络模型
- 评估模型的准确率
1.6.3 课后作业
- 将模型替换为其他模型,如 VGG19,并评估其针对于同一数据集预测时准确率。
1.7 项目七:利用拉曼光谱识别病原菌(4学时)
本项目将展示如何利用 R 和 Python 进行拉曼光谱数据的处理和分析,以识别病原菌。
1.7.0.1 主要内容
- 拉曼光谱技术
- ResNet 及残差网络
- 以 NC 的病原菌检测论文数据为例
1.7.0.2 上手实操
- 数据预处理
- 数据标准化
- 数据可视化
- 拉曼光谱数据的分析
- 利用 ResNet 进行分类
1.7.1 课后作业
- 请将代码整理成 PDF 文档,提交到我的文件收集中(使用坚果云收件箱二维码收作业)
1.8 项目八:计算机视觉分析实验图片(4学时)
1.8.1 主要内容
1.8.2 上手实操
1.8.3 课后作业
1.9 项目九:机器学习算法及实现(4学时)
本项目以 Science 论文为例(Chang et al. 2023),展示如何利用机器学习算法识别细菌类型。
- 线性回归及其变种
- 决策树、随机森林
- 以熔解曲线数据建模为例
1.9.1 上手实操
1.9.2 课后作业
- 请将代码整理成 PDF 文档,提交到我的文件收集中(使用坚果云收件箱二维码收作业)
1.10 项目十:与全世界开发者协作(4学时)
本项目将展示如何使用 GitHub 进行版本控制,利用 GitHub Issue 与开发者沟通,利用 GitHub Pull Request 贡献代码,以及利用 GitHub Actions 实现自动化部署。
1.10.1 主要内容
- Git 介绍
- GitHub 介绍
- Git 与 GitHub 的关系
1.10.2 上手实操
- 安装 Git
- 配置 Git
- 创建本地仓库
- 添加文件到仓库
- 提交更改到仓库
- 创建远程仓库
- 推送本地仓库到远程仓库
- 克隆远程仓库到本地
- 使用 GitHub Issues
- 使用 GitHub Fork
- 使用 GitHub Pull Request
- 使用 GitHub Actions
1.10.3 课后作业
- 使用 Git 管理自己的代码,并提交到 GitHub 上;
- 在课程 GitHub 群组提交 GitHub Issue,完成交作业任务。
1.11 项目十一:开发 R 包(4学时)
本项目以 ggVennDiagram 软件包开发为例,展示如何使用工具进行 R 包开发。
- devtools
- CRAN/Bioconductor
本项目将展示如何使用现代工具进行学术写作、R包开发、AI辅助编程,以及项目实践与展示。
1.11.0.1 主要内容
- R包开发基础
- 包结构设计
- 函数文档编写
- 单元测试
- CRAN发布规范
1.11.0.2 上手实操
- 安装 RStudio
- 安装 Rtools
- 安装 devtools
- 使用 RStudio 进行 R 包开发
- 创建 R 包
- 添加函数
- 编写文档
- 单元测试
- 发布到 GitHub
- 从 GitHub 中安装 R 包
1.11.1 课后作业
- 写一个 R 包,并发布到 GitHub/Gitee 上
1.12 项目十一:现代工具与展望(4学时)
- Quarto文档系统
- 多语言支持
- 交互式文档
- 学术写作功能
- 发布与分享
- 项目实践与展示
- 完整项目规划
- 工作流程设计
- 文档体系建设
- 成果展示与分享