在GEO数据库下载SHARE-seq的数据后,发现这些fragment文件与CellRanger输出的fragment文件存在一下几点不同:
- SHARE-seq的fragment文件只有4列,并且存在重复行,重复的行数为该条read的counts数
- 没有以.tbi结尾的索引文件
- 所提供的文件压缩格式不是BGZF,这样会导致在建立索引时报错
- 行是乱序的,后面行的起始位点小于前面行的起始位点,这样会导致在建立索引时报错
- 细胞名称与所提供矩阵中的细胞名称不同,fragments文件中为
,
连接,而矩阵中为.
连接
以下为处理流程:
- 首先安装htslib,需要使用其中的tabix工具对fragment文件进行.tbi索引文件创建
# 下载,手动编译安装
wget https://github.com/samtools/htslib/releases/download/1.14/htslib-1.14.tar.bz2
tar -jxvf htslib-1.14.tar.bz2
cd htslib-1.14
./configure --prefix=/local/txm/software/htslib
make
sudo make install
# 添加环境变量
vi ~/.bashrc
export PATH=/local/txm/software/htslib/bin:$PATH
source ~/.bashrc
- 针对以上几点问题,首先对所提供的fragment.bed.gz文件解压,将
,
全部替换为.
gunzip GSM4156599_brain.atac.fragments.bed.gz
sed -i "s/,/./g" GSM4156599_brain.atac.fragments.bed
然后对GSM4156599_brain.atac.fragments.bed文件依次进行以下操作:
1 . 对文件按照前三列进行排序
2. 去除重复行,并统计重复次数(该read的counts数)
3. 默认统计的次数在第一列,将其放至最后一列(标准fragment文件格式),并使用制表符隔开
4.最后使用bgzip进行压缩命令如下
sort -k1,1V -k2,2n -k3,3n GSM4156599_brain.atac.fragments.bed | uniq -c | awk '{print $2,$3,$4,$5,$1}' OFS="\t" | bgzip -c > GSM4156599_brain.atac.fragments.mybed.gz
- 最后对mybed.gz文件进行索引文件生成
tabix -0 -p bed GSM4156599_brain.atac.fragments.mybed.gz
大功告成,在下游分析中记得再把rna中的细胞名全部换成atac的就可以保证细胞名是统一的了
20230201 Bing Ren scATAC-seq human atlas fragments文件处理记录
### ADRUQ
# 首先解压原来的fragments文件,因为不是BGZF格式
gunzip GSM5589391_pancreas_SM-ADRUQ_rep1_fragments.bed.gz
# 依次排序、去掉最后一列(第六列)、压缩
sort -k1,1V -k2,2n -k3,3n GSM5589391_pancreas_SM-ADRUQ_rep1_fragments.bed | awk '{print $1,$2,$3,$4,$5}' OFS="\t" | bgzip -c > GSM5589391_pancreas_SM-ADRUQ_rep1_fragments.mybed.gz
# tabix生成索引
tabix -0 -p bed GSM5589391_pancreas_SM-ADRUQ_rep1_fragments.mybed.gz
参考
http://www.htslib.org/doc/tabix.html
https://www.jianshu.com/p/912c81d71045
https://blog.csdn.net/biocity/article/details/83274985