Skip to content

Commit a192d17

Browse files
committed
Correct handling of halogens on hetero atoms.
1 parent 9ca9a14 commit a192d17

File tree

1 file changed

+76
-56
lines changed
  • descriptor/qsarmolecular/src/main/java/org/openscience/cdk/qsar/descriptors/molecular

1 file changed

+76
-56
lines changed

descriptor/qsarmolecular/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/ALOGPDescriptor.java

Lines changed: 76 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1520,20 +1520,25 @@ else if (bj.getOrder() == IBond.Order.TRIPLE) {
15201520
oxNum += atomContainer.getBond(ca0, ca2j).getOrder().numeric();
15211521
}
15221522

1523-
if (hybrid.equals("sp3") && oxNum == 1) {
1524-
frags[81]++;
1525-
alogpfrag[i] = 81;
1526-
} else if (hybrid.equals("sp3") && oxNum == 2) {
1527-
frags[82]++;
1528-
alogpfrag[i] = 82;
1529-
} else if (hybrid.equals("sp3") && oxNum == 3) {
1530-
frags[83]++;
1531-
alogpfrag[i] = 83;
1532-
} else if (hybrid.equals("sp2") && oxNum == 1) {
1533-
frags[84]++;
1534-
alogpfrag[i] = 84;
1535-
} else if ((hybrid.equals("sp2") && oxNum > 1) || (hybrid.equals("sp") && oxNum >= 1)
1536-
|| (hybrid.equals("sp3") && oxNum == 4) || !ca0.getSymbol().equals("C")) {
1523+
if (ca0.getAtomicNumber() == 6) {
1524+
if (hybrid.equals("sp3") && oxNum == 1) {
1525+
frags[81]++;
1526+
alogpfrag[i] = 81;
1527+
} else if (hybrid.equals("sp3") && oxNum == 2) {
1528+
frags[82]++;
1529+
alogpfrag[i] = 82;
1530+
} else if (hybrid.equals("sp3") && oxNum == 3) {
1531+
frags[83]++;
1532+
alogpfrag[i] = 83;
1533+
} else if (hybrid.equals("sp2") && oxNum == 1) {
1534+
frags[84]++;
1535+
alogpfrag[i] = 84;
1536+
} else if ((hybrid.equals("sp2") && oxNum > 1) || (hybrid.equals("sp") && oxNum >= 1)
1537+
|| (hybrid.equals("sp3") && oxNum == 4)) {
1538+
frags[85]++;
1539+
alogpfrag[i] = 85;
1540+
}
1541+
} else {
15371542
frags[85]++;
15381543
alogpfrag[i] = 85;
15391544
}
@@ -1591,20 +1596,25 @@ else if (bj.getOrder() == IBond.Order.TRIPLE) {
15911596
}
15921597
}
15931598

1594-
if (hybrid.equals("sp3") && oxNum == 1) {
1595-
frags[86]++;
1596-
alogpfrag[i] = 86;
1597-
} else if (hybrid.equals("sp3") && oxNum == 2) {
1598-
frags[87]++;
1599-
alogpfrag[i] = 87;
1600-
} else if (hybrid.equals("sp3") && oxNum == 3) {
1601-
frags[88]++;
1602-
alogpfrag[i] = 88;
1603-
} else if (hybrid.equals("sp2") && oxNum == 1) {
1604-
frags[89]++;
1605-
alogpfrag[i] = 89;
1606-
} else if ((hybrid.equals("sp2") && oxNum > 1) || (hybrid.equals("sp") && oxNum >= 1)
1607-
|| (hybrid.equals("sp3") && oxNum == 4) || !ca0.getSymbol().equals("C")) {
1599+
if (ca0.getAtomicNumber() == 6) {
1600+
if (hybrid.equals("sp3") && oxNum == 1) {
1601+
frags[86]++;
1602+
alogpfrag[i] = 86;
1603+
} else if (hybrid.equals("sp3") && oxNum == 2) {
1604+
frags[87]++;
1605+
alogpfrag[i] = 87;
1606+
} else if (hybrid.equals("sp3") && oxNum == 3) {
1607+
frags[88]++;
1608+
alogpfrag[i] = 88;
1609+
} else if (hybrid.equals("sp2") && oxNum == 1) {
1610+
frags[89]++;
1611+
alogpfrag[i] = 89;
1612+
} else if ((hybrid.equals("sp2") && oxNum > 1) || (hybrid.equals("sp") && oxNum >= 1)
1613+
|| (hybrid.equals("sp3") && oxNum == 4)) {
1614+
frags[90]++;
1615+
alogpfrag[i] = 90;
1616+
}
1617+
} else {
16081618
frags[90]++;
16091619
alogpfrag[i] = 90;
16101620
}
@@ -1663,20 +1673,25 @@ private void calcGroup091_to_095(int i) {
16631673

16641674
}
16651675

1666-
if (hybrid.equals("sp3") && oxNum == 1) {
1667-
frags[91]++;
1668-
alogpfrag[i] = 91;
1669-
} else if (hybrid.equals("sp3") && oxNum == 2) {
1670-
frags[92]++;
1671-
alogpfrag[i] = 92;
1672-
} else if (hybrid.equals("sp3") && oxNum == 3) {
1673-
frags[93]++;
1674-
alogpfrag[i] = 93;
1675-
} else if (hybrid.equals("sp2") && oxNum == 1) {
1676-
frags[94]++;
1677-
alogpfrag[i] = 94;
1678-
} else if ((hybrid.equals("sp2") && oxNum > 1) || (hybrid.equals("sp") && oxNum >= 1)
1679-
|| (hybrid.equals("sp3") && oxNum == 4) || !ca0.getSymbol().equals("C")) {
1676+
if (ca0.getAtomicNumber() == 6) {
1677+
if (hybrid.equals("sp3") && oxNum == 1) {
1678+
frags[91]++;
1679+
alogpfrag[i] = 91;
1680+
} else if (hybrid.equals("sp3") && oxNum == 2) {
1681+
frags[92]++;
1682+
alogpfrag[i] = 92;
1683+
} else if (hybrid.equals("sp3") && oxNum == 3) {
1684+
frags[93]++;
1685+
alogpfrag[i] = 93;
1686+
} else if (hybrid.equals("sp2") && oxNum == 1) {
1687+
frags[94]++;
1688+
alogpfrag[i] = 94;
1689+
} else if ((hybrid.equals("sp2") && oxNum > 1) || (hybrid.equals("sp") && oxNum >= 1)
1690+
|| (hybrid.equals("sp3") && oxNum == 4)) {
1691+
frags[95]++;
1692+
alogpfrag[i] = 95;
1693+
}
1694+
} else {
16801695
frags[95]++;
16811696
alogpfrag[i] = 95;
16821697
}
@@ -1735,20 +1750,25 @@ else if (bj.getOrder() == IBond.Order.TRIPLE) {
17351750

17361751
}
17371752

1738-
if (hybrid.equals("sp3") && oxNum == 1) {
1739-
frags[96]++;
1740-
alogpfrag[i] = 96;
1741-
} else if (hybrid.equals("sp3") && oxNum == 2) {
1742-
frags[97]++;
1743-
alogpfrag[i] = 97;
1744-
} else if (hybrid.equals("sp3") && oxNum == 3) {
1745-
frags[98]++;
1746-
alogpfrag[i] = 98;
1747-
} else if (hybrid.equals("sp2") && oxNum == 1) {
1748-
frags[99]++;
1749-
alogpfrag[i] = 99;
1750-
} else if ((hybrid.equals("sp2") && oxNum > 1) || (hybrid.equals("sp") && oxNum >= 1)
1751-
|| (hybrid.equals("sp3") && oxNum == 4) || !ca0.getSymbol().equals("C")) {
1753+
if (ca0.getAtomicNumber() == 6) {
1754+
if (hybrid.equals("sp3") && oxNum == 1) {
1755+
frags[96]++;
1756+
alogpfrag[i] = 96;
1757+
} else if (hybrid.equals("sp3") && oxNum == 2) {
1758+
frags[97]++;
1759+
alogpfrag[i] = 97;
1760+
} else if (hybrid.equals("sp3") && oxNum == 3) {
1761+
frags[98]++;
1762+
alogpfrag[i] = 98;
1763+
} else if (hybrid.equals("sp2") && oxNum == 1) {
1764+
frags[99]++;
1765+
alogpfrag[i] = 99;
1766+
} else if ((hybrid.equals("sp2") && oxNum > 1) || (hybrid.equals("sp") && oxNum >= 1)
1767+
|| (hybrid.equals("sp3") && oxNum == 4)) {
1768+
frags[100]++;
1769+
alogpfrag[i] = 100;
1770+
}
1771+
} else {
17521772
frags[100]++;
17531773
alogpfrag[i] = 100;
17541774
}

0 commit comments

Comments
 (0)