方位行列の偏微分

以前に書いた方位行列の偏微分を求めておこう。 となるような方位行列を計算すると、 となるのだった。これを偏微分していく。ただし、 の形も使う。ここまでは楽勝。以下、検算してない(上も保証はできないけれど)ここもなんとか。問題は の偏微分であるが…

d*TREK を使ってみる

さきほど、d*TREK をビルドしたが、dtprocess と dtdisplay という GUI 部分がうまく動かなかった。そこで、CUI だけから使ってみることになる。基本的には、xia2 のドキュメント ftp://ftp.ccp4.ac.uk/ccp4/6.3.0/ccp4-6.3.0/share/xia2/xia2/Wrappers/dTRE…

DIALS image viewer の周辺

DIALS image viewer は dials/command_line/image_viewer.py がエントリポイントであるが、直ちに dials/util/spotfinder_wrap.py に移譲される。GUI の本体は dials/util/spotfinder_frame.py であるが、これは cctbx 側の rstbx に含まれている slip_viewe…

iPython notebook から cctbx を使う

年を取ったのでなかなか Python が身につかない――などと言っているわけにもいかなくなってきたので、頑張る。iPython と notebook が便利らしいので、cctbx もここから使いたい。iPython 自体は apt-get install ipython ipython-notebook で入るのだが、こ…

sshfs でマウントした場所から git

sshfs でマウントした場所から git を使うと、 error: Couldn't set refs/remotes/personal/master error: Cannot update the ref 'refs/remotes/personal/master'.などというエラーが出ることがある。これを回避するには、 sshfs username@server:/path/to/…

h5py で圧縮

h5py で既存の HDF5 ファイルを圧縮した。現状の HDF5 は、既存のデータセットを削除できない(論理的には削除できるが、その領域を再利用できないし、ファイルサイズが縮むこともない)ので、新たにファイルを作って、圧縮フィルタを通しながら書き込んでいく…

統計量の不偏性や一致性と、post-refinement について

4/23 ごろに Twitter に書いたことの再録。シリアル結晶学における post-refinement について問題提起しておく。これらの手法の不偏性や一致性についての検証はまったくといってよいほどされていない。つまり、ある枚数から処理したときに得られる強度(の推…

Python のスレッドと os.system について

os.system は、サブプロセスの実行が終わるまでブロックする。& をつけるとブロックしない。Python のスレッドは、daemon フラグが立っていないと、それが終了するまで python インタプリタが残る。daemon フラグが立っていると、他のに合わせて自動で死亡す…

CPU 周波数の調節

Ubuntu 14.04 LTS で、CPU 周波数の自動調節機能 Enhanced Speed Step Technology (EIST) がうまく動作していないことに気づいた。Core i7-3970X でも Core i7 870 でも同様だ。/proc/cpuinfo を見ると、いつも(TurboBoost 前の)最高周波数で動いているよう…

行列を回転

R

画像回転のための準備。 m <- matrix(1:12, 3) nc <- ncol(m) nr <- nrow(m) m t(m)[seq(nc,1),] m[seq(nr,1),seq(nc,1)] t(m)[seq(1,nc),seq(nr,1)]

cctbx.xfel 読解メモその4

まだまだ続くよ。xfel/metrology/mark0.py には、CSPAD のピクセルサイズと厚さがハードコードされている。rstbx/bandpass/parameters.h は、use_case_bp3 が使うパラメータを集めた parameters_bp3 クラスのほか、検出器の parallax correction を行う pad_…

bash の wait と、SHELXE の条件検討

bash のシェルスクリプト内で background job を立ち上げた場合、最後に wait を入れないと、job の完了を待たずにスクリプトが終了してしまう。したがって、job も共倒れになってしまう。例えば、TORQUE を使って 30 並列で SHELXE の条件検討を行うスクリ…

watch コマンドで SHELXE の進捗を監視

先日、@yam_cpp 氏に watch コマンドを教えてもらった。これは、定期的にコマンドを実行して、結果をフルスクリーンで(=再実行ごとに clear を実行して)表示する。解説は watch でコマンドを延々と実行する - いますぐ実践! Linuxシステム管理 / Vol.223 が…

シリアル結晶学のための post-refinement について

1年前に Post-refinement についての覚え書き - biochem_fan's note を書いた。その後、シリアル結晶学への応用が急速に進み、2015年に至って、ついに効果が立証された。これらの進展について説明しよう。Rossmann, M. G., et al. "Processing and post-refi…

cctbx.xfel 読解メモその3

いったん分かりだすとペースが早くなり、ここにメモを書くのがもどかしくなって、メモをせずにどんどん進めてしまった。要点だけ。cctbx.xfel はスポット検出に distl.spotfinder, 指数付けに labelit を用いている。これらは画像ファイルへのアクセスに iot…

cctbx.xfel 読解メモその2

長くなったので項目を分けた。xfel/command_line/frame_extractor.pyは DIALS の処理結果を cctbx.xfel 用の pickle に変換するもののようだ。xfel/command_line/frame_unpickler.py はその逆?xfel/command_line/metrology.py は、detector metrology refine…

cctbx.xfel 読解メモ

cctbx.xfel のコードを読んでいく。メモなのでぐちゃぐちゃ。cctbx.xfel は LCLS のシステムと強く結合している。LCLS では、生データは XTC というストリームで供給される。これを処理するのが pyana というライブラリ。XTC はイベントベースのストリームで…

φ の回折パラメータによる偏微分

Kabsch, Wolfgang. "Integration, scaling, space-group assignment and post-refinement" Acta Crystallographica Section D 66.2 (2010): 133-144 の 2.8 節において、反射の生じる回転角 の、回折パラメータ による偏微分がと表現されている。この見慣れ…

指数の正規化、あるいは、asymmetric unit への変換

マージする時や mtz ファイルを解釈する時など、与えられた指数を標準的な asymmetric unit 内の指数に変換する必要が生じる。もっとも単純なアルゴリズムは以下のとおり。 あらかじめ点群における対称操作 を列挙しておく 与えられた指数 h に、上の対称操…

無限小回転

続けて、無限小回転を手を動かして確認する。x 軸周りに x 回す回転 Rx は、 と表される。同様に、y 軸、z 軸周りの回転も となる。これらを続けて行った結果は大変ヤヤコシイので、以降では maxima で計算する。 (%i17) Rx: matrix([cos(x), -sin(x), 0],[s…

Orthogonalization matrix の導出と、格子定数による偏微分

Orthogonalization matrix の計算法を書いておく。となるように、行列の成分を決めたい。(X, Y, Z) はデカルト座標系での座標であり、(x, y, z) は結晶軸に沿った分数座標である。まず、標準方位として、a 軸の方向が x 軸正の方向と一致し、b 軸が x, y 平…

SHELXD のログから CC を抽出

Try 4989, CPU 4, CC All/Weak 33.8 / 11.4, CFOM 45.2, best 57.7, PATFOM 3.53から、CC を抽出するには、 grep "All/Weak" test_fa.lst | tr -s " " | cut -f8,10 -d" " | sed 's/,//' とする。awk だけでも書けるけど。R で 簡易プロットするには、 png("…

シリアル結晶学における partiality の分布

シリアル結晶学における partiality の分布がどうなるかをシミュレーションで調べる。まず、rocking curve のモデルとして、標準正規分布を採用する(XDS のモデル)。 図では、-4, 4, -3, 3, -2, 2 のところに縦線をひいた。仮に、結晶の mosaicity やビーム…

LD_RUN_PATH と LD_LIBRARY_PATH

プログラムの実行時に ld がライブラリを探しに行くパスは、リンク時にリンカがバイナリへ埋め込む。その値は LD_RUN_PATH で設定できる。一時的に変更するには、gcc に -Xlinker -rpath /path/to/lib オプションをつける。LD_LIBRARY_PATH は、実行時に ld …

vmd のスクリプト覚え書き

追記していく予定。 読み込み mol load psf topology.psf for {set i 0} {$i < 40} {incr i} {mol addfile [format "production_run_%02d.dcd" $i]} 表示の追加 mol rep NewCartoon mol selection protein mol color SegName mol addrep top mol rep Licoric…

ジョブシステムの違い

思いつくところから増やしていく。 Sun Grid Engine (SGE) TORQUE 富士通 説明 qstat qstat pjstat -E ジョブの様子 qhost qnodes pjstat --rsc ノードの様子 要確認 qstat -q pjshowrsc キューの様子 qsub -d . job.sh qsub -d . job.sh (デフォルト) カレ…

Rodrigues space による回転の表現と GrainSpotter

3次元空間で、原点を始点とするベクトル u を、原点を始点とする別のベクトル v に重ねる回転は無数にある。u, v に直交する軸で回転させるのが直感的かもしれないが、回転した後にさらに v を軸に任意に回転させることができる。また、原点を頂点として、u,…

SSL-VPN にリダイレクトする Bookmarklet

大学に、電子ジャーナルにリモードアクセスするための SSL-VPN ゲートウェイがある。http://journal/web/site/article.pdf にアクセスするには、https://gateway/server/,targetURL=journal/web/site/article.pdf にアクセスすることになっている。これは、J…

sigma cutoff によるバイアス

sigma cutoff の濫用は、バイアスの原因となる。負の観測を切り捨てることで測定値を正にバイアスし、ノイズしかない場合でもシグナルがあるかのような統計値を生み出してしまう。このため、業界のコンセンサスとしては、-3 よりも大きくするのは良くないと…

Bash の引数について

test1.sh として echo "arg1 $1" echo "arg2 $2" bash test2.sh $2 test2.sh として echo "arg1 $1" echo "arg2 $2" を用意してテスト。 #bash test.sh 1 "2 3" arg1 1 arg2 2 3 arg1 2 arg2 3 となった。本当は、「残りの引数全部」を自然に次のプログラム…