處理基因組數據,很多時候我們會覺得直接看序列文件不夠直觀,如果繪圖的話,把n多G把數據用畫圖出來不僅費勁,就算操作也不方便。因此我們可以用UCSC開發(fā)出的genome browser,可以直接把數據信息寫成track,連上genome browser 上查看,它還支持安裝到本地服務器上(genome browser in box ,簡稱GBIB),genome browser 支持的格式有bedGraph, GTF, PSL, BED, bigBed, WIG, bigGenePred, bigMaf, bigChain, bigPsl, bigWig, BAM, CRAM, VCF, MAF, BED detail, Personal Genome SNP, broadPeak, narrowPeak, and microarray (BED15),GFF和GTF文件必須tab分隔。 廢話少說,直接入門。本文主要講SAM,BAM,WIG,bigWig,VCF,BED文件上傳及使用。

 

    一、格式的前期處理

      1.1    WIG 和 bigWig

      WIG 文件格式,有兩種可選的格式,variableStep和fixedStep。variableStep用于區(qū)間變化的,fixedStep用于區(qū)間固定的。

      variableStep WIG文件以variableStep 開頭,chrom染色體,可選參數span(默認span=1),指定每一行的位置區(qū)間,比如2,區(qū)間就是chromStart~chromStart+2。chromStart染色體位置,dataValue染色體位置上的值。

1 variableStep  chrom=chrN2 [span=windowSize]3 chromStartA  dataValueA4 chromStartB  dataValueB5 ... etc ...  ... etc ...

      fixedStep文件以fixedStep開頭,chrom染色體,start是起始固定的位置,step是每兩個起始position之間的間隔,span和variableStep中的step一樣,指定每一行的位置區(qū)間。

這樣dataValue1對應的position是start~start+span,dataValue2對應的position是start+step~start+step+span.

1 fixedStep  chrom=chrN2 start=position  step=stepInterval3 [span=windowSize]4 dataValue15 dataValue26 ... etc ...

    WIG格式要在genome browser 上查看最好轉換為bigWig文件,bigWig文件是index后的二進制WIG文件,在genome browser上查看更加快速,用wigToBigWig命令

1 wigToBigWig sample.wig chrom.sizes output.bw

    chromsizes 文件可以從UCSC上下載,就是各個染色體的長度大小hg19.chrom.sizes可以從這里直接復制。

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓 genome.sizes

    1.2  sam 和 bam文件

      sam/bam 格式是mapping后的序列比對文件,sam文件需要先轉成bam,sam/bam文件傳到genome browser上可以看到reads在chrom上的分布。bam文件需要sort后建立index,并且要將index 文件*.bai放到bam文件所在目錄下。

     如果是sam 文件,先轉變?yōu)閎am文件

1 samtools view -S -b -o sample.bam sample

    進行sort,并且建立index

1     samtools sort sample.bam sample.sorted2     samtools index sample.sorted.bam

    1.3  VCF文件

      vcf 文件是千人基因組計劃發(fā)展出的存儲基因組變異信息的文件,包括SNP和結構變異信息。傳到genome browser上可以看到不同位點的變異信息。

      先要對vcf 格式就行sort    

1 sort -k1,1d -k2,2n sample.vcf > sample.sorted.vcf

      要下載bgzip 和 tabix 程序,https://sourceforge.net/projects/samtools/files/tabix/.

      對sort后的vcf 進行壓縮

1 bgzip sample.sorted.vcf sample.sorted.vcf.gz

      對vcf.gz文件建立index

1 tabix -p vcf sample.sorted.vcf.gz

      建立track的時候,要把tbi格式的index放在vcf.gz所在的文件夾下。

   1.4 bed和bigBed文件

    1.4.1 bed文件格式

     1.4.1.1 必須的三個區(qū)域:

        1.chrom  染色體

        2.chromStart  在染色體上的起始位置

        3.chromEnd  在染色體上的結束位置

     1.4.1.2有九個額外的可選的區(qū)域

        4.name  行名

        5.score  分值 0-1000,影響顯示的灰色深度

        6.strand  正負鏈,"."無方向,或者“+”或者"-"

        7.thickStart  開始濃密繪制的位置

        8.thickEnd 結束濃密繪制的位置

        9.itemRgb RGB值,R、G、B值(比如255,0,0),如果itemRgb屬性設置為開的話,RGB將設置這一行的顏色

        10.blockCount  該行的區(qū)塊(外顯子)數目

        11.blockSizes  逗號分隔的區(qū)塊大小的列表,

        12.blockStarts  逗號分隔的區(qū)塊開始位置,所以的區(qū)塊開始位置都應該能由chromStart計算出來,位置數目應該與blockSizes數目相裂隙。

     bed文件可以在前面添加track和browser行,作為一個track傳上genome browser。后面會詳細說明。

    1.4.2 bigBed文件

      如果bed文件有點大(大于50Mb),你應該將它轉換成bigBed文件,放到服務器上,再鏈接到genome browser上查看。

      先sort bed文件

1 sort -k1,1 -k2,2n unsorted.bed > input.bed

     將sort后的bed文件進行轉換,必須去除track和browser行

1 bedToBigBed input.bed chrom.sizes myBigBed.bb

 

二、在UCSC上查看數據

    2.1  UCSC 上My Data 下的Custom Track

         所有文件都可以直接添加自己定制的Custom Track,分為兩步,1.定義browser行 ,2.定義track行

      1.browser行        

1 browser attribute_name attribute_value(s)

 

         postion  定義genome browser起始查看的位置

         hide all  隱藏全部track

         hide  < track_primary_talbe_name(s)> 需要隱藏的tracks列表,空格分隔,下面一樣

         dense all   密度顯示全部track

         dense <track_primary_talbe_name(s)>  需要密度顯示的tracks列表

         pack all   壓緊模式顯示全部track

         pack  <track_primary_talbe_name(s)>   需要壓緊模式顯示的tracks列表

         squish all 壓扁模式顯示 

         full all    全部顯示track

         full  <track_primary_talbe_name(s)>  全部顯示模式顯示的track列表 

       2.track行

         name=<track_label>  定義track的標簽

         description=<center_label>  定義顯示的時候track的中間的標簽

         type=<track_type>    定義track類型,可以定義為BAM, BED detail, bedGraph, bigBed, bigWig, broadPeak, narrowPeak, Microarray, VCF and WIG 

          visibility=<display_mode>   定義顯示模式,定義track的起始顯示模式,包括0 - hide, 1 - dense, 2 - full, 3 - pack, and 4 - squish

          color=<RRR,GGG,BBB>    定義注釋track的主演色,包括三個逗號分隔的0-255之間的數字,默認0,0,0黑色

          itemRgb=On   如果開了這個選項,bed文件定義的itemRgb生效

          colorByStrand=<RRR,GGG,BBB,RRR,GGG,BBB>  設置正負鏈的顏色,默認0,0,0,0,0,0 都是黑色

          useScore=<use_score>   默認是0,使用bed score值定義的顏色,如果是1,會使用數據行來決定顏色深淺

          group=<group>    定義track組,會在genome browser上顯示

          priority=<priority>    定義組內排列位置,沒有分組的話會定義默認組(user)的排列位置

          db=<UCSC_assembly_name>   定義要比對的數據庫,比如hg18,mm8等

          offset=<offset>    補償,定義添加到全部坐標上的數值,默認0

          maxitems<#>    定義track能包括的最大條目,默認250,必須小心設置,不然會導致系統(tǒng)不穩(wěn)定

          url=<external_url>   定義track 的額外鏈接內容

          htmlUrl=<external_url>   定義track描述頁面的鏈接內容

          bigDataUrl=<external_url>   定義數據文件的url,就是放在服務器上的文件地址,

        下面是UCSC給出的例子

1 browser position chr21:33,031,597-33,041,5702 track type=bigBed name="bigBed Example One" description="A bigBed file" bigDataUrl=http://genome.ucsc.edu/goldenPath/help/examples/bigBedExample.bb

        bed文件格式可以直接寫入track中,如下,在基因組固定位置顯示藍色和綠色標記

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

1 browser position chr22:20100000-201400002 track name=spacer description="Blue ticks every 10000 bases" color=0,0,255,3 chr22   20100000 201000014 chr22   20110000 201100015 chr22   20120000 201200016 track name=even description="Red ticks every 100 bases, skip 100" color=255,0,07 chr22   20100000 20100100    first8 chr22   20100200 20100300    second9 chr22   20100400 20100500    third

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

   

    2.2  UCSC 的MyData下的track hub

    track hub 是track 的收集,hub中的track在genome browser瀏覽頁面中以藍色顯示。

    首先在存放hub文件的文件夾下寫一個hub文件,格式如下

    

1 hub hub_name  # hub的名稱2 shortLabel hub_short_label #hub的短標簽,便于顯示3 longLabel hub_long_label  #hub具體的標簽4 genomesFile genomes_filelist #要對比的基因組列表文件路徑  5 email email_address    #自己的email地址6 descriptionUrl descriptionUrl   # 對這個track的描述

 

     接下來編輯基因組列表文件

1 genome assembly_database_1 #對比到的基因組,比如hg192 trackDb assembly_1_path/trackDb.txt   #trackDb文件,包括對比到hg19的所有track3 4 5 genome assembly_database_26 trackDb assembly_2_path/trackDb.txt

 

     上面是兩個不同的trackDb(track數據庫),分別對比到不同的基因組,而trackDb中寫入有很多不同的對比到該基因組的hub track

      最后編輯trackDb文件

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

 1 track dnaseSignal  #在genome browser上顯示的track名,必須獨一無二 2 bigDataUrl dnaseSignal.bigWig  #文件的url,默認在trackDb所在文件夾 3 shortLabel DNAse Signal 
 4 longLabel Depth of alignments of DNAse reads 5 type bigWig 6  7  8 track dnaseReads 9 bigDataUrl dnaseReads.bam10 shortLabel DNAse Reads11 longLabel DNAse reads mapped with MAQ12 type bam

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

      上面寫入了兩個track,一個是bigWig格式的文件,一個是bam文件.而vcf 文件如下

1 track GC_WGS_tumour_vcf_by_lumpy2 type vcfTabix3 bigDataUrl GC_WGS_tumour.sorted.vcf.gz4 shortLabel GC_WGS tumour vcf lumpy5 longLabel GC_WGS tumour vcf by lumpy

     上面幾個是基本參數,更多可選的hub track的參數參見hub track 定義文檔

     最后上圖一張

電腦培訓,計算機培訓,平面設計培訓,網頁設計培訓,美工培訓,Web培訓,Web前端開發(fā)培訓

 

參考文獻