首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Claude Code也能做单细胞+空转分析:专打高端局

Claude Code也能做单细胞+空转分析:专打高端局

作者头像
天意生信云
发布2025-08-06 10:29:33
发布2025-08-06 10:29:33
8730
举报

📖 研究背景

最近,我使用Claude Code(AIcoder)成功复现了《Integrating spatial transcriptomics and single-cell RNA-sequencing reveals the alterations in epithelial cells during nodular formation in benign prostatic hyperplasia》空间组学图谱的部分。这篇文章用一个样本的空转分析结合单细胞RNA分析揭示良性前列腺增生结节形成过程中上皮细胞的改变",展现了多组学数据整合在疾病机制研究中的强大潜力。

🔬 原研究核心内容

研究目标:阐明良性前列腺增生(BPH)结节形成过程中上皮细胞的分子变化机制。

创新方法:

  • 🧬 多组学整合:首次将空间转录组学(ST)与单细胞RNA测序(scRNA-seq)结合研究BPH
  • 🔍 RCTD算法应用:采用稳健细胞类型分解(RCTD)方法,精准定位细胞类型在组织中的空间分布
  • 📊 系统性分析:整合了12个scRNA-seq样本和1个Visium空间转录组样本

核心发现:

  • 识别出BE5细胞亚群作为结节形成的关键驱动因子
  • 发现缺氧诱导的EMT信号通路在BE5细胞中显著激活
  • 揭示了从管腔上皮(LE)到基底上皮(BE)细胞转化的动态过程

🛠️ Claude Code复现流程

第一步:数据获取与预处理

为了避免网络问题造成的下载速度慢,这一步我手动下载了数据。

代码语言:javascript
复制
# 下载并处理GSE172357单细胞数据
# 包含BPH_GN、BPH_SN和Normal样本
sample_groups = {
    'BPH_GN': 5个腺体结节样本,
    'BPH_SN': 4个基质结节样本,  
    'Normal': 3个正常样本
}
# 加载GSE242249空间转录组数据
spatial_data = "GSM7757059_A4_matrix.csv"

第二步:输入指令,初始化CLAUDE.md

指令:读取当前路径下的数据文件,用 BPH 样本中 ST 斑点的无偏聚类进行映射。每个集群都以不同的颜色标记。比例尺 = 1 毫米。然后用BPH ST 数据的 2945 个 ST 点的 UMAP 图。每个聚类都以不同的颜色显示。

代码语言:javascript
复制
# CLAUDE.md

此文件为Claude Code (claude.ai/code)在该代码库中工作时提供指导。

## 项目概述
该代码库包含用于空间转录组学分析的Python代码,专门用于分析良性前列腺增生(BPH)样本的空间转录组数据。项目使用Visium空间转录组平台的数据进行无偏聚类分析和可视化。
## 常用命令
### 运行分析脚本
# 复现Figure 1的空间转录组聚类分析
python reproduce_figure1.py
# 分析Visium空间数据
python analyze_visium_data.py
# 分析真实的单细胞RNA-seq数据
python analyze_real_scrna_data.py
# 分析空间转录组数据
python analyze_st_data.py
# 创建空间可视化
python create_st_visualization.py
# Visium数据分析
python visium_analysis_final.py
### 所需Python包

该项目使用了几个关键的Python包:
- scanpy - 单细胞分析工具包
- pandas - 数据处理和分析
- numpy - 数值计算
- matplotlib/seaborn - 数据可视化
- scikit-learn - 机器学习工具
- scipy - 科学计算
- PIL - 图像处理

安装命令:
```bash
pip install scanpy pandas numpy matplotlib seaborn scikit-learn scipy pillow

## 代码架构和结构
### 数据处理流程

1. **数据加载**:脚本加载Visium空间转录组数据(CSV格式)和空间坐标信息
2. **数据预处理**:质量控制、标准化、过滤低质量细胞和基因
3. **降维分析**:使用PCA和UMAP进行降维
4. **聚类分析**:使用Leiden算法进行无偏聚类
5. **可视化**:创建空间分布图和UMAP图

### 关键组件

- `reproduce_figure1.py` - 复现论文Figure 1的主要分析脚本
- `analyze_visium_data.py` - Visium数据处理和分析函数
- `analyze_st_data.py` - 空间转录组数据分析函数
- `analyze_real_scrna_data.py` - 真实单细胞RNA-seq数据分析
- `create_st_visualization.py` - 空间数据可视化函数
- `visium_analysis_final.py` - 最终的Visium数据分析

### 数据流

1. 原始数据文件(`.csv`, `.h5`, 图像) →
2. 数据加载函数 →
3. 预处理和质量控制 →
4. 降维和聚类分析 →
5. 结果可视化和导出

该架构将关注点分离为用于数据处理、分析和可视化的模块化函数,允许灵活修改各个组件。

## 复现结果

最新的复现结果已保存在 `reproduced_analysis/` 目录中:
- `reproduced_figure1.png` - 复现的Figure 1图像,包含BPH样本中ST斑点的无偏聚类映射
- `spatial_clustering_result.h5ad` - 聚类分析结果的AnnData对象

聚类统计:
- 7个聚类,共2945个ST点
- Cluster 0: 971 spots
- Cluster 1: 648 spots
- Cluster 2: 559 spots
- Cluster 3: 252 spots
- Cluster 4: 230 spots
- Cluster 5: 192 spots
- Cluster 6: 93 spots

第三步:Claude code(AI coder)执行与检测

获取指令之后Claude code (AI coder)会解析当前路径下的文件内容。

10x Visium空间转录组数据加载:

代码语言:javascript
复制
def load_visium_data():
    """Load Visium spatial transcriptomics data"""
    # 1. 加载表达矩阵 (基因×spot)
    matrix = pd.read_csv('GSM7757059_A4_matrix.csv', index_col=0).T
    
    # 2. 加载空间坐标
    positions = pd.read_csv('GSM7757059_tissue_positions_list.csv', header=None)
    positions.columns = ['spot_id', 'barcode', 'in_tissue', 'array_row', 
                        'array_col', 'pxl_row_in_fullres', 'pxl_col_in_fullres']
    
    # 3. 加载缩放因子
    with open('GSM7757059_scalefactors_json.json', 'r') as f:
        scale_factors = json.load(f)
    
    # 4. 加载组织图像
    tissue_img = Image.open('GSM7757059_tissue_hires_image.png')
    
    return matrix, positions, scale_factors, tissue_img

10x Visium空间转录组数据预处理:

代码语言:javascript
复制
def preprocess_data(adata):
    # 1. 计算QC指标
    adata.var['mt'] = adata.var_names.str.startswith('MT-')
    sc.pp.calculate_qc_metrics(adata, percent_top=None, inplace=True)
    
    # 2. 过滤细胞和基因
    sc.pp.filter_cells(adata, min_genes=200)
    sc.pp.filter_genes(adata, min_cells=3)
    
    # 3. 标准化
    sc.pp.normalize_total(adata, target_sum=1e4)
    sc.pp.log1p(adata)
    
    # 4. 筛选高变基因
    sc.pp.highly_variable_genes(adata, min_mean=0.0125, max_mean=3, min_disp=0.5)
    adata.raw = adata
    adata = adata[:, adata.var.highly_variable]
    
    # 5. 缩放数据
    sc.pp.scale(adata, max_value=10)
    
    return adata

双面板可视化 (plot_results):

代码语言:javascript
复制
def plot_results(adata, sample_name):
    # 创建双面板图表
    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12,5))
    
    # 预定义7个簇的颜色
    cluster_colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728',
                     '#9467bd', '#8c564b', '#e377c2']
    
    # 左面板:空间分布
    for cluster in range(7):
        ax1.scatter(空间坐标, c=cluster_colors[cluster], s=6)
    ax1.set_title('A                                    ST data')
    ax1.add_patch(标尺)  # 添加1mm标尺
    
    # 右面板:UMAP降维
    for cluster in range(7):
        ax2.scatter(UMAP坐标, c=cluster_colors[cluster], s=3)
    ax2.set_title('B                 ST data')
    
    # 添加图例
    ax1.legend(handles=图例句柄)
    ax2.legend(handles=图例句柄)
    
    plt.savefig(f'{sample_name}_st_visualization.png')

结果图:

🎯 技术亮点

Claude Code(AI coder)的优势体现:

  1. 🚀 高效开发:快速原型设计和调试
  2. 📚 文献理解:准确解读论文方法学细节
  3. 🔧 问题解决:及时发现并修正算法实现中的关键问题
  4. 📊 可视化优化:精确复现原文图表样式

💡 研究价值与启示

生物学意义:

  • 为BPH治疗提供了新的细胞靶点(BE5细胞亚群)
  • 揭示了缺氧-EMT信号轴在前列腺增生中的关键作用
  • 证明了空间转录组学在器官病理研究中的应用潜力

技术方法学贡献:

  • 建立了ST+scRNA-seq整合分析的标准流程
  • 验证了RCTD算法在复杂组织解卷积中的有效性
  • 为类似疾病的空间多组学研究提供了参考范式

🚀 总结

通过Claude Code(AI coder)成功复现这项研究,不仅验证了原文结果的可重现性,更展示了AI辅助科研的巨大潜力。从数据预处理到算法实现,再到结果可视化,整个流程都在Claude Code(AI coder)的协助下高效完成。

这次复现体验告诉我们:

  • AI工具正在revolutionize科研workflow
  • 代码可重现性是现代生物信息学的基石
  • 跨学科整合(AI + 生物医学)创造无限可能
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 📖 研究背景
    • 🔬 原研究核心内容
  • 🛠️ Claude Code复现流程
    • 第一步:数据获取与预处理
    • 第二步:输入指令,初始化CLAUDE.md
    • 第三步:Claude code(AI coder)执行与检测
  • 🎯 技术亮点
    • 💡 研究价值与启示
    • 🚀 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档