たこぜりー研究室

大腸菌DNAは4.64Mbp。酵母は13Mbpで、ヒトは3Gbp

スポンサーサイト

#
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

卒業研究 #10

#423
さて、次は系統樹作成と。
まずは近隣結合法 neighbor-joining method (Saitou and Nei 1987) だな。[続きを読む]
スポンサーサイト

IObjectReference Interface

#422
最近ようやくシリアル化について触れるようになった次第。

そして出てくる問題は static なシングルトンオブジェクトのシリアル化。
逆シリアル化後もシングルトンであるためには特別な措置が必要とな。

public static class AlphabetManager
{
  public static IAlphabet Empty
  {
    get { return empty; }
  }

  private static readonly EmptyAlphabet empty
    = new EmptyAlphabet();

  [Serializable]
  internal sealed class EmptyAlphabet
    : IAlphabet, IObjectReference
  {
    ...

    [SecurityPermission(SecurityAction.LinkDemand,
      SerializationFormatter = true)]
    public object GetRealObject(StreamingContext context)
    {
      return AlphabetManager.Empty;
    }
  }
}

とまぁこんな感じでもいけるということを、立ち読みで知った。

自転車防犯登録確認

#421
少なくとも今回ので人生史上 3 回目となる、見回り警官による呼び止め検査。

で今回のは今まで最低の扱いだったねぇ。
徹夜でデバッグ作業して、腹空かして朝 4 時半頃に自転車帰宅開始ですよ。
眠いのもあるし。
ほんとはようつべみてただけだけど

そんなときに限って、呼び止められる罠。
はいはい、もりあがってきましたよ。
バイクですれ違いざまに、止まって、はないだろ。
眠いので適当に対応してたら、手際の悪いこと悪いこと。

・いきなり盗難車の疑いをかけてくる
・同じことを何度も聞く
・6 代目の自転車なんだから細かい購入記録なんか覚えてねぇョ
・住所を答えてもリアクションが低い
・学生だといったとたん、学生証か免許証の提示を求める
・危険物の所持の疑いをかけてくる
・あげくのはてにショルダーバックの中身を漁りだす
・そのうえ、明瞭な確認終了宣言をださない
・ご協力 (以下略 をいわない

最近ガラス踏んでパンクしているあたり 6 代目自転車は災難ばかりである。

卒業研究 #9

#420
LINQ を使わないで書くとどうなるだろう、と思って一応やってみた。
そしたら案外あっさりかけた。

もちろん匿名型は使えないので、自分で書く。
でその型のインスタンスを各々つくってリストに叩き込む。

そのときに同時に置換数も数える。
同義置換の場合にアミノ酸ごとの置換数をカウントし、辞書に入れておく。
あとは System.Collections.List<T>.Sort(System.Comparison<T>) で処理。

パフォーマンスの差がでるかどうかは不明。
VS2008 のほうは Beta2 ということもあるし。

卒業研究 #8

#419
using System.Collections.Generic;
using System.Linq;

コドン使用頻度の次は、塩基置換数だな。

n 個の配列があれば、n * (n - 1) / 2 種類の組み合わせがあるわけで…。
今回は 2 次元配列ではなく、List<?> でいく。
で見た目は 2 次元辞書。
もちろん O(1) の操作にはならないので詐欺実装だが。


でせっかくコドン使用頻度を調べたので、塩基置換もコドンごとで調べる。
こちらは前回の IEqualityComparer<byte[]> 実装を拡張して、long 値を出してそれをサブキーにする。

俺専用イメージ :

SubstitutionTable -(string, string)->> SubTable -(long)->> int


出力だが、配列の組み合わせごと、同義置換のみ、置換数の多いアミノ酸の順、置換数の多いコドンの順、で出そうと思うのだが。
C# 2.0 では厳しいって、というよりも面倒。ひたすら面倒。

LINQ を知ってるのでよけい面倒。
ということで、ついにでた Visual Studio 2008 Beta2 を使う。
わざわざ各地の匿名メソッドをラムダ式に直してみる新し物好きな馬鹿。[続きを読む]
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。