安装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. MYSQL一键导库脚本

    上周完成了一个性能测试环境搭建,有富余时间的同时研究了一个一键导库的脚本,一周的开始先马住!!! 一.思路 准备:54.158服务器上分别已经装好了MYSQL数据库 目的:把部分库从54导出并导入到1 ...

  2. java学习之JSP

    0x00前言 JSP:全拼写:java Server pages:java 服务器端页面 可以理解为一个特殊的页面:可以定义html代码也可以定义java的代码 定义:JSP是简化Servlet编写的 ...

  3. jupyter notebook使用相对路径的方法

    在当前文件夹路径下开启jupyter notebook 这样就可以直接使用相对路径了,而不用管绝对路径这一令人心烦的问题 首先需要重新安装PowerShell 下载链接:https://cloud.1 ...

  4. C#和Open eVision Studio图像库联合编程-读取图像

    OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Image Files (*.t ...

  5. 如何通过Java代码给Word文档添加水印?

    Word中可以为文档添加的水印分为两种形式:文字水印和图片水印.水印是一种数字保护的手段,在文档上添加水印可以传达有用信息,或者在不影响正文文字显示效果的同时,为打印文档增添视觉趣味,能起到传递信息, ...

  6. 2022春每日一题:Day 30

    题目:[JSOI2009]电子字典 读完题后,暴力?确实,计算一下时间复杂度最坏情况下,20263*10000=1.5e8,卡一下常可以直接卡到7e7,最严格来说应该卡的过去,但是此题数据可以直接卡过 ...

  7. 27、求解n阶多项式的值,多项式公式如下

    /* 求解n阶多项式的值,多项式公式如下: Pn(x) = 1 n=0; = x n = 1; = (2n - 1)xPn-1(x) - (n - 1)Pn-2(x) n>=2 */ #incl ...

  8. i春秋Hello World

    打开只有一句hello world,直接查看源码,发现一个flag.xmas.js文件 试试直接访问http://106.75.72.168:9999/flag.xmas.js  http://106 ...

  9. 小米路由器局域网设备ping不通

    问题 手机和电脑在同一个局域网内,都连接上小米路由器,我发现电脑部署的服务局域网设备都访问不到,甚至ping不到,排除了防火墙问题,最终发现是路由器一个设置导致的. 解决 将原来的混合加密,更换为强加 ...

  10. 将 Vue.js 项目部署至静态网站托管,并开启 Gzip 压缩

    摘要:关于使用 Nginx 开启静态网站 Gzip 压缩的教程已经有很多了,但是好像没几个讲怎么在对象存储的静态网站中开启 Gzip 压缩.其实也不复杂,我们一起来看下~ 本文分享自华为云社区< ...