Exemplo n.º 1
0
 def __init__(self,S,atomindices=None,permuteindices=None):
     super(LPTraj,self).__init__(S)
     aidx = list(atomindices) if atomindices != None else []
     pidx = list(itertools.chain(*permuteindices)) if permuteindices != None else []
     
     if atomindices == None:
         self.TD = RMSD.TheoData(S['XYZList'])
     else:
         self.TD = RMSD.TheoData(S['XYZList'][:,np.array(aidx)])
Exemplo n.º 2
0
        target = c_xyzlist[which, :, :]
        progressive = False

    for i in range(1, len(xyzlist)):
        if progressive:
            target = c_xyzlist[i - i]
        rmsd, operator = kabsch(c_xyzlist[i], target, operator=True)
        c_xyzlist[i] = operator(c_xyzlist[i])

    return c_xyzlist


if __name__ == '__main__':
    "Some test code"

    N = 40
    query = np.arange(N)[:, np.newaxis] * np.random.randn(N, 3)
    target = np.arange(N)[:, np.newaxis] * np.random.randn(N, 3)

    dist, op = kabsch(query, target)
    print('my rmsd        ', dist)

    from msmbuilder.metrics import RMSD

    _rmsdcalc = RMSD()
    t0 = RMSD.TheoData(query[np.newaxis, :, :])
    t1 = RMSD.TheoData(target[np.newaxis, :, :])
    print('msmbuilder rmsd', _rmsdcalc.one_to_all(t0, t1, 0)[0])

    print(np.sqrt(np.sum(np.square(target - op(query))) / N))