GoogleAnalytics

SyntaxHighlighter

2011年4月20日水曜日

[PX] S-SAD について私が知っている二、三の事柄 その3

承前

このエントリで(多分)最後です。



4. shelxD の Try数は 100 で充分。Try数を増やすより最大分解能を変えろ

shelxDによるS-SADのイオウ位置探索において、たまに「最大分解能で 1000 Try 回すのがイイ」ってのを聞きます。

確かに、

  • 高角まで含めて回折点数増やした方が、少ないとはいえ寄与が増えるから良さそうだ
  • 解が見つからなかったのは、Try数が少ないからで、チャンスを増やせば見つかりそうだ

という気もします。…実際のところはどうなんでしょうか?

前エントリで使ったデータ(波長 1.5 Åで取ったThaumatin結晶)は、最大分解能が 1.66 Åありますので、【SHEL 999 1.6】【NTRY 1000】でやってみたのが、以下の結果です。

最大分解能CCallの最頻値BestCCallMaxσ(mode)
1.67.4799.562.999

…まぁ、甘くはありませんねw

shelxDにおいて、(異常分散寄与のほとんど見られない・寄与より誤差のほうが大きい)不要な高角データは、解析結果に顕著に悪影響を与えるようです。
このことは、前段階である shelxC が、適切と思われる最大分解能を見積もって、D のインプットファイルに出力する、というお世話を焼いてくれることからも推察できます。

しかし、その見積りがアテにならないこともある、ってのは前々回示した通りですw
(ちなみに、一連のエントリで用いている Thaumatin のデータに対して、shlexC が見積もった最大分解能は 2.2 Åでした)


「やたらに分解能高くしても良くない」のはわかりましたが、「解が見つからなかったのはTry数が少ないから」という疑念は依然として残ります。

そもそも、前エントリの最大分解能を変えたデータでは、それぞれBestCCall が出現したTry数はいくつだったんでしょうか?

出現Try数を含めて表を再掲してみますと、

最大分解能CCallの最頻値BestCCall出現Try数Contrast(ori)Contrast(inv)Maxσ(mode)
2.212.70615.28110.4100.3922.893
2.414.47717.48260.4360.3802.344
2.516.29519.27160.3890.4102.459
2.617.44224.9610.7180.4216.199
2.820.40029.53700.5140.4525.922
3.022.52336.59200.7300.44410.370
3.225.46938.16800.7340.4388.518
3.427.52642.03390.7150.4378.222
3.631.33345.88840.5710.4307.812
3.833.53847.87120.7330.4514.750
4.035.36749.19600.5110.4366.586
4.238.51950.44720.4790.4164.557
4.441.38547.0120.4630.4282.490
4.641.50049.05420.4930.4183.356

見事にバラバラです… shelxD の仕様からすると当然なんですが…
「BestCCall は現れるのがランダムだ」とすると、「解が見つからなかったのはTry数が少ないから」という疑念もより確かなものになってきます。


…例えば、上記表中の「最大分解能 2.8 Å」のデータ、Maxσ(mode) が前後の分解能のものより若干低く、(ori) と (inv) の Contrast差も明瞭ではありません。
この「最大分解能 2.8 Å」のデータを、Try数 300 回に増やしてやると、

最大分解能CCallの最頻値BestCCall出現Try数Contrast(ori)Contrast(inv)Maxσ(mode)
2.820.40334.152950.7290.4609.586

となり、確かにこの場合は「解が見つからなかったのはTry数が少ないから」だったのが分かります。


では、単純に「デフォルトの Try数を増やせばイイ」のでしょうか? 今回は 300回で見つかりましたが、それでも見つからなかった場合は、さらに 500回とかまで増やすんでしょうか?

もし、今取り組んでる分解能が、最初に示したような「何千回やってもダメ」な分解能だった場合、これではいつまでたっても終わりませんw

ですので、「ある分解能で 100回 Try して解が見つからなかった」場合は、「その分解能が『何千回やってもダメ』な分解能である」という可能性を考慮し、「別の分解能で 100回 Try する」のをお勧めします。


…まぁ、「ある分解能で 1000回 Try」と「分解能10個で 100Try」は、計算にかかる総時間は大して変わらないでしょうが、手間10倍なので、面倒ですがねw

最大分解能を変えながら shelxD を自動で流してくれるスクリプトか GUI があれば楽チンなんですがねぇ…

0 件のコメント: