Files
2026-08-03 18:42:47 +08:00

179 lines
4.6 KiB
Python

#A* -------------------------------------------------------------------
#B* This file contains source code for the PyMOL computer program
#C* copyright 1998-2000 by Warren Lyford Delano of DeLano Scientific.
#D* -------------------------------------------------------------------
#E* It is unlawful to modify or remove this copyright notice.
#F* -------------------------------------------------------------------
#G* Please see the accompanying LICENSE file for further information.
#H* -------------------------------------------------------------------
#I* Additional authors of this source file include:
#-*
#-*
#-*
#Z* -------------------------------------------------------------------
# bond lengths and other information useful for simply building atoms
#
# compatible with parm94, 96, or 99
length = {
( 'OW', 'HW' ) : 0.9572,
( 'HW', 'HW' ) : 1.5136,
( 'C', 'C' ) : 1.525 ,
( 'C', 'CA' ) : 1.409 ,
( 'C', 'CB' ) : 1.419 ,
( 'C', 'CM' ) : 1.444 ,
( 'C', 'CT' ) : 1.522 ,
( 'C', 'N' ) : 1.335 ,
( 'C', 'N*' ) : 1.383 ,
( 'C', 'NA' ) : 1.388 ,
( 'C', 'NC' ) : 1.358 ,
( 'C', 'O' ) : 1.229 ,
( 'C', 'O2' ) : 1.250 ,
( 'C', 'OH' ) : 1.364 ,
( 'C', 'OS' ) : 1.323 ,
( 'C', 'H4' ) : 1.080 ,
( 'C', 'H5' ) : 1.080 ,
( 'CA', 'CA' ) : 1.400 ,
( 'CA', 'CB' ) : 1.404 ,
( 'CA', 'CM' ) : 1.433 ,
( 'CA', 'CN' ) : 1.400 ,
( 'CA', 'CT' ) : 1.510 ,
( 'CA', 'HA' ) : 1.080 ,
( 'CA', 'H4' ) : 1.080 ,
( 'CA', 'N2' ) : 1.340 ,
( 'CA', 'NA' ) : 1.381 ,
( 'CA', 'NC' ) : 1.339 ,
( 'CA', 'OH' ) : 1.364 ,
( 'CB', 'CB' ) : 1.370 ,
( 'CB', 'N*' ) : 1.374 ,
( 'CB', 'NB' ) : 1.391 ,
( 'CB', 'NC' ) : 1.354 ,
( 'CD', 'HA' ) : 1.080 ,
( 'CD', 'CD' ) : 1.400 ,
( 'CD', 'CM' ) : 1.350 ,
( 'CD', 'CT' ) : 1.510 ,
( 'CK', 'H5' ) : 1.080 ,
( 'CK', 'N*' ) : 1.371 ,
( 'CK', 'NB' ) : 1.304 ,
( 'CM', 'CM' ) : 1.350 ,
( 'CM', 'CT' ) : 1.510 ,
( 'CM', 'HA' ) : 1.080 ,
( 'CM', 'H4' ) : 1.080 ,
( 'CM', 'H5' ) : 1.080 ,
( 'CM', 'N*' ) : 1.365 ,
( 'CM', 'OS' ) : 1.240 ,
( 'CQ', 'H5' ) : 1.080 ,
( 'CQ', 'NC' ) : 1.324 ,
( 'CT', 'CT' ) : 1.526 ,
( 'CT', 'HC' ) : 1.090 ,
( 'CT', 'H1' ) : 1.090 ,
( 'CT', 'H2' ) : 1.090 ,
( 'CT', 'H3' ) : 1.090 ,
( 'CT', 'HP' ) : 1.090 ,
( 'CT', 'N*' ) : 1.475 ,
( 'CT', 'N2' ) : 1.463 ,
( 'CT', 'OH' ) : 1.410 ,
( 'CT', 'OS' ) : 1.410 ,
( 'C*', 'HC' ) : 1.080 ,
( 'C*', 'CB' ) : 1.459 ,
( 'C*', 'CT' ) : 1.495 ,
( 'C*', 'CW' ) : 1.352 ,
( 'CB', 'CN' ) : 1.419 ,
( 'CC', 'CT' ) : 1.504 ,
( 'CC', 'CV' ) : 1.375 ,
( 'CC', 'CW' ) : 1.371 ,
( 'CC', 'NA' ) : 1.385 ,
( 'CC', 'NB' ) : 1.394 ,
( 'CN', 'NA' ) : 1.380 ,
( 'CR', 'H5' ) : 1.080 ,
( 'CR', 'NA' ) : 1.343 ,
( 'CR', 'NB' ) : 1.335 ,
( 'CT', 'N' ) : 1.449 ,
( 'CT', 'N3' ) : 1.471 ,
( 'CT', 'NT' ) : 1.471 ,
( 'CT', 'S' ) : 1.810 ,
( 'CT', 'SH' ) : 1.810 ,
( 'CT', 'CY' ) : 1.458 ,
( 'CT', 'CZ' ) : 1.459 ,
( 'CV', 'H4' ) : 1.080 ,
( 'CV', 'NB' ) : 1.394 ,
( 'CW', 'H4' ) : 1.080 ,
( 'CW', 'NA' ) : 1.381 ,
( 'CY', 'NY' ) : 1.150 ,
( 'CZ', 'CZ' ) : 1.206 ,
( 'CZ', 'HZ' ) : 1.056 ,
( 'O2', 'P' ) : 1.480 ,
( 'OH', 'P' ) : 1.610 ,
( 'OS', 'P' ) : 1.610 ,
( 'H', 'N2' ) : 1.010 ,
( 'H', 'N*' ) : 1.010 ,
( 'H', 'NA' ) : 1.010 ,
( 'H', 'N' ) : 1.010 ,
( 'H', 'N3' ) : 1.010 ,
( 'H', 'NT' ) : 1.010 ,
( 'HO', 'OH' ) : 0.960 ,
( 'HO', 'OS' ) : 0.960 ,
( 'HS', 'SH' ) : 1.336 ,
( 'S', 'S' ) : 2.038 ,
( 'F', 'CT' ) : 1.380 ,
( 'Cl', 'CT' ) : 1.766 ,
( 'Br', 'CT' ) : 1.944 ,
( 'I', 'CT' ) : 2.166 ,
( 'F', 'CA' ) : 1.359 ,
( 'Cl', 'CA' ) : 1.727 ,
( 'I', 'CA' ) : 2.075 ,
( 'Br', 'CA' ) : 1.890 ,
( 'LP', 'O' ) : 0.200 ,
( 'LP', 'OH' ) : 0.200 ,
( 'LP', 'OS' ) : 0.200 ,
( 'LP', 'N3' ) : 0.200 ,
( 'LP', 'NT' ) : 0.200 ,
( 'LP', 'NB' ) : 0.200 ,
( 'LP', 'NC' ) : 0.200 ,
( 'LP', 'S' ) : 0.700 ,
( 'LP', 'SH' ) : 0.700,
}
for a in list(length.keys()):
length[(a[1],a[0])]=length[a]
nonlinear = {
'OW' : 1 ,
'OH' : 1 ,
'OS' : 1 ,
'P' : 1 ,
'S' : 1 ,
'SH' : 1 ,
}
tetrahedral = {
'CT' : 1 ,
'N3' : 1 ,
'NT' : 1 ,
}
planer = {
'C' : 1 ,
'C*' : 1 ,
'CA' : 1 ,
'CB' : 1 ,
'CC' : 1 ,
'CD' : 1 ,
'CK' : 1 ,
'CM' : 1 ,
'CN' : 1 ,
'CQ' : 1 ,
'CR' : 1 ,
'CV' : 1 ,
'CW' : 1 ,
'N' : 1 ,
'N*' : 1 ,
'N2' : 1 ,
'NA' : 1 ,
'NB' : 1 ,
'NC' : 1 ,
'O' : 1 ,
'O2' : 1 ,
}