convert bed to gtf
1.使用conda安装bedtogenepred和genepredtogtf包
conda install -c bioconda ucsc-bedtogenepred
conda install -c bioconda ucsc-genepredtogtf
2. 使用bedToGenePred将bed转换为GenePred格式
bedToGenePred input.bed input.GenePred
3. 使用genepredtogtf将GenePred转换为gtf格式
genePredToGtf file input.GenePred input.gtf
附:
(1)bed文件格式
BED (Browser Extensible Data) 文件包括3个必须列(chrom,chromStart,chromEnd)三列和9个可选列,并且这些列的顺序是固定的。bed文件一般以‘.bed’作为文件扩展名,以“\t”作为列分隔符。
3个必需列:
chrom:染色体的名称(例如chr3,chrY,chr2_random),其中的chr一般要求是小写。
chromStart:染色体中特征的起始位置。染色体中的第一个碱基编号为0。(注:由于基因注释文件格式中采用的是从1开始计算)
chromEnd:染色体中特征的结束位置。所述 chromEnd碱基并不包含在特性中。例如,染色体的前100个碱基定义为chromStart = 0,chromEnd = 100,并跨越编号为0-99的碱基。
9个可选列:
name:BED行的名称。
score:设定值在0到1000之间,可以用于表示基因的丰度,富集程度等,在genome browser中会以对于的灰度显示。
strand:基因的链方向,可以设定为无链方向“.” 或正方向“+”或负方向“ - ”。
thickStart:绘制自定义的起始位置(例如,基因显示中的起始密码子)。
thickEnd:绘制自定义的结束位置(例如基因显示中的终止密码子)。
itemRgb:R,G,B形式的RGB值(例如255,0,0)。
blockCount:BED行中的块(例如外显子)数。
blockSizes:块大小的逗号分隔列表。此列表中的项目数应与blockCount相对应。
blockStarts:以逗号分隔的块开始列表。应该相对于chromStart计算所有 blockStart位置。此列表中的项目数应与blockCount相对应。
例如:
(2)gtf文件格式
GTF全称为gene transfer format,主要是用来对基因进行注释。GTF文件包括9列。gtf文件一般以‘.gtf’作为文件扩展名,以“\t”作为列分隔符。
1)seqid:序列的编号,一般为chr或者scanfold编号。
2)source: 注释的来源,一般为数据库或者注释的机构,如果未知,则用点“.”代替。
3)feature:注释信息的类型,比如Gene、cDNA、mRNA、CDS,5UTR,start_codon等
4)start:该基因或转录本在参考序列上的起始位置;
5)end:该基因或转录本在参考序列上的终止位置;
6)score:得分,数字,是注释信息可能性的说明,可以是序列相似性比对时的E-values值或者基因预测是的P-values值,“.”表示为空;
7)strand:该基因或转录本位于参考序列的正链(+)或负链(-)上;
8)phase:仅对注释类型为“CDS”有效,表示起始编码的位置,有效值为0、1、2(对于编码蛋白质的CDS来说,本列指定下一个密码子开始的位置。每3个核苷酸翻译一个氨基酸,从0开始,CDS的起始位置,除以3,余数就是这个值,,表示到达下一个密码子需要跳过的碱基个数。该编码区第一个密码子的位置,取值0,1,2。0表示该编码框的第一个密码子第一个碱基位于其5'末端;1表示该编码框的第一个密码子的第一个碱基位于该编码区外;2表示该编码框的第一个密码子的第一、二个碱基位于该编码区外;如果Feature为CDS时,必须指明具体值。)
9)attributes:一个包含众多属性的列表,格式为“标签=值”(tag=value),标签与值之间以空格分开,且每个特征之后都要有分号;(包括最后一个特征),其内容必须包括gene_id和transcript_id。以多个键值对组成的注释信息描述,键与值之间用“=”,不同的键值用“。
Ref
http://onetipperday.sterding.com/2012/08/convert-bed-to-gtf.html
http://genome.ucsc.edu/FAQ/FAQformat.html#format1