单细胞测序上游分析-从原始数据到cellranger定量

单细胞系列教程目录索引,持续更新...


为避免造成环境污染,建议使用conda创建隔离环境进行分析
#创建隔离环境
conda create -n 10X
#激活隔离环境
conda activate 10X
添加必要的conda镜像
conda config --add channels conda-forge   
conda config --add channels defaults   
conda config --add channels r   
conda config --add channels bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes

1.原始数据下载及转换

从GEO下载原始数据需要使用官方工具sra-tools
安装sra-tools

conda install -y -c bioconda sra-tools

数据下载

在SRA数据库中检索后勾选需要下载的数据并导出为文件


将获取的文件上传至服务器,并启用sra-tools中的prefetch下载

#顺序下载
prefetch --option-file SraAccList.txt

下载后会在目录下得到包含sra文件的文件夹


1.多线程下载。

cat SRR_Acc_List.txt | parallel -j 10 "prefetch {} -X 5000000000000"

2.这里还可以使用ascp进行下载,速度快,但个人使用体会不如prefetch稳定,反正是丢到服务器,不如图个稳定安心睡觉。

将所有下载的SRA文件转移到一个目录下方便后续批量分析

mkdir raw
mv SRR*/*.sra raw/
cd raw

这样我们就将所有的sra文件汇总到了raw文件夹下。接下来需要对sra文件转换为fastq。

SRA批量转换为fastq

首先在raw目录下写一个批量脚本,我这里命名为sra2fastq.sh
脚本内容:

for i in *sra  
do  
echo $i  
pfastq-dump --gzip --split-files -t 32 $i  
done

由脚本可见,这里我使用了pfastq-dump以实现多线程运算。具体安装方法:shell下运行

git clone https://github.com/inutano/pfastq-dump
cd pfastq-dump
chmod a+x bin/pfastq-dump
##将pfastq-dump添加到环境
sudo vim ~/.bashrc
#最后面添加一行,注意修改你保存的绝对路径
export PATH=$PATH:/home/xuran/Desktop/10X/pfastq/pfastq-dump/bin:$PATH
#保存后刷新bash环境
source ~/.bashrc

为脚本添加权限并运行

chmod 777 sra2fastq.sh
bash sra2fastq.sh

运行完毕后我们就讲sra文件转换为了gz压缩后的fastq文件。

这里存在三种情况:

  1. 从sra拆分的fastq文件只有一个:单端测序
  2. 从sra拆分的fastq文件有两个:双端测序
  3. 从sra拆分的fastq文件有三个:双端测序read+index

单细胞测序都为第2,3种情况

详见下图说明



index文件不是必须的,因此不必纠结分割出来的是两个还是三个,只需要下面分析注意一下就可以。

i7 sample index是加到Illumina测序接头上的,保证多个测序文库可以在同一个flow-cell上或者同一个lane上进行混合测序(multiplexed)。当然可以自己指定index,但更多情况下会使用10X公司提供的index序列(bundled index sets),针对不同项目使用的index也是不同的。不过共性就是:96孔板的每个孔中都加入了4种不同的index oligos混合(详见:https://kb.10xgenomics.com/hc/en-us/articles/218168503-What-oligos-are-in-my-sample-index-)。


还可以对fastq文件进行质控,对于单样本的多个run,可以舍弃其中质量较差的run,这里省略,个人认为意义不大。


2.cellranger流程

为了在下游分析中让cellranger指定识别我们的fastq文件进行下游分析,使用官网推荐的命名格式进行命名


写一个批量重命名为cellranger推荐格式的脚本,这里我保存为rename.sh。脚本内容如下:

cat SraAccList.txt | while read i ;do (mv ${i}_1*.gz ${i}_S1_L001_R1_001.fastq.gz;mv ${i}_2*.gz ${i}_S1_L001_R2_001.fastq.gz);done

由于我这里作者上传的只有两边Read的fastq,不包含Index,因此我只批量命名了两个Read文件名称,如果你得项目包含了index可根据你的需求结合cellranger官方建议进行改写。

chmod 777 rename.sh
bash rename.sh
bb430563c2ce9.png
cellranger安装及参考基因组下载
  1. 下载
#参考基因组下载(human)
curl -O https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-2020-A.tar.gz
#cellranger下载
curl -o cellranger-6.1.2.tar.gz "https://cf.10xgenomics.com/releases/cell-exp/cellranger-6.1.2.tar.gz?Expires=1649559567&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZi4xMHhnZW5vbWljcy5jb20vcmVsZWFzZXMvY2VsbC1leHAvY2VsbHJhbmdlci02LjEuMi50YXIuZ3oiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NDk1NTk1Njd9fX1dfQ__&Signature=Zwk8l6ickwwGCQCAcsHziaoVtnS3MI0yjZMiaqV8UiyL6rW4vTjpyMHFLl04KDWpKpuMi~6D6RfHrJlZKTli---KBfC05b5u8mVcA28uDEZuSyHiOnEpI-cDdwtJ5SuGyjuNbvsUBxTCyJ~mMkrNxTivGC5XCpx6dj312qL4d4RImwEWmwMl0Nm7L8OcRGVLlujgODH51bwB03LCq1VoYIE-ECu7IhVCHlkXRzG9jLpnP98b4xf5x50WitToM4BcsW3kuQBk6w8AXjNLk3zLJwLbqKPxjAhWGZofYIKV4p-3C6G0wuJm-6XRYE0q25KrTYuDVm6Hhr~Yk46XM7Z1MA__&Key-Pair-Id=APKAI7S6A5RYOXBWRPDA"
  1. 解压两个文件
tar -xzvf filename
  1. 把cellranger添加到系统环境。
sudo vim ~/.bashrc

将下方这句添加到.bashrc文件中,注意修改目录

export PATH=~/download/cellranger-6.1.2:$PATH

  1. 更新一下.bashrc文件。
source ~/.bashrc
  1. 测试安装是否正确
cellranger testrun --id=tiny

如果运行成功会显示Pipestance completed successfully!

接下来 就进入到了cellranger 定量的正式环节,为批量运行先在目录下写一个运行脚本

在目录下编写一个cellranger运行脚本,我保存为run-cellranger.sh。内容如下:

db=/home/xuran/Desktop/10X/cellranger/refdata-gex-GRCh38-2020-A  
ls $db  
fq_dir=/home/xuran/Desktop/10X/raw 
cellranger count --id=$1 \  
--localcores=32 \  
--transcriptome=$db \  
--fastqs=$fq_dir \  
--sample=$1 \  
--nosecondary \  
--expect-cells=5000

注意修改

db后面为你所下载的参考基因组目录。
fq_dir后面为你得原始fastq地址
--localcores为指定最大使用线程数
--nosecondary为不进行聚类分群分析,因为后续使用seurat分析
--expect-cells为指定最大细胞数,根据项目决定


批量并行run-cellranger.sh进行比对定量

cat SraAccList.txt |while read id;do (nohup  bash run-cellranger.sh $id 1>log-$id.txt 2>&1 & );done

批量顺序运行run-cellranger.sh进行比对定量
写一个脚本命名为muti.sh

cat SRR_Acc_List.txt |while read id;do ( bash run-cellranger.sh $id  );done

后台执行脚本

nohup bash mutil.sh

SraAccList.txt为最一开始从sra网站上保存的访问号文件。


至此,单细胞转录组从上游原始数据下载到cellranger定量的流程就结束了。

结果查看

分样本的文件夹和每个样本的运行日志,我们进入其中一个去查看。


其中最重要的就是outs文件夹

其中web_summary.html为本次分析的质量情况

filtered_feature_bc_matrix目录下则保存了用于下游Seurat分析的三个文件


参考来源:
https://cloud.tencent.com/developer/article/1949641
https://support.10xgenomics.com/single-cell-gene-expression/software/downloads/latest?

鸣谢:
I thank Dr.Jianming Zeng(University of Macau), and all the members of his bioinformatics team, biotrainee, for generously sharing their experience and codes.

问题交流:
Email: xuran@hrbmu.edu.cn

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容