单细胞转录组学习流程&总结——(一)背景原理+软件安装+上游分析

学习资料

上游分析

软件安装

  1. 进入官网
    What is Cell Ranger
    请添加图片描述填基本信息
    请添加图片描述Download Center
    请添加图片描述
    下载的最新版cellranger-8.0.1
wget -O cellranger-8.0.1.tar.gz "https://cf.10xgenomics.com/releases/cell-exp/cellranger-8.0.1.tar.gz?Expires=1719930166&Key-Pair-Id=APKAI7S6A5RYOXBWRPDA&Signature=Eu~0hCqtqPZW518BWLlZlpwtWhrgClaIgnhn9-wEZuqoqnFCZC374rGxOImxocnjdnyvuVhYk-fGgPW2bmQVumBVWsx8Rgj7zj7YqV2YDddWryND3gw2ft0M3fesb3Hs7jYwaluF-qZvmnckKhjnRK2Cff9~zJbcBr73Ef6B7492Kmmmpfjoshirw4BtSqt6BV-W273vYHGIz9CEe6EPoTn343cVXyxW~TlXT118N1y3bh2RUpFuR4MtrcB1UBlEz9FEn6B5YznnncAr4mub8YREjtUfkbk-NwzhodmxSnGdbTYptyFDadXM2PYekU4H~HI8TzH0TW5I81020rIRow__"
tar -xzvf cellranger-8.0.1.tar.gz

虽然安装完毕,但是现在要运行cellranger的话需要在终端输入cellranger的整个路径。
将cellranger的路径加入$PATH,这样只需要在终端输入cellranger就可以执行命令。
将cellranger加入 $PATH有两种方式,分为临时和永久。

临时加载环境变量:
将路径加入$PATH

(base) [animal_geneticB@master-cli1-x86-agent1 cellranger-8.0.1]$ export PATH=/workspace/home/pig/animal_geneticB/software/cellranger-8.0.1
(base) [animal_geneticB@master-cli1-x86-agent1 cellranger-8.0.1]$ echo $PATH
/workspace/home/pig/animal_geneticB/software/cellranger-8.0.1

注:
现在终端输入cellranger就可以执行命令了。

操作仅临时有用,如果电脑重启后就实效了,得重新加入路径。

永久加载环境变量:
自动执行这个命令,需要将export PATH=自己的路径:$PATH这个命令加入.bashrc文件。

vim编辑器打开.bashrc文件:

vim .bashrc

.bashrc文件最后加入export PATH=自己的路径:$PATH
source .bashrc立即生效:

source .bashrc

但是vim .bashrc就出现了错误

(base) [animal_geneticB@master-cli1-x86-agent1 ~]$ vim ~/.bashrc
-bash: vim: command not found

终于知道是怎么回事了,是由于我已经临时加载环境变量,导致那些命令都不能用了,所以后面重新进入Xshell,并运行以下命令:

(base) [animal_geneticB@master-cli1-x86-agent1 cellranger-8.0.1]$ vim ~/.bashrc
export PATH=/workspace/home/pig/animal_geneticB/software/cellranger-8.0.1:$PATH

请添加图片描述先退出Conda环境,再运行以下命令:

(base) [animal_geneticB@master-cli1-x86-agent1 ~]$ conda deactivate
[animal_geneticB@master-cli1-x86-agent1 ~]$ source .bashrc
(base) [animal_geneticB@master-cli1-x86-agent1 ~]$ echo $PATH
/workspace/home/pig/animal_geneticB/software/cellranger-8.0.1:PATH/edgeturbo-client:/workspace/home/pig/animal_geneticB/.aspera/connect/bin:/workspace/home/pig/animal_geneticB/.aspera/connect/bin:/workspace/home/pig/animal_geneticB/anaconda3/bin:/workspace/home/pig/animal_geneticB/anaconda3/condabin:/workspace/home/pig/animal_geneticB/.local/bin:/workspace/home/pig/animal_geneticB/bin:/opt/batch/cli/bin:/opt/batch/cli/bin:/opt/batch/cli/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/usersname/.aspera/connect/bin/

可以看到,cellranger-8.0.1已经被添加到环境变量中了。

测试安装是否成功:

(base) [animal_geneticB@master-cli1-x86-agent1 sn_RNAseq]$ cellranger testrun --id=tiny

请添加图片描述

参考:

文件重命名

FASTQs file naming convention
To serve as inputs for Cell Ranger ARC, FASTQ files should conform to the naming conventions of bcl2fastq and mkfastq described below.
GEX FASTQs
[Sample Name]_S1_L00[Lane Number]_[Read Type]_001.fastq.gz
Where Read Type is one of:
I1: Dual index i7 read (optional)
I2: Dual index i5 read (optional)
R1: Read 1
R2: Read 2

重命名,脚本如下,命名为rename.sh

for file in *f1.fastq.gz; do
    prefix="${file%_f1.fastq.gz}"
    mv "$file" "${prefix}_S1_L001_R1_001.fastq.gz"
done

for file in *r2.fastq.gz; do
    prefix="${file%_r2.fastq.gz}"
    mv "$file" "${prefix}_S1_L001_R2_001.fastq.gz"
done

运行脚本:

(base) [animal_geneticB@master-cli1-x86-agent1 sn_RNAseq]$ chmod 777 rename.sh 
(base) [animal_geneticB@master-cli1-x86-agent1 sn_RNAseq]$ bash rename.sh 
(base) [animal_geneticB@master-cli1-x86-agent1 sn_RNAseq]$ ls -lh
total 72G
-rw------- 1 animal_geneticB pig 5.8G Jun 28 13:00 CRR784294_S1_L001_R1_001.fastq.gz
-rw------- 1 animal_geneticB pig  13G Jun 28 13:20 CRR784294_S1_L001_R2_001.fastq.gz
-rw------- 1 animal_geneticB pig 5.6G Jun 28 12:29 CRR784295_S1_L001_R1_001.fastq.gz
-rw------- 1 animal_geneticB pig  12G Jun 28 12:50 CRR784295_S1_L001_R2_001.fastq.gz
-rw------- 1 animal_geneticB pig 5.5G Jun 28 11:51 CRR784296_S1_L001_R1_001.fastq.gz
-rw------- 1 animal_geneticB pig  13G Jun 28 12:18 CRR784296_S1_L001_R2_001.fastq.gz
-rw------- 1 animal_geneticB pig 5.3G Jun 28 11:14 CRR784297_S1_L001_R1_001.fastq.gz
-rw------- 1 animal_geneticB pig  13G Jun 28 11:37 CRR784297_S1_L001_R2_001.fastq.gz

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

参考:

构建索引

直接用之前跑RNA_seq的基因组文件和注释文件
cellranger 操作笔记-2:构建绵羊单细胞转录组参考基因组

  • 过滤注释文件

cellranger mkgtf Sus_scrofa.Sscrofa11.1.112.gtf Sus_scrofa.Sscrofa11.1.112.filtered.gtf --attribute=gene_biotype:protein_coding

  • 构建参考基因组index
#=================================================
#运行脚本
#=================================================

cellranger mkref \
--genome=Sus_scrofa_index \
--fasta="/workspace/home/pig/animal_geneticB/Analysis/py/data/sn_RNAseq/reference/Sus_scrofa.Sscrofa11.1.dna.toplevel.fa" \
--genes="/workspace/home/pig/animal_geneticB/Analysis/py/data/sn_RNAseq/reference/Sus_scrofa.Sscrofa11.1.112.filtered.gtf"

#有几个需要注意的地方:
#genome后只能跟输出文件夹,不能有路径;
#genome的文件夹不能提前创建
(base) [animal_geneticB@master-cli1-x86-agent1 reference]$ dsub -s run_index.sh 

构建索引大概花了40min,检查文件是否齐全:

(base) [animal_geneticB@master-cli1-x86-agent1 reference]$ tree Sus_scrofa_index
Sus_scrofa_index
├── fasta
│   ├── genome.fa
│   └── genome.fa.fai
├── genes
│   └── genes.gtf.gz
├── reference.json
└── star
    ├── chrLength.txt
    ├── chrNameLength.txt
    ├── chrName.txt
    ├── chrStart.txt
    ├── exonGeTrInfo.tab
    ├── exonInfo.tab
    ├── geneInfo.tab
    ├── Genome
    ├── genomeParameters.txt
    ├── SA
    ├── SAindex
    ├── sjdbInfo.txt
    ├── sjdbList.fromGTF.out.tab
    ├── sjdbList.out.tab
    └── transcriptInfo.tab

4 directories, 19 files

Count

Cell Ranger count使用手册
我是有四个样本,所以建了四个目录:
请添加图片描述

(base) [animal_geneticB@master-cli1-x86-agent1 raw_data]$ cat err_4003.log 
error: the following required arguments were not provided:
  --create-bam <true|false>

Usage: cellranger count --id <ID> --transcriptome <PATH> --create-bam <true|false> --fastqs <PATH> --sample <PREFIX> --nosecondary

之前出现了报错,是因为没有加--create-bam这个参数,最终脚本如下:

#===========================================================
#运行脚本
#===========================================================
# Define the paths to the FASTQ files
cellranger count \
--id=sn_RNA_count \
--transcriptome=/workspace/home/pig/animal_geneticB/Analysis/py/data/sn_RNAseq/reference/Sus_scrofa_index \
--fastqs=/workspace/home/pig/animal_geneticB/Analysis/py/data/sn_RNAseq/raw_data/CRR784294,/workspace/home/pig/animal_geneticB/Analysis/py/data/sn_RNAseq/raw_data/CRR784295,/workspace/home/pig/animal_geneticB/Analysis/py/data/sn_RNAseq/raw_data/CRR784296,/workspace/home/pig/animal_geneticB/Analysis/py/data/sn_RNAseq/raw_data/CRR784297 \
--sample=CRR784294,CRR784295,CRR784296,CRR784297 \
--nosecondary \
--create-bam=false  # 或者使用 --create-bam=true 如果你需要 BAM 文件 
    # id指定输出文件存放目录名
    # transcriptome指定与CellRanger兼容的参考基因组
    # fastqs指定mkfastq或者自定义的测序文件,如果需要对多个fastq进行合并比对的话,可以输入多个存放路径并用逗号隔开,相对应的在--sample中,也输入多个需要合并的sample名称并用逗号隔开,这样就不用我们额外手动合并了
    # sample要和fastq文件的前缀中的sample保持一致,作为软件识别的标志
    # expect-cells指定复现的细胞数量,这个要和实验设计结合起来
    # nosecondary 只获得表达矩阵,不进行后续的降维、聚类和可视化分析(因为后期会自行用R包去做)

脚本如下,命名为run_count.sh

  • 26
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值