2013年4月21日日曜日

Cytoscapeを利用したPathway解析をやってみた(Cytoscape×Reactome)

Cytoscapeとは、Gene ontology解析やPathway解析などのネットワーク構造を持つデータを可視化するソフトです。(主に、RNA-seqなどの発現量解析以降の下流の解析に利用可能なのではないかと思います。)

Cytoscapeにはさまざまなプラグインが存在し、プラグインを追加することにより様々な解析がCytoscape上で可能になります。今回は、「Reactome」のプラグインを導入して、(なんちゃって)Pathway解析をやってみたいと思います。

〈Cytoscapeのダウンロード〉
(1)Cytoscapeのサイトから上部のメニューの「Download」をクリック

(2)Your informationの「Name」「Organization」「Email address」の欄を埋めて、Conditionsの「I accept terms of use」にチェックを入れる。

(3)Download Latest Production Version: 2.8.3もしくはDownload New 3.x Series: 3.0.0の「Platform Specific installers」から自分のOSに合ったインストーラーを選択し、ファイルをダウンロードする。

〈Cytoscapeのインストール〉
(1)Windows版なら、「.exe」ファイルなのでNextボタンを適当にクリックしていくだけでインストール可能。

〈Reactomeのプラグインのダウンロード〉
(1)Cytoscape用プラグインを下記のURLからダウンロードする。
http://wiki.reactome.org/index.php/Reactome_FI_Cytoscape_Plugin
caBigR3.jarをダウンロードするように文章中に書かれているのでこのファイルをダウンロードしてくる。

〈Reactomeのプラグインのインストール〉
(1)Windows版では、「C:/Program Files/Cytoscape_v2.8.3」にCytoscapeのフォルダが存在し、そのフォルダ内の「Plugins」フォルダの中に先ほどダウンロードした「caBigR3.jar」をコピペする(もしくは移動させる)。

(2)Cytoscapeを再起動させる。

〈Reactomeデータベースを利用したPathway解析〉
(1)Cytoscapeを立ち上げる。

(2)メニューバーから[Plugins]→[Reactome FIs]→[Gene Set/Mutation Analysis]を選択し、クリック。

(3)Loading Altered Genes中の「Browse」ボタンをクリックし、インポートしたい発現変動遺伝子のシンボルの書かれたファイルを選択する。
⇒発現変動遺伝子のリストの例は以下のサンプルファイルを参照。
1. Simple gene setGWASFuzzyGenes.txt
2. Gene/sample number pair: GeneSampleNumber.txt
3. NCI MAF (mutation annotation file):  GlioblastomaMutationTable.txt

(4)「OK」ボタンをクリックすると、ReactomeのPathwayデータベースを参照して、Node(節)とLine(線)で描かれた遺伝子の関係図を作ってくれる。

このReactome以外にも、さまざまなプラグインが存在し、論文も出ているので色々試してみようかと思います。中にはライセンス登録が必要なプラグインもあり、導入するのが面倒なものもあるようです。

〈参考文献〉
-Cytoscape: a software environment for integrated models of biomolecular interaction networks
http://www.ncbi.nlm.nih.gov/pubmed/14597658

-Cytoscape 2.8: new features for data integration and network visualization
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3031041/

-Reactome: a database of reactions, pathways and biological processes
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3013646/

アメリエフのブログ -オープンソースでパスウェイ解析(2013.04.17 Wednesday)
http://blog.amelieff.jp/

2013年4月20日土曜日

Motif Discovery(Weeder2weblogo)

Weederの「OUTPUTファイル」から、weblogoの「INPUTファイル」であるfastaファイルを生成するスクリプトを書いてみました。

Weederで予測されたモチーフ配列を視覚化するために、予測されたモチーフ配列に対してそれぞれのweblogo用のfastaファイルが生成させるスクリプトです。

このスクリプトに通した後、生成されたfastaファイルを一つ一つweblogoで視覚化。
#!/usr/local/bin/perl
####################################
#Weeder2weblogo#####################
#var1.0_Perl
#update: 2012.4.8
####################################

use strict;
use warnings;

my $file = $ARGV[0];
my $number = $ARGV[1];

#main####################################################
open (IN,"<./$file\.wee") || die;

my $flg_gene=0;
my $flg=0;
my $filehandle = 1;
my $count = 1;
my %gene_ID;

while(my $line = <IN>){
 #Gene_ID
 if($line =~ /^Your sequences/){
  $flg_gene = 1;
  next;
 }elsif($flg_gene == 1){
  $flg_gene = 2;
  next;
 }elsif($flg_gene == 2 && $line eq "\n"){
  $flg_gene = 0;
  next;
 }elsif($flg_gene == 2){
  my @data = split(/\s+/,$line);
  $gene_ID{$data[1]}=$data[3];
  next;
 }

 #Sequence_data
 if($line =~ /^Best occurrences/){
  if($filehandle == 0){
   close(OUT);
   $count++;
  }else{
   $filehandle = 0;
  }
  open (OUT,">./$file\#$count\.fasta") || die;
  $flg = 1;
  next;
 }elsif($flg == 1){
  $flg = 2;
  next;
 }elsif($line eq "\n" && $flg == 2){
  $flg = 0;
  next;
 }elsif($flg == 2){
  if($line =~ /^\s+/){
   $line =~ s/^\s+//;
  }
  my @data = split(/\s+/,$line);
  if($data[2] =~ /^\[/){
   $data[2] =~ s/\[//;
   $data[2] =~ s/\]//;
  }
  print OUT "$gene_ID{$data[0]}\n";
  print OUT "$data[2]\n";
  next;
 }
}
close(IN);
close(OUT);
print "...process successfully completed\n";
〈使用方法〉
$ perl Weeder2weblogo INPUT_file
⇒INPUT_fileの拡張子は「.wee」にしておくこと。
(Weederからの出力ファイル「.wee」を利用しているので、拡張子を変更しないように。)
〈ダウンロード先〉
・github -non-bioinformatician_NGS_analysis
https://github.com/Naoto-Imamachi/non-bioinformatician_NGS_analysis

2013年4月6日土曜日

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

「BEDTools」とは、SAM, GTF, BEDなどのファイル形式のデータを加工・処理するために開発された解析支援ツールです。

BEDツール同士を比較したり、BEDファイルからFASTAファイルへの変換を行ったり、BAMファイルからBEDファイルへの変換を行ったりできます。

いろいろな機能があるので、それらについての詳細はおいおい説明していければと思います。

今回は、その「BEDTools」のインストール方法についてのメモになります。

〈BEDToolsのダウンロード〉
(1)下記のbedtoolsのサイトへ移動。
https://code.google.com/p/bedtools/

(2)「Downloads」をクリック。
https://code.google.com/p/bedtools/downloads/list

(3)「BEDTools.v2.17.0.tar.gz」と書かれたファイルが置いてあるので、それをクリックする。
BEDTools.v2.17.0.tar.gz

(4)「File: BEDTools.v2.17.0.tar.gz 1.2MB」の部分をクリック。
https://bedtools.googlecode.com/files/BEDTools.v2.17.0.tar.gz

〈BEDToolsのインストール〉
$ tar zxvf BEDTools.v2.17.0.tar.gz
$ cd bedtools-2.17.0/
$ make
#「.profile」ファイルを書き換える方法
$ vi ~/.profile
⇒最終行に、「export PATH="$PATH:/home/bowtie.XX.XX/…/任意のパス/bedtools-2.17.0"」を追加
$ bedtools --version
bedtools v2.17.0
⇒バージョンの確認。

LinuxとWindowsの改行コードの違いについて

LinuxとWindowsでは改行コードが違います。

Linuxでは、「ラインフィード(LF)」
Windowsでは、「キャリッジリターン+ラインフィード(CR+LF)」
と呼ばれる改行コードがそれぞれ使われています。

テキストの中身をみてみると、
Linuxでは、「\n
Windowsでは、「\r\n
となっています。

このように、LinuxとWindowsでは改行コードが異なるために、Perlなどのスクリプト言語を使ったり、LinuxとWindows間でデータのやり取りしたりしていると、この改行コードの違いで問題を生じるケースがあります。

ちなみに、この「\」なんですが日本のキーボードだと二種類存在します(´・ω・`)
1つは、キーボード上右端の「¥キー」、
もう1つは、キーボード下右端の「\キー」です。

Windows上では、「¥キー」も「\キー」もPerlなどでは「\n」として認識されます。

しかし、Linux上ではどうやら「¥キー」+「n」だと、改行コードとして認識してくれず、「¥n」という文字列として表示されてしまいます。

なので、Linux上でPerlなどのスクリプトを実行する際には、ちゃんと「\キー」+「n」と書く必要があります。

以下では、Linux上でのPerlスクリプトの実行例を示しています。
print "Hello¥n";
print "Have a nice day¥n";

# 実行
hello¥nhava a nice day¥n
print "Hello\n";
print "Have a nice day\n";

# 実行
hello
hava a nice day
※注意※
上記では、「¥」を全角で記述していますが、半角だとこのブログ上ではバックスラッシュとして表現されてしまうため、わざと全角にしてます。

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

パスの通し方の1つとしては「.profile」の最終行に「export PATH=$PATH:/任意のパス/:/任意のパス/:…」を書き加えるという方法があります。

この他にも、もっと簡単な方法として、パスの通っているディレクトリにコンパイル済みのプログラム(バイナリファイル)をコピペするという方法もあります。
$ sudo cp ./任意のプログラム名 /usr/local/bin
[sudo] password for imamachi:
⇒ここでパスワードを入力し、一時的に管理者権限を取得する。

以上。

Motif Discovery(BioProspector2weblogo)

BioProspectorの「OUTPUTファイル」から、weblogoの「INPUTファイル」であるfastaファイルを生成するスクリプトを書いてみました。

BioProspectorでは、複数のモチーフ配列が予想されます。このスクリプトに通すことで予測されたモチーフ配列に対してそれぞれのweblogo用のfastaファイルが生成されるようになっています。(5つのモチーフ配列が予想されていれば、このスクリプトで5つのfastaファイルが生成されます。)

あとは、生成されたfastaファイルを一つ一つweblogoで視覚化するだけ。(あと、一連のステップもバッチ処理で一気に生成出来ればよいのですが…。)

#!/usr/local/bin/perl
####################################
#BioProspector2weblogo##############
#var1.0_Perl
#update: 2012.4.5
####################################

use strict;
use warnings;

my $file = $ARGV[0];
my $number = $ARGV[1];

#main####################################################
open (IN,"<./$file\.result") || die;

my $flg=0;
my $filehandle = 1;
my $count = 1;

while(my $line = <in>){
 if($line eq "\n"){
  next;
 }
 chomp $line;
 if($line =~ /^Try/
 || $line =~ /^The highest/
 || $line =~ /^Width/
 || $line =~ /^Blk1/
 || $line =~ /^[1-6]/){
  next;
 }
 if($line =~ /^Motif/){
  if($filehandle == 0){
   close(OUT);
   $count++;
  }else{
   $filehandle = 0;
  }
  open (OUT,">./$file\#$count\.fasta") || die;
 }else{
  if($line =~ /^>/){
   print OUT "$line\n";
   $flg=1;
  }elsif($flg == 1){
   print OUT "$line\n";
   $flg=0;
  }
 }
}
close(IN);
close(OUT);
print "...process successfully completed\n";
〈使用方法〉
$ perl Bioprospector2weblogo INPUT_file
⇒INPUT_fileの拡張子は「.result」にしておくこと。(もしくはスクリプトを適宜書き換え。)

〈ダウンロード先〉
github -non-bioinformatician_NGS_analysis
https://github.com/Naoto-Imamachi/non-bioinformatician_NGS_analysis