-
Notifications
You must be signed in to change notification settings - Fork 1
3. Scaffold building blocks
The building blocks of scaffolds (rings and linkers) and the removed side chains can be extracted separately.
ScaffoldGenerator tmpScaffoldGen = new ScaffoldGenerator();
SmilesParser tmpSmiPar = new SmilesParser(SilentChemObjectBuilder.getInstance());
SmilesGenerator tmpSmiGen = tmpScaffoldGen.getSmilesGenerator();
IAtomContainer tmpFlucloxacillin = tmpSmiPar.parseSmiles("CC1=C(C(=NO1)C2=C(C=CC=C2Cl)F)C(=O)NC3C4N(C3=O)C(C(S4)(C)C)C(=O)O");
//single rings as they would be represented in the generated scaffold
List tmpScaffoldRings = tmpScaffoldGen.getRings(tmpFlucloxacillin, true);
System.out.println("\nRings of Flucloxacillin scaffold:");
for (IAtomContainer tmpRing : tmpScaffoldRings) {
System.out.println(tmpSmiGen.create(tmpRing));
}
//the one linker chain of Flucloxacillin
List tmpLinkers = tmpScaffoldGen.getLinkers(tmpFlucloxacillin, true);
System.out.println("\nLinkers of Flucloxacillin scaffold:");
for (IAtomContainer tmpLinker : tmpLinkers) {
System.out.println(tmpSmiGen.create(tmpLinker));
}
//side chains of Flucloxacillin, three methyl groups,
// one chlorine and one fluorine substituent, and a carbonic acid group
//keto groups connected to rings and linkers are excluded because
// they are included in the scaffold
List tmpSideChains = tmpScaffoldGen.getSideChains(tmpFlucloxacillin, true);
System.out.println("\nSide chains of Flucloxacillin:");
for (IAtomContainer tmpSideChain : tmpSideChains) {
System.out.println(tmpSmiGen.create(tmpSideChain));
}
Output:
Rings of Flucloxacillin scaffold:
n1occc1
c1ccccc1
O=C1NCC1
S1CNCC1
Linkers of Flucloxacillin scaffold:
O=CN
Side chains of Flucloxacillin:
C
Cl
F
C
C
O=CO
Side chains of Flucloxacillin: three methyl groups, one chlorine and one fluorine substituent, and a carbonic acid group; keto groups connected to rings and linkers are excluded because they are included in the scaffold.