安装CellRanger

cd ~/APP
wget -O cellranger-7.1.0.tar.xz "https://cf.10xgenomics.com/releases/cell-exp/cellranger-7.1.0.tar.xz?Expires=1674686023&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZi4xMHhnZW5vbWljcy5jb20vcmVsZWFzZXMvY2VsbC1leHAvY2VsbHJhbmdlci03LjEuMC50YXIueHoiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NzQ2ODYwMjN9fX1dfQ__&Signature=kBEWDvHNogaTb-bmHzd7kHIBIfs8LQmePXusMXNKYpuqbgNHX5Ai0mhB-wv6ig1X5QFZytrl4gYXd8DyNXVo85hRp6Iw9k1UHtuuictpnyNe-5JNocePNKou89k9AOEGoatr6xa9z1VPkOj33FTpG25OpfQowpBrwvNhFF27qoSqw7EcjSWm53zB4QsYqMR~Bi-5MXTEplAxusXnE5A1HtVOo31lsL7cavd88ez9yFcSDIf65~KJR6KqDzqYS3NAcm3MKBWWSeIVAwOWAuHaQONeAew8X4fMb3ql85CpeaCWrQdB-vlUVkQbM0gJY2S7MQ9SJ0B5qUc7qo9UWLXATw__&Key-Pair-Id=APKAI7S6A5RYOXBWRPDA"
tar -xf cellranger-7.1.0.tar.xz
ln -s ~/APP/cellranger-7.1.0/bin/cellranger ~/APP/bin/cellranger
export PATH=$HOME/APP/bin:$PATH

参考基因组

10X提供人和鼠的基因组参考index,其他物种可以是用cellranger自行构建

#>>>down10Xref.sh
# Human reference (GRCh38) md5sum: dfd654de39bff23917471e7fcc7a00cd
wget https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-2020-A.tar.gz
md5sum refdata-gex-GRCh38-2020-A.tar.gz
# Mouse reference md5sum: 886eeddde8731ffb58552d0bb81f533d
wget https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-mm10-2020-A.tar.gz
md5sum refdata-gex-mm10-2020-A.tar.gz
#<<<down10Xref.sh nohup sh down10Xref.sh &> down10Xref.sh.log &

下载原始数据

https://www.ebi.ac.uk/ena/browser/view/PRJNA510251

mkdir -p ~/Project/LC/data/rawdata
cd ~/Project/LC/data/rawdata
cut -f 11 filereport_read_run_PRJNA510251_tsv.txt | tr ';' '\n' | grep '_[12].fastq.gz' > fq.txt
#>>>downloadFQ.sh
cat fq.txt |while read i
do
ascp -QT -l 300m -P33001 \
-i ~/micromamba/envs/RNA/etc/asperaweb_id_dsa.openssh \
era-fasp@$i \
.
done
#<<<downloadFQ.sh
nohup sh downloadFQ.sh &> downloadFQ.log &
#制作了check.md5文件
cut -f 9 filereport_read_run_PRJNA510251_tsv.txt | sed '1d' | awk -F ';' '{print $(NF-1)"\n"$NF}' > md5.txt
cut -f 7 -d '/' fq.txt | paste md5.txt - > check.md5
rm md5.txt #检查md5值是否一样,文件是否下载完整
md5sum -c check.md5 &> check.md5.res

文件重命名

10X官网给指出来了文件名规则:

[https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/fastq-input]

[https://support.illumina.com/help/BaseSpace_OLH_009008/Content/Source/Informatics/BS/NamingConvention_FASTQ-files-swBS.htm]

[Sample Name]_S1_L00[Lane Number][Read Type]_001.fastq.gz

Where Read Type is one of:

  • I1: Sample index read (optional)
  • I2: Sample index read (optional)
  • R1: Read 1
  • R2: Read 2

用python制作重命名脚本

from collections import Counter
import numpy as np
import pandas as pd df=pd.read_csv('filereport_read_run_PRJNA510251_tsv.txt',sep='\t')
# Read Type
r=[1,2] * df.shape[0] # Sample Name
s=np.repeat(df.experiment_alias.values,2) # Sample Number; Lane Number
s,l = [],[]
for x,y in enumerate(Counter(sn).values()):
l += list(range(1,int(y/2)+1))
s += [x+1] * y
l=np.repeat(l,2) # new file name
new=[f'{a}_S{b}_L00{c}_R{d}_001.fastq.gz' for a,b,c,d in zip(sn,s,l,r)] # old file name
fq=[]
for i in df.fastq_aspera:
fq+=i.split(';')
old=[i.split('/')[-1] for i in fq] #shell script
df2=pd.DataFrame({1:old,2:new})
df2.insert(0,column=0,value='mv')
df2.to_csv('rename.sh',index=False,header=False,sep=' ') #sh
bash rename.sh

rename.sh前几行

mv SRR8325947_1.fastq.gz GSM3516662_S1_L001_R1_001.fastq.gz
mv SRR8325947_2.fastq.gz GSM3516662_S1_L001_R2_001.fastq.gz
mv SRR8325948_1.fastq.gz GSM3516662_S1_L002_R1_001.fastq.gz
mv SRR8325948_2.fastq.gz GSM3516662_S1_L002_R2_001.fastq.gz
...

cellranger count

因为资源有限,这里只对GSM3516662和GSM3516663两个样本定量。

cd ~/Project/SC10X/rawdata/
mv GSM3516662* fastqs
mv GSM3516663* fastqs
#>>>quantify.sh
fastqs_dir=~/Project/SC10X/rawdata/fastqs
index_dir=~/DataHub/Genomics/10X/refdata-gex-GRCh38-2020-A
output_dir=~/Project/SC10X/quantify
cd ${output_dir} ls ${fastqs_dir} | cut -d '_' -f 1 | uniq | while read i
do
cellranger count \
--id $i \
--transcriptome ${index_dir} \
--fastqs ${fastqs_dir} \
--sample $i \
--localcores 12 \
--localmem 128
done
#<<<quantify.sh
nohup sh quantify.sh &> quantify.sh.log &

RuntimeError: ~/Project/SC10X/GSM3516662 is not a pipestance directory

  • GSM3516662目录必须是由cellranger创建,也就是说,在运行cellranger之前GSM3516662目录不存在
  • --id 输出文件目录,每个样本一个输出目录
  • --sample是文件重命名哪一步的[Sample Name]

输出文件

可以参考生信技能树[https://mp.weixin.qq.com/s/VWUmJZnzT7m_7QDjxkbrJw]

需要查看的文件

  • web_summary.html:这个是必须要看的,粗略浏览本次10x样本走cellranger count流程的运行质量
  • filtered_feature_bc_matrix.h5: Python读取表达量矩阵

已经得到表达量矩阵下一步走scanpy分析流程。

Reference

https://mp.weixin.qq.com/s/cu7r7iY2AEKLBdHALzYaCQ

https://mp.weixin.qq.com/s/VWUmJZnzT7m_7QDjxkbrJw

https://mp.weixin.qq.com/s/Fxd9-P79SzvyxwcjUGNL0Q

https://mp.weixin.qq.com/s/6rSMzj8CE-Zw2-EeXyxBYg

https://mp.weixin.qq.com/s/CtQdWfclesbXBVOIPtdzrw

https://blog.csdn.net/herokoking/article/details/103632115

https://www.sci666.com.cn/12239.html

https://zhuanlan.zhihu.com/p/368666622

单细胞转录组实战01: CellRanger7定量的更多相关文章

  1. Nature Methods | 新软件SAVER-X可对单细胞转录组学数据进行有效降噪

                                                                          图片来源(Nature Methods)   摘要 单细胞转 ...

  2. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  3. 单细胞转录组测序数据的可变剪接(alternative splicing)分析方法总结

    可变剪接(alternative splicing),在真核生物中是一种非常基本的生物学事件.即基因转录后,先产生初始RNA或称作RNA前体,然后再通过可变剪接方式,选择性的把不同的外显子进行重连,从 ...

  4. 单细胞转录组测序技术(scRNA-seq)及细胞分离技术分类汇总

    单细胞测序流程(http://learn.gencore.bio.nyu.edu) 在过去的十多年里,高通量测序技术被广泛应用于生物和医学的各种领域,极大促进了相关的研究和应用.其中转录组测序(RNA ...

  5. 单细胞测序|单细胞基因组|单细胞转录组|Gene editing|

    单细胞测序 单细胞基因组学 测量理由是单细胞的时间空间特异性. Gene expression&co-expression 比较正常cell与疾病cell,正常organ与疾病organ,看出 ...

  6. Java并发编程实战 01并发编程的Bug源头

    摘要 编写正确的并发程序对我来说是一件极其困难的事情,由于知识不足,只知道synchronized这个修饰符进行同步. 本文为学习极客时间:Java并发编程实战 01的总结,文章取图也是来自于该文章 ...

  7. python 数据分析与挖掘实战01

    python 数据分析与挖掘实战 day 01 08/02 这种从数据中"淘金",从大量数据包括文本中挖掘出隐含的.未知的.对决策有潜在价值关系.模式或者趋势,并用这些知识和规则建 ...

  8. redis实战(01)_redis安装

    早就想对redis进行实战操作了,最近看了一些视频和参考书籍,总结总结一下,redis实战内容: 实战前先对redis做一个大概的认识: 现在开始安装redis了... redis的安装下载地址 ht ...

  9. ExtJS实战 01——HelloWorld

    前言 Extjs5的发布已经有些日子了,目前的最新稳定版本是Extjs5.1.0,我们可以在官方网站进行下载.不过笔者今天访问得到的是502Bad Gateway,原因可能是sencha的nigix没 ...

  10. 【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2

    转自:https://blog.csdn.net/eson_15/article/details/51277324 今天开始做一个网上商城的项目,首先从搭建环境开始,一步步整合S2SH.这篇博文主要总 ...

随机推荐

  1. ES6 学习笔记(十三)promise的简单使用

    1.什么是promise 在JavaScript中,我们经常会用到回调函数,而回调函数的使用让我们没法使用return,throw等关键字.JS引用promise正好解决了这个问题. promise单 ...

  2. 从BeanFactory源码看Bean的生命周期

    下图是我搜索"Spring Bean生命周期"找到的图片,来自文章--Spring Bean的生命周期 下面,我们从AbstractAutowireCapableBeanFacto ...

  3. 05 uniapp/微信小程序 项目day05

    ​ 一.登录与支付 1.1 登录 1.1.1 条件判断 当我们点击结算应当进行条件判断 第一个如果没有勾选商品 第二个是没选择地址 第三个是未登录 1.1.2 页面布局 应该有两个页面,一个点击登录, ...

  4. day16-Servlet05

    Servlet05 14.HttpServletRequest HttpServletRequest对象代表客户端的请求 当 客户端/浏览器 通过HTTP协议访问服务器时,HTTP请求头中的所有信息都 ...

  5. QQ登录

    public function login(){ $urlencode = urlencode("http://www.zhangxuhui.com/index/Index/callback ...

  6. Go语言核心36讲35

    到目前为止,我们已经一起学习了Go语言标准库中最重要的那几个同步工具,这包括非常经典的互斥锁.读写锁.条件变量和原子操作,以及Go语言特有的几个同步工具: sync/atomic.Value: syn ...

  7. 顺序表代码总结——SqList

    在C++编译器下可直接运行 #include <stdio.h> #include <stdlib.h> #include <malloc.h> //顺序表存储结构 ...

  8. ubuntu 22.04安装多个gcc

    sudo apt install gcc-9 g++-9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 - ...

  9. OpenLooKeng

    一.登录注册 网址为:https://tryme.openlookeng.io/,进入该网址后可以看到以下界面: 可以选择左边的GitHub或者右边的Gitee进行登录,如果没有账号需要注册一个账号进 ...

  10. 【Java SE进阶】Day06 线程、同步

    一.线程 1.多线程原理 流程图 内存图解说明 创建线程的方式 继承Thread类 实现 Runnable接口 2.继承Thead类 3.实现Runnable接口 实现接口,重写run方法 最终均需要 ...