2013年3月31日日曜日

Sequence Logoの作成(WebLogoを使ってみた)

シークエンスロゴ(Sequence Logo)とは、特定の部位における塩基もしくはアミノ酸の保存性(もしくは出現頻度)を視覚化した図のことです。

シークエンスロゴによるモチーフ配列(コンセンサス配列)の表示に使われたりします。

〈WebLogoに必要なパッケージのインストール〉
Weblogoをインストールする前に、「ghostscript」「pdf2svg」「numpy」とpythonの「setuptools」をあらかじめインストールする必要があります。以下、「apt-get」commandを利用してパッケージをインストールしていきたいと思います。

(1)ghostscriptのインストール
$ apt-file search /usr/bin/ghostscript
ghostscript: /usr/bin/ghostscript
⇒パッケージ名を検索。
$ sudo apt-get install ghostscript
[sudo] password for imamachi:
⇒パッケージのインストール。管理者権限により実行。
⇒Ubuntuではデフォルトでインストールされている場合があります。

(2)pdf2svgのインストール
$ apt-file search pdf2svg
docvert-libreoffice: /usr/share/docvert/core/config/unix-specific/convert-using-pdf2svg.sh
pdf2svg: /usr/bin/pdf2svg
pdf2svg: /usr/share/doc/pdf2svg/changelog.Debian.gz
pdf2svg: /usr/share/doc/pdf2svg/copyright
pdf2svg: /usr/share/man/man1/pdf2svg.1.gz
ruby-poppler: /usr/share/doc/ruby-poppler/examples/pdf2svg.rb
$ sudo apt-get install pdf2svg
[sudo] password for imamachi:

(3)numpyのインストール
$ apt-file search usr/include/numpy
python-numpy: /usr/include/numpy
$ sudo apt-get install python-numpy
[sudo] password for imamachi:

(4)pythonのsetuptoolsのインストール
$ apt-file search setuptools
python-setuptools: /usr/lib/python2.7/dist-packages/setuptools.egg-info
python-setuptools: /usr/lib/python2.7/dist-packages/setuptools.pth
python-setuptools: /usr/lib/python2.7/dist-packages/setuptools/__init__.py
python-setuptools: /usr/lib/python2.7/dist-packages/setuptools/archive_util.py
python-setuptools: /usr/lib/python2.7/dist-packages/setuptools/cli-32.exe

$ sudo apt-get install python-setuptools
[sudo] password for imamachi:

〈WebLogoのインストール〉
(1)WebLogoをpythonのsetuptoolsを利用し、インストールする。
$ sudo easy_install weblogo
[sudo] password for imamachi:
Searching for weblogo
Reading http://pypi.python.org/simple/weblogo/
Reading http://code.google.com/p/weblogo/
Best match: weblogo 3.3
Downloading http://weblogo.googlecode.com/files/weblogo-3.3.tar.gz
Processing weblogo-3.3.tar.gz
Running weblogo-3.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-uW4jWu/weblogo-3.3/egg-dist-tmp-qHfZq3
warning: no files found matching '*.html' under directory 'weblogolib/htdocs/'
warning: no files found matching '*.cgi' under directory 'weblogolib/htdocs/'
warning: no files found matching '*.*' under directory 'weblogolib/htdocs/'
warning: no files found matching '*.*' under directory 'test_weblogo/data/'
warning: no files found matching '*.*' under directory 'test_corebio/'
warning: no files found matching '*.*' under directory 'test_corebio/data/'
warning: no files found matching '*.html' under directory 'apidocs/'
warning: no files found matching '*' under directory 'corebio/data/'
warning: no files found matching '*.*' under directory 'corebio/data/'
zip_safe flag not set; analyzing archive contents...
corebio.data: module references __file__
weblogolib._cli: module references __file__
weblogolib.__init__: module references __file__
weblogolib._cgi: module references __file__
Adding weblogo 3.3 to easy-install.pth file
Installing weblogo script to /usr/local/bin
Installing transformseq script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/weblogo-3.3-py2.7.egg
Processing dependencies for weblogo
Finished processing dependencies for weblogo
⇒途中、警告文が出ているが、インストール自体はうまく行っているよう。

(2)WebLogoがインストールされているか確認する。
$ weblogo --version
WebLogo 3.3 (2012-07-02)

〈Weblogoを実行する〉
$ weblogo -f INPUT_file.fasta -o OUTPUT_file.png -F png
⇒実行例。他のオプションについてはWebLogoのサイトを確認。

・オプション
-f: INPUTファイルの指定(fasta format)
-o: OUTPUTファイルの指定(とりあえず拡張子もつけておく。)
-F: OUTPUTファイルのファイルフォーマットの指定。

〈参考文献〉
・Sequence logo - Wikipedia
http://en.wikipedia.org/wiki/Sequence_logo
・WebLogo 3 : User's Manual
http://weblogo.threeplusone.com/manual.html

Command Line Interfaceからパッケージをインストール(apt-getの活用)

今回は、Synapticパッケージマネジャーを利用しないやり方の紹介になります。

何かのパッケージをLinuxにインストールするのに、いちいちウェブサイトに出向いて、目的のパッケージをダウンロードしてきて、インストールするのは億劫ですよね。

そこで、「apt-get」コマンドの出番です( ・`ω・´)

このコマンドで、目的のパッケージを自動的にダウンロード・インストールまで行なってくれます。また、足りないパッケージを追加でインストールしてくれるので、さらに便利。

〈apt-fileで目的のファイルを含むパッケージの候補を検索〉
(1)まず、インストールしたいファイル・パッケージを検索します。
$apt-file search 任意のファイル名
libexpat1-dev: /usr/include/expat.h #libexpat1-devがパッケージ名になります。
⇒様々の候補が出力されるので、任意のものを選択。

〈apt-getで目的のファイルを含むパッケージをインストール〉
(1)管理者権限のもとで、インストールを実行します。
$ sudo apt-get install 任意のパッケージ名

あとは、インストールが終わるのをぼーっと待っています。
使用するディスク容量が大きい場合は以下のような文章が表示されます。

この操作後に追加で 17.6 MB のディスク容量が消費されます。
続行しますか [Y/n]?  y

パッケージをインストールしていいか聞いてくるので、「y」と入力して、「Enterキー」を叩きましょう。問題が発生しなければ、インストールが実行されます。

端末内でのコピー&ペーストを可能にする(Linux, Ubuntu, VMware)

Ubuntuの端末を使っていて困るのが、「CTRL+C」でコピー、「CTRL+V」で貼り付けができないことです。

そこで、Ubuntuの端末のキーボードショートカットキーの変更を行うことで、上記のショートカットキーを使えるように設定を変更したいと思います。

(1)まず、端末を開く。

(2)メニューバーから、[編集]→[キーボードショートカット]をクリック。

(3)ウインドウが開くので、操作欄の「編集」にある「コピー」と「貼り付け」のショートカットキーを任意のキーに変更する。
⇒項目を選択し、今のショートカットキーをクリックする。すると、「新しいアクセラレータ…」と表示されるので、その状態で任意のキーを入力することで、ショートカットキーが変更される。

fastqファイルのクオリティチェック(fastq_illumina_filterを使ってみた)

illuminaのCASAVA-1.8 pipeline(Version 1.8)で生成されたfastqファイルは、クオリティの低いリードには「Y」、クオリティの良いリードには「N」が与えられています。(クオリティの良し悪しはCASAVA filteringにより落ちたリードかどうかで判断。フィルタリングの具体的な方法はよくわかっていない。)

fastqファイルは1つの配列の情報が4行で記述されており、CASAVA filterから落ちたリードかどうかはその1行目に書かれています。(fastqファイルのデータの読み方についてはwikiを参照。)

NCBIの「Gene Expression Omnibus(GEO)」か、DDBJの「Sequence Read Archive(SRA)」からダウンロードしたsraファイルを「SRA Toolskit」でfastqファイルに変換すると、illuminaのCASAVA pipelineから生成されたfastqファイルであっても、CASAVA filterの情報(NもしくはY)が抜け落ちています。(fastq-dumpコマンドを実行すると、自動的にクオリティの低いリードはフィルタリングされているよう。そのため、あまり気にする必要がないのかも。)

そのため、GEOやSRAのような「Public database」からダウンロードしてきたsraファイル(fastqファイル)については、以下の作業を行う必要はないと思います。

ただ、illuminaのCASAVA-1.8 pipelineを使って自前でfastqファイルを生成した場合では、以下のCASAVA filteringでクオリティが低いと判断されたリード(「Y」と記載)を排除したほうが良いと思います。

〈fastq_illumina_filter-0.1のインストール〉
(1)wgetコマンドで指定したサイトからファイルをダウンロードする。
$ wget http://cancan.cshl.edu/labmembers/gordon/fastq_illumina_filter/fastq_illumina_filter-0.1.tar.gz
⇒もしくは以下のサイトから、「Download」の「Source code」にあるファイルをダウンロード。
http://cancan.cshl.edu/labmembers/gordon/fastq_illumina_filter/

(2)ファイルを解凍する。
$ tar -xzf fastq_illumina_filter-0.1.tar.gz

(3)解凍したファイルのディレクトリに移動する。
$ cd fastq_illumina_filter-0.1

(4)コンパイルを実行する。
$ make
g++ -O2 -g -Wall -Wextra -Werror    fastq_illumina_filter.cpp   -o fastq_illumina_filter

(5)パスの通っているディレクトリへ、プログラム(fastq_illumina_filter)を移動する。
$ sudo cp fastq_illumina_filter /usr/local/bin
[sudo] password for imamachi:
⇒一時的に管理者権限を利用する。

(6)インストールされているか、実際にコマンドを実行してみる。
$ fastq_illumina_filter
fastq_illumina_filter (version 0.1) - Filters a FASTQ file generated by CASAVA 1.8
Copyright (C) 2011 - A. Gordon <gordon@cshl.edu> - Released under AGPLv3 or later.

Usage: fastq_illumina_filter  [--keep Y/N] [-NYhv] [-o OUTPUT] [INPUT]

   [INPUT]   = Input file. Reads from STDIN if no file is specified.
   [-o OUTPUT] = Output file. Default is STDOUT if no file is specified.
   --keep N  = Keep reads that were NOT filtered.
               (Reads that have 'N' in the read-ID line.)
   --keep Y  = Keep reads that were filtered.
               (Reads that have 'Y' in the read-ID line.)
   -N      = same as '--keep N'
   -Y      = save as '--keep Y'
   -v      = Report read counts to STDERR
             Use twice to show progress while procesing the file.
             When combined with '-o FILE', report goes to STDOUT.
   -h      = This helpful help screen

!! NOTE ABOUT Y/N !!:
  Reads that were filtered (have 'Y' in the read-ID)
  are the LOW QUALITY reads. You most likely DO NOT want them.
  (In previous CASAVA version, those are reads that have not passed filtering)

  Reads that were NOT filtered are the better-quality reads.
  So using '-N' or '--keep N' is probably the option you want to use.

FASTQ files from CASAVA-1.8 Should have the following READ-ID format:
@<instrument>:<run number>:<flowcell ID>:<lane>:<tile>:<x-pos>:<y-pos> <read>:<is filtered>:<control number>:<index sequence>

Example 1:
  $ gunzip -c NA10831_ATCACG_L002_R1_001.fastq.gz | head -n 4
  @EAS139:136:FC706VJ:2:5:1000:12850 1:N:18:ATCACG
  AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  +
  BBBBCCCC?<A?BC?7@@???????DBBA@@@@A@@

  $ gunzip -c NA10831_ATCACG_L002_R1_001.fastq.gz | fastq_illumina_filter -vvN | gzip > good_reads.fq.gz
  Processed 4,000,000 reads
  fastq_illumina_filter (--keep N) statistics:
  Input: 4,000,000 reads
  Output: 3,845,435 reads (96%)

Example 2 (The input and output files are not compressed):
  $ fastq_illumina_filter --keep N -v -v -o good_reads.fq NA10831_ATCACG_L002_R1_001.fastq
  Processed 4,000,000 reads
  fastq_illumina_filter (--keep N) statistics:
  Input: 4,000,000 reads
  Output: 3,845,435 reads (96%)

〈使用例〉
$ fastq_illumina_filter -N -v -o OUTPUT_file.fastq INPUT_file.fastq

・オプション
-N: CASAVA filterで落ちなかったリードをOUTPUT_file.fastqに出力。
-v: リード数の情報などを画面に出力。(STDERR)
など

〈参考文献〉
・Fastq - Wikipedia
http://ja.wikipedia.org/wiki/Fastq

2013年3月30日土曜日

一秒ごとにメモリの使用量を確認する方法(Linux)

解析をしていて気がかりなのが、メモリーの使用量です。

特に、マッピングの際に使用されるメモリーをモニタリングして、メモリー不足になっていないか確認したいと思うことがあります。(しょぼいスペックしか持たないパソコンなら尚更です…。)

メモリの使用量を見るには「free」コマンド、プログラムを一定間隔で実行し続ける「watch」コマンドを利用します。コマンドは以下のとおり。

(1)一秒ごとにメモリの使用量をMB単位で表示させる。
$ watch -n 1 free -m

-n: 秒単位でコマンドを実行する間隔を指定する。
-m: MB単位でメモリーの使用量を確認する。

以上。

2013年3月29日金曜日

Motif Discovery (Weederを使ってみた)

前回に引き続き、コンセンサス配列(モチーフ配列)の検索ツールについての説明です。

今回は、「Weeder」と呼ばれるソフトを使ってみたいと思います。このソフトもよく利用されていると思います。

〈インストール方法〉
(1)下記のサイトからWeederをダウンロードする。
http://159.149.160.51/modtools/
⇒左側の「Downloads」から「Weeder1.4.2」をクリックする。ダウンロードのページに移動するので、Unix/Linux/Cygwin Source Code (NEW: version 1.4.2)をクリックし、ファイルをダウンロードする。

(2)ファイルを解凍する。
$ tar zxvf weeder1.4.2.tar.gz

(3)Weederのディレクトリに移動する。
$ cd Weeder1.4.2/

(4)コンパイルを実行。
$ ./compileall
gcc src/weederTFBS.c -o weederTFBS.out -O2 -lm
src/weederTFBS.c: 関数 ‘main’ 内:
src/weederTFBS.c:1050:5: 警告: 書式 ‘%d’ は引数の型が ‘int’ であると予期されますが、第 3 引数の型は ‘long int’ です [-Wformat]
src/weederTFBS.c:1050:5: 警告: 書式 ‘%d’ は引数の型が ‘int’ であると予期されますが、第 4 引数の型は ‘long int’ です [-Wformat]
src/weederTFBS.c:1052:5: 警告: 書式 ‘%d’ は引数の型が ‘int’ であると予期されますが、第 3 引数の型は ‘long int’ です [-Wformat]
src/weederTFBS.c:1052:5: 警告: 書式 ‘%d’ は引数の型が ‘int’ であると予期されますが、第 4 引数の型は ‘long int’ です [-Wformat]
src/weederTFBS.c:1054:5: 警告: 書式 ‘%d’ は引数の型が ‘int’ であると予期されますが、第 3 引数の型は ‘long int’ です [-Wformat]
src/weederTFBS.c:1054:5: 警告: 書式 ‘%d’ は引数の型が ‘int’ であると予期されますが、第 4 引数の型は ‘long int’ です [-Wformat]
src/weederTFBS.c:458:10: 警告: warn_unused_result 属性付きで宣言されている ‘fscanf’ の戻り値を無視しています [-Wunused-result]
gcc src/weederlauncher.c -o weederlauncher.out -lm
gcc src/adviser.c -o adviser.out -O2 -lm
src/adviser.c: 関数 ‘main’ 内:
src/adviser.c:289:10: 警告: warn_unused_result 属性付きで宣言されている ‘fscanf’ の戻り値を無視しています [-Wunused-result]
gcc src/locator.c -o locator.out -O2 -lm
src/locator.c: 関数 ‘main’ 内:
src/locator.c:329:10: 警告: warn_unused_result 属性付きで宣言されている ‘fscanf’ の戻り値を無視しています [-Wunused-result]
⇒よくわからない警告文が出ていましたが、インストールはうまくいったようです。

〈Frequency fileの作成〉
Weederの場合、バックグラウンドとなるデータをあらかじめ作っておく必要があります。(転写因子の結合サイトを探す場合は、すでに用意されているファイルを使えばよいみたいです。)

(1)下記のサイトへもう一度行き、左側の「Additional tools」のFrequency maker (for adding new species to Weeder)をクリック。
http://159.149.160.51/modtools/

(2)「How to build a new frequency file for Weeder」というページに移動するので、上から2つ目の「Download this program (works under UNIX/LINUX/MacOSX/Cygwin)」を右クリック、リンク先のファイルを保存してください。(名前は「wfrequency_maker.cpp」のままでダウンロードする。

(3)ファイルをダウンロードしたディレクトリに移動し、コンパイルを実行。
$ g++ wfrequency_maker.cpp -o wfrequency_maker

(4)バックグラウンドとして使用する配列のFASTAファイルのパス、およびバックグラウンドデータを呼び出す際に用いる任意の2文字を入力して、Frequency fileを作成する。
$ ./wfrequency_maker ./任意のパス/INPUT_file.fasta XX(任意の2文字)

Reading sequences file (avoiding duplicates)... done - Read sequence(s): 9360 Good Sequences: 9325 Duplicated sequence(s): 34
Building 6mers list... done
Finding exact occurrences... done
Counting 6mers occurrences...4096/4096 done
Writing freq file: UP.6.freq done

Building 8mers list... done
Finding exact occurrences... done
Counting 8mers occurrences...65527/65527 done
Writing freq file: UP.8.freq done

XX.6.freq
XX.8.freq

⇒上記の2種類のファイルができるので、これらのファイルをWeeder1.4.2ディレクトリ中の「FreqFiles」へ移動させる。

〈モチーフ検索〉
$ ./weederlauncher.out ./任意のパス/INPUT_file.fasta XX(バックグラウンドデータ) analysis_mode
⇒上記はあくまでコマンドの入力例になります。詳しくは、「weedermanual.pdf」を呼んでみてください。

・パラメータ
analysis_modeはいくつか用意されています。
small: 6mer、8merのモチーフを検索する
median: 6mer、8mer、10merのモチーフを検索する
large: 6mer、8mer、10mer、12merのモチーフを検索する
などなど。

・オプションパラメータ
M: モチーフ配列が同一の配列に対して「2回以上」出現するモチーフ配列を検索する。
T[1-n]: モチーフ検索の回数を指定する。(1-n回: default 10)
などなど。

〈参考文献〉
Weeder Web: discovery of transcription factor binding sites in a set of sequences from co-regulated genes
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC441603/

Motif Discovery (BioProspectorを使ってみた)

ChIP-seqやCLIP-seqを行うことにより、転写因子が結合する領域や、RNA結合タンパク質が結合する領域を絞り込むことができます。

さらに、それらの結合領域の配列データから、転写因子やRNA結合タンパク質が結合するであろうコンセンサス配列(モチーフ配列)を調べるというのが一般的な解析の流れだと思います。

ChIP-seqやCLIP-seq用に開発された解析ツールも存在しますが、今回は古典的なモチーフ検索を行うツールによるコンセンサス配列(モチーフ配列)の予測を行なってみたいと思います。

これらのモチーフ検索ソフトを利用することによって、ChIP-seqやCLIP-seqの解析のみならず、3'UTRやintron中などにひそむコンセンサス配列(モチーフ配列)を予測することができます。(予測精度は定かではありませんが…。)

〈インストール方法〉
(1)BioProspector 2004 releaseをダウンロードする。

(2)ダウンロードしてきたファイルを解凍する。
$ unzip Bioprospector.zip

(3)Bioprospectorのディレクトリに移動する。
$ cd Bioprospector

(4)LinuxをOSとして使用している場合は、「BioProspector.linux」のファイル名を「BioProspector」に変更する。
$ mv BioProspector.linux BioProspector

(5)パーミッションの変更。
$ chmod 555 BioProspector

〈モチーフ検索〉
$ ./BioProspector -i INPUT_file.fasta -b Background_file.fasta -W motif_width -n number_of_times_trying_to_find_motif -d 1 -o Result_file.txt
⇒上記はあくまでコマンドの入力例になります。詳しくは、「BioProspector.README」を呼んでみてください。

・オプションパラメータ
-W [4-50]: モチーフ配列の長さを決める。(4-50mer: Default 10mer)
-o Result_file.txt: 結果の出力先を指定。
-b Background_file.fasta: バックグラウンドの配列データ(ゲノム配列、解析対象となる全遺伝子の配列データ(Promoter領域、Intron、3'UTR)など。)
-n [1-200]: モチーフ検索を行う回数。(1-200回: Default 40)
-r [1-n]: スコアの高いモチーフ配列を出力する数(1以上: Default 5)
-d 1: 投げた配列のAntisense鎖は解析に使用しない。(Default 0: 使用する)
などなど。

あとは試行錯誤で、自分の解析目的に応じてパラメータをいじくる。

〈参考文献〉
BioProspector: discovering conserved DNA motifs in upstream regulatory regions of co-expressed genes

2013年3月28日木曜日

ディスク容量の確認(Linux)

Linux OSを使用していると、「ディスクの容量の空きってどのくらいなんだろう?」って気になるときがあります。

そんな時、以下のコマンドを打つだけでディスク容量を把握することができます。

$df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        19G  5.5G   13G  31% /
udev            494M  4.0K  494M   1% /dev
tmpfs           201M  1.1M  200M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            501M  124K  501M   1% /run/shm

こんな感じ。

CPANを利用してPerlモジュールをインストールする(Linux, Ubuntu)

Perlモジュールをインストールしたいとき、CPANのサイトからわざわざモジュールを一個一個ダウンロードしてインストールするのは億劫です。

また、特定のPerlモジュールをインストールする際、別のPerlモジュールも必要となる場合もあるため、必要なモジュールを一括してインストールできれば便利です。

そこで、コマンドを使った方法で、Perlモジュールをインストールする方法を紹介したいと思います。この方法を用いると、足りないPerlモジュールを追加で自動的にインストールしてくれます。

〈CPAN経由でのインストール〉
(1)rootユーザーになり、管理者権限を獲得する。
$ su 

(2)CPANを呼び出す。
$ perl -MCPAN -e shell
⇒初めて場合、いろいろな質問が出てくるが、「Enterキー」を押すか「y」を入力して先に進む。

(3)Perlモジュールをインストールする。
cpan[1]> install モジュール名

(4)CPANを終了させる。
cpan[2]> q

(5)rootユーザーから抜ける。
$ exit

〈指定したPerlモジュールがすでにインストールされている場合〉
(1)インストールを実行する。
cpan[3]> install HTTP::Request
HTTP::Request is up to date (6.00).

cpan[4]> install HTTP::Request::Common
HTTP::Request::Common is up to date (6.04).
上記のように表示されます。

〈指定したPerlモジュールがうまくインストールできない場合〉
(1)インストールを実行する。
cpan[2]> install XML::Parser::Expat
Running install for module 'XML::Parser::Expat'
Running make for T/TO/TODDR/XML-Parser-2.41.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/XML-Parser-2.41-fxgeS3
Could not make: Unknown error 
Running make test
  Can't test without successful make 
Running make install
  Make had returned bad status, install seems impossible

(2)Perlモジュールが保存されているディレクトリに移動して原因を探る。
cpan[3]> q
$ cd /root/.cpan/build/XML-Parser-2.41-fxgeS3
$ perl Makefile.PL
$ make

cc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"2.41\" -DXS_VERSION=\"2.41\" -fPIC "-I/usr/lib/perl/5.14/CORE"   Expat.c
Expat.xs:12:19: 致命的エラー: expat.h: そのようなファイルやディレクトリはありません
コンパイルを停止しました。
make[1]: *** [Expat.o] エラー 1
make[1]: ディレクトリ `/root/.cpan/build/XML-Parser-2.41-fxgeS3/Expat' から出ます
make: *** [subdirs] エラー 2
⇒どうやら、expat.hがLinuxに入っていないために、エラーが起こっているようです。

(3)expat.hをapt-getコマンドでインストール
$ apt-file search /usr/include/expat.h
libexpat1-dev: /usr/include/expat.h

$ sudo apt-get install libexpat1-dev
[sudo] password for imamachi:

(4)再度、CPANでインストールを試みる。
$ perl -MCPAN -e shell
cpan[1]> install モジュール名


2013年3月23日土曜日

Sequence Read Archive (SRA)ファイルをfastqファイルに変換

論文中で使用したRNA-seqなどのNGSデータは、NCBIのホームページの「Gene Expression Omnibus (GEO)」にすべて登録されています。

しかし、このGEOに登録されているNGSデータは見慣れた「fastq」ファイルではなく、「Sequence Read Archive (SRA)」と呼ばれるファイルとして管理されています。

そのため、これらNGSデータを使用する際には、「sra」ファイルから「fastq」ファイルへ変換する必要があります。

ここでは、「sra→fastq」への変換方法の一例を紹介したいと思います。
変換ツールは、NCBIによって配布されている「SRA toolkit」を使用します。

〈SRA toolkitのダウンロード〉
(1)NCBIのサイトの上部にある検索欄のプルダウンメニューから「SRA」を選択し、検索欄には何も入れずに「Search」をクリック。

(2)Toolsの項目中にある「SRA software」をクリック。

(3)「1. NCBI SRA Toolkit latest release (February 20 2013, version 2.3.1 release) compiled binaries and md5 checksums*:」以下から、自分の使用しているOSに対応したSRA toolkitを選択し、ダウンロード。

〈SRA toolkitのインストール〉
(1)ダウンロードしたファイルを保存したディレクトリに移動。
$ cd Download/

$ ls
sratoolkit.2.3.1-ubuntu32.tar.gz

(2)ダウンロードしたファイルを解凍する。
$ tar zxvf sratoolkit.2.3.1-ubuntu32.tar.gz

(3)コンパイルされたプログラム(コマンド)に対して、パスを通す。
⇒SRA toolkitでは、すでにコンパイル済みにプログラムが「sratoolkit2.3.1-ubuntu32/bin」中に入っているので、そのディレクトリにパスを通すだけでOKです。
$ cd sratoolkit.2.3.1-ubuntu32/bin/ #パスを通したいファイルの所在を確認
$ ls

abi-dump                      ncbi               sra-stat
abi-dump.2                    nenctool           sra-stat.2
abi-dump.2.3.1                nenctool.2         sra-stat.2.3.1
abi-load                      nenctool.2.3.1     srf-load
abi-load.2                    pacbio-load        srf-load.2
abi-load.2.3.1                pacbio-load.2      srf-load.2.3.1
align-info                    pacbio-load.2.3.1  test-sra
align-info.2                  prefetch           test-sra.2
align-info.2.3.1              prefetch.2         test-sra.2.3.1
bam-load                      prefetch.2.3.1     vdb-config
bam-load.2                    rcexplain          vdb-config.2
bam-load.2.3.1                rcexplain.2        vdb-config.2.3.1
cg-load                       rcexplain.2.3.1    vdb-copy
cg-load.2                     refseq-load        vdb-copy.2
cg-load.2.3.1                 refseq-load.2      vdb-copy.2.3.1
configuration-assistant.perl  refseq-load.2.3.1  vdb-decrypt
fastq-dump                    sam-dump           vdb-decrypt.2
fastq-dump.2                  sam-dump.2         vdb-decrypt.2.3.1
fastq-dump.2.3.1              sam-dump.2.3.1     vdb-dump
fastq-load                    sff-dump           vdb-dump.2
fastq-load.2                  sff-dump.2         vdb-dump.2.3.1
fastq-load.2.3.1              sff-dump.2.3.1     vdb-encrypt
helicos-load                  sff-load           vdb-encrypt.2
helicos-load.2                sff-load.2         vdb-encrypt.2.3.1
helicos-load.2.3.1            sff-load.2.3.1     vdb-lock
illumina-dump                 sra-dbcc           vdb-lock.2
illumina-dump.2               sra-dbcc.2         vdb-lock.2.3.1
illumina-dump.2.3.1           sra-dbcc.2.3.1     vdb-passwd
illumina-load                 sra-kar            vdb-passwd.2
illumina-load.2               sra-kar.2          vdb-passwd.2.3.1
illumina-load.2.3.1           sra-kar.2.3.1      vdb-unlock
kar                           sra-pileup         vdb-unlock.2
kar.2                         sra-pileup.2       vdb-unlock.2.3.1
kar.2.3.1                     sra-pileup.2.3.1   vdb-validate
kdbmeta                       sra-sort           vdb-validate.2
kdbmeta.2                     sra-sort.2         vdb-validate.2.3.1
kdbmeta.2.3.1                 sra-sort.2.3.1


$ vi ~/.profile #viエディタを用いて、パスを通すディレクトリの所在を記述
赤文字で書いた部分を追加。(パスは任意にディレクトリに対して。)
export PATH="$PATH:/home/imamachi/file/samtools-0.1.19:/home/imamachi/Download/sratoolkit.2.3.1-ubuntu32/bin/"

$ source ~/.profile #上記の変更を適応

〈sra→fastqへの変換〉
(1)変換したいsraファイルのディレクトリへ移動後、下記のcommandを実行し、fastqファイルへの変換。
$ fastq-dump  ./SRR317197.sra -O ./sra_result
コマンドライン引数:  変換したいsraファイルの名前/ディレクトリの指定
-O: 変換したfastqファイルの保存先のディレクトリの指定

以上。

Synapticパッケージマネジャー(Linux OS, Ubuntu)

Ubuntu(Linux OSの1つ)でのみ利用できる便利ツールの紹介です。

Ubuntuには「Synapticパッケージマネジャー」と呼ばれるグラフィカルなパッケージ管理ツールをインストールすることができます。

このツールを使うことで、ソフトウェアのダウンロード・インストールから、ソフトウェアのアップデート、削除まで行うことができます。(もちろん、パスも自動的に通してくれます。)

バイオ系のソフトウェアもこのSynapticパッケージマネジャーでインストール可能なので、かなり便利です。

ただ、このツール上でインストールするソフトが最新のものでない可能性があるので、注意が必要です。

〈バイオ系のソフトウェア一覧〉
・bedtools
・fastx-toolkit
・Picard
・bowtie
・cufflinks
・ncbi-blast+
などなど

※いずれもSynapticパッケージマネジャーでインストール可能なもののみ。

〈インストール方法〉
(1)Ubuntuの「Ubuntuソフトウェアセンター」で「Synapticパッケージマネジャー」で検索。

(2)候補が出てくるので、「Synapticパッケージマネジャー」を選択し、「インストール」ボタンをクリックする。

〈ソフトウェアのインストール方法〉
(1)Synapticパッケージマネジャーを起動すると、「Authentication is required to run the Synaptic Package Manager」というウインドウが最初に開くので、認証パスワードを入力。

(2)「クイック検索」欄でインストールしたいソフトの名前を入力し検索。

(3)インストールしたいにチェックをつける。

(4)上部のリボンにある「適用」ボタンをクリックするだけでインストールが自動で行われる。

ファイルの解凍方法(Linux OS)

各種圧縮ファイルの解凍の仕方についてのメモ。

(1).tar.gz (.tgz)
$ tar zxvf INPUT_file.tar.gz

(2).tar.bz2 (.tbz)
$ tar jxvf INPUT_file.tar.bz2

(3).gz
$ gunzip -d INPUT_file.gz

(4).bz2
$ bzip2 -d INPUT_file.bz2

(5).zip
$ unzip INPUT_file.zip

以上。

Pythonのインストール方法(Linux OS)

Pythonのインストール方法のメモ。

(1)Pythonのホームページに移動。

(2)左にある「DOWNROAD」をクリック。

(3)Python 2.7.3 bzipped source tarball (for Linux, Unix or Mac OS X, more compressed)を選択し、ファイルをダウンロードする。

(4)ダウンロードしたファイルの解凍
$ tar xjvf Python-2.7.3.tar.bz2

(5)解凍したディレクトリの場所に移動。
$ cd Python-2.7.3/

(6)以下のコマンドに順番に実行。
$ ./configure

$ make

$ sudo make install

(7)Pythonがインストールされているか確認。
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-B     : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser; also PYTHONDEBUG=x
-E     : ignore PYTHON* environment variables (such as PYTHONPATH)
-h     : print this help message and exit (also --help)
-i     : inspect interactively after running script; forces a prompt even
         if stdin does not appear to be a terminal; also PYTHONINSPECT=x
-m mod : run library module as a script (terminates option list)
-O     : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
-OO    : remove doc-strings in addition to the -O optimizations
-R     : use a pseudo-random salt to make hash() values of various types be
         unpredictable between separate invocations of the interpreter, as
         a defense against denial-of-service attacks
-Q arg : division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew
-s     : don't add user site directory to sys.path; also PYTHONNOUSERSITE
-S     : don't imply 'import site' on initialization
-t     : issue warnings about inconsistent tab usage (-tt: issue errors)
-u     : unbuffered binary stdout and stderr; also PYTHONUNBUFFERED=x
         see man page for details on internal buffering relating to '-u'
-v     : verbose (trace import statements); also PYTHONVERBOSE=x
         can be supplied multiple times to increase verbosity
-V     : print the Python version number and exit (also --version)
-W arg : warning control; arg is action:message:category:module:lineno
         also PYTHONWARNINGS=arg
-x     : skip first line of source, allowing use of non-Unix forms of #!cmd
-3     : warn about Python 3.x incompatibilities that 2to3 cannot trivially fix
file   : program read from script file
-      : program read from stdin (default; interactive mode if a tty)
arg ...: arguments passed to program in sys.argv[1:]

Other environment variables:
PYTHONSTARTUP: file executed on interactive startup (no default)
PYTHONPATH   : ':'-separated list of directories prefixed to the
               default module search path.  The result is sys.path.
PYTHONHOME   : alternate <prefix> directory (or <prefix>:<exec_prefix>).
               The default module search path uses <prefix>/pythonX.X.
PYTHONCASEOK : ignore case in 'import' statements (Windows).
PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.
PYTHONHASHSEED: if this variable is set to 'random', the effect is the same
   as specifying the -R option: a random value is used to seed the hashes of
   str, bytes and datetime objects.  It can also be set to an integer
   in the range [0,4294967295] to get hash values with a predictable seed.

$ python --version
Python 2.7.3

以上。

2013年3月21日木曜日

パスの通し方(Linux OS, Ubuntu)


Ubuntu(Linux OS)で起動時に自動的に読み込まれるように、パスを通してみたいと思います。

(1)現在のパスを確認。
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

(2)パスを通したいコマンドのバイナリファイルの場所を確認。
$ cd /home/imamachi/file/samtools-0.1.19 #任意のファイルの場所に移動

$pwd #ファイルの場所を確認
/home/imamachi/file/samtools-0.1.19

(2)cdコマンドであらかじめルートディレクトリに移動。
$ cd

(3)viエディタを使って、「.profile」を開く。
$ vi .profile

# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

(4)最終行に「export PATH="$PATH:/home/imamachi/file/samtools-0.1.19"」を入力
〈注意点〉
・ダブルクオーテーション「"」をつけ忘れないこと。
・$PATHのあとに「:」を忘れないこと。

〈viエディタ入力方法〉
・主なコマンド
 :q! 保存せずに終了
 :wq 保存して終了
 :i 現在のカーソル位置から文字を挿入
 :A 現在行の末尾に文字を挿入
 :x 一文字削除
 :ESC コマンドモードへ移行
などなど

〈参考サイト〉
・viの使い方/基本操作
http://www.envinfo.uee.kyoto-u.ac.jp/user/susaki/command/vi.html

〈例〉
export PATH="$PATH:/home/imamachi/Download/sratoolkit.2.3.1-ubuntu64/bin:/home/imamachi/Download/samtools-0.1.19"
とか。

(5)変更をすぐに反映させる。
$ source ~/.profile

(6)変更できているか確認
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/imamachi/file/samtools-0.1.19

(7)コマンドが実際に使用できるか確認
$ samtools #任意のコマンドを入力

2013年3月20日水曜日

SAMtoolsをインストールする(Linux OS, Ubuntu)


SAMtoolsのインストールに予想以上に手間取ったので、エラーログを含めてインストール方法を書いておきたいと思います…。

〈SAMtoolsのダウンロード〉
(1)SAMtoolsのサイトへ移動。

(2)SAMtoolsサイトの「Introduction」の下のほうにある、
SAMtools is hosted by SourceForge.net. The project page is here
The source code releases are available from the download page.
「download page」をクリック。

(3)SorceForge.netのサイトへ移動し、
Looking for the latest version? Download samtools-0.1.19.tar.bz2 (514.5 kB)
にある「Download samtools-0.1.XX.tar.bz2」をクリック。

(4)5秒待つと、自動的にダウンロードするファイルの保存場所を指定するように言ってくる。

〈SAMtoolsのインストール〉
(1)SAMtoolsのファイルを解凍。
$ tar jxvf samtools-0.1.19.tar.bz2

(2)makeコマンドでコンパイルを試みるが、致命的なエラーが発生。
$ make
make[1]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' に入ります
make[2]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' に入ります
gcc -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -DBGZF_CACHE -I. bgzf.c -o bgzf.o
In file included from bgzf.c:32:0:
bgzf.h:33:18: 致命的エラー: zlib.h: そのようなファイルやディレクトリはありません
コンパイルを停止しました。
make[2]: *** [bgzf.o] エラー 1
make[2]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' から出ます
make[1]: *** [lib-recur] エラー 1
make[1]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' から出ます
make: *** [all-recur] エラー 1
⇒どうやら「zlib.h」が入っていないせいでエラーが起こっているよう。

(3)apt-fileコマンドで「zlib.h」を検索。
$ apt-file search zlib.h
プログラム 'apt-file' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install apt-file

(4)「apt-file」がインストールされていないとのことだったので、言われたとおりにコマンドを打ち、「apt-file」のインストールを試みる。
$ sudo apt-get install apt-file
[sudo] password for imamachi: #パスワードを入力
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています              
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  build-essential curl dpkg-dev fakeroot g++ g++-4.6 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libapt-pkg-perl
  libconfig-file-perl libdpkg-perl liblist-moreutils-perl
  libregexp-assemble-perl libstdc++6-4.6-dev libtimedate-perl
提案パッケージ:
  debian-keyring g++-multilib g++-4.6-multilib gcc-4.6-doc libstdc++6-4.6-dbg
  libstdc++6-4.6-doc
以下のパッケージが新たにインストールされます:
  apt-file build-essential curl dpkg-dev fakeroot g++ g++-4.6
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libapt-pkg-perl libconfig-file-perl libdpkg-perl liblist-moreutils-perl
  libregexp-assemble-perl libstdc++6-4.6-dev libtimedate-perl
アップグレード: 0 個、新規インストール: 17 個、削除: 0 個、保留: 14 個。
9,640 kB のアーカイブを取得する必要があります。
この操作後に追加で 28.7 MB のディスク容量が消費されます。
続行しますか [Y/n]? y #インストールしていいか聞かれるので「y」と入力。

(5)「apt-file」がインストールできたので、「apt-file」で必要な「zlib.h」を検索。
$ apt-file search /usr/include/zlib.h #単純にzlib.hと入力するとたくさん候補が出てきてしまうので、条件を絞っておく。
zlib1g-dev: /usr/include/zlib.h

(6)「zlib1g-dev」のインストールを試みる。
$ sudo apt-get install zlib1g-dev
[sudo] password for imamachi: #パスワードを入力

(7)「zlib.h」をインストールできたので、再度、makeコマンドを実行。
$ make
make[1]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' に入ります
make[2]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' に入ります

bam_tview_curses.c:5:20: 致命的エラー: curses.h: そのようなファイルやディレクトリはありません
コンパイルを停止しました。
make[1]: *** [bam_tview_curses.o] エラー 1
make[1]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' から出ます
make: *** [all-recur] エラー 1
⇒今度こそうまくいくと思いきや、またしても致命的なエラーが発生(´・ω・`)

(8)しかたないので、「curses.h」のインストールを試みる。
$ apt-file search /usr/include/curses.h
libncurses5-dev: /usr/include/curses.h

$ sudo apt-get install libncurses5-dev
[sudo] password for imamachi: #パスワードを入力
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています              
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  libtinfo-dev
提案パッケージ:
  ncurses-doc
以下のパッケージが新たにインストールされます:
  libncurses5-dev libtinfo-dev
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 14 個。
312 kB のアーカイブを取得する必要があります。
この操作後に追加で 1,334 kB のディスク容量が消費されます。
続行しますか [Y/n]? y #インストールしていいか聞かれるので「y」と入力。

(9)「curses.h」をインストールできたので、満を持してmakeコマンドを実行( ・`ω・´)
$ make
⇒致命的なエラーも起こらず、コンパイルできたよう。

(10)「samtools」コマンドが利用できるようになっているか確認。
$ ./samtools
Program: samtools (Tools for alignments in the SAM format)
Version: 0.1.18-r580

Usage:   samtools <command> [options]

Command: view        SAM<->BAM conversion
         sort        sort alignment file
         mpileup     multi-way pileup
         depth       compute the depth
         faidx       index/extract FASTA
         tview       text alignment viewer
         index       index alignment
         idxstats    BAM index stats (r595 or later)
         fixmate     fix mate information
         flagstat    simple stats
         calmd       recalculate MD/NM tags and '=' bases
         merge       merge sorted alignments
         rmdup       remove PCR duplicates
         reheader    replace BAM header
         cat         concatenate BAMs
         bedcov      read depth per BED region
         targetcut   cut fosmid regions (for fosmid pool only)
         phase       phase heterozygotes
         bamshuf     shuffle and group alignments by name
⇒インストール完了ヽ(*´∀`)ノ

あとは「パスを通せば」完了です!

Integrative Genomics Viewer(IGV)を使ってみた

Integrative Genomics Viewer(IGV)とは、Standalone(自分のパソコン上)で動かせるゲノムビューワの代表格です。illuminaが提供しているGenome Studioに近いものと考えてくれればいいです。

IGVを利用する主な利点としては、

・Web上で動かす「UCSC genome browser」と比較して、動作が軽快。
⇒UCSC genome browserはサーバーを介してデータのやり取りを行うので、どうしてもタイムラグが生じる。イライラする。

・マッピング後のBAMファイルなど様々な形式のファイルを簡単に可視化できる。
⇒UCSC genome browserでは、BAMファイルの場合、サーバー上にファイルをストレージする必要があり、アップロードにも時間を要する。

・クローズドな環境でデータを見れるので、セキュリティ上安全。
⇒UCSC genome browserだとどうしてもデータを外部に提示する(アップロードする)必要があり、セキュリティ上安全とはいえないかも。

といったところでしょうか。

ではIGVのダウンロード・起動方法などについての説明に移りたいと思います。

〈IGVのダウンロード〉
(1)Integrative Genomics Viewer(IGV)のホームページへ行く。

(2)左側にある「Downloads」をクリック。

(3)「Log In」画面に移るので、
 ・初めてIGVをダウンロードする場合は、
 (ⅰ)「To use IGV, registration is required. Click here to register」で「Click here」をクリック。

 (ⅱ)Registrationに移るので、「Name」「Email」「Organization」を記入後、「Agree」をクリック。

 ・Registrationを済ませている場合は、
 (ⅰ)「email address」を記入後、「Login」ボタンをクリック。

(3)「Downloads」画面に移るので、「Binary Distribution」のIGV_2.2.11.zipをクリックし、IGV本体をダウンロードする。

(4)また「igvtools」igvtools_2.2.2.zip     includes .genome files (225 MB) をクリックし、Genome情報をあわせてダウンロードしておく。

〈IGVの起動方法〉
(1)Zipファイルを解凍した中に、「igv.bat」というファイルがあり、そのファイルをクリックするとIGVが起動します。

〈使用するゲノムを導入〉
デフォルトではヒトゲノムである「hg18」しか入っていないので、これ以外のゲノムを使いたい場合は自身でIGVの中にファイルをインポートする必要があります。

そこで、先ほどダウンロードしてきた「igvtools」中のファイルを使います。
「igvtools」にはさまざまなゲノム情報のファイルが入っており、このファイルをIGVの中にインポートすることで目的のゲノムを使用することができるようになります。

(1)「igvtools」を解凍する。

(2)「igvtools」→「genomes」内にさまざまな生物種のゲノム情報が入っています。(場所を確認)

(3)IGVを起動し、メニューバーの「Genomes」→「Load genome from File…」をクリック。

(4)使用したいゲノム情報をクリック(hg19.genome等のファイル)

(5)「Loading Genome…」というウインドウが出るのでしばらく待つ。

(6)ロードが終わった後、メニューバーの右端下のプルダウンメニューから、先ほどインポートしたゲノムが選択できるようになっている。

〈BAMファイルの可視化〉
IGVでBAMファイルを可視化するにはいくつか条件があります。

・「Chromosome」および「Start Position」でソートする必要あり。
・マッピングしたファイル(.bam)およびIndexファイル(bam.bai)が必要。

「Tophat」でマッピングした場合、BAMファイルはソートされた状態で生成されますが、「Bowtie」でマッピングした場合、生成されるSAMファイルはソートされていないので注意が必要です。

SAMtoolsを使って、sortとindexの生成を行います。
コマンドは以下のとおり。(TophatからBAMファイルを生成した場合は(3)から。)

(1)SAMファイルからBAMファイルへの変換
$samtools view -bS INPUT_file.sam > OUTPUT_file.bam
⇒標準出力により、BAMファイルは生成されます。

(2)BAMファイルのソート
$ samtools sort INPUT_file.bam OUTPUT_file
⇒アウトプットのファイルには自動的に「.bam」の拡張子がつくのでコマンド内で記述する必要はありません。

(3)BAMファイルのindex生成
$ samtools index INPUT_file.bam(sort済み)
⇒今度はOUTPUTファイルの名前を指定する必要はありません。上記の例では、「INPUT_file.bam.bai」というindexファイルが作られます。

〈IGVでBAMファイルを可視化〉
(1)IGVを起動。(igv.bat」ファイルをクリック

(2)メニューから「File」→「Load from File…」をクリック。

(3)見たいBAMファイル(.bam)をクリック。
⇒このとき、あわせてindexファイル(.bam.bai)を開く必要はない。BAMファイルと同じ場所にindexファイルがあれば問題なくBAMファイルを開くことができる。

2013年3月17日日曜日

Perlモジュールのインストール方法(Linux OS)

まず、ダウンロードしたPerlモジュールを解凍します。

$ tar zxvf BioPerl-1.6.1.tar.gz

Perlモジュールのデータをダウンロードすると、「Makefile.PL」というPerlのスクリプトが入っています。
このスクリプトを利用して以下のコマンドを打ち込むことで、モジュールをインストールすることができます。

$ perl Makefile.PL
$ make
$ make install


2013年3月10日日曜日

Linux基本コマンド「ls」「cd」「less」


産総研で開催された「次世代シークエンサー解析入門」の復習として、その内容をまとめていこうと思います。とはいえ、更新ペースは週一ぐらいで。

まずはLinux基本コマンドについて。
ずばり覚えるべきコマンドはたったの3つ。

「ls」 「cd」 「less」 の3つです。

これらコマンドの基本的な機能は以下のとおりになります。

(1)ls
カレントディレクトリ中のファイル・ディレクトリを表示させる。
〈具体例〉
imamachi@imamachi-virtual-machine:~$ ls 
Desktop   Download  Music           Share     Video
Document  Image     Sample.desktop  Template

(2)cd
ディレクトリを移動する。
〈具体例〉
imamachi@imamachi-virtual-machine:~$ ls
Desktop   Download  Music           Share     Video
Document  Image     Sample.desktop  Template
imamachi@imamachi-virtual-machine:~$ cd Download
imamachi@imamachi-virtual-machine:~/Download$ ls
refGene.txt

imamachi@imamachi-virtual-machine:~$ cd
Desktop   Download  Music           Share     Video
Document  Image     Sample.desktop  Template
⇒「cd」だけ打つと、ルートディレクトリへ戻れる。

imamachi@imamachi-virtual-machine:~$ cd ..
Desktop   Download  Music           Share     Video
Document  Image     Sample.desktop  Template
⇒「cd ..」と打つと、ひとつ上の階層のディレクトリへ移動できる。

(3)less
ファイルの中身を表示する。

〈具体例〉
imamachi@imamachi-virtual-machine:~$ ls
Desktop   Download  Music           Share     Video
Document  Image     Sample.desktop  Template
imamachi@imamachi-virtual-machine:~$ cd Download/
imamachi@imamachi-virtual-machine:~/Download$ ls
refGene.txt
imamachi@imamachi-virtual-machine:~/Download$ less refGene.txt 
790     NR_026775       chr6    +       26924771
26991753        26991753        26991753        3
26924771,26936236,26991032,     26924962,26936301,26991753,
0       LINC00240       unk     unk     -1,-1,-1,


ここまでは基本的な機能について紹介してきましたが、「ls」 「cd」 「less」には他にもオプションをつけることができます。

(1)ls -l
「ls」に「-l」のオプションをつけることによって、さらにカレントディレクトリ中のファイル・ディレクトリの詳細について表示させることができます。

〈具体例〉
imamachi@imamachi-virtual-machine:~/Download$ ls -l
合計 14256
-rw-rw-r-- 1 imamachi imamachi  1052432  2月  3  2012 liftOver
-rw-rw-r-- 1 imamachi imamachi  1052432  2月  3  2012 liftOver(1)
-rw-rw-r-- 1 imamachi imamachi 12491136  3月 10 22:38 refGene.txt
imamachi@imamachi-virtual-machine:~/Download$

(3)less -S
「less」に「-S」のオプションをつけることによって、改行コードが入っていなくてもウインドウサイズに合わせて折り返されていた文字列を、改行コードが入っているときのみ折り返して表示してくれます。(ただし、このオプションをつけると、ウインドウに入りきらなかった部分に関しては見せてくれません。)

〈具体例〉
imamachi@imamachi-virtual-machine:~/Download$ less -S refGene.txt 
790     NR_026775       chr6    +       26924771        26991753
216     NM_007188       chr7    +       150725509       150744869
1152    NM_001242928    chr14   +       74353317        74398991
1645    NM_197964       chr7    +       139025877       139031065
257     NM_197962       chr1    -       193065594       193074608
135     NM_197961       chr15   -       65737997        65810035
⇒恥ずかしながら、講習会で初めて知りました。へたに文字列を折り返されると読みにくいファイルに関しては、このオプションを利用すると便利ですね。特に、よく使うBED, GTF, SAM, FASTQファイルの中身を見たいときには有効かな。

今日はここまで。

ちなみに
・VMware(R) Player 5.0.2 build-1031769
・Ubuntu 12.04 LTS
を利用して上記のコマンドを実行してます。

2013年3月2日土曜日

Pythonモジュールのインストール方法(Linux OS)

Pythonモジュールのデータをダウンロードすると、「seyup.py」というPythonのスクリプトが入っています。
そこで、このスクリプトを利用して以下のコマンドを打ち込むことで、モジュールをインストールすることができます。

$ python setup.py install

基本的にこのコマンドを打てばインストールできるはずです。

UCSC genome browserの提供するbinary utilitiesを利用してみる

UCSC genome browserでは、いくつか便利なソフトウェアを提供しています。
これらのソフトウェアはLinux OSなどで動作するソフトで、パスの通してあるディレクトリにぶち込むだけで動作します。(例えば、"/bin"など。)

■UCSC genome browser -the directory of binary utilities-
http://hgdownload.cse.ucsc.edu/admin/exe/