private static PharmacophoreAtom NewPCoreAtom(IAtomContainer input, PharmacophoreQueryAtom qatom, string smarts, int[] mapping) { var coords = GetEffectiveCoordinates(input, mapping); var patom = new PharmacophoreAtom(smarts, qatom.Symbol, coords); // n.b. mapping[] copy is mad by pcore atom patom.SetMatchingAtoms(mapping); return(patom); }
public void TestMatchingAtoms() { PharmacophoreAtom patom = new PharmacophoreAtom("[CX2]N", "Amine", Vector3.Zero); patom.SetMatchingAtoms(new int[] { 1, 4, 5 }); int[] indices = patom.GetMatchingAtoms(); Assert.AreEqual(1, indices[0]); Assert.AreEqual(4, indices[1]); Assert.AreEqual(5, indices[2]); }
public void TestEquals() { PharmacophoreAtom patom1 = new PharmacophoreAtom("[CX2]N", "Amine", Vector3.Zero); patom1.SetMatchingAtoms(new int[] { 1, 4, 5 }); PharmacophoreAtom patom2 = new PharmacophoreAtom("[CX2]N", "Amine", Vector3.Zero); patom2.SetMatchingAtoms(new int[] { 1, 4, 5 }); PharmacophoreAtom patom3 = new PharmacophoreAtom("[CX2]N", "Amine", new Vector3(0, 1, 0)); patom3.SetMatchingAtoms(new int[] { 1, 4, 5 }); PharmacophoreAtom patom4 = new PharmacophoreAtom("[CX2]N", "Amine", Vector3.Zero); patom4.SetMatchingAtoms(new int[] { 1, 4, 6 }); Assert.AreEqual(patom2, patom1); Assert.AreNotSame(patom3, patom1); Assert.AreNotSame(patom4, patom1); }