1. 程式人生 > >生物資訊資料格式:bed格式

生物資訊資料格式:bed格式

文章目錄

BED format(基因組的註釋檔案)

用來描述註釋的資料。BED線有3個要求的欄位(基本列)和9個額外的欄位(附加列)

基本列

必不可少的

  • chrom 即chrom 或者scaffold 名稱

  • chromStart Feature在chrom中的起始位置(前座標),chrom的第一個鹼基的座標是0,chromStart如果等於2,其實表示的是第三個鹼基,feature包含這個鹼基

  • chromEnd feature在chrom中的終止位置(後坐標),chromEnd如果等於5,其實表示的是第六個鹼基之前的鹼基,feature不包含5這個鹼基

詳細見https://bedtools.readthedocs.io/en/latest/content/general-usage.html

如下FASTA格式的序列

>chr1
ATGCTTT

對應的bed檔案就是:

BED file
chr1 2 5

如果用fastaFromBed提取,那麼你能得到的序列是GCT(2號到5號之前的base,第一個base是0號)

附加列

  • name #feature 的名字

  • score 0到1000的分值,如果track線在註釋時屬性設定為1,那麼這個分值會決定現示灰度水平,數字 越大,灰度越高。下面的這個表格顯示Genome Browser

  • strand 定義鏈的’’+” 或者”-”

  • thickStart #feature的起始

  • thickEnd #feature的終止

  • itermRgb R, G, B (eg. 255, 0, 0), 如果track line itemRgb屬性是設定為’On”, 這個RBG 值將 決 定資料的顯示的顏色在BED 線。

  • blockCount #exon個數

  • blockSize #每個exon的大小

  • blockStarts #以chromStart為起點的各個exon的起始點

示例

BED3
A BED file where each feature is described by chrom, start, and end

chrom    start    end
chr1    11873    14409

BED4
A BED file where each feature is described by chrom, start, end, and name

chrom    start    end    name
chr1    11873    14409    uc001aaa.3

BED5
A BED file where each feature is described by chrom, start, end, name, and score

chrom    start    end    name        score
chr1    11873    14409    uc001aaa.3    0

BED6
A BED file where each feature is described by chrom, start, end, name, score, and strand

chrom    start    end    name        score    strand
chr1    11873    14409    uc001aaa.3    0    +

BED12
A BED file where each feature is described by all twelve columns listed above

.................

Bedtools簡介

下載安裝

cd ~/local/app/
curl -OL  https://github.com/arq5x/bedtools2/releases/download/v2.22.0/bedtools-2.22.0.tar.gz
tar zxvf bedtools-2.22.0.tar.gz
cd bedtools2
make
ln -sf ~/local/app/bedtools2/bin/bedtools ~/bin/bedtools

演示版的bed檔案 (demo.bed)

vim demo.bed

KM034562    100    200    one    0    +
KM034562    400    500    two    0    -

我們的基因組檔案(genome.txt)

vim genome.txt
KM034562    18959

bedtools slop

restrict the resizing to the size of the chromosome

  • 引數 -b 增加兩端的長度
  • 引數 -pct :片段的長度100bp ,-b 0.1 ,會使兩端的長度增加10bp
bedtools slop -i demo.bed -g genome.txt -b 10
bedtools slop -i demo.bed -g genome.txt -b 0.1 -pct 
KM034562    90    210    one    0    +
KM034562    390    510    two    0    -
  • 引數 -l 增加開始端的長度
bedtools slop -i demo.bed -g genome.txt -l 10 -r 0
KM034562    90    203    one    0    +
KM034562    390    503    two    0    -
  • 引數 -r 增加末端的長度
bedtools slop -i demo.bed -g genome.txt -l 10 -r 3
KM034562    90    203    one    0    +
KM034562    390    503    two    0    -
  • 有鏈特異性的運算
  • 引數 -s 對正鏈無影響,對於負鏈 -l 10 不再是增加開始端的長度,而是增加末尾端的長度,而 -r 3 不再是增加末端的長度,而是增加開始端的長度
bedtools slop -i demo.bed -g genome.txt -l 10 -r 3 -s
KM034562    90    203    one    0    +
KM034562    397    510    two    0    -
  • 引數 -b
bedtools slop -i demo.bed -g genome.txt -b 20000
KM034562    0    18959    one    0    +
KM034562    0    18959    two    0    -

示意圖 :
xxxx

與GTF的關係

genomic features通常使用Browser Extensible Data (BED) 或者 General Feature Format (GFF)檔案表示,用UCSC Genome Browser進行視覺化比較。 Bed檔案和GFF檔案最基本的資訊就是染色體或Contig的ID或編號,然後就是DNA的正負鏈資訊,接著就是在染色體上的起始和終止位置數值。

兩種檔案的區別在於,BED檔案中起始座標為0,結束座標至少是1,; GFF中起始座標是1而結束座標至少是1。

把BED轉成對應的GFF
這並非是真的正確地把BED轉成GFF


cat demo.bed | bioawk -c bed '{print $chrom, ".", ".", $start+1, $end, $score, $strand, ".", "." }' > demo.gff
less demo.gff
KM034562        .       .       101     200     0       +       .       .
KM034562        .       .       401     500     0       -       .       .

它與其他格式可以很好地協同工作!


bedtools slop -i demo.gff -g genome.txt -l 10 -r 0 -s
KM034562    .    .    91    200    0    +    .    .
KM034562    .    .    401    510    0    -    .    .

更多用法詳見