2014年5月18日日曜日

ChIPpeakAnnoのTSSデータを追加する

ChIPpeakAnnoはデフォルトでいくつかのTSSデータが入っている (R-version/library/ChIPpeakAnno/data)
今回はデフォルトにはない、酵母のTSSの情報を得るのが目的

既にbiomaRtがインストールされている前提で、R上で以下のコマンドを入力
mart1 = useMart(biomart="ensembl")
listDatasets(mart1)
とするとリストがでてくる。
13番目にscerevisiae_gene_ensemblがある。

sacCer3= useMart(biomart="ensembl", datset="scerevisiae_gene_ensembl")
TSS.scerevisiae.sacCer3 = getAnnotation(mart=sacCer3, featureType="TSS")
として、
ls()とすると
mart1
TSS.mouse.sacCer3
sacCer3
となるので
rm('mart1')
rm('sacCer3')
として、TSS.mouse.sacCer3のみの状態にしてから
save(list=ls(), file = "./TSS.scerevisiae.sacCer3.rda")
Rを終了させて、カレントディレクトリでlsするとTSS.scerevisiae.sacCer3.rdaがあるのでこれを
/PATH/TO/R-version/library/data/
以下にコピーすれば、デフォルトに入っているマウスやヒトのデータを扱うのと同じように扱えるようになる。

2014年5月16日金曜日

シーケンスデータの一括ダウンロード

論文を見るとGEOのaccsession番号が書かれているが複数のシーケンスデータが置かれている事がほとんどで、前回は一つだけをダウンロードする方法を書いた。深く解析しようと思って全てのシーケンスデータをダウンロードしたいが、一個ずつやってるとめんどくさいので。シェルスクリプトを記述する事でそれを解決する。
シーケンスデータは多くの場合連番でSRAにupされているが、SRRだとかSRXだとか色々番号があって対応関係を把握するのが先決。
例えば以下GSMの番号は連番。
一番上のリンクへ行くと
最下部にとあるのでftpへ行く(chromeで見た方がいい)
となっている。SRR824704にSRR824704.sraという目的のファイルが入っている。
同様にGMS1111729もみてみると
となっていて、SRR824727にSRR824727.sraという目的のファイルが入っている。
なので今回はSRX263794-263817とSRR824704-824727がそれぞれ対応しているという事がわかる。シーケンスデータによっては全てのデータが連番ではないこともあるので注意が必要。
シェルスクリプトの作法はよくわからないのでググるヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ
vimを使っているので、
vim SRA_download.sh
としてファイルを作る。
シェルスクリプト作る際は思った挙動するかわからないので、echoでおもっているようなスクリプトがかかれているか確認する。
#!/bin/sh
# 全てのSRX Number
srx_list=({263794..263817})
# 全てのSRA Accussion Number
sra_list=({824704..824727})
# ダウンロードする FTP サイトの共通部分までのパス
base_url=ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX%2FSRX263/
for i in {0..23}
do
        echo "wget ${base_url}/SRX${srx_list[i]}/SRR${sra_list[i]}/SRR${sra_list[i]}.sra"
        #sleep 10m
done
と記述して上書きする(esc :wq)
chmod u+x SRA_download.sh
としてから
./SRA_download.sh
とすると確認が出来るので出てきたURLからftp://以下から.sraの一つ上流までをコピーしてブラウザーで確認する。chromeでftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX%2FSRX263/SRX263809/SRR824719とすれば、先ほどのリンクにたどれる。
これで一応問題ないので
#!/bin/sh
# 全てのSRX Number
srx_list=({263794..263817})
# 全てのSRA Accussion Number
sra_list=({824704..824727})
# ダウンロードする FTP サイトの共通部分までのパス
base_url=ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX%2FSRX263/
for i in {0..23}
do
       wget ${base_url}/SRX${srx_list[i]}/SRR${sra_list[i]}/SRR${sra_list[i]}.sra
       sleep 10m
done
とecho" "と#を取り払って、上書きする(esc :wq)
./SRA_download.sh
でダウンロードが始まる。

説明しとくと
#!/bin/sh---シェルスクリプトのおまじない
# 全てのSRX Number
srx_list=({263794..263817})先に調べておいたSRXの番号のリスト
# 全てのSRA Accussion Number
sra_list=({824704..824727})先に調べておいたSRRの番号のリスト
# ダウンロードする FTP サイトの共通部分までのパス
base_url=ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByExp/sra/SRX%2FSRX263/
#全データが24個あるので24回ループさせる。(1番目は0らしい。)
for i in {0..23}
#なんかやらせる時-do
do
#URL共通部分/SRX+番号(リストのi番目)/SRA+番号(リストのi番目)/SRA+番号(リストのi番目).sraってこと
${base_url}/SRX${srx_list[i]}/SRR${sra_list[i]}/SRR${sra_list[i]}.sra
#ftpって色々制限あったりするらしいのでダウンロード終わってから10分待ってから次のダウンロード始める。
sleep 10m
#やらせるの終わったら-done
done


2014年4月19日土曜日

Rを使ったChIP-seq解析(近傍遺伝子や距離等のアノテーション)


高次解析に必要な関数が色々作られていて、その関数集団をパッケージと表現するらしい。ライフサイエンスのパッケージ集にbioconductorというものがありHPは http://www.bioconductor.org


ターミナルを開いて、local/work/以下にRディレクトリをさくせいして、Rにて作業する。ちなみにMacsまでのデータはlocal/workにある。
cd local/work
mkdir R
cd R
R
とすると以下のようになる。
R version 3.1.0 (2014-04-10) -- "Spring Dance"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)

R は、自由なソフトウェアであり、「完全に無保証」です。
 一定の条件に従えば、自由にこれを再配布することができます。
 配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。

R は多くの貢献者による共同プロジェクトです。
 詳しくは 'contributors()' と入力してください。
 また、R や R のパッケージを出版物で引用する際の形式については
 'citation()' と入力してください。

 'demo()' と入力すればデモをみることができます。
 'help()' とすればオンラインヘルプが出ます。
 'help.start()' で HTML ブラウザによるヘルプがみられます。
 'q()' と入力すれば R を終了します。
>
となってRが使えるようになる。Rが起動している時は>が左についている状態にある。簡単なコマンドについてはググれば色々出てくる。計算や変数への代入などにある程度慣れてから、bioconductorをインストールしてみた。とりあえず書いてある通りやってみる。

>source("http://bioconductor.org/biocLite.R")

URL 'http://www.bioconductor.org/packages/2.14/bioc/src/contrib/BiocInstaller_1.13.3.tar.gz' を試しています
Content type 'application/x-gzip' length 14185 bytes (13 Kb)

 開かれた URL

==================================================

downloaded 13 Kb

* installing *source* package ‘BiocInstaller’ ...

** R

** inst

** preparing package for lazy loading

** help

*** installing help indices

** building package indices

** testing if installed package can be loaded

Bioconductor version 2.14 (BiocInstaller 1.13.3), ?biocLite for help

* DONE (BiocInstaller)

The downloaded source packages are in

     ‘/tmp/RtmpIpHodt/downloaded_packages’

Updating HTML index of packages in '.Library'

Making 'packages.html' ... done

Bioconductor version 2.14 (BiocInstaller 1.13.3), ?biocLite for help
>
となる。数分かかる。ChIPpeakAnnoというパッケージをダウンロードする。
>biocLite("ChIPpeakAnno")

BioC_mirror: http://bioconductor.org

Using Bioconductor version 2.14 (BiocInstaller 1.13.3), R version 3.1.0.

Installing package(s) 'ChIPpeakAnno’

以下色々続く
結構かかる5分くらい。つぎにChIPpeakAnnoを使うにはRを起動するたびに以下のコマンドを叩く必要があるらしい
>library("ChIPpeakAnno")

要求されたパッケージ biomaRt をロード中です

要求されたパッケージ IRanges をロード中です

要求されたパッケージ Biostrings をロード中です

要求されたパッケージ XVector をロード中です
10秒くらいでおわる。
次に解析手順。
MACSから出てきたピークのbedファイルをread.tableで読み込む。
それをRのパッケージで使いやすい形式にBED2RangedDataで変換する。
>SoxDay0.df <- read.table("../SoxDay0_peaks.bed", header= FALSE) 
> head(SoxDay0.df)
    V1      V2      V3          V4     V5
1 chr1 3062864 3063136 MACS_peak_1  81.45
2 chr1 3482902 3483152 MACS_peak_2  65.14
3 chr1 4150841 4151273 MACS_peak_3 222.85
4 chr1 4660129 4660269 MACS_peak_4  53.63
5 chr1 4802472 4802926 MACS_peak_5 193.69
6 chr1 4855364 4855775 MACS_peak_6 270.83 
> SoxDay0.gr <- BED2RangedData(SoxDay0.df, header= FALSE)
どんな中身かを少しだけ見るにはhead()とする。
>head(SoxDay0.gr)
RangedData with 6 rows and 2 value columns across 23 spaces
               space             ranges |      strand     score
            <factor>          <IRanges> | <character> <numeric>
MACS_peak_1        1 [3062864, 3063136] |           +     81.45
MACS_peak_2        1 [3482902, 3483152] |           +     65.14
MACS_peak_3        1 [4150841, 4151273] |           +    222.85
MACS_peak_4        1 [4660129, 4660269] |           +     53.63
MACS_peak_5        1 [4802472, 4802926] |           +    193.69
MACS_peak_6        1 [4855364, 4855775] |           +    270.83 
このフォーマットにしておくと今後色んな解析を行うのに便利らしい。ここまでのデータをセーブしておく。(save())
>save(list=ls(), file = "./bed2rangedData.rdat”)
次にTSSのデータがパッケージ内に入っているのでdata()としてそれを読み込む。annotatePeakInBatchを使ってそのTSSデータと先ほど作成したRangedDataを結びつけてEnsEMBL Gene ID、遺伝子までの距離、上流・下流の情報をアノテーションする。
>data(TSS.mouse.GRCm38)
>SoxDay0.anno <- annotatePeakInBatch(RangedData(SoxDay0.gr), AnnotationData = TSS.mouse.GRCm38,output="both") 
>head(SoxDay0.anno)
RangedData with 6 rows and 9 value columns across 23 spaces
                                    space               ranges |          peak
                                 <factor>            <IRanges> |   <character>
MACS_peak_1 ENSMUSG00000090025          1 [ 3062864,  3063136] |   MACS_peak_1
MACS_peak_10 ENSMUSG00000033740         1 [ 6458167,  6458317] |  MACS_peak_10
MACS_peak_100 ENSMUSG00000089964        1 [74824905, 74825354] | MACS_peak_100
MACS_peak_101 ENSMUSG00000082012        1 [76036406, 76036593] | MACS_peak_101
MACS_peak_106 ENSMUSG00000094946        1 [83844615, 83844958] | MACS_peak_106
MACS_peak_107 ENSMUSG00000062590        1 [86187886, 86188233] | MACS_peak_107
                                      strand            feature start_position
                                 <character>        <character>      <numeric>
MACS_peak_1 ENSMUSG00000090025             + ENSMUSG00000090025        3054233
MACS_peak_10 ENSMUSG00000033740            + ENSMUSG00000033740        6487231
MACS_peak_100 ENSMUSG00000089964           + ENSMUSG00000089964       74850895
MACS_peak_101 ENSMUSG00000082012           + ENSMUSG00000082012       75636390
MACS_peak_106 ENSMUSG00000094946           + ENSMUSG00000094946       83795912
MACS_peak_107 ENSMUSG00000062590           + ENSMUSG00000062590       86154780
                                 end_position insideFeature distancetoFeature
                                    <numeric>   <character>         <numeric>
MACS_peak_1 ENSMUSG00000090025        3054733    downstream              8631
MACS_peak_10 ENSMUSG00000033740       6860940      upstream            -29064
MACS_peak_100 ENSMUSG00000089964     74879953      upstream            -25990
MACS_peak_101 ENSMUSG00000082012     75637179    downstream            400016
MACS_peak_106 ENSMUSG00000094946     83796032    downstream             48703
MACS_peak_107 ENSMUSG00000062590     86278284        inside             33106
                                 shortestDistance fromOverlappingOrNearest
                                        <numeric>              <character>
MACS_peak_1 ENSMUSG00000090025               8131             NearestStart
MACS_peak_10 ENSMUSG00000033740             28914             NearestStart
MACS_peak_100 ENSMUSG00000089964            25541             NearestStart
MACS_peak_101 ENSMUSG00000082012           399227             NearestStart
MACS_peak_106 ENSMUSG00000094946            48583             NearestStart
MACS_peak_107 ENSMUSG00000062590            33106             NearestStart 
上流や下流の情報でまとめたテーブルを作ってみる。
>SoxDay0.anno.table <- table(as.data.frame(SoxDay0.anno)$insideFeature) 
>head(SoxDay0.anno.table)

    downstream includeFeature         inside     overlapEnd   overlapStart
          1197              1           1228             14             14
      upstream
          1209 
これを画像として出力させるには以下のようにする。
>png("SoxDay0.anno.barplot.png")
>barplot(SoxDay0.anno.table)
>dev.off()
ちょっと待つ
null device
          1 
とでる。local/work/R内にSoxDay0.anno.barplot.pngが出来てる これをscpでPCに転送
scp kosugi@サーバー名:/home/kosugi/local/work/R/SoxDay0.anno.barplot.png /Users/TK/Analysis/ChIPpeakAnno/
などとすれば見れる。こんな感じ。
次は org.Mm.eg.dbを使ってGene Ontologyを実践してみる。

2014年4月15日火曜日

ChIP-seq解析の流れ

大体の解析の流れはこんな感じ。
  1. 解析に必要なツールのインストール、コントロールを含む.fastqまたは.SRAファイル (SRA Toolkitでfastqへ変換する必要有)をダウンロード
  2. fastqファイルの中身をFastQCで確認して、FASTX-Toolkitのfastq_quality_trimmer, fastq_quality_filterでクリーニング
  3. Bowtie2でマッピング(リファレンスゲノムをダウンロードしておく必要有)
  4. Samtoolsでバイナリー化
  5. 必要が有ればbedtoolsのintersectBedを使ってリピート配列の除去
  6. MACSでピークコール
  7. R+Bioconductorを用いて高次解析
    • ChIPpeakAnno
      • アノテーション付加(近傍TSSまでの距離・EnsEMBL Gene ID・上流下流)
    • org.Mm.eg.db
      • Gene ontology
    • BSgenome
      • ピーク領域の配列を得る
    • rGADEM
      • de novo motif search
    • MotIV
      • 既存データとの類似性チェック
Rを使った高次解析については二階堂さんのHPが参考になる。とりあえず、1-6に関して実際にやった流れを記す。長いのと、Rの使い勝手がすこしちがうので7に関しては別に記す。

1については既に終わっている。

2から始める。(workディレクトリにfastqファイルがある前提でworkで作業を行う。)

とりあえずfastqc
fastqc -t 8 Sox2_ChIP-seq_Oct3_4_KODay0.fastq -o ./
しばらく待つと、Sox2_ChIP-seq_Oct3_4_KODay0.fastqcというディレクトリとそのzipファイルが出来る。それをディレクトリごとローカルに転送する。ローカル側から
scp -r kosugi@サーバーアカウント:/home/kosugi/local/work/Sox2_ChIP-seq_Oct3_4_KODay0.fastqc.zip /Users/TK/fastqc/  
すると指定した場所にディレクトリごと転送される。その中にfastqc_report.htmlがあるのでブラウザーにドラッグアンドドロップする。
こんな感じになる。3'末のクオリティーが低いものが多い事がわかる。FASTQ形式についてwikiで調べればこの数値についてある程度解説が見られる。とりあえず今回は3'末端からクオリティー値を20未満のものをトリミングして、30bp未満のreadを破棄。さらに、80%以上がクオリティー値が20以上ものを抽出する事にした。オプションの詳細はFASTX-Toolkitのusageを確認する。パイプ(|)でつなげてそのまま実行する。
fastq_quality_trimmer -t 20 -l 30 -Q 33 -i Sox2_ChIP-seq_Oct3_4_KODay0.fastq | fastq_quality_filter -q 20 -p 80 -Q 33 -o ./Sox2_ChIP-seq_Oct3_4_KODay0.clean.fastq
このfastqファイルを先ほどと同様にfastqcしてfastqc_report.htmlをみる。
クリーニングされた事が見た目でわかる。
それぞれのfastqファイルをwc -lすると行数がわかる
wc -l Sox2_ChIP-seq_Oct3_4_KODay0.fastq
62931980 Sox2_ChIP-seq_Oct3_4_KODay0.fastq
wc -l Sox2_ChIP-seq_Oct3_4_KODay0.clean.fastq
59910120 Sox2_ChIP-seq_Oct3_4_KODay0.clean.fastq
fastqは4行で1readなので大体0.8M read程除去されたことがわかる。

3のBowite2によるマッピング

とりあえずコマンド。10分程かかる。read数やマシーン性能に依存する。
bowtie2 -t -p 8 -x ../bowtie2-2.2.1/indexes/mm10 -U Sox2_ChIP-seq_Oct3_4_KODay0.clean.fastq -S SoxDay0.sam


オプションの意味は 時間:-t
コア数:-p
インデックスのパス:-x
fastqのパス:-U
出力名:-S

4のSamtoolsによるバイナリ化

とりあえずコマンド。
samtools view -Sb SoxDay0.sam > SoxDay0.bam
[samopen] SAM header is present: 66 sequences.等と出て、数分待つ。 オプションの意味は
-S:インプットがsamファイル 
-b:アウトプットがbamファイル
bowtieで吐き出されるのは人間が理解できるsamファイルであり、これ以降のステップではバイナリー化しないと認識してくれないらしくこのステップが必要になる。つぎにソートを行う。igvというツールを使う時にindexを作る必要が有り、そのためには順序よく並んでないと怒られるらしい。
samtools sort SoxDay0.bam SoxDay0.sorted
すると、SoxDay0.sorted.bamというのがつくられる。次にindexを作る。
samtools index SoxDay0.sorted.bam
数分待つとSoxDay0.sorted.bam.baiファイルが出来る。今回はigvでマップされたものを確認しない。次にマップ率を出す。flagstatを使う。
samtools flagstat SoxDay0.sorted.bam > SoxDay0.sorted.bam.summary.txt 
less SoxDay0.sorted.bam.summary.txt
14977530 + 0 in total (QC-passed reads + QC-failed reads)
0 + 0 duplicates
14529891 + 0 mapped (97.01%:-nan%)
0 + 0 paired in sequencing
0 + 0 read1
0 + 0 read2
0 + 0 properly paired (-nan%:-nan%)
0 + 0 with itself and mate mapped
0 + 0 singletons (-nan%:-nan%)
0 + 0 with mate mapped to a different chr
0 + 0 with mate mapped to a different chr (mapQ>=5)

97%がマップされている。

5のintersectBedを使ってリピート配列の除去

必要が有ればrepeat region にマップされたreadsを除去する。これには準備が必要でUCSC Table Browserからデータをダウンロードしておく。以下のように設定して、get outputしたらダウンロードできる。

local/shareに転送した。これで準備完了
scp /Users/TK/Downloads/repeats_mm10.bed kosugi@サーバー名:/home/kosugi/local/share
以下がrepeat regionを除去するコマンド。
intersectBed -abam SoxDay0.sorted.bam -b ../share/repeats_mm10.bed -v > SoxDay0.rmRepeat.bam
これで除去できた。 6のMACSによるピークコール コントロールのサンプルについても同様の作業を行って、bamファイルが2つある状況にする。準備ができたら以下のコマンドを叩く。数分待つ。
macs14 -t SoxDay0.sorted.bam -c SoxKODay2.sorted.bam -f bam -g mm -n SoxDay0
オプションの意味は -t:sampleファイル -c:controlファイル -f:ファイル形式 -g:ゲノムサイズ -n:出力名 終わると、色んなファイルが出力される。
SoxDay0_negative_peaks.xls
SoxDay0_summits.bed
SoxDay0_peaks.bed
SoxDay0_peaks.xls
SoxDay0_model.r
例えば、SoxDay0_peaks.bedの中身はこんな感じ。
head SoxDay0_peaks.bed
chr1 3062864 3063136 MACS_peak_1 81.45
chr1 3482902 3483152 MACS_peak_2 65.14
chr1 4150841 4151273 MACS_peak_3 222.85
chr1 4660129 4660269 MACS_peak_4 53.63
chr1 4802472 4802926 MACS_peak_5 193.69
chr1 4855364 4855775 MACS_peak_6 270.83
chr1 4972272 4972486 MACS_peak_7 71.27
chr1 4972497 4972701 MACS_peak_8 84.01
chr1 6448821 6449289 MACS_peak_9 126.84
chr1 6458167 6458317 MACS_peak_10 62.50
以下のように、ローカル側からxlsファイルを転送すればエクセルで見られる。3000ヶ所くらいピークが見つかった。
scp kosugi@サーバー名:/home/kosugi/local/work/SoxDay0_peaks.xls /Users/TK/MACS/ 
wiggleファイルが欲しい場合はMACSを実行する時に -wとオプションをつける。(結構時間がかかる数十分)

2014年4月13日日曜日

Rのインストール

解析をするにあたって、Rという統計解析ツールがあると便利そうなのでダウンロード、インストールを行う。root権限無しの画面無しの条件にインストールする情報がすくない状況だったので、やや試行錯誤した。
HPはここ。Source Code for all Platformsの最新版である、 R-3.1.0.tar.gzをダウンロードする。
ターミナルを開いてsrcに移動し、wget "と記述し、R-3.1.0.tar.gzをドラッグアンドドロップしたら"と記述する。
cd src/
wget "http://cran.ism.ac.jp/src/base/R-3/R-3.1.0.tar.gz"
次に解凍。.tar.gzなのでtar zxvfで解凍。-Cで解凍先にlocalを指定する。
tar zxvf R-3.1.0.tar.gz -C ../local/
localのR-3.1.0に移動してREADMEやINSTALL、doc/manual/R-admin.texiをみてもなんかいまいちわからない。なのでここを参照する。

2.4 Instrationをみると、root権限が無い状況で/usr/local/bin/にインストールできない時には、prefixが使える。./configure optionの項目を見ると、計算機を使うような画面無しの条件だと--with-x=noオプションを追加して./configureをすればいいらしい。
./configure --prefix=/home/kosugi/local --with-x=no
makeする。
make
makeに結構時間かかる。5分くらい。そのご以下のコマンドを叩く。
make check
make install
これが終わると、R-3.1.0/bin以下に様々なプログラムがある事がわかる。 なのでパスを通す。
export PATH=/home/kosugi/local/R-3.1.0/bin/:$PATH
R -hと叩くと
R -h

Usage: R [options] [< infile] [> outfile]
   or: R CMD command [arguments]

Start R, a system for statistical computation and graphics, with the
specified options, or invoke an R tool via the 'R CMD' interface.

Options:
以下オプションの説明
となったので問題なく使えそう。vimで.bashrcにパスを記述しておく。ファイルが開いたらiを押すと書き込める。以下を一番下に追記する。追記したらescキーを押して:wq
vim ~/.bashrc
##R
export PATH=/home/kosugi/local/R-3.1.0/bin/:$PATH
再ログインして
echo $PATH
/home/kosugi/local/R-3.1.0/bin/:~その他のパス
となる。R -hとコマンドを叩くと先ほどと同様にusageがでるのでこれでRが使えるようになったぽい。他のツールと同様でprefixでどうにかなるが、画面無しのオプション--with-x=noこれをつける事がエラーを出さないポイントか・・・。 ただ全然使い方わからない。統合TVで検索したらR+Bioconductorを使ったNGS解析1R+Bioconductorを使ったNGS解析2というものが動画でUPされていてここで紹介されている二階堂さんのLearning Rのページが非常に参考になる。まずはこれを参考にしてRというツールを使う事に慣れて、ChIP-seqのピーク検出後の高次解析を行えるようにする。

bedtoolsのインストール

リピート配列の部分を除去したほうがde novo motif searchをする時に繰り返し配列に含まれる配列があまり出てこなくなるらしい。
その為にbedtoolsのintersectBedというプログラムを使うと簡単に除去できるらしい
とりあえずダウンロードする。HPはここ
release can found hereと書かれてる右側のリンクへ移動する。


ターミナルを開いてsrcに移動しwget"と記述してbedtools-2.19.1.tar.gzのリンクをドラッグアンドドロップして"とする
cd src/
wget "https://github.com/arq5x/bedtools2/releases/download/v2.19.1/bedtools-2.19.1.tar.gz"
localに解凍する。.tar.gzなのでtar zxvfで解凍。-Cで解凍先を指定する。
tar zxvf bedtools-2.19.1.tar.gz -C ../local/

localのbedtools-2.19.1に移動してREADME.mdをみてもインストールに関する事が書いていない。のでここにあるマニュアルをダウンロードしてみるとinstallという項目がある。
make clean
make all
とすればよいらしい
make clean
* Cleaning-up BamTools API
* Cleaning up.
となって
make all
Building BEDTools:
=========================================================
DETECTED_VERSION = v2.19.1
CURRENT_VERSION  = v2.19.0-15-g733c84b
Updating version file.
 * Creating BamTools API
...以下100行ぐらいコンパイルが続く
これが終わると、bedtools-2.19.1/bin以下に様々なプログラムがある事がわかる。 なのでパスを通す。
export PATH=/home/kosugi/local/bedtools2-2.19.1/bin/:$PATH
intersectBedと叩くと
intersectBed

Tool:    bedtools intersect (aka intersectBed)
Version: v2.19.1
Summary: Report overlaps between two feature files.

Usage:   bedtools intersect [OPTIONS] -a  -b 
以下オプションの説明
となったので問題なく使えそう。vimで.bashrcにパスを記述しておく。ファイルが開いたらiを押すと書き込める。以下を一番下に追記する。追記したらescキーを押して:wq
vim ~/.bashrc
##bedtools
export PATH=/home/kosugi/local/bedtools2-2.19.1/bin/:$PATH
再ログインして
echo $PATH
/home/kosugi/local/bedtools2-2.19.1/bin/:~その他のパス
となっているので問題なくつかえそうだ。

2014年4月11日金曜日

FASTX-Toolkitのインストール

ちょっと試していくうちにシーケンスリードをある一定基準でトリミングしたり、破棄したりするツールが必要だという事に気づいた。とりあえずFASTX-Toolkitというのが便利らしいのでダウンロードする。HPはここ
Download & Installationをクリックする。
Fastx-toolkit version 0.0.13 requires libgtextutils-0.6 (available here for download)とかかれているのでlibgtextutilsも必要。とりあえず最新版であるlibgtextutils-0.7.tar.gzをまず先にインストールする。 ターミナルを開いて
cd src/
wget "https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2"
localに解凍する。
tar zxvf libgtextutils-0.7.tar.gz -C ../local/
ディレクトリを移動して、INSTALLファイルを見るとIt is recommended to use the following options: ./configure --prefix=/boot/common といった記述が有るので、./configureとコンパイル、インストールをする。
./configure --prefix=/home/kosugi/local/
make
make install
とすると/local/lib以下にlibgtextutils-0.7関連のファイルの存在が確認できる。これでいいのだろうか・・・ とりあえず、本題の最新のfastx_toolkit-0.0.14.tar.bz2をダウンロードして、localに解凍する。
wget "https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2"
tar jxvf fastx_toolkit-0.0.14.tar.bz2 -C ../local/
localにできたディレクトリに移動して./configureとコンパイル、インストールをする。
./configure --prefix=/home/kosugi/local/
とすると
checking for GTEXTUTILS... configure: error: Package requirements (gtextutils) were not met:

No package 'gtextutils' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GTEXTUTILS_CFLAGS
and GTEXTUTILS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
と怒られる。どうやらさきほど出来た/home/kosugi/local/lib/にpkgconfigディレクトリがあるのでそれにPKG_CONFIG_PATHのパスを通せという事のようだ。 vimで.bashrcに記述。ファイルが開いたらiを押すと書き込める。以下を一番下に追記する。追記したらescキーを押して:wq
vim ~/.bashrc
export PKG_CONFIG_PATH=/home/kosugi/local/lib/pkgconfig/:$PKG_CONFIG_PATH
一度ターミナルを切って再接続して確認する。
echo $PKG_CONFIG_PATH
/home/kosugi/local/lib/pkgconfig/:
多分これでよいはず。fastx_toolkit-0.0.14ディレクトリにもどって
./configure --prefix=/home/kosugi/local/
make
make install
とすると、local/bin以下にたくさんのツールが有る事が確認できる。すでに、/home/kosugi/local/binにはパスが通っているので、たとえばホームディレクトリで
fastq_quality_trimmer -h
usage: fastq_quality_trimmer [-h] [-v] [-t N] [-l N] [-z] [-i INFILE] [-o OUTFILE]
Part of FASTX Toolkit 0.0.14 by A. Gordon (assafgordon@gmail.com)
以下オプションの説明
無事インストールがすんだ。./configure時に特にprefixする必要が無い状況であれば大して困らないと思うがroot権限が無いような状況でもなんとかインストールできる事がわかった。