179 lines
4.6 KiB
Python
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 ,
|
|
}
|