4.4.1. 孔洞分析 MDAnalysis.analysis.hole2
- 作者:
王莉莉
- 年:
2020
- 版权所有:
GNU公共许可证v3
在 1.0.0 版本加入.
此模块为 HOLE 一套工具 [1][2] 分析离子通道孔或转运体途径 [3] 作为时间或任意阶数参数的函数。它取代了 MDAnalysis.analysis.hole
。
HOLE 必须单独安装,可以从http://www.holeprogram.org/以二进制形式获得,也可以从https://github.com/osmart/hole2.以源代码形式获得(Hole是开源的,在Apachev2.0许可下可用。)
4.4.1.1. 模块
4.4.1.1.1. 孔洞分析 MDAnalysis.analysis.hole2
- 作者:
王莉莉
- 年:
2020
- 版权所有:
GNU公共许可证v3
在 1.0.0 版本加入.
此模块包含要与之交互的工具 HOLE :CITE:P:Smart1993,Smart1996‘分析离子通道孔或转运体途径 :cite:p:`Stelzl2014 。
4.4.1.1.1.1. 在PDB文件上使用孔
使用 :func:``hole` ` function to run HOLE 在单个PDB文件上。例如,下面的代码运行 HOLE 程序安装在‘~/hole2/exe/hole’::
from MDAnalysis.tests.datafiles import PDB_HOLE
from MDAnalysis.analysis import hole2
profiles = hole2.hole(PDB_HOLE, executable='~/hole2/exe/hole')
# to create a VMD surface of the pore
hole2.create_vmd_surface(filename='hole.vmd')
profiles
是一本按帧编号索引的孔轮廓词典。如果只将PDB文件传递给该函数,则在第0帧将只有一个配置文件。您可以通过将您的PDB文件加载到VMD中来可视化毛孔,并在扩展>TK控制台中键入::
source hole.vmd
还可以以与pdb文件相同的顺序传递具有相同原子的DCD轨迹。 dcd
关键字参数。在这种情况下, profiles
将包含多个按框架索引的孔轮廓。
孔程序将创建一些输出文件:
输出文件(默认名称:hole.out)
Sphpdb文件(默认名称:hole.sph)
范德瓦尔斯半径的文件(如果未使用指定
vdwradii_file
。默认名称:imple2.rad)您的PDB或DCD文件的符号链接(如果原始名称太长)
输入文本(如果指定
infile
)
默认情况下, (keep_files=True ),这些文件将被保留。如果要在函数错误后删除文件,请设置 keep_files=False 。请记住,如果删除sphpdb文件,则无法创建VMD曲面。
4.4.1.1.1.2. 使用轨迹上的孔
您也可以在轨迹上打洞,穿过 HoleAnalysis
班级。它的行为类似于 hole
函数,尽管参数(如 cpoint
和 cvect
成为 run()
功能。
该类可以像正常的MDAnalysis分析类一样设置和运行:
import MDAnalysis as mda
from MDAnalysis.tests.datafiles import MULTIPDB_HOLE
from MDAnalysis.analysis import hole2
u = mda.Universe(MULTIPDB_HOLE)
ha = hole2.HoleAnalysis(u, executable='~/hole2/exe/hole') as h2:
ha.run()
ha.create_vmd_surface(filename='hole.vmd')
类创建的VMD曲面更新轨迹的每一帧的孔。通过在VMD中加载您的轨迹并在TK控制台中获取文件来正常使用它。
您可以访问在 results
属性::
print(ha.results.profiles)
同样,HOLE会写出每一帧的文件。如果您想在分析后删除这些文件,您可以调用 delete_temporary_files()
::
ha.delete_temporary_files()
或者,您可以使用HoleAnalysis作为上下文管理器,在您完成以下上下文管理器后删除临时文件:
with hole2.HoleAnalysis(u, executable='~/hole2/exe/hole') as h2:
h2.run()
h2.create_vmd_surface()
4.4.1.1.1.3. 将孔与VMD一起使用
这个 sos_triangle 属于以下内容的计划 HOLE 可以为以下项写入输入文件 VMD 要显示孔的三角化表面,请执行以下操作 hole 。此功能可通过 HoleAnalysis.create_vmd_surface()
方法 [4]. 对于输入轨迹,MDAnalysis将一个 轨迹 可以在VMD中与轨迹中的帧一起设置动画的毛孔表面。
4.4.1.1.1.3.1. 分析一个完整的轨迹
分析完整轨迹并将所有帧的孔面写入文件 hole_surface.vmd
,使用::
import MDAnalysis as mda
from MDAnalysis.analysis import hole2
# load example trajectory MULTIPDB_HOLE
from MDAnalysis.tests.datafiles import MULTIPDB_HOLE
u = mda.Universe(MULTIPDB_HOLE)
with hole2.HoleAnalysis(u, executable='~/hole2/exe/hole') as h2:
h2.run()
h2.create_vmd_surface(filename="hole_surface.vmd")
在VMD中,加载您的轨迹,然后在TCL控制台(例如..
)加载曲面轨迹:source hole_surface.vmd
如果你只想 对轨迹进行子采样 并且仅在特定帧显示曲面,则可以将具有相同子采样的轨迹加载到VMD中,也可以创建次采样轨迹。
4.4.1.1.1.3.2. 创建次采样孔曲面
例如,如果我们希望在第1帧开始显示(即,跳过第0帧),在第7帧停止显示,并且只显示每隔一帧(步骤2),则孔分析将是:
with hole2.HoleAnalysis(u, executable='~/hole2/exe/hole') as h2:
h2.run(start=1, stop=9, step=2)
h2.create_vmd_surface(filename="hole_surface_subsampled.vmd")
这些命令会生成文件 hole_surface_subsampled.vmd
可以加载到VMD中。
备注
Python(和MDAnalysis)停止索引为 独家 所以这些参数 start=1
, stop=9
,以及 step=2
将分析第1、3、5、7帧。
4.4.1.1.1.3.3. 使用二次采样将轨迹加载到VMD中
将您的系统加载到VMD。这可能意味着使用以下命令加载拓扑文件
并将轨迹添加到 或者只是 。加载轨迹时,通过在中设置参数来对帧进行子采样 Frames 一节。选择 第一名:1 , 最后一次:7 , 步幅:2 。然后 Load 所有的一切。
备注
VMD将停止/最后一帧视为 包括在内 因此,您通常需要选择小于 stop
您在MDAnalysis中选择的值。
然后加载曲面轨迹:
source hole_surface_subsampled.vmd
您应该会看到轨迹中每一帧的不同曲面。 [5]
4.4.1.1.1.3.4. 创建二次采样轨迹
不是让VMD对轨迹进行子采样,如中所述 使用二次采样将轨迹加载到VMD中 我们可以将二次采样轨迹写入文件。虽然它需要更多的磁盘空间,但如果我们想要重复地可视化系统,这是很方便的。
示例轨迹是一个多PDB文件,因此我们需要一个合适的拓扑文件。如果您已经有一个拓扑文件,如PSF、TPR或PRMTOP文件,则跳过此步骤。我们将第0帧写入为PDB frame0.pdb
(我们将在VMD中将其用作拓扑):
u.atoms.write("frame0.pdb")
然后以一种方便的格式写入实际轨迹,如TRR(或DCD)。请注意,我们应用了相同的切片 (start=1
, stop=9
, step=2
)设置为轨迹本身,然后将其用作 frames
的参数 AtomGroup.write
方法:
u.atoms.write("subsampled.trr", frames=u.trajectory[1:9:2])
此命令创建二次采样轨迹文件 subsampled.trr
TRR格式。
在VMD中,我们先加载拓扑和轨迹,然后再加载曲面。在我们的示例中,我们有一个PDB文件 (frame0.pdb
)作为拓扑,因此我们需要删除第一个帧 [5] (如果您使用的是真正的拓扑文件,如PSF、TPR或PRMTOP,请跳过下面的“Trim”步骤)。为了保持该示例的紧凑,我们在 VMD ( )用于加载和修剪轨迹;如果愿意,可以使用菜单命令。
# load topology and subsampled trajectory
mol load pdb frame0.pdb trr subsampled.trr
# trim first frame (frame0) -- SKIP if using PSF, TPR, PRMTOP
animate delete beg 0 end 0
# load the HOLE surface trajectory
source hole_surface_subsampled.vmd
现在可以将分子与曲面一起设置动画,并对其进行渲染。
4.4.1.1.1.4. 函数和类
- MDAnalysis.analysis.hole2.hole(*args, **kwds)
hole 已被弃用!
跑 hole 在单帧或DCD轨迹上。
hole 是该计划的一部分 HOLE 一套程序。它被用来分析蛋白质中的通道和空洞,特别是离子通道。
只是全部的一个子集 HOLE control parameters 受支持,并且可以使用关键字参数进行设置。
- 参数:
pdbfile (str) -- 这个 filename 作为输入文件的“COORD”卡上的孔的输入。它指定要使用的PDB坐标文件的名称。这必须是布鲁克海文蛋白质数据库的格式或类似的格式。ATOM和HETATM记录都被读取。
infile_text (str, optional) -- 孔输入文本或模板。如果设置为
None
,该函数将从其他参数创建输入文本。infile (str, optional) -- 文件以写入孔输入文本以供以后检查。如果设置为
None
,则不会写出输入文本。outfile (str, optional) -- 文件收集孔输出的文件名(可以使用
collect_hole(outfile)()
。sphpdb_file (str, optional) -- 孔sph文件的路径,该文件类似于PDB,包含孔中心的坐标。坐标设置为球体中心,占用空间为球体半径。所有中心被赋予原子名称QSS和残基名称SPH,残基编号被设置为中心的存储编号。在VMD中,sph对象最好显示为“Points”。显示.sph对象而不是渲染或点表面,对于分析特定原子与球体中心线的距离非常有用。.sph文件可用于从井眼运行生成分子图形输出,方法是使用 sph_process 程序来读取.sph文件。
vdwradii_file (str, optional) -- 指定每个原子的范德华半径的文件的路径。如果设置为
None
,然后是一组默认半径,SIMPLE2_RAD
,使用(的扩展名simple.rad
从空穴分布中)。executable (str, optional) -- 通向 hole 可执行的。(例如:
~/hole2/exe/hole
)。如果 hole 在以下位置找到PATH
,则空的可执行文件名称就足够了。tmpdir (str, optional) -- 文件可以符号链接到的临时目录,以缩短路径名。HOLE只能读取特定长度的文件名。
sample (float, optional) -- ä中采样点的距离。指定孔工序中使用的平面之间的距离。对于大多数目的,缺省值应该是合理的。但是,如果您希望可视化一个非常紧密的约束,则指定一个较小的值。该值确定计算孔隙轮廓中的多少个点。
end_radius (float, optional) -- 半径,被认为是气孔的末端。此关键字可用于指定程序将结果视为已到达气孔末端的半径。对于大通道,可能需要增加该值,对于小通道,可能需要减小该值。
cpoint (array_like, 'center_of_geometry' or None, optional) -- 孔内点的坐标,例如
[12.3, 0.7, 18.55]
。如果设置为None
(默认)然后使用孔自己的搜索算法。cpoint
指定位于通道内的点。对于简单的通道(如革兰西丁),结果对所取的确切穴位不是很敏感。产生初始点的一种简单方法是使用分子图形来找到位于气孔两侧的两个原子,并对它们的坐标进行平均。或者,如果通道结构包含水分子或反离子,则获取其中之一的坐标(并使用ignore_residues
关键字以在孔半径计算中忽略它们)。如果没有指定此卡,则HOLE(从版本2.2开始)会尝试猜测频道将在哪里。该过程假定该通道是合理对称的。对cpoint的初始猜测将是所有α碳原子的质心(在PDB文件中命名为‘CA’)。然后从原始位置进行粗略的网格搜索,最高可达5ä。这个程序在大多数情况下是有效的,但也不是万无一失的--如果使用它,结果应该被仔细检查(用分子图形)。cvect (array_like, optional) -- 搜索方向应与孔隙轴平行,例如
[0,0,1]
用于z轴。如果此关键字为None
(默认设置),然后HOLE尝试猜测频道的位置。该过程假定该通道是合理对称的。猜测将沿着X轴(1,0,0)、Y轴(0,1,0)或Z轴(0,0,1)进行。如果结构不是在这些轴中的一个上对齐,结果将明显是近似的。如果使用的是猜测,则应仔细检查结果。random_seed (int, optional) -- INTEGER NUMBER可启动随机数生成器。默认情况下, hole 会利用一天中的时间。对于可重现运行(例如,用于测试)设置
random_seed
转换为一个整数。ignore_residues (array_like, optional) -- 计算过程中不考虑的三个字母残基的序列;通配符为 not 支持。请注意,所有残基必须有3个字母。如有必要,在右手边留出空格。
output_level (int, optional) -- 中的输出的输出。
outfile
。对于自动化处理,这必须是<3.0:全文输出,1:除“Run in Process”(正在运行)之外的所有文本输出(即,对HOLE正在做什么的详细当代描述)。2:同上,没有图形类型输出-只留下最小半径和电导计算。3:关闭除输入卡镜像和错误消息之外的所有文本输出。dcd (str, optional) -- CHARMM-Style DCD轨迹的文件名(必须与匹配的PDB文件一起提供 filename ),然后在每个帧上运行其分析。打洞罐头 not 阅读MDAnalysis编写的DCD轨迹,这些轨迹是NAMD风格的(请参阅注释)。请注意,为每个单独的结构确定的结构参数是以标记格式编写的,因此可以使用 grep 指挥部。文件的读取可以由
dcd_step
关键字和/或设置dcd_iniskip
设置为初始跳过的帧的数量。dcd_step (int, optional) -- 通过轨迹的步长(跳过
dcd_step-1
帧)。keep_files (bool, optional) -- 运行函数后是否保留孔输出文件和可能的临时符号链接。
- 返回:
一本……词典
numpy.recarray
s,按帧索引。- 返回类型:
备注
孔非常挑剔,不能读取所有类似DCD的格式 [6]. 如果有疑问,请调查 outfile 用于错误诊断。
在 1.0 版本加入.
自 2.6.0 版本弃用: 此方法已移至MDAKit hole2-mdakit:https://github.com/MDAnalysis/hole2-mdakit hole 将在版本3.0.0中删除。
- class MDAnalysis.analysis.hole2.HoleAnalysis(universe, select='protein', verbose=False, ignore_residues=['SOL', 'WAT', 'TIP', 'HOH', 'K ', 'NA ', 'CL '], vdwradii_file=None, executable='hole', sos_triangle='sos_triangle', sph_process='sph_process', tmpdir='.', cpoint=None, cvect=None, sample=0.2, end_radius=22, output_level=0, prefix=None, write_input_files=False)[源代码]
跑 hole 在轨道上。
hole 是该计划的一部分 HOLE 一套程序。它被用来分析蛋白质中的通道和空洞,特别是离子通道。
只是全部的一个子集 HOLE control parameters 受支持,并且可以使用关键字参数进行设置。
这个类为每个帧创建临时PDB文件,并在帧上运行孔。它可以正常使用,也可以作为上下文管理器使用。如果用作上下文管理器,该类将尝试删除由HOLE创建的任何临时文件,例如sphpdb文件和日志文件。**
with hole2.HoleAnalysis(u, executable='~/hole2/exe/hole') as h2: h2.run() h2.create_vmd_surface()
- 参数:
select (string, optional) -- 用于创建应用孔分析的原子选择的选择字符串。
vdwradii_file (str, optional) -- 指定每个原子的范德华半径的文件的路径。如果设置为
None
,然后是一组默认半径,SIMPLE2_RAD
,使用(的扩展名simple.rad
从空穴分布中)。executable (str, optional) -- 通向 hole 可执行的。(例如:
~/hole2/exe/hole
)。如果 hole 在以下位置找到PATH
,则空的可执行文件名称就足够了。tmpdir (str, optional) -- 文件可以符号链接到的临时目录,以缩短路径名。HOLE只能读取特定长度的文件名。
cpoint (array_like, 'center_of_geometry' or None, optional) -- 孔内点的坐标,例如
[12.3, 0.7, 18.55]
。如果设置为None
(默认)然后使用孔自己的搜索算法。cpoint
指定位于通道内的点。对于简单的通道(如革兰西丁),结果对所取的确切穴位不是很敏感。产生初始点的一种简单方法是使用分子图形来找到位于气孔两侧的两个原子,并对它们的坐标进行平均。或者,如果通道结构包含水分子或反离子,则获取其中之一的坐标(并使用ignore_residues
关键字以在孔半径计算中忽略它们)。如果没有指定此卡,则HOLE(从版本2.2开始)会尝试猜测频道将在哪里。该过程假定该通道是合理对称的。对cpoint的初始猜测将是所有α碳原子的质心(在PDB文件中命名为‘CA’)。然后从原始位置进行粗略的网格搜索,最高可达5ä。这个程序在大多数情况下是有效的,但也不是万无一失的--如果使用它,结果应该被仔细检查(用分子图形)。cvect (array_like, optional) -- 搜索方向应与孔隙轴平行,例如
[0,0,1]
用于z轴。如果此关键字为None
(默认设置),然后HOLE尝试猜测频道的位置。该过程假定该通道是合理对称的。猜测将沿着X轴(1,0,0)、Y轴(0,1,0)或Z轴(0,0,1)进行。如果结构不是在这些轴中的一个上对齐,结果将明显是近似的。如果使用的是猜测,则应仔细检查结果。sample (float, optional) -- ä中采样点的距离。指定孔工序中使用的平面之间的距离。对于大多数目的,缺省值应该是合理的。但是,如果您希望可视化一个非常紧密的约束,则指定一个较小的值。该值确定计算孔隙轮廓中的多少个点。
end_radius (float, optional) -- 半径,被认为是气孔的末端。此关键字可用于指定程序将结果视为已到达气孔末端的半径。对于大通道,可能需要增加该值,对于小通道,可能需要减小该值。
output_level (int, optional) -- 中的输出的输出。
outfile
。对于自动化处理,这必须是<3.0:全文输出,1:除“Run in Process”(正在运行)之外的所有文本输出(即,对HOLE正在做什么的详细当代描述)。2:同上,没有图形类型输出-只留下最小半径和电导计算。3:关闭除输入卡镜像和错误消息之外的所有文本输出。ignore_residues (array_like, optional) -- 计算过程中不考虑的三个字母残基的序列;通配符为 not 支持。请注意,所有残基必须有3个字母。如有必要,在右手边留出空格。
prefix (str, optional) -- 孔输出文件的前缀。
write_input_files (bool, optional) -- 是否将输入的孔文本写出为文件。文件被称为 hole.inp 。
- results.sphpdbs
Sphpdb文件名数组
在 2.0.0 版本加入.
- 类型:
- results.outfiles
输出文件名数组
在 2.0.0 版本加入.
- 类型:
- results.profiles
由HOLE2生成的配置文件。一本……词典
numpy.recarray
s,按帧索引。在 2.0.0 版本加入.
- 类型:
DICT
- sphpdbs
的别名
results.sphpdbs
自 2.0.0 版本弃用: 这将在MDAnalysis 3.0.0中删除。请使用
results.sphpdbs
取而代之的是。- 类型:
- outfiles
的别名
results.outfiles
自 2.0.0 版本弃用: 这将在MDAnalysis 3.0.0中删除。请使用
results.outfiles
取而代之的是。- 类型:
- profiles
的别名
results.profiles
自 2.0.0 版本弃用: 这将在MDAnalysis 3.0.0中删除。请使用
results.profiles
取而代之的是。- 类型:
DICT
- .. versionadded:: 1.0
- .. versionchanged:: 2.0.0
sphpdbs
,outfiles
和profiles ` 现在存储在一个 :class:`MDAnalysis.analysis.base.Results
实例。
- .. deprecated:: 2.6.0
此类已移至MDAKit hole2-mdakit 并将从3.0版的核心MDAnalys库中删除
- bin_radii(frames=None, bins=100, range=None)[源代码]
通过反应坐标将气孔半径收集到垃圾桶中。
- 参数:
frames (int or iterable of ints, optional) -- 要按框架包括的配置文件。如果
None
,包括所有帧。bins (int or iterable of edges, optional) -- 如果bins为int,则它定义给定范围内等宽箱的数量。如果仓位是一个序列,则它定义仓位边缘的单调递增数组,包括最右边的边缘,从而允许非均匀的仓位宽度。
range ((float, float), optional) -- 垃圾箱的下限和上限范围。如果未提供,
range
就是简单地(a.min(), a.max())
,在哪里a
是反应坐标的数组。超出该范围的值将被忽略。范围的第一个元素必须小于或等于第二个元素。
- 返回:
浮点数组列表 --每个面元中存在的半径列表
(Float,Float)的数组 --每个仓位的边
- create_vmd_surface(filename='hole.vmd', dot_density=15, no_water_color='red', one_water_color='green', double_water_color='blue')[源代码]
处理孔输出以创建适合VMD的光滑孔表面。
拿到了
sphpdb
文件,并将其馈送到 sph_process 和 sos_triangle 如下所述 Visualization of HOLE results 。加载输出文件 文件名 进入VMD
::source hole.vmd
细节级别由以下因素决定
dot_density
。表面将按以下方式着色no_water_color
,one_water_color
,以及double_water_color
。您可以在TK控制台中更改这些设置:set no_water_color blue
- 参数:
filename (str, optional) -- 要写入毛孔表面的文件。
dot_density (int, optional) -- 用于生成3D孔洞表示的面的密度。该数字控制将使用的点的密度。在蒙特卡罗程序中确定的每个中心上放置一个圆点球体。写入的实际点数由
dot_density
以及sample
原始分析的水平。dot_density
应设置在5(每个球体几个点)到35(每个球体多个点)之间。no_water_color (str, optional) -- 孔半径对于水分子来说太紧的表面的颜色。
one_water_color (str, optional) -- 孔洞可以容纳一个水分子的表面的颜色。
double_water_color (str, optional) -- 表面的颜色,其中半径至少是一个水分子的最小半径的两倍。
- 返回:
filename
和毛孔表面。- 返回类型:
- histogram_radii(aggregator=<function mean>, frames=None, bins=100, range=None)[源代码]
通过反应坐标将孔半径直方图放入箱中,用一个 aggregator 函数,并返回聚合半径和面元边缘。
- 参数:
aggregator (callable, optional) -- 此函数必须接受浮点数的可迭代并返回单个值。
frames (int or iterable of ints, optional) -- 要按框架包括的配置文件。如果
None
,包括所有帧。bins (int or iterable of edges, optional) -- 如果bins为int,则它定义给定范围内等宽箱的数量。如果仓位是一个序列,则它定义仓位边缘的单调递增数组,包括最右边的边缘,从而允许非均匀的仓位宽度。
range ((float, float), optional) -- 垃圾箱的下限和上限范围。如果未提供,
range
就是简单地(a.min(), a.max())
,在哪里a
是反应坐标的数组。超出该范围的值将被忽略。范围的第一个元素必须小于或等于第二个元素。
- 返回:
浮点数组 --用柱状图表示的半径聚合值
(Float,Float)的数组 --每个仓位的边
- over_order_parameters(order_parameters, frames=None)[源代码]
获取按顺序参数排序的孔轮廓
order_parameters
。- 参数:
order_parameters (array-like or string) -- 包含与轨迹中的帧对应的顺序参数(浮点数)的序列或文本文件。必须与轨迹长度相同。
frames (array-like, optional) -- 要返回的选定帧。如果
None
,则返回所有这些参数。
- 返回:
{ORDER_PARAMETER:PROFILE}的排序词典
- 返回类型:
- plot(frames=None, color=None, cmap='viridis', linestyle='-', y_shift=0.0, label=True, ax=None, legend_loc='best', **kwargs)[源代码]
打印孔轮廓 \(R(\zeta)\) 在一维图形中。
线条根据指定的
color
或从彩色地图中绘制cmap
。为每个轨迹帧绘制一条线。- 参数:
frames (array-like, optional) -- 要打印的边框。如果
None
,策划了所有的故事。color (str or array-like, optional) -- 绘图的一种或多种颜色。如果
None
,颜色取自cmap
。cmap (str, optional) -- 用于为绘图生成颜色的颜色映射,如果
color
不是被给予的。名称应来自matplotlib.pyplot.cm
模块。linestyle (str or array-like, optional) -- 打印的线条样式。
y_shift (float, optional) -- 把每个人都置换 \(R(\zeta)\) 配置文件依据
y_shift
在 \(y\) --可视化更清晰的方向。label (bool or string, optional) -- 如果
False
则不会显示任何图例。ax (
matplotlib.axes.Axes
) -- 如果没有 ax 被提供或设置为None
然后,该绘图将被添加到当前活动轴。legend_loc (str, optional) -- 图例的位置。
kwargs (**kwargs) -- 所有其他 kwargs 被传递到
matplotlib.pyplot.plot()
。
- 返回:
ax --带有情节的轴线 ax 或者是当前的轴线。
- 返回类型:
- plot3D(frames=None, color=None, cmap='viridis', linestyle='-', ax=None, r_max=None, ylabel='Frames', **kwargs)[源代码]
纵断面的堆叠三维图形 \(R(\zeta)\) 。
线条根据指定的
color
或从彩色地图中绘制cmap
。为每个轨迹帧绘制一条线。- 参数:
frames (array-like, optional) -- 要打印的边框。如果
None
,策划了所有的故事。color (str or array-like, optional) -- 绘图的一种或多种颜色。如果
None
,颜色取自cmap
。cmap (str, optional) -- 用于为绘图生成颜色的颜色映射,如果
color
不是被给予的。名称应来自matplotlib.pyplot.cm
模块。linestyle (str or array-like, optional) -- 打印的线条样式。
r_max (float, optional) -- 仅显示最大半径为
r_max
。如果None
,所有半径都已打印出来。ax (
matplotlib.axes.Axes
) -- 如果没有 ax 被提供或设置为None
然后,该绘图将被添加到当前活动轴。ylabel (str, optional) -- Y轴标签。
**kwargs -- 所有其他 kwargs 被传递到
matplotlib.pyplot.plot()
。
- 返回:
ax --带有情节的轴线 ax 或者是当前的轴线。
- 返回类型:
Axes3D
- plot3D_order_parameters(order_parameters, frames=None, color=None, cmap='viridis', linestyle='-', ax=None, r_max=None, ylabel='Order parameter', **kwargs)[源代码]
将孔半径按顺序参数绘制为3D图形。
线条根据指定的
color
或从彩色地图中绘制cmap
。为每个轨迹帧绘制一条线。- 参数:
order_parameters (array-like or string) -- 包含与轨迹中的帧对应的顺序参数(浮点数)的序列或文本文件。必须与轨迹长度相同。
frames (array-like, optional) -- 要打印的边框。如果
None
,策划了所有的故事。color (str or array-like, optional) -- 绘图的一种或多种颜色。如果
None
,颜色取自cmap
。cmap (str, optional) -- 用于为绘图生成颜色的颜色映射,如果
color
不是被给予的。名称应来自matplotlib.pyplot.cm
模块。linestyle (str or array-like, optional) -- 打印的线条样式。
ax (: class: matplotlib.axes.Axes) -- 如果没有 ax 被提供或设置为
None
然后,该绘图将被添加到当前活动轴。r_max (float, optional) -- 仅显示最大半径为
r_max
。如果None
,所有半径都已打印出来。ylabel (str, optional) -- Y轴标签。
**kwargs -- 所有其他 kwargs 传递给:func: matplotlib.pyplot.plot 。
- 返回:
ax --带有情节的轴线 ax 或者是当前的轴线。
- 返回类型:
:类别: ~mpl_toolkits.mplot3d.Axes3D
- plot_mean_profile(bins=100, range=None, frames=None, color='blue', linestyle='-', ax=None, xlabel='Frame', fill_alpha=0.3, n_std=1, legend=True, legend_loc='best', **kwargs)[源代码]
通过反应坐标将气孔半径收集到垃圾桶中。
- 参数:
frames (int or iterable of ints, optional) -- 要按框架包括的配置文件。如果
None
,包括所有帧。bins (int or iterable of edges, optional) -- 如果bins为int,则它定义给定范围内等宽箱的数量。如果仓位是一个序列,则它定义仓位边缘的单调递增数组,包括最右边的边缘,从而允许非均匀的仓位宽度。
range ((float, float), optional) -- 垃圾箱的下限和上限范围。如果未提供,
range
就是简单地(a.min(), a.max())
,在哪里a
是反应坐标的数组。超出该范围的值将被忽略。范围的第一个元素必须小于或等于第二个元素。color (str or array-like, optional) -- 打印的颜色。
linestyle (str or array-like, optional) -- 打印的线条样式。
ax (
matplotlib.axes.Axes
) -- 如果没有 ax 被提供或设置为None
然后,该绘图将被添加到当前活动轴。xlabel (str, optional) -- X轴标签。
fill_alpha (float, optional) -- 填充标准偏差区域的不透明度
n_std (int, optional) -- 填充的平均值之间的标准差个数。
legend (bool, optional) -- 是否要绘制一个图例。
legend_loc (str, optional) -- 传说的位置。
**kwargs -- 所有其他 kwargs 被传递到
matplotlib.pyplot.plot()
。
- 返回:
ax --带有情节的轴线 ax 或者是当前的轴线。
- 返回类型:
- plot_order_parameters(order_parameters, aggregator=<built-in function min>, frames=None, color='blue', linestyle='-', ax=None, ylabel='Minimum HOLE pore radius $r$ ($\\AA$)', xlabel='Order parameter', **kwargs)[源代码]
绘制有序参数上的孔半径。此函数需要一个
aggregator
函数,以减少radius
数组设置为单个值,例如min
,max
,或np.mean
。- 参数:
order_parameters (array-like or string) -- 包含与轨迹中的帧对应的顺序参数(浮点数)的序列或文本文件。必须与轨迹长度相同。
aggregator (callable, optional) -- 应用于每个配置文件的半径数组的函数,以将其减少到一个代表值。
frames (array-like, optional) -- 要打印的边框。如果
None
,策划了所有的故事。color (str or array-like, optional) -- 打印的颜色。
linestyle (str or array-like, optional) -- 打印的线条样式。
ax (
matplotlib.axes.Axes
) -- 如果没有 ax 被提供或设置为None
然后,该绘图将被添加到当前活动轴。xlabel (str, optional) -- X轴标签。
ylabel (str, optional) -- Y轴标签。
**kwargs -- 所有其他 kwargs 被传递到
matplotlib.pyplot.plot()
。
- 返回:
ax --带有情节的轴线 ax 或者是当前的轴线。
- 返回类型:
参考文献
O.S. Smart, J.M. Goodfellow, and B.A. Wallace. The pore dimensions of gramicidin a. Biophysical Journal, 65(6):2455–2460, 1993. doi:https://doi.org/10.1016/S0006-3495(93)81293-1.
Oliver S. Smart, Joseph G. Neduvelil, Xiaonan Wang, B.A. Wallace, and Mark S.P. Sansom. Hole: a program for the analysis of the pore dimensions of ion channel structural models. Journal of Molecular Graphics, 14(6):354–360, 1996. doi:https://doi.org/10.1016/S0263-7855(97)00009-X.
Lukas S. Stelzl, Philip W. Fowler, Mark S.P. Sansom, and Oliver Beckstein. Flexible gates generate occluded intermediates in the transport cycle of lacy. Journal of Molecular Biology, 426(3):735–751, 2014. doi:https://doi.org/10.1016/j.jmb.2013.10.024.