ピーク検出
『R でバイナリを読む』で, R でピーク検出すればベースコールができるという話を書きました。 R には Peaks というパッケージがあり,ピーク検出が容易にできます。これを用いてベースコールを行ってみます。
『R でバイナリを読む』で, R でピーク検出すればベースコールができるという話を書きました。 R には Peaks というパッケージがあり,ピーク検出が容易にできます。これを用いてベースコールを行ってみます。
昨年『R で2ちゃんねるを読んでみた』という遊びをやりました。詳細は読んでいただければ良いのですが,「Shift_JIS で定義されない文字が含まれているとうまく文字列処理ができないので,バイナリのまま処理した」という旨のことをサラッと書きましたが,その詳細については深く触れていません。そこで,あまり需要はないのかもしれませんが,実際に R でバイナリ処理を行う方法を簡単に紹介しようと思います。ただし,今回は読むだけで,書き込み操作に関しては扱いません。
なお,本記事は R Advent Calendar 2011 の 4 つ目の記事にあたります。
「コアレセントシミュレーターを実装する (1)」では突然変異がない場合の標準中立モデルに基づくコアレセントツリーの作成までを実装しました。普通の集団遺伝学の教科書でもそうであるように,次に考慮されるのは突然変異です。
ということで,今回は単一集団・集団サイズ一定・突然変異がある場合でのコアレセントシミュレーションが行えるようになるまでを実装します。 ms では ms nsam nreps -t theta に相当するものです。
コアレセントシミュレーションを行うアプリケーションで有名なものに ms[a] があります。シミュレーションを行って Tajima's D を計算するような単純なアプローチであれば ms (および同梱されている sample_stats) を使えば十分なのですが,モデルが複雑になってくると,いちいち ms が出力するテキストをパースして解析するといったアプローチはむしろ面倒になってきます。
そこで,コアレセントシミュレーターを C# で実装してみたいと思います。とりあえず最初は一番単純な,単一集団・集団サイズ一定・突然変異なしのモデルでの実装を目標にします。 ms では ms nsam nreps -T に相当するものです。
最近のコメント