Amber mask语法:
① 冒号' : ' + 残基编号,表示匹配第几号残基。
若所匹配残基编号连续,用' - '连接;
若所匹配残基编号不连续,用' , '连接。
示例:
:15 #匹配第15号残基
:1-10 #匹配1-10号连续的几个残基
:2,7-9,25 #匹配2号、7-9号、以及25号残基
② 冒号' : ' + 残基名称
表示匹配全部的某类残基。
冒号' : ' + <string> + ' = ' , 匹配名字中以string 开头的残基。
示例:
:ARG #匹配所有的精氨酸
:PRO,LEU,PHE #匹配所有的脯氨酸、亮氨酸、苯丙氨酸
:AS= #匹配所有以名字中以AS开头的残基(以AS开头的残基有ASP、ASN)
③ ' @ ' + 原子序号
表示特定序号的原子被匹配上。
示例:
@15 #匹配第15号原子
@1-10 #匹配1-10号连续的几个原子
@2,7-9,25 #匹配2号、7-9号、以及25号原子
④ ' @ ' + 原子名称
表示特定名字的原子被匹配上。
' @ ' + <string> + ' = '
匹配名字中以string开头的原子。
示例:
@CA,N #匹配所有的原子名称为CA或N的原子
@C= #匹配所有以名字中以C开头的原子(即所有的C原子)
@H= #匹配所有以名字中以H开头的原子(即所有的H原子)
⑤ ' @% ' + 原子类型
表示特定类型的原子被匹配上。
示例:
#匹配所有(力场中定义的)原子类型为CT的原子 (这是一种标准的sp3杂化的碳原子)) CT
#匹配所有(力场中定义的)原子类型为N*或N3的原子 N*,N3
#(N*是一种特殊的sp2杂化的碳原子,N3是一类sp3杂化的氮原子)
以上是amber mask基本选择模块部分,除此之外,它还可以配合逻辑操作符等进行更加灵活的原子选区:
几个逻辑操作符:
& 和
| 或
! 取反/非
几个距离运算符:
<: #后面接数字,表示距离小于几A范围内的残基
>: #后面接数字,表示距离大于于几A范围内的残基
>@ #后面接数字,表示距离小于几A范围内的原子(注意是原子,不是残基!)
<@ #后面接数字,表示距离大于几A范围内的原子(注意是原子,不是残基!)
示例:
= & ! ,C #匹配所有碳原子,但排除掉那些原子名称为CA及C的原子
:1-3 | :5-7 #匹配1-3号残基的CA原子或5-7号残基的CB原子
:CYS,ARG & !(:1-10 | ,CB) #匹配残基CYS及ARG,并排除掉1-10号残基或排除掉名称为CA、CB的原子
:*& ! = #匹配所有残基但排除所有氢原子。另一种表达形式为 ! =
:5 <@4.5 #匹配距离5号残基4.5A范围内的所有原子
(:1-55 <:3.0) & :WAT #匹配距离1-55号残基3A范围内的所有残基,这些原子还必须是水分子。
含有逻辑操作符的匹配选区遵循一定的运算顺序(类似小学生的'先乘除后加减'),依次是:
()括号选区 距离选区 ! & |
除此之外,这些带有逻辑、距离运算符的匹配规则还可以进行简写,简写范式如下:
:{残基编号 / 残基名称}@{原子编号 / 原子名称 / 原子类型}
示例:
:1-10@CA 等价于 :1-10 & @CA
:1-10 & @CA 等价于 :LYS & @H=