基因組注釋gtf文件或bed6文件轉(zhuǎn)bed12文件
上一篇詳細(xì)介紹了bed格式,尤其清楚的解釋了bed格式中的最后三列,這三列對(duì)于理解bed12格式轉(zhuǎn)換至關(guān)重要。
本文主要介紹將其他格式的文件轉(zhuǎn)換成bed文件,以及如何轉(zhuǎn)成bed12格式?
convert2bed
convert2bed是BEDOPS軟件包里非常常用的函數(shù),可以把常見(jiàn)的二進(jìn)制或者文本基因組文件(BAM, GFF, GTF, GVF, PSL, OUT, SAM, VCF,WIG)轉(zhuǎn)換成bed格式。這里的bed格式大部分都是bed6格式。
convert2bed --input=fmt < input > output
Input (required):
--input=[bam|gff|gtf|gvf|psl|rmsk|sam|vcf|wig] (-i <fmt>)
Genomic format of input file (required)
bed6Tobed12.py
從Ensembl數(shù)據(jù)庫(kù)網(wǎng)站下載的gtf或gff文件,利用convertbed可以輕松轉(zhuǎn)換成bed文件,但是不能直接轉(zhuǎn)成bed12格式。筆者利用python3寫(xiě)了一個(gè)腳本bed6Tobed12.py,可以實(shí)現(xiàn)將bed6文件轉(zhuǎn)換成bed12格式。
腳本根據(jù)bed6文件中的第四列ID值,將ID值相同的行抽取出來(lái),根據(jù)基因組坐標(biāo)排序,計(jì)算行數(shù)及每行相對(duì)第一行的起始位置,轉(zhuǎn)換成bed12格式輸出。
注意,相同ID的行之間基因組坐標(biāo)不能相互重合,重合的行可以先利用bedtools merge合并,再轉(zhuǎn)換成bed12格式。
# 下載腳本
wget https://github.com/ustbcaoqi/biotools/archive/master.zip
unzip master.zip
# 進(jìn)行轉(zhuǎn)換
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
# 進(jìn)行轉(zhuǎn)換
python3 biotools-master/bed6Tobed12.py test.bed > test_col12.bed
# 查看結(jié)果
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,
“賢者以其昭昭使人昭昭,今以其昏昏使人昭昭?!? --《孟子·盡心下》

