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 上手实操

  1. 转录组学分析流程
    • 数据预处理
    • 数据标准化
    • 差异表达分析
    • 差异表达基因注释
    • 差异表达基因可视化
    • 差异表达基因富集分析
  2. Bioconductor 软件(DESeq2ClusterProfilerenrichplot
    1. Bioconductor 与 CRAN 的关系
    2. 如何安装 Bioconductor 软件包
  3. 基因功能数据库(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. 神经网络模型基础
  2. 手写字母识别的历史
  3. 评估模型的准确率

1.6.2 上手实操

  1. 配置一个可用的 Conda 环境
  2. 安装需要的软件 Pytorch 和 torchvision
  3. 下载 MNIST 数据集
  4. 从零搭建一个神经网络模型
  5. 评估模型的准确率

1.6.3 课后作业

  • 将模型替换为其他模型,如 VGG19,并评估其针对于同一数据集预测时准确率。

1.7 项目七:利用拉曼光谱识别病原菌(4学时)

本项目将展示如何利用 R 和 Python 进行拉曼光谱数据的处理和分析,以识别病原菌。

1.7.0.1 主要内容

  1. 拉曼光谱技术
  2. ResNet 及残差网络
  3. 以 NC 的病原菌检测论文数据为例

1.7.0.2 上手实操

  1. 数据预处理
  2. 数据标准化
  3. 数据可视化
  4. 拉曼光谱数据的分析
  5. 利用 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. 线性回归及其变种
  2. 决策树、随机森林
  3. 以熔解曲线数据建模为例

1.9.1 上手实操

1.9.2 课后作业

  • 请将代码整理成 PDF 文档,提交到我的文件收集中(使用坚果云收件箱二维码收作业)

1.10 项目十:与全世界开发者协作(4学时)

本项目将展示如何使用 GitHub 进行版本控制,利用 GitHub Issue 与开发者沟通,利用 GitHub Pull Request 贡献代码,以及利用 GitHub Actions 实现自动化部署。

1.10.1 主要内容

  1. Git 介绍
  2. GitHub 介绍
  3. Git 与 GitHub 的关系

1.10.2 上手实操

  1. 安装 Git
  2. 配置 Git
  3. 创建本地仓库
  4. 添加文件到仓库
  5. 提交更改到仓库
  6. 创建远程仓库
  7. 推送本地仓库到远程仓库
  8. 克隆远程仓库到本地
  9. 使用 GitHub Issues
  10. 使用 GitHub Fork
  11. 使用 GitHub Pull Request
  12. 使用 GitHub Actions

1.10.3 课后作业

  • 使用 Git 管理自己的代码,并提交到 GitHub 上;
  • 在课程 GitHub 群组提交 GitHub Issue,完成交作业任务。

1.11 项目十一:开发 R 包(4学时)

本项目以 ggVennDiagram 软件包开发为例,展示如何使用工具进行 R 包开发。

  1. devtools
  2. 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文档系统
    • 多语言支持
    • 交互式文档
    • 学术写作功能
    • 发布与分享
  • 项目实践与展示
    • 完整项目规划
    • 工作流程设计
    • 文档体系建设
    • 成果展示与分享