基因组注释gtf文件或bed6文件转bed12文件
上一篇详细介绍了bed格式,尤其清楚的解释了bed格式中的最后三列,这三列对于理解bed12格式转换至关重要。
本文主要介绍将其他格式的文件转换成bed文件,以及如何转成bed12格式?
convert2bed
convert2bed是BEDOPS软件包里非常常用的函数,可以把常见的二进制或者文本基因组文件(BAM, GFF, GTF, GVF, PSL, OUT, SAM, VCF,WIG)转换成bed格式。这里的bed格式大部分都是bed6格式。
convert2bed --input=fmt < input > output
Input (required):
--input=[bam|gff|gtf|gvf|psl|rmsk|sam|vcf|wig] (-i )
Genomic format of input file (required)
bed6Tobed12.py
从Ensembl数据库网站下载的gtf或gff文件,利用convertbed可以轻松转换成bed文件,但是不能直接转成bed12格式。笔者利用python3写了一个脚本bed6Tobed12.py,可以实现将bed6文件转换成bed12格式。
脚本根据bed6文件中的第四列ID值,将ID值相同的行抽取出来,根据基因组坐标排序,计算行数及每行相对第一行的起始位置,转换成bed12格式输出。
注意,相同ID的行之间基因组坐标不能相互重合,重合的行可以先利用bedtools merge合并,再转换成bed12格式。
# 下载脚本
wget https://github.com/ustbcaoqi/biotools/archive/master.zip
unzip master.zip
# 进行转换
python3 biotools-master/bed6Tobed12.py file.bed(6) > file_new.bed(12)
example
cat test.bed
3 52813281 52813490 ENST00000468472 . - 209 0
3 52813974 52814071 ENST00000468472 . - 97 693
3 52814208 52814363 ENST00000468472 . - 155 927
3 52816883 52817058 ENST00000468472 . - 175 3602
3 52818051 52819990 ENST00000468472 . - 1939 4770
3 52820290 52820317 ENST00000468472 . - 27 7009
3 52820630 52820785 ENST00000468472 . - 155 7349
3 52820990 52821130 ENST00000468472 . - 140 7709
3 52823555 52823741 ENST00000468472 . - 186 10274
3 52823822 52824004 ENST00000468472 . - 182 10541
3 52824189 52824315 ENST00000468472 . - 126 10908
3 52824396 52824565 ENST00000468472 . - 169 11115
3 52824841 52824958 ENST00000468472 . - 117 11560
3 52825885 52826014 ENST00000468472 . - 129 12604
3 52826540 52826651 ENST00000468472 . - 111 13259
3 52826790 52826953 ENST00000468472 . - 163 13509
3 52827092 52827197 ENST00000468472 . - 105 13811
3 52829118 52829279 ENST00000468472 . - 161 15837
3 52830552 52830670 ENST00000468472 . - 118 17271
3 52831407 52831478 ENST00000468472 . - 71 18126
3 52833113 52833146 ENST00000468472 . - 33 19832
# 进行转换
python3 biotools-master/bed6Tobed12.py test.bed > test_col12.bed
# 查看结果
cat test_col12.bed
3 52813281 52833146 ENST00000468472 0 - 52813281 52833146 255,0,0 21 209,97,155,175,1939,27,155,140,186,182,126,169,117,129,111,163,105,161,118,71,33, 0,693,927,3602,4770,7009,7349,7709,10274,10541,10908,11115,11560,12604,13259,13509,13811,15837,17271,18126,19832,
“贤者以其昭昭使人昭昭,今以其昏昏使人昭昭。” --《孟子·尽心下》