LGAのコンパイルでSegmentation faultが出る
タンパク質のアラインメント計算ソフトウェアのLGAでコンパイルはできるのだが, Segmentation faultで実行できない問題の対応法。
LGA - Protein Structure Comparison Facility
[解決策]ulimit -s unlimitedする
どうもコアダンプの容量が制限されているのが原因らしい。
ulimit -s unlimited cd ./SRC make -f Makefile.linux=x86=64
Pymol 見た目を調整する
気付き次第, 順次追加予定。。。
DSSコマンド
水素結合および主鎖の構造を用いて二次構造情報を自動的に追加する。これにより二次構造情報に基づいた色分けなどが可能になる。
https://pymolwiki.org/index.php/Dss
デフォルトの設定を変更する(背景など)
pymolrcに常時設定したいコマンドを書き込む。起動時に自動的に読み込まれる。以下は私のpymolrcの設定。
https://pymolwiki.org/index.php/Pymolrc
bg_color white hide ribbon,all show cartoon,all show cell
ボックスを表示
周期的境界条件の設定がなければ表示できない(当たり前だが)
show cell
自動で"いい感じ"の見た目にする
presetを使う。publishがすき
https://pymolwiki.org/index.php/Preset
高Qualityなきれいなイメージを出力する
以下に従って操作する。かんたん。
https://pymolwiki.org/index.php/Publication_Quality_Images
Poisson-Boltzmann方程式を導出する
目的
- 分子シミュレーションでよく使われるPossion-Boltzmann方程式を導出する。間違ってたら教えて下さい。
出発
まずPossion equationから出発する
:点rにおける誘電率; :点rにおける静電ポテンシャル; :点rにおける電荷密度
この式はある点における電荷分布がわかれば, ある点におけるポテンシャルが計算できることを示す。
電荷分布をBoltzmann分布で表す
特定の場所におけるイオンの濃度がBoltzmann分布によって示されるとする。つまり,
:イオンiのrにおける濃度; :バルクのイオン濃度; :イオンiの価数; イオンの価数; 電荷素量;: 場所rにおけるイオンiのポテンシャル; :ボルツマン定数; :温度;
以上のイオンの濃度分布にイオンの価数および電気素量をかけることで, イオンiの点rにおける電荷分布が得られる。
溶質から来る電荷分布および全イオンからの寄与を考慮することで,
これを前述のPossion equationに代入することでPossion-Boltzmann equationを得る。
Poission-Boltzmann equationを線形化する
<< のとき, 一次の項までマクローリン展開すると
これをでPossion-Boltzmann equationに代入して
系内のイオンの電荷の和が0であるならであるので, 以下のような線形化されたPoisson-Boltzman方程式を得る
デバイ長
線形化されたPoisson-Boltzman方程式において誘電率が場所によらず一定値であるとすると, 前述の方程式の末項を変形することでデバイ長を得る。デバイ長以下では電場は遮蔽されない。
参考:
得たPoission-Boltzmann方程式を解く
modernな解法は調べていないが, 差分法による直感的アプローチは以下のサイトがとてもわかりやすかった。
先に導出した式は線形化されているので以下のステップにより簡単に解くことができる(疑問:線形化されてなかったらどうするんでしょうね。。。?)
- グリッドを切る
- 境界条件を設定
- 端から順にポテンシャルを解いていく
- 各点のポテンシャルの値がself-consistentになるまで反復する
実際の分子シミュレーションでは・・・
ステップごとにポテンシャルを求めていくのは超ハイコストなので行われていないらしい。MM-PBSAなどでリガンド相互作用の計算に使われている。というわけで次はMM-PBSAについて書く(予定)
SMARTSってなんやねん(化学)
参考:
要は
SMILES
SMARTS
- SMILESを検索クエリ用に拡張
- ワイルドカードで表記できる
- 同一記法でもSMILESとは意味が異なる可能性あり
「SMILE語」の文法を学ぶ
語学を学ぶには最低限の文法理解は必要, ということで以下のテーブルをざっくり理解。
原子表記(atomic primitives)
Symbol | Symbol name | Atomic property requirements | Default |
---|---|---|---|
* | wildcard | any atom | (no default) |
a | aromatic | aromatic | (no default) |
A | aliphatic | aliphatic | (no default) |
D<n> | degree | <n> explicit connections | exactly one |
H<n> | total-H-count | <n> attached hydrogens | exactly one1 |
h<n> | implicit-H-count | <n> implicit hydrogens | at least one |
R<n> | ring membership | in <n> SSSR rings | any ring atom |
r<n> | ring size | in smallest SSSR ring of size <n> | any ring atom2 |
v<n> | valence | total bond order <n> | exactly one2 |
X<n> | connectivity | <n> total connections | exactly one2 |
x<n> | ring connectivity | <n> total ring connections | at least one2 |
- <n> | negative charge | -<n> charge | -1 charge (-- is -2, etc) |
+<n> | positive charge | +<n> formal charge | +1 charge (++ is +2, etc) |
#n | atomic number | atomic number <n> | (no default)2 |
@ | chirality | anticlockwise | anticlockwise, default class2 |
@@ | chirality | clockwise | clockwise, default class2 |
@<c><n> | chirality | chiral class <c> chirality <n> | (nodefault) |
@<c><n>? | chiral or unspec | chirality <c><n> or unspecified | (no default) |
<n> | atomic mass | explicit atomic mass | unspecified mass |
原子表記の例
C |
aliphatic carbon atom |
|
c |
aromatic carbon atom |
|
a |
aromatic atom | |
[#6] |
carbon atom |
|
[Ca] |
calcium atom |
|
[++] |
atom with a +2 charge |
|
[R] |
atom in any ring |
|
[D3] |
atom with 3 explicit bonds (implicit H's don't count) |
|
[X3] |
atom with 3 total bonds (includes implicit H's) |
|
[v3] |
atom with bond orders totaling 3 (includes implicit H's) |
|
C[C@H](F)O |
match chirality (H-F-O anticlockwise viewed from C) |
|
C[C@?H](F)O |
matches if chirality is as specified or is not specified |
結合表記(bond primitive)
こっちは原子表記より少ないので楽
Symbol | Atomic property requirements |
---|---|
- | single bond (aliphatic) |
/ | directional bond "up"1 |
\ | directional bond "down"1 |
/? | directional bond "up or unspecified" |
\? | directional bond "down or unspecified" |
= | double bond |
# | triple bond |
: | aromatic bond |
~ | any bond (wildcard) |
@ | any ring bond1 |
結合表記の例:
C | any aliphatic carbon |
cc | any pair of attached aromatic carbons |
c:c | aromatic carbons joined by an aromatic bond |
c-c | aromatic carbons joined by a single bond (e.g. biphenyl) |
省略されると
引用元:
SMARTS官能基当てクイズ
Q:
- [CX4]
- [CX3]=[OX1]
- [NX3][CX3](=[OX1])[#6]
A:
- 4つ結合がある脂肪族炭素
⇒ アルキル基 - (3つ結合がある脂肪族炭素)二重結合(結合を一つもつ酸素)
⇒ カルボニル基 - (3つ結合がある窒素)(3つ結合がある炭素)(=二重結合(結合を一つもつ酸素))(原子番号6の原子)
⇒ アミド基
あとは適宜わからんのが出てきたら学ぶ。
引用:
SMARTSを可視化する
大量に可視化したい場合はRDkitなどを使う必要があるのだろうが, ひとまず以下のサイトでお手軽に可視化できる。
sshfsでマウントしたフォルダが"You do not have the permissions necessary to view the contents of mounted directory"と出て開けない
Mac OSX MojaveでSshfsでマウントしたフォルダがパーミッションエラーで開けない
You do not have the permissions necessary to view the contents of mounted directory.
というメッセージによりsshfsが開けなくなったのでその対処法
対策
-o defer_permissions
をつけてsshfsをマウントする
参考:
なんでこれでなおるねん?
上記リンクのbfleischer兄貴によると
- sshではリモート側がフォルダのアクセス権を管理している
- sshfsではmac側とリモート側の両方でアクセス権を管理している。ゆえにmac側からはリモート側のアクセス権が見えないので読み込みエラーが起きる
-
-o defer_permissions
をつけることによりsshと同様にリモート側にアクセス権管理を委ねるため, アクセスできるようになるとのこと。
ちゃんちゃん