美文网首页科研信息学
得到一个物种所有基因的TSS区域的bed文件

得到一个物种所有基因的TSS区域的bed文件

作者: 因地制宜的生信达人 | 来源:发表于2018-01-23 11:48 被阅读0次

    首先在UCSC的table browser 里面下载下面这个文件:
    [图片上传失败...(image-303091-1516679275138)]
    可以看到我这里选择的mm10的refseq系统的所有基因,共有29037个不同的tss,36872个转录本,只有24540个基因,说明有部分基因有多个tss,这个其实挺麻烦的。

    #bin    name    chrom   strand  txStart txEnd   cdsStart    cdsEnd  exonCount   exonStarts  exonEnds    score   name2   cdsStartStat    cdsEndStat  exonFrames
    0   NM_001282945    chr1    -   134199214   134235457   134202950   134234355   3   134199214,134234014,134235227,  134203590,134234446,134235457,  0   Adora1  cmpl    cmpl    2,0,-1,
    0   NM_001039510    chr1    -   134199214   134235457   134202950   134234355   3   134199214,134234014,134235227,  134203590,134234412,134235457,  0   Adora1  cmpl    cmpl    2,0,-1,
    0   NM_001291930    chr1    -   134199214   134235457   134202950   134203505   2   134199214,134235227,    134203590,134235457,    0   Adora1  cmpl    cmpl    0,-1,
    0   NM_001291928    chr1    -   134199214   134234856   134202950   134234733   2   134199214,134234662,    134203590,134234856,    0   Adora1  cmpl    cmpl    2,0,
    0   NM_001008533    chr1    -   134199214   134235457   134202950   134234355   2   134199214,134234014,    134203590,134235457,    0   Adora1  cmpl    cmpl    2,0,
    

    其实里面可以设置直接下载所有基因的TSS区域的bed文件,可是我不会设置各种参数,也懒得去摸索,直接对上面的文件我可以写脚本处理得到需要的数据形式。
    需要输出的是bed格式文件,如下:
    chrom / chromStart /chromEnd /name /score /strand
    我这里定义的TSS(转录起始位点)区域上下游2.5kb,所以代码如下:

    perl -alne '{next if /^#/;if($F[3] eq "+"){$start=$F[4]-2500;$end=$F[4]+2500}else{$start=$F[5]-2500;$end=$F[5]+2500}print join("\t",$F[2],$start,$end,$F[12],0,$F[3])}' ucsc.refseq.txt |sort -u >ucsc.refseq.tss.bed
    

    最后得到的文件如下:

    tail ucsc.refseq.tss.bed 
    chrY    816212  821212  Uba1y   0   +
    chrY    81798997    81803997    Gm20747 0   -
    chrY    82222714    82227714    Gm20736 0   +
    chrY    83925411    83930411    Gm20854 0   -
    chrY    85527019    85532019    Gm20854 0   -
    chrY    8832669 8837669 Gm20815 0   -
    chrY    895287  900287  Kdm5d   0   +
    chrY    90752550    90757550    G530011O06Rik   0   -
    chrY    90782941    90787941    Erdr1   0   +
    chrY    90836906    90841906    G530011O06Rik   0   
    

    这里面会有一个问题,对于部分基因在非正常染色体的,会出现如下诡异的结果,建议干脆删除掉。

    chr4_GL456216_random    13380   18380   Dhrsx   0   +
    chr4_GL456350_random    -1369   3631    Ccl21c  0   -
    chr4_GL456350_random    -1369   3631    Gm10591 0   -
    chr4_GL456350_random    -1369   3631    Gm13304 0   -
    

    记住,这个时候,部分基因还有多个tss哦,反正取决于你的下游分析流程啦。

    相关文章

      网友评论

        本文标题:得到一个物种所有基因的TSS区域的bed文件

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