美文网首页生信分析流程生信进阶
【生信】格式转换:转成bed及bed12格式

【生信】格式转换:转成bed及bed12格式

作者: 清昭_QCao | 来源:发表于2019-01-28 15:17 被阅读573次

    基因组注释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 <fmt>)
          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,
    

    “贤者以其昭昭使人昭昭,今以其昏昏使人昭昭。” --《孟子·尽心下》

    相关文章

      网友评论

        本文标题:【生信】格式转换:转成bed及bed12格式

        本文链接:https://www.haomeiwen.com/subject/phmajqtx.html