2013-01-01から1年間の記事一覧

TODOメモ

あいかわらず一進一退の状態が続いている。調子が良い時にやりたいこと。 Acta D に出ていた SFX の de-twinning 方法を toy example で試す order-disorder twin のときにああいう反射になることを、シミュレーションで確認

ブレーキが掛かる

調子が悪いときには、何事にもブレーキがかかる。つかの間、面白いと感じていても、「それが何になる?」という思いが到来する。難しい問題に取り組んでいても、「だから何だ?」と感じて、どうでも良くなってしまう。(このことは 以前 も書いた)先日は、自分…

経過記録

相転移から踏みとどまり、なんとか良い状態を維持してきた。特に14日頃からは、久しぶりにプログラミングにものめり込めて、楽しかった。だが、そうやって良い相を延長できるのも、やはり10日ほどが限界らしい。18日ごろから徐々に具合が悪くなってきている…

経過記録

7日に書いたように、悪い方へ転じそうだったのだが、なにかがうまい具合に働いて、8日の日曜日にはよい気分でコードを書いたり、本を読んだりしていた。このように、悪いほうへの相転移が起きそうなときに、何かのはずみに rescue されることがあって、それ…

リファレンスに基づいたクラスタリングの危険性

電子顕微鏡による単粒子解析界隈でちょっとした騒ぎ(?)になっている事件がある。"Avoiding the pitfalls of single particle cryo-electron microscopy: Einstein from noise" (Richard Henderson, PNAS 2013) と、このページからリンクされている Related L…

結果の解釈可能性について

相変わらずつながりの悪いバラバラとした文章の書きなぐりだが、いつまでも下書きに溜め込んでいても仕方がないので、公開してしまう。 最近感じている、「技術としては面白いけれど、結果自体には興味が持てない」感覚を、なんとか言語化しようと試みたが、…

経過記録

前回 11/28 の記録で具合が悪そうなことを書いたが、11/30 あたりから回復し、今週は調子が良かった。Nature に出ていた TRPV チャネルの論文から cryoEM による単粒子解析の分解能向上に興奮し、GPCR workshop 2013 のプログラムを見て、arrestin との複合…

CrystFEL と XDS の連携

CrystFEL では、XDS に指数付けをさせることができる。原理としては、CrystFEL が発見したスポットリストを SPOTS.XDS として書きだして、それを JOB = IDXREF とした XDS に読み込ませて、結果を IDXREF.LP からパースしているだけ。1フレームごとに XDS を…

CrystFEL の積分に関わるデータ構造について

CrystFEL の git にある最新の実装では、論文に書いていない機能もいろいろ盛りこまれているようなので、調査したメモ。自分向けに書いているので、わかりにくい部分があればコメントで質問してほしい。GPL なソースコードを引用しているので、このエントリ…

CrystFEL の反射に関わるデータ構造について

CrystFEL における反射についてソースコードを読んだメモ。このエントリはGPLとする。コードはlibcrystfel/src/reflist.c である。反射は _refldata 型で表され、これを包む Relection 型の node が Reflist 型の赤黒木に格納されている。木には、同じ指数を…

CrystFEL のピークサーチについて

CrystFEL におけるピークサーチについてソースコードを読んだメモ。このエントリはGPLとする。実際のワークフローでは、Cheetah などのより高速なソフトウェアで画像に反射が含まれる(hit) かどうかを判定し、hit だけを CrystFEL に食わせることになる。lib…

Canvas を WebGL のテクスチャにする

WebGL では、canvas 要素をテクスチャに使用できる。three.js の fragment shader は、中で gl_FragColor = gl_FragColor * texelColor としているので、ビルボード的なものを作るときは板ポリの色を 0xffffff にしておかないとダメ。どうせテクスチャ貼って…

CSS の RGBA による色指定について

CSS の RGBA による色指定は、 rgba(128, 0, 255, 0.5) のように、整数(0-255)、整数(0-255)、整数(0-255)、小数(0.0-1.0) なので注意。 RGB を小数で書くとエラーがログに出ることもなく無視される。128.0 とかも不可。 α値は 0.0 が透明、1.0 が不透明。な…

明晰な時間

持病のせいで、頭が澄んだ明晰な時間は週にわずかしか得られない。他の時間は、ゴチャゴチャしたものが頭を占拠していて、何も考えられない。明晰な時間には、論文を読み、労を厭わず鉛筆を手にとって計算し、プログラムとして実装できる。試行錯誤も苦にな…

書くわけ

黒歴史になることは確定的なのに、なぜ鬱発言を書き連ねているのか整理しておく。1つは、認知心理療法的な効果があるから。自分の中でもやもやしたものを文章として吐き出して目に見える形にする。書いたものが溜まっていくにつれて、「そういえば、これは以…

スキルが足りない

圧倒的にスキルが足りないのは分かっているが、どうやって訓練したらいいのか分からない。一言でいえば、経験を積むしかないのだろう。経験を積むためには、経験を得られる(=症例豊富な)環境に行かなければならない。だが、そのためには、自分のスキルを実力…

経過記録

先週は恐ろしく具合が悪かった。憂鬱感というよりはイライラが強くて集中困難。24日の日曜日になってようやく復調し、ゴニオメータのモデルとかを WebGL で書いて楽しんだ。25日はやや躁で、いろいろなプログラムのアイデアが浮かんだ。火曜日も順調だったが…

経過記録

今(2013/10/27)は、留学によるテンションの高さでカバーしているが、本質的には一週間前ほどからやや悪い相が始まっている。 http://d.hatena.ne.jp/biochem_fan/20131027/1382883947 のあと、11/5 ごろまで具合が悪かった。その後少し回復して、「自分はク…

スルースキル

ネットでは、「スルースキル」なるものが重要らしい。ギョッとする/ムッとする意見を見かけても、いちいち反論を吹っ掛けたりしない程度の煽り耐性はあるつもりだが、それでも「世間にはこんな攻撃的/差別的/etc な事を言う人がいる」と厭世的な気分になった…

Ruby で文字コードを取得する

前のラボで機器データ解析用に作っておいたプログラムが、Mac OS X を 10.9 (Marvericks) にアップグレードしたところ動作しなくなったという報告を受け取った。どうやら、OS 付属の Ruby が 2.0 にアップデートされたためらしい。Ruby で文字コードを取得し…

初めて触ったコンピュータ その2 - データレコーダのはなし

「記憶をダンプしておく」シリーズ第2号。その1は、こちらからどうぞ。さて、PC-6001 は最近の人から見ると信じられないような低スペックでだったわけだが、おそらく最も驚かれるのがデータの記録方法であろう。PC-6001の発売された1981年、ハードディスクド…

Xcode 付属の clang で C++11 の機能を使う

STL の vector コンテナを、リテラルで初期化する以下のコードを書いた。 std::vector<int> vec = {1, 2, 3}; これを Xcode 5.0.2 付属の g++ (実体は Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)) でコンパイルしようとしたら、 non-aggreg</int>…

DIALS のビルド

2016/05/04: 今は Installation — DIALS documentation にしたがって操作すればよい。本記事は歴史的な観点から残してある。DIALS のビルド方法はどこにも書いていない(!)のだが、@yam_cpp 氏による 動かしてみたい機能があったのでDIALSをビルドしてみた.c…

cctbxのビルド

最新の cctbx をビルドするには、http://cctbx.sourceforge.net/current/installation.html の一番下のセクションの指示に従えばよい。単純に svn でチェックアウトしてきただけだと、ccp4io を始めとする種々の依存関係が揃わないため、ビルドできない。cct…

substr と substring

R

R の substr と substring は、どの引数がベクトル化されているかで異なる。前者は第一引数(対象の text) 、後者は位置(first, last 引数)がベクトル化されている。両方をベクトル化したものはないので、注意が必要だ。 > substr('ABCDEFG', 1:4, 4:7) [1] "…

乱数の引数

R

R で、確率分布から乱数をサンプリングする runif や rnorm の引数はベクトル化されている。 > runif(10, min=c(0, 100), max=c(10, 110)) [1] 7.046310 103.526202 1.910480 103.118722 3.107876 102.799656 1.802613 109.406715 1.984414 [10] 102.594984 …

整数の一様乱数を得る

R

Rで一様乱数を得るには runif 関数を使う。ヘルプに、 runif will not generate either of the extreme values unless max = min or max-min is small compared to min, and in particular not for the default arguments. http://stat.ethz.ch/R-manual/R-d…

プロキシ設定をコンソールから変更

Mac

システムのプロキシ設定をコンソールから変更するには、networksetup コマンドを使う。プロキシサーバのアドレスを変更することももちろん可能だが、自分が使うのはオン・オフの切り替えのみ。 alias poff='sudo networksetup -setwebproxystate "Thunderbol…

dials.import で処理の準備をする

dials.import *.osc とすると、画像のヘッダを元に sweep.json と param.phil が作られる。sweep.json は { "__id__": "imageset", "template": "#####.osc", "beam": { "direction": [ 0.0, 0.0, 1.0 ], "wavelength": 1.5418000221252441, "divergence": 0…

dials.analyze_background を動かしてみる

MeanAndVarianceFilterMasked を MeanAndVarianceFilterMaskedDouble に修正。 BOOST_ADAPTBX_FPE_DEFAULT=1 dials.analyse_blank 00*.osc で、画像が表示される。