📄 smartsqueryvisitortest.java
字号:
} public void testPattern210() throws Exception { visit("[!H0;F,Cl,Br,I,N+,$([OH]-*=[!#6]),+]"); } public void testPattern211() throws Exception { visit("[CX3](=O)[OX2H1]"); } public void testPattern212() throws Exception { visit("[CX3](=O)[OX1H0-,OX2H1]"); } public void testPattern213() throws Exception { visit("[$([OH]-*=[!#6])]"); } public void testPattern214() throws Exception { // Phosphoric_Acid visit("[$(P(=[OX1])([$([OX2H]),$([OX1-]),$([OX2]P)])([$([OX2H]),$([OX1-]),$([OX2]P)])[$([OX2H]),$([OX1-]),$([OX2]P)]),$([P+]([OX1-])([$([OX" + "2H]),$([OX1-]),$([OX2]P)])([$([OX2H]),$([OX1-]),$([OX2]P)])[$([OX2H]),$([OX1-]),$([OX2]P)])]"); } public void testPattern215() throws Exception { // Sulfonic Acid. High specificity. visit("[$([#16X4](=[OX1])(=[OX1])([#6])[OX2H,OX1H0-]),$([#16X4+2]([OX1-])([OX1-])([#6])[OX2H,OX1H0-])]"); } public void testPattern216() throws Exception { // Acyl Halide visit("[CX3](=[OX1])[F,Cl,Br,I]"); } public void testPattern217() throws Exception { visit("[NX2-]"); } public void testPattern218() throws Exception { visit("[OX2H+]=*"); } public void testPattern219() throws Exception { visit("[OX3H2+]"); } public void testPattern220() throws Exception { visit("[#6+]"); } public void testPattern221() throws Exception { visit("[$([cX2+](:*):*)]"); } public void testPattern222() throws Exception { visit("[$([NX1-]=[NX2+]=[NX1-]),$([NX1]#[NX2+]-[NX1-2])]"); } public void testPattern223() throws Exception { visit("[+1]~*~*~[-1]"); } public void testPattern224() throws Exception { visit("[$([!-0!-1!-2!-3!-4]~*~[!+0!+1!+2!+3!+4]),$([!-0!-1!-2!-3!-4]~*~*~[!+0!+1!+2!+3!+4]),$([!-0!-1!-2!-3!-4]~*~*~*~[!+0!+1!+2!+3!+4]),$([!-0!-1!-2!-3!-4]~*~*~*~*~[!+0!+1!+2!+3!+4]),$([!-0!-1!-2!-3!-4]~*~*~*~*~*~[!+0!+1!+2!+3!+4]),$([!-0!-1!-2!-3!-4]~*~*~*~*~*~*~[!+0!+1!+2!+3!+4]),$([!-0!-1!-2!-3!-4]~*~*~*~*~*~*~*~[!+0!+1!+2!+3!+4]),$([!-0!-1!-2!-3!-4]~*~*~*~*~*~*~*~*~[!+0!+1!+2!+3!+4]),$([!-0!-1!-2!-3!-4]~*~*~*~*~*~*~*~*~*~[!+0!+1!+2!+3!+4])]"); } public void testPattern225() throws Exception { visit("([!-0!-1!-2!-3!-4].[!+0!+1!+2!+3!+4])"); } public void testPattern226() throws Exception { // Hydrogen-bond acceptor, Only hits carbonyl and nitroso visit("[#6,#7;R0]=[#8]"); } public void testPattern227() throws Exception { // Hydrogen-bond acceptor visit("[!$([#6,F,Cl,Br,I,o,s,nX3,#7v5,#15v5,#16v4,#16v6,*+1,*+2,*+3])]"); } public void testPattern228() throws Exception { visit("[!$([#6,H0,-,-2,-3])]"); } public void testPattern229() throws Exception { visit("[!H0;#7,#8,#9]"); } public void testPattern230() throws Exception { visit("[O,N;!H0]-*~*-*=[$([C,N;R0]=O)]"); } public void testPattern231() throws Exception { visit("[#6;X3v3+0]"); } public void testPattern232() throws Exception { visit("[#7;X2v4+0]"); } public void testPattern233() throws Exception { // Amino Acid visit("[$([$([NX3H,NX4H2+]),$([NX3](C)(C)(C))]1[CX4H]([CH2][CH2][CH2]1)[CX3](=[OX1])[OX2H,OX1-,N]),$([$([NX3H2,NX4H3+]),$([NX3H](C)(C))][CX4H2][" + "CX3](=[OX1])[OX2H,OX1-,N]),$([$([NX3H2,NX4H3+]),$([NX3H](C)(C))][CX4H]([*])[CX3](=[OX1])[OX2H,OX1-,N])]"); } public void testPattern234() throws Exception { visit("[#6][CX3](=O)[$([OX2H0]([#6])[#6]),$([#7])]"); } public void testPattern235() throws Exception { visit("[#8]=[C,N]-aaa[F,Cl,Br,I]"); } public void testPattern236() throws Exception { visit("[O,N;!H0;R0]"); } public void testPattern237() throws Exception { visit("[#8]=[C,N]"); } public void testPattern238() throws Exception { // PCB visit("[$(c:cCl),$(c:c:cCl),$(c:c:c:cCl)]-[$(c:cCl),$(c:c:cCl),$(c:c:c:cCl)]"); } public void testPattern239() throws Exception { // Imidazolium Nitrogen visit("[nX3r5+]:c:n"); } public void testPattern240() throws Exception { // 1-methyl-2-hydroxy benzene with either a Cl or H at the 5 position. visit("[c;$([*Cl]),$([*H1])]1ccc(O)c(C)c1"); visit("Cc1:c(O):c:c:[$(cCl),$([cH])]:c1"); } public void testPattern241() throws Exception { // Nonstandard atom groups. visit("[!#1;!#2;!#3;!#5;!#6;!#7;!#8;!#9;!#11;!#12;!#15;!#16;!#17;!#19;!#20;!#35;!#53]"); } public void testRing() throws Exception { visit("[$([C;#12]=1CCCCC1)]"); } /** * From http://www.daylight.com/dayhtml_tutorials/languages/smarts/index.html */ public void testPropertyCharge1() throws Exception { assertEquals(0, match("[+1]", "[OH-].[Mg+2]")); } public void testPropertyCharge2() throws Exception { assertEquals(1, match("[+1]", "COCC(O)Cn1ccnc1[N+](=O)[O-]")); } public void testPropertyCharge3() throws Exception { assertEquals(1, match("[+1]", "[NH4+]")); } public void testPropertyCharge4() throws Exception { assertEquals(0, match("[+1]", "CN1C(=O)N(C)C(=O)C(N(C)C=N2)=C12")); } public void testPropertyCharge5() throws Exception { assertEquals(2, match("[+1]", "[Cl-].[Cl-].NC(=O)c2cc[n+](COC[n+]1ccccc1C=NO)cc2")); } public void testPropertyAromatic1() throws Exception { int m = match("[a]", "c1cc(C)c(N)cc1"); assertEquals(6, m); } public void testPropertyAromatic2() throws Exception { int m = match("[a]", "c1c(C)c(N)cnc1"); assertEquals(6, m); } public void testPropertyAromatic3() throws Exception { int m = match("[a]", "c1(C)c(N)cco1"); assertEquals(5, m); } public void testPropertyAromatic4() throws Exception { int m = match("[a]", "c1c(C)c(N)c[nH]1"); assertEquals(5, m); } public void testPropertyAromatic5() throws Exception { int m = match("[a]", "O=n1ccccc1"); assertEquals(6, m); } public void testPropertyAromatic6() throws Exception { int m = match("[a]", "[O-][n+]1ccccc1"); assertEquals(6, m); } public void testPropertyAromatic7() throws Exception { int m = match("[a]", "c1ncccc1C1CCCN1C"); assertEquals(6, m); } public void testPropertyAromatic8() throws Exception { int m = match("[a]", "c1ccccc1C(=O)OC2CC(N3C)CCC3C2C(=O)OC"); assertEquals(6, m); } public void testPropertyAliphatic1() throws Exception { int m = match("[A]", "c1cc(C)c(N)cc1"); assertEquals(2, m); } public void testPropertyAliphatic2() throws Exception { int m = match("[A]", "CCO"); assertEquals(3, m); } public void testPropertyAliphatic3() throws Exception { int m = match("[A]", "C=CC=CC=C"); assertEquals(6, m); } public void testPropertyAliphatic4() throws Exception { int m = match("[A]", "CC(C)(C)C"); assertEquals(5, m); } public void testPropertyAliphatic5() throws Exception { int m = match("[A]", "CCN(CC)C(=O)C1CN(C)C2CC3=CNc(ccc4)c3c4C2=C1"); assertEquals(15, m); } public void testPropertyAliphatic6() throws Exception { int m = match("[A]", "N12CCC36C1CC(C(C2)=CCOC4CC5=O)C4C3N5c7ccccc76"); assertEquals(19, m); } public void testPropertyAtomicNumber1() throws Exception { int m = match("[#6]", "c1cc(C)c(N)cc1"); assertEquals(7, m); } public void testPropertyAtomicNumber2() throws Exception { int m = match("[#6]", "CCO"); assertEquals(2, m); } public void testPropertyAtomicNumber3() throws Exception { int m = match("[#6]", "C=CC=CC=C-O"); assertEquals(6, m); } public void testPropertyAtomicNumber4() throws Exception { int m = match("[#6]", "CC(C)(C)C"); assertEquals(5, m); } public void testPropertyAtomicNumber5() throws Exception { int m = match("[#6]", "COc1cc2c(ccnc2cc1)C(O)C4CC(CC3)C(C=C)CN34"); assertEquals(20, m); } public void testPropertyAtomicNumber6() throws Exception { int m = match("[#6]", "C123C5C(O)C=CC2C(N(C)CC1)Cc(ccc4O)c3c4O5"); assertEquals(17, m); } public void testPropertyAtomicNumber7() throws Exception { int m = match("[#6]", "C123C5C(OC(=O)C)C=CC2C(N(C)CC1)Cc(ccc4OC(=O)C)c3c4O5"); assertEquals(21, m); } public void testPropertyR1() throws Exception { int m = match("[R2]", "N12CCC36C1CC(C(C2)=CCOC4CC5=O)C4C3N5c7ccccc76"); assertEquals(7, m); } public void testPropertyR2() throws Exception { int m = match("[R2]", "COc1cc2c(ccnc2cc1)C(O)C4CC(CC3)C(C=C)CN34"); assertEquals(6, m); } public void testPropertyR3() throws Exception { int m = match("[R2]", "C123C5C(O)C=CC2C(N(C)CC1)Cc(ccc4O)c3c4O5"); assertEquals(4, m); } public void testPropertyR4() throws Exception { int m = match("[R2]", "C123C5C(OC(=O)C)C=CC2C(N(C)CC1)Cc(ccc4OC(=O)C)c3c4O5"); assertEquals(4, m); } public void testPropertyR5() throws Exception { int m = match("[R2]", "C1C(C)=C(C=CC(C)=CC=CC(C)=CCO)C(C)(C)C1"); assertEquals(0, m); } public void testPropertyr1() throws Exception { int m = match("[r5]", "N12CCC36C1CC(C(C2)=CCOC4CC5=O)C4C3N5c7ccccc76"); assertEquals(9, m); } public void testPropertyr2() throws Exception { int m = match("[r5]", "COc1cc2c(ccnc2cc1)C(O)C4CC(CC3)C(C=C)CN34"); assertEquals(0, m); } public void testPropertyr3() throws Exception { int m = match("[r5]", "C123C5C(O)C=CC2C(N(C)CC1)Cc(ccc4O)c3c4O5"); assertEquals(5, m); } public void testPropertyr4() throws Exception { int m = match("[r5]", "C123C5C(OC(=O)C)C=CC2C(N(C)CC1)Cc(ccc4OC(=O)C)c3c4O5"); assertEquals(5, m); } public void testPropertyr5() throws Exception { int m = match("[r5]", "C1C(C)=C(C=CC(C)=CC=CC(C)=CCO)C(C)(C)C1"); assertEquals(5, m); } public void testPropertyValence1() throws Exception { int m = match("[v4]", "C"); assertEquals(1, m); } public void testPropertyValence2() throws Exception { int m = match("[v4]", "CCO"); assertEquals(2, m); } public void testPropertyValence3() throws Exception { int m = match("[v4]", "[NH4+]"); assertEquals(1, m); } public void testPropertyValence4() throws Exception { int m = match("[v4]", "CC1(C)SC2C(NC(=O)Cc3ccccc3)C(=O)N2C1C(=O)O"); assertEquals(16, m); } public void testPropertyValence5() throws Exception { int m = match("[v4]", "[Cl-].[Cl-].NC(=O)c2cc[n+](COC[n+]1ccccc1C=NO)cc2"); assertEquals(16, m); } public void testPropertyX1() throws Exception { int m = match("[X2]", "CCO"); assertEquals(1, m); } public void testPropertyX2() throws Exception { int m = match("[X2]", "O"); assertEquals(1, m); } public void testPropertyX3() throws Exception { int m = match("[X2]", "CCC(=O)CC"); assertEquals(0, m); } public void testPropertyX4() throws Exception { int m = match("[X2]", "FC(Cl)=C=C(Cl)F"); assertEquals(1, m); } public void testPropertyX5() throws Exception { int m = match("[X2]", "COc1cc2c(ccnc2cc1)C(O)C4CC(CC3)C(C=C)CN34"); assertEquals(3, m); } public void testPropertyX6() throws Exception { int m = match("[X2]", "C123C5C(O)C=CC2C(N(C)CC1)Cc(ccc4O)c3c4O5"); assertEquals(3, m); } public void testPropertyD1() throws Exception { int m = match("[D2]", "CCO"); assertEquals(1, m); } public void testPropertyD2() throws Exception { int m = match("[D2]", "O"); assertEquals(0, m); } public void testPropertyD3() throws Exception { int m = match("[D2]", "CCC(=O)CC"); assertEquals(2, m); } public void testPropertyD4() throws Exception { int m = match("[D2]", "FC(Cl)=C=C(Cl)F"); assertEquals(1, m); } public void testPropertyD5() throws Exception { int m = match("[D2]", "COc1cc2c(ccnc2cc1)C(O)C4CC(CC3)C(C=C)CN34"); assertEquals(12, m); } public void testPropertyD6() throws Exception { int m = match("[D2]", "C123C5C(O)C=CC2C(N(C)CC1)Cc(ccc4O)c3c4O5"); assertEquals(8, m); } public void testPropertyHAtom1() throws Exception { int m = match("[H]", "[H+].[Cl-]"); assertEquals(1, m); } public void testPropertyHAtom2() throws Exception { int m = match("[H]", "[2H]"); assertEquals(1, m); } public void testPropertyHAtom3() throws Exception { int m = match("[H]", "[H][H]"); assertEquals(2, m); } public void testPropertyHAtom4() throws Exception { int m = match("[H]", "[CH4]"); assertEquals(0, m); } public void testPropertyHAtom5() throws Exception { int m = match("[H]", "[H]C([H])([H])[H]"); assertEquals(0, m); } public void testPropertyHTotal1() throws Exception { int m = match("[H1]", "CCO"); assertEquals(1, m); } public void testPropertyHTotal2() throws Exception { int m = match("[H1]", "[2H]C#C"); assertEquals(2, m); } public void testPropertyHTotal3() throws Exception { int m = match("[H1]", "[H]C(C)(C)C"); assertEquals(1, m); } public void testPropertyHTotal4() throws Exception { int m = match("[H1]", "COc1cc2c(ccnc2cc1)C(O)C4CC(CC3)C(C=C)CN34"); assertEquals(11, m); } public void testPropertyHTotal5() throws Exception { int m = match("[H1]", "C123C5C(O)C=CC2C(N(C)CC1)Cc(ccc4O)c3c4O5"); assertEquals(10, m); } public void testPropertyHTotal6() throws Exception { int m = match("[H1]", "[H][H]");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -