2013年4月6日土曜日

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

0 件のコメント:

コメントを投稿