忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


2017/09/26 14:32 |
blastclustの結果をカウントするパールプログラム
ブラストクラストというプログラムを使って、ESTデーターなどのたくさんの配列の冗長を取り除く事ができます。

目で確認できるほどなら問題ないのですが、データーがたくさんあると数えるのが大変なのでパールでプログラムを作ってみました。

このプログラムを使うと、ブラストクラストの吐き出すデーターのクラスターされた数をカウントできます。

僕の場合は120937の配列をクラスタリングされてできた結果が67694にクラスタリングされました。

下に張ったプログラムを実行すると

ぶわーっと各クラスターに何個のシークエンスがクラスタリングされたかを吐き出した後に

20個以上クラスタリングされたクラスターの数、
19個から6個クラスタリングされたクラスターの数、
5個クラスタリングされたクラスターの数、
4個クラスタリングされたクラスターの数、
3個クラスタリングされたクラスターの数、
2個クラスタリングされたクラスターの数、
1個(クラスタリングされなかったもの)クラスタリングされたクラスターの数、
を吐き出します。

クラスターの数は最後の方にプリントされます。

20= 532
19-5>1069
5=253
4=349
3=571
2=1035
1=63885
67694
total 67694

こんな感じです。
これは例えば3つのシークエンスがクラスタリングされたものが571あるということを表しています。
同様に19から5よりも上の数のシークエンスがクラスタリングされたものは1069あるという意味です。

こういう処理をやろうとしている人にしか
このプログラムの意味はわからないと思いますが丁寧に説明するのは面倒なのであんまり説明しません。

きっとこんな事をしている人たちはバイオインフォマジシャン達なので
こんなしょぼいプログラムは必要ないでしょう。

一応、独学で奮闘している人にとって参考になるかなあと思ってのっけておきます。
(僕も独学ですので適当なプログラミングです。)


プログラムはここから。

#!/usr/bin/perl -w
use strict;
use warnings;
use POSIX;

my $counter_20 = 0;
my $counter_5_20= 0;
my $counter_5= 0;
my $counter_4= 0;
my $counter_3= 0;
my $counter_2= 0;
my $counter_1= 0;
my $counter= 0;

my $name = <STDIN>;

open (FASTANAME, $name);

while (<FASTANAME>)
{

my @filename = split( " ", $_);
 
my $clusternumber = @filename;
print $clusternumber, "\n";
if ($clusternumber == 1)
  {$counter_1++
}elsif ($clusternumber == 2)
  {$counter_2++
}elsif ($clusternumber == 3)
  {$counter_3++
}elsif ($clusternumber == 4)
  {$counter_4++
}elsif ($clusternumber == 5)
  {$counter_5++
}elsif ($clusternumber >= 20)
  {$counter_20++
}else
  {$counter_5_20++
}
$counter++;
}
close (FASTANAME);

print "20\= $counter_20\n";
print '19>5',"$counter_5_20\n";
print "5\=$counter_5\n";
print "4\=$counter_4\n";
print "3\=$counter_3\n";
print "2\=$counter_2\n";
print "1\=$counter_1\n";
print "$counter\n";
my $total = $counter_1 + $counter_2 + $counter_3 + $counter_4 + $counter_5 + $counter_5_20 + $counter_20;
print "total $total\n";
PR

2007/11/22 01:44 | Comments(0) | TrackBack(0) | パールプログラム(Perl)

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<超豪華なインスタント味噌汁 | HOME | 論文投稿しました。>>
サンカラショッピングモール / ダイエット / ビューティー・美容 / 布団・寝具 / 日用品・雑貨 / 家電製品 / 健康・ヘルスケア / 食べ物 / 飲み物 / アクセサリー / 時計 / ファッション / ブランド / ペット用品 / コスプレ / もしもの人気商品100選 / 新着さんから100 / 送料無料ショップ / もちもちロール / 送料無料ショップ / emsダイエット / ホットシャワー3 /
忍者ブログ[PR]