5个版本
0.1.9 | 2023年10月16日 |
---|---|
0.1.8 | 2023年8月9日 |
0.1.7 | 2023年6月16日 |
0.1.6 | 2023年6月16日 |
0.1.5 | 2023年6月16日 |
在生物学分类中排名第94
60KB
957 行
pipspeak
一个命令行工具,用于白名单过滤pipseq读取并转换为10X风格格式。
概述
此工具用于对PIPSeq读取与其相应的条码白名单进行过滤,然后输出类似于10X读取的fastq文件格式。
它将解析PIPSeq格式,识别细胞条码,并写入一个新文件,以类似于10X序列构造,用于与其他尚未采用PIPSeq格式的工具一起使用。
它还将输出所有发现的细胞条码的白名单,以供下游映射工具使用。
PIPSeq v3 序列构造
PIPSeq序列构造以以下方式组织
┌─'illumina_p5:29'
├─I2.fastq.gz────── ──'index5:8'
├─'truseq_read1:33'
│ ┌─'cb1:8'
│ ├─'linker1:3'
│ ├─'cb2:6'
│ ├─'linker2:3'
├─R1.fastq.gz───────┤
│ ├─'cb3:6'
─────────────────── ──RNA───────────────┤ ├─'linker3:5'
│ ├─'cb4:8'
│ └─'umi:12'
│ ┌─'cDNA:98'
├─R2.fastq.gz───────┤
│ └─'ligationT:1'
│ ┌─'ME2:19'
├─nextera_read2─────┤
│ └─'s7:15'
├─I1.fastq.gz────── ──'index7:8'
└─'illumina_p7:24'
因此,生成的R1和R2文件简化为
# R1
[barcode]ATG[barcode]GAG[barcode]TCGAG[barcode][UMI]
# R2
[cDNA]
细胞条码来自4个不同的白名单。最终的细胞条码是这些列表的组合之一。
10X 文件格式
10X序列构造以以下方式组织
┌─'illumina_p5:29'
├─'truseq_read1:10'
│ ┌─'barcode:16'
├─R1.fastq.gz───────┤
│ └─'umi:12'
─────────────────── ──RNA───────────────┤
├─R2.fastq.gz────── ──'cDNA:98'
├─'truseq_read2:34'
├─I1.fastq.gz────── ──'index7:8'
└─'illumina_p7:24'
因此,生成的R1和R2文件简化为
# R1
[barcode][UMI]
# R2
[cDNA]
用法
这是一个单命令CLI工具。它需要R1和R2文件路径以及一个配置yaml,该yaml提供了条码的文件路径并描述了间隔符。
对于v3条码,您可以使用此GitHub仓库中data/
下的配置和条码文件。
pipspeak -c data/config_v3.yaml \
-i data/example_v3/example_R1.fq.gz \
-I data/example_v3/example_R1.fq.gz
输出
此程序每次运行将输出3个文件
<args.prefix>_R1.fq.gz
:一个fastq文件,其中包含所有通过白名单的读取的[barcode][UMI]
构造。<args.prefix>_R2.fq.gz
:所有通过白名单的R2的未修改fastq文件。<args.prefix>_whitelist.txt
:数据集中找到的所有条码的白名单。<args.prefix>_log.yaml
:包含运行过滤统计信息的日志文件。
配置
配置yaml非常简陋,如下所示。它提供了条码的文件路径,然后设置间隔序列。
barcodes:
bc1: "data/barcodes_v3/fb_v3_bc1.tsv"
bc2: "data/barcodes_v3/fb_v3_bc2.tsv"
bc3: "data/barcodes_v3/fb_v3_bc3.tsv"
bc4: "data/barcodes_v3/fb_v3_bc4.tsv"
spacers:
s1: "ATG"
s2: "GAG"
s3: "TCGAG"
依赖项
~9–18MB
~190K SLoC