Skip to content

STOmics/d2c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

D2C

单细胞数据分析工具 Drop to Cell

环境

编译环境

  • centos-7.0+
  • gcc-9.1.0
  • cmake-3.17.2
  • python3

C++依赖库:

Library Version Description Link
htslib 1.14.0 process bam/sam data https://github.com/samtools/htslib/releases/download/1.14/htslib-1.14.tar.bz2
spdlog 1.5.0 logging module https://github.com/gabime/spdlog/archive/v1.5.0.zip
CLI11 1.9.0 parse command line parameters https://github.com/CLIUtils/CLI11/releases/download/v1.9.0/CLI11.hpp
libdeflate 1.5 accelerate bgzf IO https://github.com/ebiggers/libdeflate/archive/v1.5.zip
ygg master interval tree for find overlapping https://github.com/tinloaf/ygg.git commit:119c21c
taskflow 2.5.0 workflow of tasks https://github.com/taskflow/taskflow
sparsepp master a fast, memory efficient hash map https://github.com/greg7mdp/sparsepp

编译步骤:

  1. 安装好环境和依赖库
  2. 修改 script/build.sh 中 libPath 为正确路径
  3. 运行 script/build.sh, 结果存放在 install 目录

运行环境

  • centos 7.0+
  • gcc-9.1 library
  • python library 需要安装对应库 numpy scipy pandas plotly kaleido

脚本设置

需引入gcc动态库和python的可执行文件路径,形式如下,需正确设置变量 ${libPath}:

export LD_LIBRARY_PATH="${libPath}/gcc-9.1.0/lib:${libPath}/gcc-9.1.0/lib64:$LD_LIBRARY_PATH"
export PATH="${libPath}/Python-3/bin:$PATH"

输入/输出

输入

linux命令行运行软件 ./bin/d2c -h 查看参数解释

$./bin/d2c -h
D2C: Drop to Cell.
Usage: ./install/bin/d2c [OPTIONS] SUBCOMMAND

Options:
  -h,--help                             Print this help message and exit
  -i TEXT:FILE REQUIRED                 Input bam filename
  -o TEXT REQUIRED                      Output result path
  --bt1 TEXT                            Barcode tag in input bam file, default 'XB'
  --bt2 TEXT                            Barcode tag in output bam file, default 'DB'
  --log TEXT                            Set logging path, default is './logs'
  -n TEXT                               Name for the all output files, default prefix of input bam file

Subcommands:
  merge                                 Drop barcode to Cell barcode
  transid                               Reannotate bam file using barcode translate file

D2C version: 1.3.1

目前版本程序支持两个子命令,分别对应两个功能

merge 计算drop barcode对应的cell barcode
transid 使用merge计算的结果,对bam文件进行重新注释,添加cell barcode

每个子命令单独的参数可通过命令 ./bin/d2c merge -h./bin/d2c transid -h 查询

输出

假设 run name 为 ABC, 正常情况在设置的 -o 路径输出结果文件

merge 子命令

数据文件:

  • ABC.bam
  • ABC.bam.bai
  • ABC.barcodeCount.tsv
  • ABC.barcodeMerge.tsv
  • ABC.CorrelationBarcodes.tsv.gz
  • ABC.fragments.tsv.gz
  • ABC.fragments.tsv.gz.tbi

统计文件:

  • ABC.Metadata.tsv
  • ABC.d2cCutoff.tsv
  • ABC.sequenceSaturation.tsv 测序饱和度输出文件,只有给定 --sat 选项才生成,共四列,分别是采样比率,每个cell的平均fragment个数,测序饱和度,每个cell下的唯一fragment个数的中值

图表文件:

  • ABC.BeadCalling.html
  • ABC.CorCalling.html
  • ABC.SequencingSaturation.html 测序饱和度输出文件,只有给定 --sat 选项才生成

日志文件:

  • logs/D2C_20200813_140243.log 日志在程序目录下的logs文件夹,按程序启动时间建立文件名

transid 子命令

数据文件:

  • ABC.bam

日志文件:

  • logs/D2C_20200813_140243.log 日志在程序目录下的logs文件夹,按程序启动时间建立文件名

示例

merge 子命令

模式生物

除了三个必须参数之外,指定了barcode 标签为 CB, run name为 ABC, 过滤质量为 20, 参考基因组为 mm10

./bin/d2c merge \
    -i input.bam \
    -o output \
    --mc chrMT \
    --bt1 CB \
    -n ABC \
    --mapq 20 \
    -r mm10

非模式生物

与模式生物不同之处就是设置了 --bg --bl --ts 三个参数

./bin/d2c merge \
    -i input.bam \
    -o output \
    --mc chrMT \
    --bt1 CB \
    -n ABC \
    --bg ABC.sizes \
    --bl ABC.bed \
    --ts ABC.bed \
    --mapq 30

transid 子命令

./bin/d2c transid \
    -i sorted.bam \
    -o result \
    -t ABC.barcodeTranslate.tsv \
    --bt1 CB

注意事项

  • 程序为了降低内存,对部分数据进行了编码处理,目前版本可支持的单染色体数据大小(即单条染色体在bam文件中的reads个数)需不超过2147483648,否则可能出现结果异常
  • 默认使用设计好的1536个barcodes组合,如需修改,请使用输入参数 -b

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published