2012年12月27日木曜日

UCSC genome browserからGTF, BED, FASTAなど様々な形式のファイルをダウンロードする(1)

Tophatで使うGTFファイルがほしい、mRNAの3'UTRの配列情報が知りたい、mRNAのプロモーター領域の配列が知りたいなどなど…。そういった場面においてもUCSC genome browserは頼りになります。

今回は、そんなリクエストに答えてくれるUCSC genome browserの「Table browser」の機能について説明したいと思います。

以下では、hg19のHuman genome / NCBIのRefseqのデータをベースに、様々な形式のデータをダウンロードしてみたいと思います。

EXAMPLE1: BEDファイルの入手
(1)UCSC genome browserのトップページから、左側のメニューにある「Table browser」をクリック

(2)Table browserの各プルダウンメニューで以下を選択。
clade: Mammal
genome: Human
assembly: Feb. 2009 (GRCh37/hg19)
group: Genes and Gene Prediction Tracks
Track: Refseq Genes
table: refGene
region: genome
output format: BED - browser extensible data
⇒オプションとして、Galaxyにチェックを入れるとGalaxyにデータが保存されます
file type returned: plain text / gzip compressed
⇒好みによるが、圧縮ファイルとして欲しい場合はgzipを選択

(3)「get output」をクリック

(4)Output refGene as BED
・「Incude custom track header」にチェックを入れると、custom trackとしてアップロードできるようにファイルを加工してくれる。「name」「description」「visibility」などの入力欄が用意されている。
・「Create one BED record per」ではいくつかのオプションが選択できる。
1. Refseqに登録されているTranscriptの情報すべて(5'UTR, ORF, 3'UTR)がほしいケース
 ⇒「Whole Gene」を選択
2. 5'UTR, ORF, 3'UTRのいずれかの情報のみがほしいケース
 ⇒「5'UTR / ORF / 3'UTR Exons」を選択
3. Refseqに登録されているTranscriptの上流(プロモーター)の領域の情報がほしいケース
 ⇒「Upstrem by <number> bases」を選択
 <number>には、ほしい領域の範囲を指定する。

(5)「get BED」をクリック
⇒Google chromeだと、ブラウザ上でファイルが展開してしまうので、Galaxyを経由してファイルはダウンロードしてきたほうがよいかも。

(6)Output results to Galaxy as RefSeq Genesで「Send query to Galaxy」をクリック

(7)右側のヒストリーでジョブを確認。灰色は処理待ち、黄色は処理中、緑色は処理終了を表す。処理が終わったら、ジョブをクリックしてフロッピーディスクの形をした「ダウンロード」ボタンをクリックし、目的のファイルをダウンロード。

EXAMPLE2: GTFファイルの入手
(1)UCSC genome browserのトップページから、左側のメニューにある「Table browser」をクリック

(2)Table browserの各プルダウンメニューで以下を選択。
clade: Mammal
genome: Human
assembly: Feb. 2009 (GRCh37/hg19)
group: Genes and Gene Prediction Tracks
Track: Refseq Genes
table: refGene
region: genome
output format: GTF - gene transfer tormat
⇒オプションとして、Galaxyにチェックを入れるとGalaxyにデータが保存されます
file type returned: plain text / gzip compressed
⇒好みによるが、圧縮ファイルとして欲しい場合はgzipを選択

(3)「get output」をクリック
⇒後は上記と同様。

EXAMPLE3: FASTAファイルの入手
(1)UCSC genome browserのトップページから、左側のメニューにある「Table browser」をクリック

(2)Table browserの各プルダウンメニューで以下を選択。
clade: Mammal
genome: Human
assembly: Feb. 2009 (GRCh37/hg19)
group: Genes and Gene Prediction Tracks
Track: Refseq Genes
table: refGene
region: genome
output format: sequence
⇒オプションとして、Galaxyにチェックを入れるとGalaxyにデータが保存されます
file type returned: plain text / gzip compressed
⇒好みによるが、圧縮ファイルとして欲しい場合はgzipを選択

(3)「get output」をクリック
⇒Google chromeだと、ブラウザ上でファイルが展開してしまうので、Galaxyを経由してファイルはダウンロードしてきたほうがよいかも。

(4)「genomic」にチェックをつけて、「submit」をクリック

(5)Sequence Retrieval Region Optionsで配列として欲しい領域を選択できる
   ・Promoter/Upstream by <number> bases
   ・5' UTR Exons
   ・CDS Exons
   ・3' UTR Exons
   ・introns
   ・Downstream by <number> bases
  Sequence Formatting Options
   ・Exons in upper case, everything else in lower case
    Exonの領域だけ「大文字」で他の領域は「小文字」
   ・CDS in upper case, UTR in lower case
    CDSの領域(ORF領域)は「大文字」、UTRの領域は「小文字」
   ・All upper case
    すべて「大文字」
   ・All lower case
    すべて「小文字」

(6)「Send query to Galaxy」をクリック
⇒後は上記と同様。

基本的な使い方はこんな感じだと思います。あとは目的別に必要なデータをダウンロードしてくる際に使用したり、custom trackとしてアップロードしたファイルを異なるファイル形式でダウンロードしてくる際にも便利だと思います。

2012年12月24日月曜日

RNA-seqのデータをUCSC genome browser上で視覚化する(3)

前回作成したcustom trackや他の既存のトラックの組み合わせを保存しておきたいといったとき、どうすればよいか。そんなとき、UCSC genome browserが提供する「Sessions」と呼ばれるトラック管理機能を使うと便利です。

〈主なステップ〉
1. Track linesの記述
2. データのアップロード
3. データの管理方法

3. データの管理方法
(1)UCSC genome browserのトップページから、上にあるメニューの「Session」をクリック

(2)Sign in to UCSC Genome Bioinformaticsの「Login」
⇒アカウントを持っていない場合は、「Creat an account」からアカウントを作成してください。

(3)Session ManagementのSave Settingsにある「Save current settings as named session」でセッションの名前を入力し、「Submit」をクリック
⇒他の人と、そのセッションを共有したい場合は「allow this session to be loaded by others」にチェックを入れると、他の人もそのセッションを閲覧可能になる。

(4)My sessionsに先ほど作ったセッションが登録される。link to sessionの「Browser」をクリックすることで保存したトラックを閲覧でき、share with others?にチェックを入れることで他の人の閲覧が可能となる。
⇒各セッションのBrowserのURLから直接自分の組み合わせたトラックにアクセスできるので、そのURLを他の人に教えることで、他の人とデータを共有することができる。(セキュリティ上の問題などがあるので、注意して使用する必要あり。)

ちなみに、Custom trackとしてアップロードしたデータは、4ヶ月以上アクセスしないで放置していると、データが消えてしまうので注意してください。

〈参考〉
■UCSC genome browser -Sessionの使用方法について
http://genome.ucsc.edu/goldenPath/help/hgSessionHelp.html


2012年12月23日日曜日

RNA-seqのデータをUCSC genome browser上で視覚化する(2)

UCSC genome browser上で可視化できるデータのフォーマットとして、bedGraph, GTF, BED, WIG, bigwig, BAMが主なものとして挙げられます。
今回は、前回作成した「WIG」と呼ばれる形式のファイルを利用してRNA-seqのデータを可視化してみたいと思います。

〈主なステップ〉
1. Track linesの記述
2. データのアップロード
3. データの管理方法

1. Track linesの記述
まず注意しなければいけない点は、Tophatなどのマッピングソフトから得られた「BAMファイル」やGENCODEなどからダウンロードしてきた「GTFファイル」などをアップロードする前に、ファイルの冒頭(最初の一行目)に「Track lines」と呼ばれる一種の但し書きのようなものを書く必要があるということです。

これは、UCSC genome browser上にアップロードしたデータのファイル形式(BAM, GTFなど)、Genome browser上で表示させる時のTrackの名前・色などの基本情報を付与するためにあります。

では具体的にどのように記述すればよいか見て行きましょう。
まずは、Track linesの定義についてよく利用するものを中心に説明していきたいと思います。

〈Track lines〉
・track name="track_label"
 Genome browserのウインドウの右側に位置するラベル名を定義。
・description="center_label"
 Genome browserのウインドウの中央に位置するラベル名を定義。
 60文字以内という字数制限がある。
 空白はできるだけ使わずに「ハイフン"_"」を使ったほうが良い。
・type="track_type"
 アップロードするファイルの形式を定義。
 WIGファイルなら「Wiggle_0」、BEDファイルなら「bed」と記載。 
・visibility=number
 annotation trackのデフォルトの表示モードを定義。
 0-4の数字に表示モードが対応しており、
 「0 -hide」「1-dense」「2-full」「3-pack」「4-squish」となっている。
 定義しない場合では、「1-dense」が自動的に選択される。
・color=RRR,GGG,BBB
 annotation trackの色を定義。
 「コンマ","」で区切られた0-255の幅を持つRGB valuesによって色が定義されている。
 定義しない場合では、「0,0,0」(黒)が自動的に選択される。
 色の組み合わせを考えるときの参考として、
 MUDCUBE -COLOR SPHEREなどのサイトを活用するといいかも。
 (16進法による色の記述になっているので、RGB変換する必要あり。)
・colorByStrand=RRR,GGG,BBB,RRR,GGG,BBB
 Genome上の「+鎖」「-鎖」を区別して色分けできる。
 
2. データのアップロード
(1)UCSC genome browserのトップページから上のメニューの「Genome」、もしくは左側のメニューの「Genome Browser」をクリック
(2)「manage custom tracks」をクリック
(3)「add custom tracks」をクリック
(4)Paste URLs or data:にある「ファイルを選択」をクリックし、
アップロードしたいファイルを選択
(5)「Submit」をクリックし、ファイルをアップロード(しばらく時間がかかるので放置)
(6)アップロード終了後、「go to genome browser」をクリックすると、
アップロードしたcustom trackを確認できます。


〈具体例〉
NONCODE v3.0のlncRNA_humanの「BEDファイル」のデータをUCSC genome browser上で可視化してみよう。
■使用したデータ
http://www.noncode.org/NONCODERv3/datadownload/lncRNA_human.zip

例1:
まずは、最低限の情報として「track name」「description」「type」のみを1行目に記述したファイルを作成してみる。
track name="NONCODE_lncRNA_human" description="NONCODE" type="bed"
chr7 89010556 89010766 n123 1000 +
chr7 18847664 18847902 n125 1000 -
chr7 92600316 92600610 n127 1000 -
chr12 6619387 6619717 n1315 1000 +


例2:
例1と少し内容を追加して、アップロードしたトラックの違いを比較してみる。下記のように「visibility」「color」の記述を追加すると、デフォルトの表示モードがはじめから「Full」の状態になり、トラックに色がついていることが確認できる。
track name="NONCODE_lncRNA_human" description="NONCODE" type="bed" visibility=2 color=0,142,247
chr7 89010556 89010766 n123 1000 +
chr7 18847664 18847902 n125 1000 -
chr7 92600316 92600610 n127 1000 -
chr12 6619387 6619717 n1315 1000 +



〈参考〉
■UCSC genome browserへのアップロードに関する注意事項
http://genome.ucsc.edu/goldenPath/help/customTrack.html
■MUDCUBE -COLOR SPHERE
http://mudcu.be/sphere/
■RGB変換
http://www.kitaq.net/lib/rgb/



2012年12月17日月曜日

RNA-seqのデータをUCSC genome browser上で視覚化する(1)

Bowtieなどのマッピングソフトから出力される「bamファイル」を「Wigファイル」に変換し、UCSC genome browserにアップロードできるファイル形式にする。

(1)bamToBed
ダウンロード先:http://code.google.com/p/bedtools/downloads/list

〈コマンド〉
$ bamToBed -i  Input_name > Output_name
$ sortBed -i Input_name > Output_name

(2)bed2Wig
ダウンロード先:不明

〈コマンド〉
$ cut -f 1-3 Input_name > Output_name
$ perl bed2Wig.pl Input_name > Output_name

〈スクリプト〉
ファイル名:bed2Wig.pl

内容:
#!/usr/local/bin/perl
use strict;
my $m;
while (<>) {
    my @tok = split "\t";
    for ($tok[1]..$tok[2]) {
$m->{$tok[0]}{$_}++
    }
}
my $track = shift || "name";
my $desc = shift || "desc";
#track name / description: 任意の名前に入力, color: 任意の色を指定
print "track name=\"$track\" description=\"$desc\" type=\"wiggle_0\" color=250,180,10 yLineMark=0.0 yLineOnOff=on visibility=2 maxHeightPixels=40:40:20 priority=1\n";
for my $chr (sort keys %$m) {
    my $prev = 0;
    for my $pos (sort {$a<=>$b} keys %{$m->{$chr}}) {
    if ($pos - $prev > 1) {
   print "fixedStep chrom=$chr start=$pos step=1\n";
    }
    print $m->{$chr}{$pos}, "\n";
    $prev = $pos;
    }
}