import pybel
ob = pybel.ob
#smi='[N-]=[N+]=NCC1=CC=CC=C1'
#smi='C1CNCCN1'
smi='[N-]=[N+]=NCCCN'
pmol = pybel.readstring('smi', smi)
pmol.make3D()
mol = pmol.OBMol
print "FORML", pmol.formula
print "HEAVY:", len( [x for x in ob.OBMolAtomIter(mol) if not x.IsHydrogen() ])
mol.DeleteHydrogens()
mol.UnsetFlag(ob.OB_PH_CORRECTED_MOL)
mol.SetAutomaticFormalCharge(True) ### comment this line to restore azide
mol.AddHydrogens(False, True, 7.4)
pmol.write('mol2', 'test.mol2', overwrite=1)
pmol.write('pdb', 'test.pdb', overwrite=1)
print "FORML", pmol.formula
print "HEAVY:", len( [x for x in ob.OBMolAtomIter(mol) if not x.IsHydrogen() ])
