Dear Users,
I would like to read a SDF file using IteratingSDFReader. The SDF file
is generated by jmol (see below).
U:/research/project_opas/Code/MVC_OPAS/build/check.sdf
__Jmol-14_11161922023D 1 1.00000 0.00000 0
Jmol version 14.9.1 2017-02-18 13:47 EXTRACT: ({0:43})
22 22 0 0 0 0 1 V2000
-10.26842 21.30587 -2.02430 N 0 0 0 0 0 0
-11.14109 20.23272 -2.39821 C 0 0 0 0 0 0
-10.84018 18.85777 -1.92734 C 0 0 0 0 0 0
-11.60011 17.94142 -2.23013 O 0 0 0 0 0 0
-12.38167 20.49262 -3.21797 C 0 0 0 0 0 0
-12.66761 21.93940 -3.49472 C 0 0 0 0 0 0
-13.73838 22.56509 -3.02287 C 0 0 0 0 0 0
-11.88128 22.81522 -4.30956 N 0 0 0 0 0 0
-12.65747 24.01784 -4.21934 C 0 0 0 0 0 0
-13.70560 23.88527 -3.49217 N 0 0 0 0 0 0
-9.64144 18.61510 -1.15438 N 0 0 0 0 0 0
-6.47461 15.46647 0.53840 C 0 0 0 0 0 0
-5.16207 15.52031 -0.21484 C 0 0 0 0 0 0
-4.06313 15.41673 0.72449 N 0 0 0 0 0 0
-9.80464 17.44463 -0.29800 C 0 0 0 0 0 0
-8.64600 16.48725 -0.41087 C 0 0 0 0 0 0
-8.90795 15.33022 -1.01563 C 0 0 0 0 0 0
-7.33993 16.68411 0.28862 C 0 0 0 0 0 0
-7.04245 17.86578 0.93854 O 0 0 0 0 0 0
-6.07225 18.51085 0.19546 C 0 0 0 0 0 0
-6.39116 19.21376 -0.74531 O 0 0 0 0 0 0
-4.69541 18.41611 0.56612 N 0 0 0 0 0 0
2 1 1 0 0 0
2 3 1 0 0 0
3 11 1 0 0 0
4 3 2 0 0 0
5 2 1 0 0 0
6 5 1 0 0 0
6 7 2 0 0 0
8 9 1 0 0 0
8 6 1 0 0 0
9 10 2 0 0 0
10 7 1 0 0 0
13 12 1 0 0 0
13 14 1 0 0 0
15 16 1 0 0 0
16 17 2 0 0 0
16 18 1 0 0 0
18 19 1 0 0 0
19 20 1 0 0 0
20 21 2 0 0 0
20 22 1 0 0 0
11 15 1 0 0 0
12 18 1 0 0 0
M END
$$$$
U:/research/project_opas/Code/MVC_OPAS/build/check.sdf
__Jmol-14_11161922023D 1 1.00000 0.00000 0
Jmol version 14.9.1 2017-02-18 13:47 EXTRACT: ({0:43})
22 22 0 0 0 0 1 V2000
-10.34994 21.23775 -2.14993 N 0 0 0 0 0 0
-11.34250 20.30777 -2.59501 C 0 0 0 0 0 0
-11.13198 18.85018 -2.50356 C 0 0 0 0 0 0
-12.03183 18.12532 -2.90109 O 0 0 0 0 0 0
-12.62336 20.72709 -3.26233 C 0 0 0 0 0 0
-12.81469 22.18660 -3.49445 C 0 0 0 0 0 0
-13.85760 22.84610 -3.01911 C 0 0 0 0 0 0
-11.99766 23.01098 -4.32672 N 0 0 0 0 0 0
-12.72729 24.24473 -4.23861 C 0 0 0 0 0 0
-13.77078 24.16132 -3.50354 N 0 0 0 0 0 0
-9.86955 18.26965 -2.15583 N 0 0 0 0 0 0
-7.30122 16.52601 0.75455 C 0 0 0 0 0 0
-5.96259 17.25681 0.80966 C 0 0 0 0 0 0
-4.87734 16.30636 0.66950 N 0 0 0 0 0 0
-12.83689 15.52634 -0.85527 C 0 0 0 0 0 0
-11.62686 16.04439 -1.46833 N 0 0 0 0 0 0
-11.00919 14.97258 -2.22952 C 0 0 0 0 0 0
-10.70605 16.47306 -0.42756 C 0 0 0 0 0 0
-9.83868 17.64207 -0.85262 C 0 0 0 0 0 0
-8.72671 18.07421 0.02162 C 0 0 0 0 0 0
-8.09045 19.06942 -0.28779 O 0 0 0 0 0 0
-8.35385 17.36976 1.15010 O 0 0 0 0 0 0
2 1 1 0 0 0
2 3 1 0 0 0
3 11 1 0 0 0
4 3 2 0 0 0
5 2 1 0 0 0
6 5 1 0 0 0
6 7 2 0 0 0
8 9 1 0 0 0
8 6 1 0 0 0
9 10 2 0 0 0
10 7 1 0 0 0
13 12 1 0 0 0
13 14 1 0 0 0
15 16 1 0 0 0
16 17 1 0 0 0
16 18 1 0 0 0
18 19 1 0 0 0
19 20 1 0 0 0
20 21 2 0 0 0
20 22 1 0 0 0
11 19 1 0 0 0
12 22 1 0 0 0
M END
$$$$
I am using CDK 1.5.8 (I have to stick to this version for
compatibility issues). I am trying to read the SDF file using the
below snippet
public static List<IAtomContainer> readFragments(String fileName)
throws IOException, CDKException {
List<IAtomContainer> frags = new ArrayList<>();
File sdfFile = new File(fileName);
IteratingSDFReader sdfReader = new IteratingSDFReader(new
FileInputStream(sdfFile),DefaultChemObjectBuilder.getInstance());
while (sdfReader.hasNext()) {
IAtomContainer molecule = (IAtomContainer)sdfReader.next();
frags.add(molecule);
}
sdfReader.close();
return frags;
}
The function works perfectly fine for sdf files genrated by CDK and
Openbabel and returns null for Jmol generated sdf file. I am pretty
sure it is the problem with the sdf file generated by Jmol. But I am
able to open the sdf file in the molecule viewer (Jmol, Discovery
Studio) without any errors. I tried all variations by manually
editing the file like the headers and the end of the file, but to no
avail. I tried to read it using MDLV2000 reader but no improvements.
Is there any other reader I can use or which part of the sdf file (is
problematic) I have to edit, so that I can read it using
IteratingSDFReader? Any insights in the right direction is highly
appreciated. Thank you.
Regards
Vinothkumar Mohanakrishnan
_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user