快適個人用Linuxサーバー構築記

はじめに
サーバーを調達
Virtual Private Server を調達
SSHの設定
SSHでサーバーにログインして、SSHの設定を行う。
iptables
iptablesを設定してファイアウォールをつくる。
認証局
公開鍵の認証局をつくる。
Postfix
SMTPサーバー。
IMAPサーバー
IMAP & POP3サーバー。

ソフトウェアのつかいこなし

はじめに
Linuxのソフトウェア
Linuxで動く便利なソフトの使い方。
PHP
Excel
バーコードの作り方
バーコードを生成するプログラム。
Perlのスクリプト
Perlで開発したソフト。

開発室

はじめに
主にLAPPの話
ZendFramework Application
ZendFrameworkのApplicationを使って開発する。
文献職人
論文の引用文献(Reference)を作成するソフト
Google Logo Collector
Googleのロゴ収集プログラム。
Loading Circle Maker
コンピュータの待ち時間に表示する時計を作成するプログラム。
アクリルアミドゲル作成
希望する濃度のアクリルアミドゲル(SDS-PAGE用)を作成するのに必要な試薬量を計算します。
算数のおけいこ
小学生の算数のおけいこ。

クラスターコンピュータをつくる

雑記帳

はじめに
RAD-tag
ゲノムを二種類の制限酵素で切ったときに適当な長さの断片はどのぐらいとれるのか。
bwa
マッピングツールとしてbwaを使ってみる。
stats
PHPの統計ライブラリstats。

PHPの統計ライブラリ

PHPで統計関数を使えるようにするライブラリにstatsがあります。その使い方を説明します。

インストール

pearを使ってインストールします。

# pear install stats

/etc/php.iniに以下を追加します。

extension = stats.so

ポアソン分布

ポアソン分布のパラメーターλはある事象が単位時間に起きる平均の数です。例えば1日に平均4回電話がかかってくるとすると、1日に電話のなる回数とその確率は以下のように計算できます。

<?php
$lambda = 4;
for($x = 0 ; $x <= 10 ; $x ++){
	printf("$x: %.5f\n", stats_dens_pmf_poisson($x, $lambda));
}

累積分布確率は以下のように計算できます。

<?php
$lambda = 4;
for($x = 0 ; $x <= 10 ; $x ++){
	printf("$x: %.5f\n", stats_cdf_poisson($x, $lambda, 1));
}

二項分布

1がでる確率が1/6であるさいころを10回振って、1が2回でる確率を以下のように計算します。

<?php
$p = 1 / 6;
var_dump(stats_dens_pmf_binomial(2, 10, $p));

累積分布確率(stats_cdf_binomial)は以下のように計算できます。

<?php
$p = 1 / 6;
for($x = 0 ; $x <= 10 ; $x ++){
	printf("$x: %.5f %.5f\n", stats_dens_pmf_binomial($x, 10, $p), stats_cdf_binomial($x, 10, $p, 1));
}

Χ2分布

カイ二乗分布の確率密度関数(stats_dens_chisquare)と累積分布関数(stats_cdf_chisquare)は以下のように使用します。

<?php
$f = 1;
for($x = 0 ; $x <= 10 ; $x ++){
	printf("$x: %.5f %.5f\n", stats_dens_chisquare($x, $f), stats_cdf_chisquare($x, $f, 1));
}

stats_cdf関数のバグ

本来stats_cdf_関数群は最後の引数に2を指定することで逆関数(確率からxを求める)になるはずですが、バグのためなりません。解決方法はこちらにありますが、面倒そうなのでやりません。