/usr/lib/python2.7/dist-packages/chempy/mass.py is in pymol 1.7.0.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #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* -------------------------------------------------------------------
# mass calculation (even for implicit models)
implicit_valence = {
'H' : {0:1,1:0},
'C' : {0:4,1:3,2:2,3:1,4:0},
'N' : {0:3,1:2,2:1,3:0},
'O' : {0:2,1:1,2:0},
'F' : {0:1,1:0},
'Cl' : {0:1,1:0},
'CL' : {0:1,1:0},
'Br' : {0:1,1:0},
'BR' : {0:1,1:0},
'I' : {0:1,1:0},
'S' : {0:2,1:2,2:0,3:1,4:0,5:1,6:0} # ambiguity?
}
def implicit_mass(indexed):
valence = [0]*len(indexed.atom)
implicit = [0]*len(indexed.atom)
for a in indexed.bond:
ai0 = a.index[0]
ai1 = a.index[1]
valence[ai0] = valence[ai0] + 1
valence[ai1] = valence[ai1] + 1
c = 0
for a in model.atom:
valence[c] = valence[c] - a.formal_charge
implicit[c] = implicit_valence[a.symbol][valence[c]]
c = c + 1
|