Recently in 研究とか Category

if_bridge + ipfw + dummynet

| No Comments | No TrackBacks
パケットロスを意図的に発生させた実験をすることになったので、if_bridge + ipfw + dummynet をちょっとやってみた。OS は、FreeBSD 8.0 で、em0 と em1 を if_bridge で結ぶ感じ。fxp0 が、このマシンそのものが生きていくためのネットワークインタフェイスで、こっちは既に up & running.

まず、em0 と em1 を up にして、bridge でつなぐ。

ifconfig em0 up
ifconfig em1 up
ifconfig bridge0 create up addm em0 addm em1
NIS とか NFS 使ってないマシンなのを幸いに、ipfw と dummynet は kldload で入れる。NIS/NFS 使ってても、気をつければいけると思う。
kldload ipfw
kldload dummynet
ipfw add 100 allow ip from any to any via lo0
ipfw add 110 allow ip from any to any via fxp0
bridge まわりの sysctl はこんな感じでいいのかな。pfil_bridge は 0 にするのがいいみたい?
sysctl net.link.bridge.ipfw=1
sysctl net.link.bridge.pfil_member=0
sysctl net.link.bridge.pfil_bridge=0
それで、pipe へのルールと、pipe の定義。
ipfw add 200 pipe 1 all from any to any recv em0 xmit em1
ipfw add 210 pipe 2 all from any to any recv em1 xmit em0
ipfw pipe 1 config delay 10ms
ipfw pipe 2 config delay 50ms
これで、60ms で ping が帰ってくるようになる。pfil_bridge を 1 にして、pipe X all from any to any via bridge0 とかだと、delay を 0 でなくした場合に ping が帰ってこなくなったりしたので、recv em0 xmit em1 とかで、双方向についてそれぞれのパイプを作ってやるのがよいのではないか、と思う。

もうちょっと進めて、em1→em0 が、1/3 ずつの確率で違う遅延になるようにしてみた。

ipfw delete 210
ipfw add 210 prob 0.33 pipe 2 all from any to any recv em1 xmit em0
ipfw add 210 prob 0.5 pipe 3 all from any to any recv em1 xmit em1
ipfw add 210 pipe 4 all from any to any recv em1 xmit em0

ipfw pipe 2 config delay 500ms
ipfw pipe 3 config delay 1000ms
ipfw pipe 4 config delay 1500ms
これで、ping -i 0.3 x.x.x.x とかすると、順番がばらばらになるのがわかって、面白い。到達時間のジッタとかを模擬するのにいいですね。prob を使って、確率でパケットを落としたり、pipe の bandwidth (bw), packet loss rate (plr) みたいなパラメータを使うと、かなりいろんな性能検証ができる。

納豆mics

| No Comments | No TrackBacks

納豆菌ゲノムのことについて、今朝の新聞 数紙に記事が載ったようですが、なんか、応用のほうに記事の興味が行っちゃっていて、あまりサイエンスでないので、ちゃんと書いておこうと思います。さまざまな応用について、とか、ねばねば生成のメカニズムそのものの解明は僕らの研究成果ではないので、それが僕らの成果であるように書かれちゃうと、なんだか他の人の成果を横取りしたみたいで若干申し訳ないしね。

さて、僕らのチームは納豆菌のゲノムを読みました。それの何がsignificantだったのか、ということをまとめておきます。

まず、プロジェクトの体制について。

納豆菌から DNA を抽出したりとか、シークエンサー (配列を細切れにして読み取る機械) を走らせたり、というところは、専門の方のご支援をいただきましたが、論文の著者リストを見ればわかる通り、基本的にこのプロジェクトは非常に少人数です。

基本的に実験室での作業は、大学院生の西藤さんという方が4年生から修士1年の春にかけて、ひとりでやりました。本人は、「いやー、たいしたことないですよー」とのことですが、これはいわゆる、優秀かつ謙虚な人というやつです (笑)。彼女が、データ解析も含めてかなりのところまでやって、最終的に配列をつないで遺伝子予測をして、というところから僕がお手伝いしました。ま、僕がいろいろ苦労した点もありますが、基本的には西藤さんが頑張った成果で、1.5 人くらいでやった感じです。

それで、2年弱、実質半年から1年くらいの時間で、全部が終わりました。これは、いわゆる次世代シークエンサーと呼ばれる装置と、さまざまな優秀なソフトウェアとコンピュータのおかげですが。

もっとも、納豆菌はすぐ近縁に、すでにゲノムが解読されている枯草菌という菌があるので、それが大いに参考になった、ということもありますが、少人数で短期間でゲノムが解読できるんだよ、といういい例になったのではないかと思います。


もうひとつは生物学的なこと。

生物学的な発見もいくつかありますが、ひとつ面白いのは、納豆菌が変質して糸を引かなくなるメカニズムが、ゲノム全体の解析で非常に強力に働いていることが明らかになったことです。

以前から、納豆菌にはトランスポゾンと呼ばれる、染色体上を飛び回る遺伝子 (!) が多く見られて、それがねばねば生成に関連するところに飛び込んで遺伝子を壊してしまい、結果として糸を引かなくなる、ということが言われてきており、納豆菌特有のトランスポゾンに関する論文も複数のグループから出ています。

僕らの解析の結果、さらに多くのトランスポゾンが見つかり、しかもわりと頻繁に動いているようだ、ということがわかりました。普通、こういう菌は産業的にも研究的にも、安定しないのであまり使われないのですが、これが連綿と食べられている国、というのはなかなかすごいかもしれません (笑)。


それで、納豆って身体にいいんですか?とか、ナットウキナーゼのこととか、いろいろ僕にきかれるのですが、そのあたりは専門家でないので、正直よくわかりません。だって、僕、基本的には計算機屋ですし。でも、納豆は好きですよ。

take2-tpase.png

↑図は、僕らが見つけた transposon のマップ。けっこうあります。

報道発表

| No Comments | No TrackBacks

納豆菌ゲノムの仕事ですが、ようやくプレスリリースが出ました。
明日あたり新聞とかに載るかな?

ちなみに、natto-genome.org は我らが prosou.nu のサーバでホスティングしています (笑)。

Natto Science

| No Comments | No TrackBacks

Yeah! Our paper had published today!
It's about Natto - a traditional Japanese food, made from soy beans.

A biologically interesting thing of natto is, a specific strain of Bacillus subtilis produces natto. Although the difference between the laboratory strain and natto production strain had researched by Japanese and Chinese researchers, but not in genome level. We started the Natto Genome Project in 2008, and the draft sequence is ready.

The sequence had read with Illumina/Solexa GAII, then assembled + annotated by Nishito-san (a student in Master course at Keio univ) and me. The next-gen sequencing technology is amazing!

The sequence, annotation and interactive genome browser are available at natto-genome.org.

Decoding TLP max payload size of Xilinx PCIe Core

| No Comments | No TrackBacks

While I'm writing a DMAC on my Virtex-5 PCIe card, I've found that the "MAX_PAYLOAD_SIZE" register has only 3 bits, while the size will be between 128 and 4096. And here's the answer:

3'b000 128B
3'b001 256B
3'b010 512B
3'b011 1024B
3'b100 2048B
3'b101 4096B
3'b110 Reserved
3'b111 Reserved
(from Xilinx application note XAPP1052 documentation).

and now I can continue!

科研費ゲノム特定成果公開シンポ: Day 2

| No Comments | No TrackBacks

DSCN3708.JPG

[ DNA はどのように折りたたまれているのか? ]

森下先生@東大。
源氏物語: 原本は存在しなくて、写本がたくさんあり、それぞれ巻数が違ったり indel とかがある → ゲノムの染色体の本数とか配列の違いに似ている?
ヒトのゲノムは 10 時間で複製される。50塩基/秒で、100並列。

祖先ゲノムがどうだったか、ということを知るのに、ヒト・チンパンジーとホヤ・ナメクジウオだけではなくて真ん中の魚類くらいのが必要だった。
脊椎動物の祖先ゲノムは10本くらいの染色体があったのではないかと推定しており、ヒトに至るには2度のゲノム重複が起きている。魚類はさらにもう一度。

染色体が物語の一巻だとしたら、ページに対応するのがヌクレオソーム構造。
プロモーター結合がページを開くことに、メチル化がページを閉じることに例えられる。
(染色体をコピーするときはヒストンに巻きついた状態で複製され、体細胞の分裂の際にはメチル化の情報も伝わっているっぽい、のだそうです。)

メダカ+Solexa で調べてみた結果、ヌクレオソーム構造を取っているところとそうでないところで、塩基置換率が違う (ヌクレオソーム構造を取っているところでは、ヌクレオソーム構造を保存する方向に塩基置換が起きている。10年くらい前の酵母の研究では、ヌクレオソーム構造の中心ではリンカーの部分に比べて修復率が落ちているので、そっちが問題なのかも) ことがわかった。おもしろいな。

コンピュータはだいたい 2x in 18month なのが、sequencer は 2x in 8month なのでやばいね、というお話も。そうなんです...
Solexa は 1bp/h くらいで超並列だけど、Pacific bio のは 4bp/s くらい。ただ、後者は並列化が課題みたい。

中国はすごい勢いで Solexa GA とかを購入して頑張っているそうだ (台数としては、日本全体とあんまりかわらないけど、日本は分散しているのが問題かな。)。うおー。がんばらないとなあ。

[ Wiki によるデータベースと研究成果の発信 ]

有田先生@東大。
計測と解析は速くなった。でもその真ん中にある整理 (curation) は?
科学は知識の積み上げだから、成果が再利用されないと意味がない。でも、論文も学会発表も報道発表も、再利用には向いていない。

我々はデータ中心という新しいパラダイムに直面している。一般人は科学を信じ、期待しているのに、科学者は一般人に理解してもらうことを放棄。科学者がデータ中心の概念に対応できていないのは問題で、いつまで雑誌崇拝がつづくのか?
subscription fee が上がっている背景には、投資ファンドが雑誌の出資元を持っていることも影響している。

有田先生 Wiki はすでにいくつかの学会の公式なデータベースとして認定していただいているそうで、成果公開というのは大変重要なプロセスにおけるこういう活動は非常に重要だと思う。

数式とか理論的なものはいいけど、ゲノムとかそういう大規模なデータはどうやったらいいと思いますか (森下先生) → Wiki は backend が RDB なので、なにかそういうものを考え直さないといけない。いずれにしても Web ベースでやれる仕掛けは必要。

[ 多生物種のゲノムを高速に比較する並列システムの開発 ]

榊原先生@慶應大。
質疑だけメモ。

- マウス・ラットでは再編成が起こりやすい系統があるようですがそういうのと比べてみると面白いかもしれません。
- X染色体はヒトとチンパンジーでかなり保存されているがY染色体はシャッフルされている、という話がでているけれど、どうでしょう。 → Y のほうはまだアセンブリがきれいに進んでいない生物が多いので比較ができないのが現状です。
- NIG とか UCSC で visualize できなくて Murasaki & GMV でできるものは? 入力フォーマットは一般的なもの? → お答えしておきました。まさか回答させられるとは・・・

2010年度の授業

| No Comments | No TrackBacks

長名の担当科目の時間割は以下の通りらしいです。時限はまだ確定ではないけど、科目は確定。

前期
木曜3-4限 基本プログラミング実験 (1年次)
金曜1限 コンピュータ入門 (1年次)

後期
月曜4-5限 基本プログラミング実験 (再) (1年次)
木曜1-2限 情報科学プロジェクト実験 (3年次)
金曜1-2限 ハードウェア実験 (2年次)
金曜5限 コンピュータ基礎 (1年次)

なんか担当科目増えたな...

やまもとせんせい

| No Comments | No TrackBacks

北大の山本先生がトラ技コンピュータとかに連載していた記事を web でみつけた。
そういえば高校生の時に、「今時の超並列コンピュータ」 とかそういうのを読んで、計算機科学やろうと思ったんだよなあ。

最近はすっかり web の時代になってしまいましたが、HTTP が流行り始めた頃の記事でもあり、当時は雑誌が僕みたいな若者に与える影響って大きかったんだなあ、と、しみじみ思う。
本屋で書架をブラウズするのと違って、最近は web な世の中なので、検索して何かにたどり着くのがあたりまえになってしまい、そうすると、知らない分野に興味を持つきっかけというのは何なんだろう、と思ったりもする。

まあ、そんなわけで教育をやっていこうと思ったのかもね。

mmap() HOWTO

| No Comments | No TrackBacks

デバイスドライバ書いてると、mmap() が使えるようにしたいなー、とか思うわけで。

みたいな記事を読んで、理解できた気がするね。「Linux デバイスドライバ」という本がすごいわけですが、あれだけだとちょっと不十分な感じだったのだ。

そういえば普通にファイルを mmap() して読み書き、というのもやったことないや、と思ったので、ちょっと書いてみた。

#include <stdio.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <unistd.h>

int main(){
  int fd;
  char* p;
  int i;

  fd = open("textfile", O_RDWR);
  if(fd<0) printf("can't open!\n");
  printf("fd=%d\n", fd);
  p= (char*)mmap(NULL, 100, PROT_READ|PROT_WRITE, MAP_FILE|MAP_SHARED, fd, 0);
  printf("p=%lx\n", (long unsigned int)p);
  if(p==MAP_FAILED) printf("can't mmap!\n");

  for(i=0; i<100; i++)
    putchar(p[i]);

  for(i=0; i<10; i++)
    p[i]=0x30+i;

  close(fd);
  return 0;
}

これで、配列の値を変更した通りにちゃんとファイルが書き換わる。Unix はかっこいい仕掛けがいっぱいあるなー。

CFD

| No Comments | No TrackBacks

畏れ多くも座長を仰せつかったので、数値計算流体シンポジウムというのに行ってきます。
僕らはアクセラレータのセッションで、つまり、どうやって速く計算するか、ということなので、計算機科学の立場からのアプローチ。

流体というと、飛行機や船舶をはじめとして乗り物とか、エンジンとか風車みたいなものを連想しがちですが、プログラムを見るとかなり面白い。防災 (竜巻とか) から医療 (血流とか) まであり、流れるもの、というのは身の回りにいくらでもあるわけで、でも、やっぱり気体とか液体の挙動というのは難しくて、それを研究する余地というのは無限にあるんだなあ、と思った。なんというか、流体というのは抽象度を下げてマジメにシミュレーションしようとすればするほど、果てしなく計算量が増えるので、まだまだこれからな気がする。

しかし、生命とか流体とか、なんでそういう、無限に計算量がある世界に踏み込んでしまったのか... ま、いろんな分野に貢献することが計算機科学の使命であり、発展の原動力だと思うので、いいんだけどね。

というわけで、仙台で会いましょう。でも... 日帰り? まじで??
新幹線があるから、いいか。がんばろう。

それで、誰か僕の発表スライドを作ってください... もういっぱいいっぱいです。

OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.02

September 2010

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

About this Archive

This page is an archive of recent entries in the 研究とか category.

Conference Logs is the previous category.

落書 is the next category.

Find recent content on the main index or look in the archives to find all content.