Amber 轨迹处理

Amber 使用cpptraj 分析轨迹之系统轨迹处理: 旋转、放缩、居中、检查手性等

rotate

绕X/Y/Z轴、指定轴、旋转矩阵旋转体系

1
2
3
4
5
6
7
rotate [<mask>] 
{ [x <xdeg>] [y <ydeg>] [z <zdeg>] | axis0 <mask0>
axis1 <mask1> <deg> | usedata <set name> [inverse] }
# 体系绕X轴旋转90°
rotate x 90
# 残基270绕自定义旋转轴旋转90°
rotate :270 axis0 :270@C1,C2,C3,C4,C5,C6 axis1 :270@C7,C8,C9,C10,C11,C12 90.0
  • [<mask>] 旋转原子
  • [x <xdeg] 绕X轴旋转角度
  • [y <xdeg] 绕Y轴旋转角度
  • [z <xdeg] 绕Z轴旋转角度
  • axis0 <mask0> 自定义旋转轴的起始原子
  • axis1 <mask1> 自定义旋转轴的终点原子
  • <deg> 绕自定义旋转轴旋转角度
  • usedata <set name> 定义旋转坐标的3x3旋转矩阵
  • [inverse] 输入旋转矩阵的逆矩阵

scale

按指定因子在X/Y/Z方向放缩mask原子坐标

1
scale x <sx> y <sy> z <sz> <mask>

trans | translate

在X/Y/Z方向平移指定mask原子

1
translate [<mask>] [x <dx>] [y <dy>] [z <dz>]

center

将指定坐标居中到盒子中心或者参考结构

1
2
3
4
center [<mask>] [origin] [mass] 
[ reference | ref <name> | refindex <#> [<refmask>]]
# 移动所有坐标,使残基1质心居中
center :1 mass
  • [<mask>] 基于原子选择语句
  • [origin] 居中到origin(0,0,0)。默认居中对齐到盒子中心$[\frac{X}{2},\frac{Y}{2},\frac{Z}{2}]$。
  • [mass] 使用质心(default 几何中心)
  • [reference | ref <name> | refindex <#> [<refmask]] 基于坐标居中

image

重新设置坐标

1
2
3
4
5
6
7
8
9
image [origin] [center] 
[triclinic | familiar [com <commask>]]
[<mask>] [ bymol | byres | byatom ] [xoffset <x>]
[yoffset <y>] [zoffset <z>]
# 移动所有原子,使残基1位于中心
center :1
image
# 在X方向偏移1个盒子长度
image xoffset 1.0
  • [origin] 中心坐标设置为(0,0,0),默认为盒子中心
  • [center] 对于byres、bymol,使用质心image,默认使用第一个原子位置
  • [triclinic] 强制非正交单元格
  • [familiar [com <commask>]]
  • [<mask>] Image atoms/residues/molecules in mask.
  • [bymol] Image by molecule (default).
  • [byres] Image by residue.
  • [byatom] Image by atom.
  • [xoffset <x>] Shift atoms by a factor of in the X-direction.
  • [yoffset <y>] Shift atoms by a factor of in the Y-direction.
  • [zoffset <z>] Shift atoms by a factor of in the Z-direction.

autoimage

autoimage用于处理周期性轨迹并输出轨迹,对于大多数体系,只要输入autoimage即可

1
2
3
4
5
6
7
8
9
autoimage [<mask> | anchor <mask>]
[fixed <mask>] [mobile <mask>] [origin] [firstatom]
[familiar | triclinic]
parm xxx.parm7
trajin xxx.crd
autoimage
trajout xxx.crd
run
quit
  • [<mask> | anchor <mask>] 居中区域,默认是输入的第一个分子
  • [fixed <mask>] 固定分子;默认所有非离子非溶剂分子
  • [mobile <mask>] 自由移动的分子;默认所有离子和溶剂分子
  • [origin] 居中区域,默认为盒子中心
  • [firstatom] 基于分子第一个原子image,默认分子质心映像。
  • [familiar]
  • [triclinic]

unwrap

Reverse of image; unwrap selected atoms so they have continuous trajectories

1
2
3
unwrap [center] [{bymol | byres | byatom}] 
[ reference | ref <name> | refindex <#> ]
[<mask>]
  • [center] Unwrap by center of mass; otherwise unwrap by first atom position.
  • bymol Unwrap by molecule (default).
  • byres Unwrap by residue.
  • byatom Unwrap by atom.
  • [ reference | ref <name> | refindex <#> ] Reference structure to use in unwrapping.
  • [<mask>] Selection to unwrap.

mask

1
2
3
4
5
mask <mask> [maskout <filename>] 
[maskpdb <pdbname>]
[maskmol2 <mol2name>]
# 输出残基195 3A范围内所有属于水的原子
mask “(:195<:3.0)&:WAT” maskout Res195WAT.dat maskpdb Res195WAT.pdb
  • <mask> Atom mask to process.
  • [maskout <filename>] Write information on atoms in to .
  • [maskpdb <name>] Write PDB of atoms in to .X.
  • [maskmol2 <name>] Write Mol2 of atoms in to .X.

strip

从系统中移除指定原子

1
2
3
4
5
6
7
strip <mask> [outprefix <name>] [nobox]
# 移除残基1
strip :1
# 移除水分子
strip :WAT
# 移除残基1-14 6A范围外的所有原子
strip !(:1-14<:6.0) outprefix f1.1 nobox
  • <mask> 移除mask原子
  • [outprefix <prefix>] 输出带有前缀的topol文件
  • [nobox] 移除盒子信息

unstrip

撤销strip命令

1
unstrip

结合strip、unstrip、outtraj命令输出独立的复合物、配体、受体文件。

filter

使用数据集和自定规则过滤帧

1
2
3
4
5
6
7
8
filter <dataset1 arg> min <min1> max <max1> 
[<dataset2 arg> min <min2> max <max2> ...]
[out <file> [name <setname>]]
# 输出残基2-11 RMSD在0.7-0.8A之间的轨迹帧
trajin xxx.crd
rms R1 first :2-11
filter R1 min 0.7 max 0.8 out filter.dat
outtraj maxmin.crd
  • <datasetX arg> 用于过滤的dataset
  • min <minX> dataset中值最小为
  • max <maxX> dataset中值最大为
  • [out <file>] 输出文件
  • [name <setname>] 过滤的数据集名

outtraj

1
2
outtraj <filename> [ trajout args ]
[maxmin <dataset> min <min> max <max>]
  • <filename> 输出轨迹名
  • [trajout args] 输出轨迹选项
  • [maxmin <dataset> min <min> max <max>] 只输出dataset中值处于某个范围的帧

average

计算输入坐标的平均并输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
average {crdset <set name> | <filename>} 
[<mask>] [start <start>] [stop <stop>]
[offset <offset>] [Trajout Args]
# 输出所有帧的结构平均坐标到pdb
average xxx.pdb pdb
# 输出mol2文件只包含1-100帧残基1-10的平均结构坐标
average xxx.mol2 mol2 start 1 stop 100 :1-10
# 创建一个平均坐标并作为RMSD的参考
trajin xxx.crd
average crdset MyAvg @CA
run
rmsd ref MyAvg @CA out RmsToAvg.dat
run
quit
  • <filename> 输出平均坐标
  • crdset <set name> 保存平均坐标到坐标集
  • [<mask>] 计算mask内的平均坐标
  • [<start>] 起始帧 (default 1).
  • [<stop>] 结束帧(default last).
  • [<offset>] 帧间隔(default 1).
  • [Trajout args] 输出轨迹格式(default Amber Trajectory)

bounds

计算在指定原子的最大/小坐标,可用于创建网格数据集

1
2
3
bounds [<mask>] [out <filename>] 
[dx <dx>] [dy <dy>] [dz <dz>]
name <gridname> [offset <bin offset>]
  • [<mask>] 原子选择语句
  • [out <filename>] 输出文件
  • [dx <dx> [dy <dy>] [dz <dz>]]从bonds创建网格数据集,xyz生成的格点
  • [name <gridname>] 生成数据集
  • [offset <bin offset>]每个方向上添加/减去生成网格数

box

设置或者覆盖盒子信息

1
2
3
box [x <xval>] [y <yval>] [z <zval>] 
[alpha <a>] [beta <b>] [gamma <g>]
[nobox] [truncoct]
  • [x <xval>] [y <yval>] [z <zval>] 改变盒子长度
  • [alpha <a>] [beta <b>] [gamma <g>] 改变盒子角度
  • [nobox] 移除盒子信息
  • [truncoct] 设置盒子角度为截断的八面体

Notice: 在轨迹处理期间修改盒子信息。此将永久修改 topol盒子信息

check | checkoverlap | checkstructure

检查原子之间不合理的重叠和键长。用于跳过不合理的帧

1
2
3
4
5
6
7
8
9
check [<mask>] [around <mask2>] [reportfile <report>]
[noimage] [skipbadframes] [offset <offset>]
[cut <cut>] [nobondcheck] [silent]
# 静默检查1 2原子之间结构合理性
check @1,2 skipbadframes silent
# 检查残基1-13之间的结构合理性,并跳过损坏帧,输出轨迹
trajin xxx.crd
check :1-13 skipbadframes silent
trajout fixed.xxx.nc
  • [<mask>] 检查结构中的原子(default all)
  • [around <mask2>] 只检查<mask>和<mask2>的原子
  • [reportfile <report>]输出查找到的问题
  • [noimage]
  • [skipbadframes] 轨迹输出跳过损坏帧
  • [offset <offset>] 输出键长大于(平衡长度*offset)值(default 1.0 Å)
  • [cut <cut>] 输出原子小于截断值(cut)(default 0.8 Å).
  • [nobondcheck] 只检查重叠
  • [silent] 不输出损坏帧信息

checkchirality

检查$\alpha$碳周围残基的手性(L,D)

1
2
3
4
5
6
checkchirality [<name>] [<mask>] [out <filename>]
# 检查系统中所有氨基酸手性并输出
checkchirality DPDP out chiral.dat
# Output will have format similar to:
# #Res DPDP[L] DPDP[D]
# 2.000 100 0
  • [<name>] 数据集
  • [<mask>] 原子选择语句
  • [out <filename>] 输出文件

closest | closestwaters

保留接近指定溶质的指定数量的溶剂分子

1
2
3
4
5
6
closest <# to keep> <mask> [noimage] 
[first | oxygen] [center][closestout <filename>]
[name <setname>] [outprefix <parmprefix>]
[parmout <file>]
# 输出NOS残基附近最接近的10个溶剂分子,输出文件前缀closest
closest 10 :NOS first closestout closemol outprefix closeset
  • <# to keep> mask原子周围需要保存溶剂分子数
  • <mask> 原子选择语句
  • [noimage]
  • [first | oxygen] 只计算mask原子与溶剂第一个原子的距离(适用于标准水模型)
  • [center] 只寻找接近mask原子中心的水而不是mask中的每个原子
  • [closestout <filename>] 输出溶剂分子
  • [outprefix <prefix>] 使用prefix名输出相关topol
  • [parmout <file>] 输出相关topol

createcrd

对输入轨迹帧创建轨迹数据集

1
2
3
4
createcrd [<name>] [ parm <name> | parmindex <#> ]
# 保存计算rms的轨迹帧到坐标集
rms reference :1-12@CA
createcrd MyCrd

createreservoir

创建用于REMD模拟的结构文件

1
2
3
4
5
createreservoir <filename> ene <energy data set> 
[bin <cluster bin data set>] temp0 <temp0>
iseed <iseed> [velocity]
[parm <parmfile> | parmindex <#>]
[title <title>]
  • <filename>输出文件名
  • ene <energy data set> 关联帧的能量数据集
  • [bin <cluster bin data set>] 数据集合个数?(for REMD=3).
  • temp0 <temp0> Reservoir 温度
  • iseed <iseed> Reservoir 随机种子数
  • [velocity] reservoir包含速度
  • [parm <parmfile> | parmindex <#>] 关联topol
  • [title <title>] Reservoir 名称