Bio.PDB.内部_坐标模块

类来支持蛋白质结构的内部坐标。

内部坐标包括沿蛋白质主干的Psi、Phi和Omega二面角,沿侧链的Chi角,以及组成蛋白链的所有3原子角和键长。这些例程可以根据原子XYZ坐标计算内部坐标,并根据内部坐标计算原子XYZ坐标。

内部坐标定义在沿侧链跨越残基或遵循公认命名法的原子序列上。为了管理这些序列并支持Biopython的无序机制,实现了AtomKey说明符来捕获单个对象中的残基、原子和变体标识。Hedron对象被指定为三个连续的原子键,包括两个键长和它们之间的键角。一个二面体由四个连续的原子键组成,它们之间的二面角将两个Hedra连接起来。

蛋白质内部坐标(.ic)文件格式被定义为从链起始坐标(第一残基N、Ca、C XYZ坐标)和剩余的内部坐标捕获足够的细节来再现PDB文件。这些文件在内部用于验证给定结构是否可以从其内部坐标重新生成。

内部坐标也可以导出为OpenSCAD数据阵列,用于生成3D打印蛋白质模型。OpenSCAD软件是作为用于生成此类模型的概念验证提供的。

以下类包含处理内部坐标的核心功能,并且具有足够的关联性和耦合性,可以将它们放在此模块中:

IC_CHAIN:在.Internal_coord属性上扩展Biopython链。

管理残基和链断裂的连接序列;方法通常沿链应用IC_残基方法。

IC_RESIST:扩展.Internal_coord属性上的Biopython残差。

大多数感兴趣的控件和方法都在这个类中,请参见API。

二面体:四个相连的原子形成一个二面角。

二面角,局部坐标空间中的齐次原子坐标,参考相关的Hedra和IC_剩余。方法计算剩余二面角、键角和键长。

Hedron:三个结合在一起的原子形成一个平面。

包含局部坐标空间中的均匀原子坐标以及它们之间的键长和角度。

Edron:Hedron和Dihedron类的基类。

由子级、字符串ID、主链成员资格布尔值和Hedra和Dihedra通用的其他例程组成的原子键元组。实现丰富的比较。

AtomKey:用于引用原子序列的键(字典和字符串)。

捕获残留物和混乱/占用情况信息,为.ic文件提供非空格键,并实现丰富的比较。

自定义异常类:HedronMatchError和MissingAtomError

class Bio.PDB.internal_coords.IC_Chain(parent: Chain, verbose: bool = False)

基类:object

类使用内部坐标数据扩展Biopython链。

属性:
链:Bioython链对象引用

此扩展的Chain对象

initNCaC:N、Ca、C原子坐标的AtomKey索引字典。

NCaCKeys开始链分段(第一个残留物或断链后)。这3个原子定义了由PDB或mmCIF文件初始指定的连续链段的坐标空间。

MaxPeptideBond: 班级 属性检测断链。

覆盖具有一些非常长的键的完全连续的链-例如,对于3D打印(OpenSCAD输出),具有完全无序(缺失)残基的结构。

ordered_aa_ic_list: list of IC_Residue objects

ic_残留物ic算法可以处理的对象(例如无水)

hedra: dict indexed by 3-tuples of AtomKeys

Hedra在这条链上形成残基

hedraLen:六面体字典的整数长度
hedraNdx:DICT将六面体原子键映射到Numpy数组数据
dihedra: dict indexed by 4-tuples of AtomKeys

形成(重叠)这种残基的二面体

dihedraLen:二面体字典的整数长度
dihedraNdx:DICT将二面体原子键映射到Numpy数组数据
AtomArray:链的同质原子坐标的Numpy数组
AtomArrayIndex:将AtomKey映射到AtomArray索引的DICT
numpy arrays for vector processing of chain di/hedra:
hedraIC: length-angle-length entries for each hedron
h原子:六面体的均匀原子坐标(3x4),中心原子在原点
hAtomsR:逆序排列的hAtoms
hAtoms_needs_update: booleans indicating whether hAtoms represent hedraIC
二面体:每个二面体的二面角
dAtoms:二面体的均匀原子坐标(4x4),原点第二个原子
dAtoms_needs_update: booleans indicating whether dAtoms represent dihedraIC

方法:

internal_to_atom_coordinates(verbose, start, fin)

将ic数据处理为残基/原子坐标;调用ASSEMBLE_RESIGNCE(),然后调用COCORDS_TO_STRUCTURE()

assemble_residues(verbose, start, fin)

由内坐标生成IC_剩余原子坐标

coords_to_structure()

更新具有IC_RESIST属性的所有残基的IC_RESIST坐标的Biopython Residue.Atom坐标

atom_to_internal_coordinates(verbose)

计算原子数据的二面体、角度、键长(内部坐标)

link_residues()

对每个IC_RESIX调用link_dihedra()(需要rprev、rnext设置)

set_residues()

为父链中的所有残基添加.Internal_coord属性,填充ordered_aa_ic_list,设置IC_残留物rprev、rnext或initNCaC坐标

write_SCAD()

写入包含链的内部坐标数据的OpenSCAD矩阵

MaxPeptideBond = 1.4
__init__(parent: Chain, verbose: bool = False) None

初始化IC_CHAIN对象,带或不带残留物/原子数据。

参数:

parent -- 此扩展的Biopython链对象链对象

clear_ic()

清除此链的残留物INTERNAL_COORD设置。

set_residues(verbose: bool = False) None

初始化加载残留物的INTERNAL_COORD数据。

为父链中的每个残基添加IC_RESIGNCE作为.Internal_coord属性;使用可以构建的残基(氨基酸和一些杂交物)的IC_RESIGNCE引用填充ORDERED_AA_IC_LIST;在每个连续的IC_RESIST上设置rprev和rnext,在开始和断链后填充initNCaC。

每个IC_RESIX的link_dihedra();需要rprev、rnext设置。

由PICIO调用:Read_PIC()在完成读取链之后

assemble_residues(verbose: bool = False, start: Optional[int] = None, fin: Optional[int] = None) None

从内部坐标生成IC_RESIX原子坐标。

过滤在开始和鳍之间的位置如果设置,则为每个残留物找到合适的开始坐标并传递给IC_Residue.Assemble()

参数:

bool (verbose) -- 缺省FALSE描述运行时问题

参数:

开始,FIN列出序列位置,插入要处理的子区域的开始、结束代码

coords_to_structure() None

将所有ic原子坐标提升为Biopython残基/原子坐标。

IC原子坐标是齐次的 [4] ,Biopython原子坐标为XYZ [3] 。

init_edra() None

创建链级di/hedra数组。

如果由READ_PIC调用,则self.di/hedra={}且对象树具有IC数据。->从IC数据构建链式阵列

如果在ATOM_TO_INTERNAL_COODS开始时调用,则self.di/hedra完全填充。->创建空的链数组

在这两种情况下,都将di/hedra对象属性固定为链级数组数据上的视图

init_atom_coords() None

根据IC_RESIST数据设置链级di/hedra初始coord数组。

internal_to_atom_coordinates(verbose: bool = False, start: Optional[int] = None, fin: Optional[int] = None, promote: Optional[bool] = True) None

将IC数据处理为残基/原子坐标。

还没有矢量化。

参数:
  • bool (promote) -- 缺省FALSE描述运行时问题

  • bool -- Default True if True(默认值)将结果原子XYZ坐标复制到Biopython Atom对象以供其他Biopython方法访问;否则,必须通过IC_RESIX和Hedron对象访问更新的原子坐标。

参数:

开始,FIN列出序列位置,插入要处理的子区域的开始、结束代码

atom_to_internal_coordinates(verbose: bool = False) None

计算原子数据的二面体、角度、键长。

参数:

bool (verbose) -- 缺省FALSE描述运行时问题

write_SCAD(fp: TextIO, backboneOnly: bool) None

将SELF作为OpenSCAD数据矩阵写入文件FP。

使用SCADIO.py中的write_scad()和嵌入式OpenSCAD例程。OpenSCAD代码显式创建球体和圆柱体来表示3D模型中的原子和键。可选择支持旋转键和磁氢键。

编写矩阵来链接、枚举和描述残数、二面体、六面体和链,反映相关IC_*数据结构的内容。

Hedra的OpenSCAD矩阵具有以下附加信息:

  • 记录原子和键态(单、双、共振),以便可以将共价半径用于3D模型中的原子球

  • 对键和原子进行跟踪,以便每个键和原子只创建一次

  • 可以指定用于旋转的键合选项和用于氢键的磁铁保持架

注意IC_CHAIN属性MaxPeptideBond的应用:通过将其设置为较大值,可以链接缺失残基(用任意长的键连接链段)。

所有ALTLOC(无序)残基和原子都写入输出模型。

class Bio.PDB.internal_coords.IC_Residue(parent: Residue, NO_ALTLOC: bool = False)

基类:object

类使用内部坐标数据扩展Biopython残差。

参数:
父类:此类扩展的bibiython残留物对象
NO_ALTLOC: bool default False
禁用ALTLOC原子处理如果为True,则仅使用选定的原子。
属性:
残留物:Biopython残留物对象引用

此扩展的残差对象

hedra: dict indexed by 3-tuples of AtomKeys

形成这种残留物的赫德拉

dihedra: dict indexed by 4-tuples of AtomKeys

形成(重叠)这种残基的二面体

rprev, rnext: lists of IC_Residue objects

提到链中相邻的(键合的,不缺失的,可能是无序的)残基

[atom_coords: AtomKey indexed dict of numpy [4] arrays]

原子齐次坐标的局部拷贝 [4] 用于与Bopython残基/原子值不同的工作

alt_ids: list of char

PDB文件中的AltLoc ID

b因素:字典

从PDB文件读取的AtomKey索引的B因子

NCaCKey:原子键的元组列表

N、Ca、C主干原子原子键的元组列表;通常只有1个,但如果主干备用,则会更多。由link_dihedra()设置

IS20AA:布尔

如果残基是20种标准氨基酸之一,则根据残基重新命名为True

accept_atoms: tuple

生成内部坐标时要使用的PDB原子名称列表。默认值为:

accept_atoms = accept_mainchain + accept_hydrogens

要在内部坐标和生成的PDB文件中排除氢气,请按如下方式覆盖:

IC_Residue.accept_atoms = IC_Residue.accept_mainchain

要仅获得主干原子和酰胺质子,请使用:

IC_Residue.accept_atoms = IC_Residue.accept_mainchain + ('H',)

要将D原子转换为H,请设置 AtomKey.d2h = True 并使用:

IC_Residue.accept_atoms = accept_mainchain + accept_hydrogens + accept_deuteriums

当前没有使用D而不是H输出内部坐标的选项

accept_resnames: tuple

HETATM在从原子生成内部坐标时接受的3个字母残基名称的列表。HETATM侧链将被忽略,但将包括正常的主干原子(N、CA、C、O、CB)。目前只有CYG、YCM和UNK;覆盖风险自负。要生成SideChain,请在ic_data.py中的ic_data_sidechains中添加相应的条目,并在atom_to_Internal_coels()中提供支持

gly_Cbeta: bool default False

将class Variable重写为True以生成ATOM_TO_INTERNAL_COLISTRATES()中甘氨酸CB原子的内部坐标。

IC_Residue.gly_Cbeta = True

所有债券:布尔默认值为False

虽然PDB文件只指定原子,但3D打印的OpenSCAD输出需要明确指定的所有键合-否则,例如,Phe环将不会关闭。此变量由WRITE_SCAD()代码管理,并启用此功能。

cic: IC_Chain default None

父链IC_CHAIN对象

缩放:可选浮点

用于OpenSCAD输出以生成Gly_Cbeta键长

方法:

applyMtx()

将所有IC_RESIX ATOM_CORD乘以传递矩阵

ASSEMBLE(AtomCoordsIn,Reset Location,Verbose)

从内部坐标计算该残基的原子坐标

atm241(坐标)

将1x3笛卡尔坐标转换为4x1齐次坐标

coords_to_residue()

将齐次原子坐标转换为Biopython笛卡尔原子坐标

atom_to_internal_coordinates(verbose)

创建原子坐标的六面体和二面体

get_angle()

传递的关键点的返回角度

get_length()

指定对的返回焊接长度

link_dihedra()

将二面体链接到这个残数,形成id3_dh_index

load_PIC(edron)

处理从PIC文件解析的(di-/h-)edron数据

pick_angle()

为传递的密钥查找Hedron或Dihedron

pick_length()

查找传递的AtomKey对的六面体

RAK(原子信息)

Remory AtomKey-每个残留物的AtomKey结果高速缓存

set_angle()

设置传递的关键点的角度(无位置更新)

set_length()

在指定对的所有相关六面体中设置键合长度

write_PIC(pdbid, chainId, s)

为此残差生成PIC格式字符串

accept_resnames = ('CYG', 'YCM', 'UNK')
AllBonds: bool = False
__init__(parent: Residue, NO_ALTLOC: bool = False) None

使用父Biopython残留物初始化IC_RESIX。

参数:
  • parent -- Biopython残留物对象此对象扩展的Biopython残留物

  • NO_ALTLOC -- 布尔默认值false选项若要禁用处理altloc无序原子,请使用选定项。

rak(atm: Union[str, Atom]) AtomKey

缓存对AtomKey的调用以获取该残留物。

build_rak_cache() None

为原子创建显式条目,这样就不会错过altlocs。

accept_mainchain = ('N', 'CA', 'C', 'O', 'CB', 'CG', 'CG1', 'OG1', 'OG', 'SG', 'CG2', 'CD', 'CD1', 'SD', 'OD1', 'ND1', 'CD2', 'ND2', 'CE', 'CE1', 'NE', 'OE1', 'NE1', 'CE2', 'OE2', 'NE2', 'CE3', 'CZ', 'NZ', 'CZ2', 'CZ3', 'OD2', 'OH', 'CH2', 'OXT')
accept_hydrogens = ('H', 'H1', 'H2', 'H3', 'HA', 'HA2', 'HA3', 'HB', 'HB1', 'HB2', 'HB3', 'HG2', 'HG3', 'HD2', 'HD3', 'HE2', 'HE3', 'HZ1', 'HZ2', 'HZ3', 'HG11', 'HG12', 'HG13', 'HG21', 'HG22', 'HG23', 'HZ', 'HD1', 'HE1', 'HD11', 'HD12', 'HD13', 'HG', 'HG1', 'HD21', 'HD22', 'HD23', 'NH1', 'NH2', 'HE', 'HH11', 'HH12', 'HH21', 'HH22', 'HE21', 'HE22', 'HE2', 'HH', 'HH2')
accept_deuteriums = ('D', 'D1', 'D2', 'D3', 'DA', 'DA2', 'DA3', 'DB', 'DB1', 'DB2', 'DB3', 'DG2', 'DG3', 'DD2', 'DD3', 'DE2', 'DE3', 'DZ1', 'DZ2', 'DZ3', 'DG11', 'DG12', 'DG13', 'DG21', 'DG22', 'DG23', 'DZ', 'DD1', 'DE1', 'DD11', 'DD12', 'DD13', 'DG', 'DG1', 'DD21', 'DD22', 'DD23', 'ND1', 'ND2', 'DE', 'DH11', 'DH12', 'DH21', 'DH22', 'DE21', 'DE22', 'DE2', 'DH', 'DH2')
accept_atoms = ('N', 'CA', 'C', 'O', 'CB', 'CG', 'CG1', 'OG1', 'OG', 'SG', 'CG2', 'CD', 'CD1', 'SD', 'OD1', 'ND1', 'CD2', 'ND2', 'CE', 'CE1', 'NE', 'OE1', 'NE1', 'CE2', 'OE2', 'NE2', 'CE3', 'CZ', 'NZ', 'CZ2', 'CZ3', 'OD2', 'OH', 'CH2', 'OXT', 'H', 'H1', 'H2', 'H3', 'HA', 'HA2', 'HA3', 'HB', 'HB1', 'HB2', 'HB3', 'HG2', 'HG3', 'HD2', 'HD3', 'HE2', 'HE3', 'HZ1', 'HZ2', 'HZ3', 'HG11', 'HG12', 'HG13', 'HG21', 'HG22', 'HG23', 'HZ', 'HD1', 'HE1', 'HD11', 'HD12', 'HD13', 'HG', 'HG1', 'HD21', 'HD22', 'HD23', 'NH1', 'NH2', 'HE', 'HH11', 'HH12', 'HH21', 'HH22', 'HE21', 'HE22', 'HE2', 'HH', 'HH2')
gly_Cbeta = False
static atm241(coord: array) array

将1x3笛卡尔坐标转换为4x1齐次坐标。

__repr__() str

打印字符串是父残留物ID。

pretty_str() str

残留物识别码的字符串不错。

load_PIC(edron: Dict[str, str]) None

处理从PIC文件解析的(di-/h-)edron数据。

参数:

edron -- 从Edron.edron_re解析词典

装入所有残留物和二面体后的内务。

  • 把二面体和这个残基联系起来

  • 表单id3_dh_index

  • 表单AK_SET

  • 将NCaCKey设置为可用原子密钥

set_flexible() None

对于OpenSCAD,将N-CA和CA-C焊接标记为柔性接头。

set_hbond() None

对于OpenSCAD,将H-N和C-O键标记为氢键(磁体)。

default_startpos() Dict[AtomKey, array]

生成默认的N-Ca-C坐标以构建此残留物。

get_startpos() Dict[AtomKey, array]

找到N-Ca-C坐标来构建这个残基。

clear_transforms()

在ASSEMBLE()之前将cst和rcst属性设置为None。

assemble(resetLocation: bool = False, verbose: bool = False) Optional[Union[Dict[AtomKey, array], Dict[Tuple[AtomKey, AtomKey, AtomKey], array]]]

从内部坐标计算这个残基的原子坐标。

从N-CA-C和N-CA-CB面体开始连接二面体,计算主链和侧链原子的蛋白质空间坐标

在每个二面体上设置正向和反向变换,以将前三个原子的蛋白质坐标转换为二面体空间坐标(请参见coord_space())

(还没有)矢量化的。

Algorithm

形成双端队列,以c-ca-n、o-c-ca、n-ca-cb、n-ca-c开头。

如果Reset Location=True,则将生成二面体的初始坐标用于n-ca-c初始位置(生成二面体坐标空间)

队列不为空时

获取3原子Hedron密钥

对于每个以Hedron键开始的二面体(二面体的第一个Hedron)

如果已经有了所有4个原子的坐标

将第二个Hedron键添加到队列后面

否则如果有前3个原子的坐标

计算正反变换,取前3个原子到二面体初始坐标空间,或从二面体初始坐标空间取前3个原子

用逆变换从二面体初始坐标求出当前坐标系中第四个原子的位置

将第二个Hedron键添加到队列后面

其他

订购失败,请将Hedron键放在队列后面,希望下次我们有前3个原子位置(应该不会发生)

循环终止(队列排出),因为不启动任何二面体的Hedron键被移除而不执行任何操作

参数:

resetLocation -- 布尔默认值为假(Bool Default False)-选项可忽略起始位置并在原点处定向SO N-Ca-C四边形。

返回:

蛋白质空间中相对于先前残基的原子键->齐次原子坐标的判定

atom_to_internal_coordinates(verbose: bool = False) None

创建原子坐标的六面体和二面体。

参数:

verbose -- 布尔默认值关于缺少N、Ca、C主干原子的错误警告。

build_glyCB(gCBd: Dihedron)

填充链完成的甘氨酸C-β、睡觉的值。

2019年9月Dunbrack cullpdb_pc20_res2.2_r1.0的平均数据仅限于含酰胺质子的结构。

从NCACO查询OCCACB的ALA平均旋转:选择avg(g.rslt)作为avg_rslt,stddev(g.rslt)作为sd_rslt,count(*)from(SELECT f.d1d,f.d2d,(如果f.rslt>0,则f.rslt-360.0否则f.rslt end)作为rslt from(选择d1.angle作为d1d,d2.angle作为d2D,(二面体D2,其中d1.rdh_class=‘AOACACAACB’and d2.rdh_class=‘ANACAACAO’and d1.pdb=d2.pdb and d1.chn=d2.chn and d1.res=d2.res)as f)as g

avg_rslt|sd_rslt|个
-122.682194862932|5.04403040513919|14098
write_PIC(pdbid: str = '0PDB', chainid: str = 'A', s: str = '') str

写入该残留物的PIC格式行。

参数:
  • pdbid (str) -- PDB IDCODE字符串;默认值0PDB

  • chainid (str) -- PDB链ID字符;默认值为A

  • s (str) -- 要添加到的结果字符串

coords_to_residue(rnext: bool = False) None

将self.ATOM_COCORS转换为生物带残基Atom CORDS。

将均匀IC_残基原子_坐标复制到自身残基笛卡尔Biopython原子坐标。

参数:

rnext -- Bool Default False NEXT IC_RESIX由于缺少原子,没有原子坐标,因此尝试使用为此延伸到NEXT的残数di/六面体计算的任何可用坐标进行填充

relative_atom_re = re.compile('^(-?[10])([A-Z]+)$')
pick_angle(angle_key: Union[Tuple[AtomKey, AtomKey, AtomKey], Tuple[AtomKey, AtomKey, AtomKey, AtomKey], str]) Optional[Union[Hedron, Dihedron]]

为angelkey获取hedron或dihedron。

参数:

angle_key -- -3个或4个原子键的元组-由:分隔的原子名称(‘CA’)的字符串-的字符串 [-1, 0, 1] -1是前一个残基,0是这个残基,1是下一个残基-psi,phi,omg,omega,chi1,chi2,chi3,chi4,chi5-tau(N-CA-C角)见Richardson1981-除了原子键的元组,没有访问交替无序原子的选项

观察残基的phi和omega二面体,以及组成它们的六面体(包括N:ca:c tau Hedron)存储在n-1个di/hedra集合中;这在这里处理,但如果直接访问可能会有问题。

以下是等效的(CHI2中含有非碳原子的侧链除外):

ric = r.internal_coord
print(
    r,
    ric.get_angle("psi"),
    ric.get_angle("phi"),
    ric.get_angle("omg"),
    ric.get_angle("tau"),
    ric.get_angle("chi2"),
)
print(
    r,
    ric.get_angle("N:CA:C:1N"),
    ric.get_angle("-1C:N:CA:C"),
    ric.get_angle("-1CA:-1C:N:CA"),
    ric.get_angle("N:CA:C"),
    ric.get_angle("CA:CB:CG:CD"),
)

参见ic_data.py了解所列举的侧链角度和不跨越肽键的主干角度中的原子的详细信息。使用‘s’表示当前残留物(‘self’),使用‘n’表示下一个残留物,跨越角度为:

(sN, sCA, sC, nN)   # psi
(sCA, sC, nN, nCA)  # omega i+1
(sC, nN, nCA, nC)   # phi i+1
(sCA, sC, nN)
(sC, nN, nCA)
(nN, nCA, nC)       # tau i+1
返回:

匹配Hedron、Dihedron或无。

get_angle(angle_key: Union[Tuple[AtomKey, AtomKey, AtomKey], Tuple[AtomKey, AtomKey, AtomKey, AtomKey], str]) Optional[float]

获取指定关键点的二面体或四面体角度。

有关关键规格,请参见PICK_ANGLE()。

set_angle(angle_key: Union[Tuple[AtomKey, AtomKey, AtomKey], Tuple[AtomKey, AtomKey, AtomKey, AtomKey], str], v: float)

为指定关键点设置二面体或四面体角度。

有关关键规格,请参见PICK_ANGLE()。

pick_length(ak_spec: Union[str, Tuple[AtomKey, AtomKey]]) Tuple[Optional[List[Hedron]], Optional[Tuple[AtomKey, AtomKey]]]

获取包含指定原子对的六面体列表。

参数:

ak_spec -- -两个AtomKeys-String的元组:用‘:’分隔的两个原子名称,例如‘N:CA’,带有可选的相对于自身的位置说明符,例如‘-1C:N’表示前面的肽键。

以下各项等效:

ric = r.internal_coord
print(
    r,
    ric.get_length("0C:1N"),
)
print(
    r,
    None
    if not ric.rnext
    else ric.get_length((ric.rak("C"), ric.rnext[0].rak("N"))),
)
返回:

包含指定原子对、原子键的元组的面体列表

get_length(ak_spec: Union[str, Tuple[AtomKey, AtomKey]]) Optional[float]

获取指定原子对的键长。

有关AK_SPEC,请参见Pick_Length()。

set_length(ak_spec: Union[str, Tuple[AtomKey, AtomKey]], val: float) None

设置指定原子对的键长。

有关AK_SPEC,请参见Pick_Length()。

applyMtx(mtx: array) None

将矩阵应用于此IC_剩余的ATOM_COORS。

__annotations__ = {'AllBonds': <class 'bool'>, 'ak_set': 'Set[AtomKey]', 'akc': 'Dict[Union[str, Atom], AtomKey]', 'alt_ids': 'Union[List[str], None]', 'atom_coords': "Dict['AtomKey', numpy.array]", 'bfactors': 'Dict[str, float]', 'cic': 'IC_Chain', 'dihedra': 'Dict[DKT, Dihedron]', 'hedra': 'Dict[HKT, Hedron]', 'id3_dh_index': 'Dict[HKT, List[Dihedron]]', 'rnext': 'List[IC_Residue]', 'rprev': 'List[IC_Residue]'}
class Bio.PDB.internal_coords.Edron(*args: Union[List[AtomKey], Tuple[AtomKey, AtomKey, AtomKey], Tuple[AtomKey, AtomKey, AtomKey, AtomKey]], **kwargs: str)

基类:object

Hedron和Dihedron类的基类。

支持基于原子键列表的丰富比较。

属性:
AKS:元组

定义此di/hedron的3(Hedron)或4(二面体)原子键

ID:字符串

‘:’-此di/hedron的联合原子键字符串

needs_update: bool

指示di/hedron局部原子坐标不反映hedron局部坐标空间中的当前di/hedron角度和长度值

dh_class: str

原子序列(没有位置或残基),包括用于统计的di/hedron

rdh_class: str

残基序列,包含用于统计的di/hedron的原子

edron_re: compiled regex (Class Attribute)

与Hedron和Dihedron对象的字符串ID匹配的已编译正则表达式

cic: IC_Chain reference

包含此四边形的链式内坐标对象

方法:

[gen_key([AtomKey, ...] or AtomKey, ...) (Static Method)]

生成一个“:”联接的AtomKey ID字符串

gen_acs(atom_coords)

为self.ak中的键生成原子坐标元组

is_backbone()

如果所有ak原子都是N、Ca、C或O,则返回True

edron_re = re.compile('^(?P<pdbid>\\w+)?\\s(?P<chn>[\\w|\\s])?\\s(?P<a1>[\\w\\-\\.]+):(?P<a2>[\\w\\-\\.]+):(?P<a3>[\\w\\-\\.]+)(:(?P<a4>[\\w\\-\\.]+))?\\s+(((?P<len12>\\S+)\\s+(?P<angle>\\S+)\\s+(?P<len23>\\S+)\\s*$)|((?P<)
static gen_key(lst: Union[List[str], List[AtomKey]]) str

从输入生成‘:’连接的AtomKey字符串的字符串。

参数:

lst -- AtomKey对象或ID字符串的列表

__init__(*args: Union[List[AtomKey], Tuple[AtomKey, AtomKey, AtomKey], Tuple[AtomKey, AtomKey, AtomKey, AtomKey]], **kwargs: str) None

使用原子键序列初始化Edron。

可接受的输入:

[原子键,..。] :List of AtomKys AtomKey,.:作为参数的原子键序列{‘a1’:str,‘a2’:str,.}:作为‘a1’,‘a2’的原子键的字典.

gen_acs(atom_coords: Dict[AtomKey, array]) Tuple[array, ...]

为self.ak中的键生成原子coord数组的元组。

参数:

atom_coords -- 剩余原子的原子键判据

加薪:

丢失原子错误自身中的所有原子。删除丢失的坐标

is_backbone() bool

报告True for仅包含N、C、CA、O、H原子。

__repr__() str

AtomKeys的元组是默认的repr字符串。

__hash__() int

从aks元组在初始化时计算的哈希。

__eq__(other: object) bool

测试是否平等。

__ne__(other: object) bool

检验不等性。

__gt__(other: object) bool

测试大于。

__ge__(other: object) bool

测试大于或等于。

__lt__(other: object) bool

测试少于。

__le__(other: object) bool

测试小于或等于。

class Bio.PDB.internal_coords.Hedron(*args: Union[List[AtomKey], Tuple[AtomKey, AtomKey, AtomKey]], **kwargs: str)

基类:Edron

类来表示组成一个平面的三个连接的原子。

包含局部坐标空间中的原子坐标,中心原子位于原点。以两个方向存储,第三个(正向)或第一个(反向)原子位于+Z轴上。

属性:
lal:由len12、angle、len23组成的Numpy数组

len12=第一和第二原子之间的距离角=由3个原子形成的角(度)len23=第二和第三个原子之间的距离

原子:3x4数字阵列(在链式阵列上查看)

3个均质原子,由Hedron组成,第一个在XZ上,第二个在原点,第三个在+Z上

AtomsR:3x4数字数组(链式数组查看)

原子颠倒,第一个在+Z上,第二个在原点,第三个在XZ平面上

方法:

get_length()

获取指定原子对的键长

set_length()

设置指定原子对的键长

角度()、长度12()、长度23()

相关属性的gettter和setter(角度,以度为单位)

__init__(*args: Union[List[AtomKey], Tuple[AtomKey, AtomKey, AtomKey]], **kwargs: str) None

用原子键、Kwargs序列初始化Hedron。

可接受的输入:

至于edron,加上可选的‘len12’,‘angle’,‘len23’关键字值。

__repr__() str

打印Hedron对象的字符串。

property angle: float

把这个Hedron角拿过来。

property len12

给赫德龙弄到第一个长度。

property len23: float

给赫德龙找第二个长度。

get_length(ak_tpl: Tuple[AtomKey, AtomKey]) Optional[float]

获取指定原子对的键长。

参数:

ak_tpl -- 原子键的元组这个四边形中的原子对

set_length(ak_tpl: Tuple[AtomKey, AtomKey], newLength: float)

设置指定原子对的键长;设置Need_UPDATE。

参数:

ak_tpl -- 原子键的元组这个四边形中的原子对

cic: IC_Chain
class Bio.PDB.internal_coords.Dihedron(*args: Union[List[AtomKey], Tuple[AtomKey, AtomKey, AtomKey, AtomKey]], **kwargs: str)

基类:Edron

类来表示形成二面角的四个连接的原子。

属性:
角度:浮点

二面角的测量或规范(以度为单位

hedron1,hedron2:hedron对象引用

构成二面角的两个六面体

h1key,h2key:原子键的元组

hedron1和hedron2的散列键

id3、id32:原子键的元组

第一个3个原子和第二个3个原子组成二面体;hxkey级可能不同

[initial_coords: tuple[4] of numpy arrays [4]]

4个原子的局域原子坐标, [0] 在XZ平面上, [1] 在起源的时候, [2] 在+Z上, [3] 由二面体旋转

[a4_pre_rotation: numpy array [4]]

与XZ平面对齐的二面体的第四个原子(未应用角度)

ic_residue: IC_Residue object reference

包含此二面体的IC_RESIX对象

反转:布尔值

指示二面体中的原子顺序与面体中的原子顺序相反(由set_hedra()配置)

[cst, rcst: numpy array [4][4]]

变换到由第一个四边形定义的坐标空间,以及从第一个四边形定义的坐标空间进行变换。由IC_Residue.Assemble()设置。由id3顺序定义,而不是h1key顺序定义(原子可能在这两个顺序之间颠倒)

方法:

set_hedra()

计算此二面体的六面体关键字和方向

角度()

以度为单位的二面角的吸气剂/凝固剂

__init__(*args: Union[List[AtomKey], Tuple[AtomKey, AtomKey, AtomKey, AtomKey]], **kwargs: str) None

使用原子键序列和可选的二面体角度初始化二面体。

可接受的输入:

至于Edron,加上可选的“二面体”关键字角度值。

__repr__() str

打印二面体对象的字符串。

set_hedra() Tuple[bool, Hedron, Hedron]

计算出六面体关键点并设置转速标志。

property angle: float

得到二面角。

cic: IC_Chain
class Bio.PDB.internal_coords.AtomKey(*args: Union[IC_Residue, Atom, List, Dict, str], **kwargs: str)

基类:object

为引用原子坐标的Dict键初始化。

原子键同时捕获残留物和无序信息,并为.pic文件提供一个非空格字符串键。

支持丰富的比较和多种实例化方式。

原子键包含:

残留物位置、插入代码、1或3个字符残留物名称、原子名称、Altloc和占有率

属性:
AKL:元组

AtomKey的所有六个字段

fieldNames:元组(Class属性)

关键索引位置到名称的映射

字段:命名元组(类属性)

将字段名映射到索引位置

ID:字符串

“_”-连接的AtomKey字段,不包括“None”字段

atom_re: compiled regex (Class Attribute)

与键的字符串形式匹配的已编译正则表达式

endnum_re: compiled regex (Class Attribute)

一种已编译的正则表达式,用于捕获字符串末尾的数字

d2h:布尔值(类属性)

在输入时将D原子转换为H;还必须修改IC_Residue.Accept_ATOM

缺少:布尔默认值为False

字符串中的AtomKey__init__‘d可能丢失,请设置此标志以记录此问题(此处未设置)

方法:

altloc_match(other)

如果此AtomKey与不包括altloc和ococancy字段的其他AtomKey匹配,则返回True

atom_re = re.compile('^(?P<respos>-?\\d+)(?P<icode>[A-Za-z])?_(?P<resname>[a-zA-Z]+)_(?P<atm>[A-Za-z0-9]+)(?:_(?P<altloc>\\w))?(?:_(?P<occ>-?\\d\\.\\d?\\d?))?$')
endnum_re = re.compile('\\D+(\\d+)$')
fieldNames = ('respos', 'icode', 'resname', 'atm', 'altloc', 'occ')
class fieldsDef(respos, icode, resname, atm, altloc, occ)

基类:tuple

__getnewargs__()

将self作为纯元组返回。由复印和腌制使用。

static __new__(_cls, respos, icode, resname, atm, altloc, occ)

创建fieldsDef的新实例(respos、icode、resname、atm、altloc、occ)

__repr__()

返回格式良好的表示字符串

__slots__ = ()
altloc

字段编号4的别名

atm

字段编号3的别名

icode

字段编号%1的别名

occ

字段编号5的别名

resname

字段编号2的别名

respos

字段号0的别名

fields = fieldsDef(respos=0, icode=1, resname=2, atm=3, altloc=4, occ=5)
d2h = False
__init__(*args: Union[IC_Residue, Atom, List, Dict, str], **kwargs: str) None

使用残差和原子数据初始化AtomKey。

可接受输入的示例:

(<IC_RESIST>,‘CA’,.):带有原子信息的IC_RESIST(<IC_RESIST>,<Atom>):带有Biopython原子的IC_RESIST( [52,无,‘G’,‘CA’,.] ):有序数据字段列表(52,None,‘G’,‘CA’,.):多个有序参数({respos:52,icode:None,ATM:‘CA’,.}):带fieldNames的字典(respos:52,icode:None,ATM:‘CA’,.):带fieldNames的Kwargs 52_G_CA,52B_G_CA,52_G_CA_0.33,52_G_CA_B_0.33

__repr__() str

来自id的reprr字符串。

__hash__() int

从Akl元组在初始化时计算的哈希。

altloc_match(other: AtomKey) bool

test AtomKey与其他折扣入住率和altloc匹配。

__ne__(other: object) bool

检验不等性。

__eq__(other: object) bool

测试是否平等。

__gt__(other: object) bool

测试大于。

__ge__(other: object) bool

测试大于或等于。

__lt__(other: object) bool

测试少于。

__le__(other: object) bool

测试小于或等于。

Bio.PDB.internal_coords.set_accuracy_95(num: float) float

将浮点精度降低到9.5(xxxx.xxxx)。

由写入PIC和SCAD文件的Hedron和Dihedron类使用。:param FLOAT Num:INPUT NUMBER:RETURNS:指定精度的FLOAT

exception Bio.PDB.internal_coords.HedronMatchError

基类:Exception

在给定密钥的残留物中找不到Hedron。

exception Bio.PDB.internal_coords.MissingAtomError

基类:Exception

缺少Hedron或二面体的原子坐标。