Пример #1
0
def getmoldata(molfname):
    mol = read.readxyz(file(molfname))
    types = tools.gettypes(mol)

    result = {}
    result['atomtypes'] = set(types)
    subtypes = list(result['atomtypes'])
    typepairs = []
    for i, type_1 in enumerate(subtypes):
        for type_2 in subtypes[i:]:
            typepairs.append(molparam.bond_uni([type_1, type_2]))
    result['typepairs'] = set(typepairs)

    rela = relalist.Relalist(mol)
    result['bondtypes'] = set([molparam.bond_uni(gettype(bond, types))
                               for bond in rela.bonds])
    result['angletypes'] = set([molparam.angle_uni(gettype(angle, types))
                                for angle in rela.angles])
    result['torsiontypes'] = set([molparam.torsion_uni(gettype(torsion, types))
                                  for torsion in rela.torsions])

    return result
Пример #2
0
def checkangletypes(words, moldata):
    key = molparam.angle_uni([int(words[1]), int(words[2]), int(words[3])])
    if key in moldata['angletypes']:
        return True
    return False