专栏首页单细胞天地单细胞drop-seq数据的分析流程以及debug过程

单细胞drop-seq数据的分析流程以及debug过程

前言

单细胞数据目前除了10x的测序数据,还有相当一部分是drop-seq的测序数据。笔者在GEO上下载了一批drop-seq的数据,在网上查找了一下没有找到详细的分析流程,想到有些大神封装好的分析流程可能放在github上,果然在上面找到了好几个流程。笔者试了其中几个,有一个名为dropseqRunner的流程可以跑通,但是有些bug。笔者便在此将这个跑通的github流程的使用方法以及出现的4个bug解决方法进行说明,方便大家后续的使用。

该流程github地址为:https://github.com/aselewa/dropseqRunner

分析流程:

dropseqRunner使用Python和Snakemake封装了drop-seq的分析流程,Snakemake drop文件包含的rule模块包括:

  • fastqc
  • umi_create_whitelist
  • whitelist_for_solo
  • align
  • index_bam
  • collect_rna_metrics
  • make_report

软件安装:

git clone git@github.com:aselewa/dropseqRunner.git
cd dropseqRunner
#假设已安装conda
conda env create -f environment.yaml
source activate dropRunner

安装完成后,软件安装目录里包含以下主要文件,其中后续的debug部分需要修改makeref.py 、 dropRunner.py和Snakefile_drop.smk 这三个文件的部分代码: dropRunner.py makeref.py environment.yaml README.md Scripts Snakefile_10x.smk Snakefile_drop.smk

软件使用以及debug:

1.建库:

python ~/soft/dropseqRunner-master/makeref.py  --fasta species.fa  --gtf species.gtf  --outDir species

这一步可能会报STAR建库内存不足的问题,比如:

EXITING because of FATAL PARAMETER ERROR: limitGenomeGenerateRAM=31000000000is too small for your genome

解决方法为vim makeref.py,在STAR的建库代码后面添加--limitGenomeGenerateRAM 139855002325 参数,这个数值可以根据自己的物种进行调整。

2.主程序运行:

python ~/soft/dropseqRunner-master/dropRunner.py   --R1  SRR1.R1.fastq.gz   --R2  SRR1.R2.fastq.gz     --indices  ~/species  --protocol drop       --sample    SRR1

这里存在两个bug:

  • 第一个bug输入的样本名称规范有问题,github的官方作者介绍为{}.R1.fastq.gz 格式,但这个名称格式实际上是错误的,在官方作者的Snakefile_drop.smk文件里,可以查到{samples}_R1.fastq.gz的代码,也就是说Snakefile文件里能输入的是"_R1"而不是".R1"的文件,如果按照作者的".R1"去命名则不会得到分析结果,所以需要对样本名进行修改:
python ~/soft/dropseqRunner-master/dropRunner.py   --R1  SRR1_R1.fastq.gz   --R2  SRR1_R2.fastq.gz     --indices  ~/species  --protocol drop       --sample    SRR1
  • 第二个bug为STAR运行时会报错,报错代码为:
EXITING because of FATAL ERROR in input read file: the total length of barcode sequence is 32 not equal to expected 20

这里的原因是,R1的前12个碱基为cell barcode,第13-20个碱基为UMI,加起来为20个碱基,但是实际上R1的长度为32碱基,与实际不符,所以STAR报错退出。笔者发现有些样本的R1文件为20bp,则不会报此错误。解决办法为,在Snakefile_drop.smk的STAR命令后面添加参数--soloBarcodeReadLength 0 ,该参数的作用是即使两个长度不一致,也不会报错,顺利跑完程序。

3.批量跑样本:

该流程提供了批量跑样本的功能,使用方法为:

R1=$(ls *_R1.fastq.gz | paste -sd,)
R2=$(ls *_R2.fastq.gz | paste -sd,)

python  ~/soft/dropseqRunner-master/dropRunner.py   --R1  $R1   --R2  $R2    --indices ~/species    --protocol drop       --sample    SRR

这里也会报错,显示:

“Please provide a gzipped fastq file for read 1”

其原因为dropRunner.py 的第107行和第108行会对R1和R2样本是否存在进行检测,但是输入多个样本时会检测失败,导致程序报错退出。解决办法是用“#”注释掉这两行即可。

结语

以上就是drop-seq的主线分析流程以及bug解决方案,流程分析的结果在形式上类似10x的分析结果,所以可以直接用seurat的Read10X()方法导入进行下一步的分析。如果是多个样本同时输入运行,不建议太多样本,因为STAR运行需要较高的内存,如果同时并行多个STAR有一定可能导致内存爆满导致卡机。

本文分享自微信公众号 - 单细胞天地(sc-ngs),作者:老牛

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • cellranger虽然是10x官方软件也未必得全信它

    也就是说,作者认为,这个10X仪器的单细胞转录组数据走cellranger流程,其实是有一点问题的。

    生信技能树jimmy
  • 你的单细胞分群数量太少可能就是因为你测的细胞数量不够

    不过我感兴趣的并不是他们做的单细胞资源整理,尽管他们收集了超过500个单细胞转录组研究的数据,我感兴趣的是他们文末的一个补充结论:

    生信技能树jimmy
  • 破解肿瘤细胞的病人特异性之谜(第一个纯粹的单细胞公共数据库挖掘高分文章)

    可以很清晰的看到,多个病人的单细胞可以分成恶性的上皮细胞和非恶性的肿瘤微环境,微环境的那些细胞可以聚集成为很多类,而且每个类别的细胞都是来源于不同病人的。

    生信技能树jimmy
  • sql自连接经典示例

    车站表:   stops(id, name) 公交线路表:   route(num, company, pos, stop) 一、对公交线路表route进行自...

    java达人
  • 在与腾讯战略合作后,广汽、长安如何看待汽车智能化未来?

    量子位
  • 大会活动 | 腾讯Light计划重磅升级至2.0版,腾讯优图助力培养未来科技人才

    人工智能作为底层创新的驱动力,为产业互联网带来了全新活力。伴随人工智能在产业的广泛落地,AI正式迈入与产业融合发展的全新阶段。如何聚合产、学、研各方的力量,培养...

    优图实验室
  • Java工程师修炼之路(从小白到BAT的两年学习历程)

    在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易,华...

    黄小斜
  • Java工程师修炼之路(校招总结)

    在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易,华...

    Java技术江湖
  • 腾讯云服务器CVM的基础应用(CVM的性能优势)

    本课程主要介绍腾讯云服务器CVM的稳定、弹性、易用等功能特点,以及腾讯云服务器CVM与传统IDC的优劣对比,当前的部署节点、选型方案以及计费策略。

    勤劳的小蜜蜂
  • 怎么一口气拿到百度,阿里,腾讯,今日头条,网易,华为Offer

    在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易,华...

    用户1093975

扫码关注云+社区

领取腾讯云代金券