在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的就可以保证细胞名是统一的了
参考
http://www.htslib.org/doc/tabix.html
https://www.jianshu.com/p/912c81d71045
https://blog.csdn.net/biocity/article/details/83274985
网友评论