下载 PBMC 3k:核对表达矩阵、条形码和样本表
10x 单细胞分析入门 · 第 03 篇
这次先准备文件,不运行分析。完成后,项目里应有一个经过校验的压缩包、同目录下的三个矩阵文件,以及能够追溯来源的样本记录。
使用 Linux Bash,已经能登录服务器,并完成上一节安装和环境自检。本篇使用 curl、tar、sha256sum 和 unzip。
建立目录,解压练习包
从系列目录下载练习包,按文件传输教程上传到服务器家目录。假设上传后的路径是 ~/sc-course-v1.zip:
mkdir -p ~/sc-course
unzip -n ~/sc-course-v1.zip -d ~/sc-course
cd ~/sc-course
pwd
ls scripts-n 表示不覆盖已有文件,适合首次练习。更新练习包时请解压到新目录;否则旧脚本可能被保留。后文都在 ~/sc-course 下操作,R 脚本也显式接收这个目录,不依赖 RStudio 当前打开了哪个项目。
下载并校验官方矩阵
bash scripts/download-pbmc3k.sh "$PWD"脚本从 10x 官方下载 pbmc3k_filtered_gene_bc_matrices.tar.gz,先校验 SHA-256,再解压并检查三个文件存在。校验值来自本教程实际下载的文件:
847d6ebd9a1ec9a768f2be7e40ca42cbfe75ebeb6d76a4c24167041699dc28b5这是本教程记录的文件指纹,不是冒充官方发布的校验清单。若之后上游更新文件导致校验不一致,先核对来源与数据版本,不要直接删掉脚本里的校验步骤。
想手动下载时,执行:
mkdir -p data/raw logs
curl --fail --location --retry 2 \
-o data/raw/pbmc3k_filtered_gene_bc_matrices.tar.gz \
https://cf.10xgenomics.com/samples/cell-exp/1.1.0/pbmc3k/pbmc3k_filtered_gene_bc_matrices.tar.gz
sha256sum data/raw/pbmc3k_filtered_gene_bc_matrices.tar.gz
tar -tzf data/raw/pbmc3k_filtered_gene_bc_matrices.tar.gz先核对上述指纹,再解压:
tar -xzf data/raw/pbmc3k_filtered_gene_bc_matrices.tar.gz -C data/raw--fail 能让 HTTP 错误返回非零状态,避免把错误网页误当成 tar 包。这里不要用浏览器“另存网页”代替文件下载。
三个文件怎样对应
data/raw/filtered_gene_bc_matrices/hg19/
├── matrix.mtx
├── genes.tsv
└── barcodes.tsv| 文件 | 作用 | 核对方式 |
|---|---|---|
matrix.mtx | 稀疏的基因×条形码计数矩阵 | 读取开头维度,不能当普通 CSV 打开后重存 |
genes.tsv | 矩阵行对应的基因标识与名称 | 本例有 32,738 行 |
barcodes.tsv | 矩阵列对应的条形码 | 本例有 2,700 行 |
head -n 5 data/raw/filtered_gene_bc_matrices/hg19/genes.tsv
head -n 5 data/raw/filtered_gene_bc_matrices/hg19/barcodes.tsv
head -n 5 data/raw/filtered_gene_bc_matrices/hg19/matrix.mtx
wc -l data/raw/filtered_gene_bc_matrices/hg19/{genes,barcodes}.tsvMTX 开头是格式说明和可能存在的注释,之后才是“行数、列数、非零条目数”。不要机械地把第一行当成维度。条形码末尾的 -1 此时保留,不要为了好看批量删除。
旧格式与新格式不要混装
本例为旧版输出,用 genes.tsv 和未压缩的 MTX。较新的 Cell Ranger 常见 features.tsv.gz、barcodes.tsv.gz、matrix.mtx.gz,也可以提供 H5。Seurat 的 Read10X 文档说明了对应输入。
一套目录里的基因、条形码和矩阵必须一起来自同一产物。不能拿新参考的 features.tsv 替换本例的 genes.tsv,即使行数恰好相同;行顺序不同会让计数对应到错误的基因。
filtered 表示上游已挑选细胞相关条形码,仍需下游质控。raw 则通常含有更多未被判定为细胞的条形码;两者不能只改目录名就当成等价输入。
留下来源记录
练习包的 configs/samples.tsv 已写好本例字段。确认它包含 sample_id、donor_id、assay 和参考说明。原始数据页是 10x PBMC 3k,数据许可为 CC BY 4.0;引用时保留来源。
不要将 hg19 随手改写成 GRCh38。后续注释使用本矩阵已有的基因名称,不会因为在 R 里更改一列文本就完成参考基因组转换。
下载失败时检查什么
| 现象 | 下一步 |
|---|---|
curl: (22) | 查看 HTTP 状态、官方链接和代理设置 |
gzip: not in gzip format | 用 file 压缩包 检查,可能下载成了 HTML |
| SHA-256 不匹配 | 比较文件大小与来源,另存重新下载,不继续解压分析 |
Read10X 找不到文件 | 应传入包含三个文件的 hg19 目录,不是压缩包路径 |
练习:用 ls 说明为什么后续读取目录应以 hg19 结束。需要从 FASTQ 开始的读者继续上游处理;直接用本矩阵练习时,可以去建立 Seurat 对象。