From: Egon W. <e.w...@sc...> - 2006-05-25 18:36:53
|
Hi all, When working on Bioclipse, Tobias pointed out to me the problem when converting files: can certain data features be saved in this format? For example, the XYZ format cannot store connectivity... similarly SMILES or InChI's cannot store 2D coordinates, and MDL molfile cannot store unit cell info and fractional coordinates. We discussed this further which led to a RFE, which I implemented today. Please find added cdk.tools.DataFeatures, and a new WriterFactory, which is likely to be extended with a few more convenience methods; it currently only offer findChemFormats(int)... where the integer is something like: DataFeatures.HAS_2D_COORDINATES | DataFeatures.HAS_GRAPH_REPRESENTATION You can test wether some feature is present with [1]: if (yourFeatures & DataFeatures.HAS_2D_COORDINATES) == DataFeatures.HAS_2D_COORDINATES) { // ok, has 2D coordinates } I'm not 100% comfortable with terminology... the HAS comes from the planned code: int modelFeatures = public int ChemModelManipulator.getDataFeatures(myChemModel); if (modelFeatures & DataFeatures.HAS_2D_COORDINATES) == DataFeatures.HAS_2D_COORDINATES) { // ... }; But this is the use with IChemFormat's getSupportedDataFeatures(): int formatFeatures = myIChemFormat.getSupportedDataFeatures(); if (formatFeatures & DataFeatures.HAS_2D_COORDINATES) == DataFeatures.HAS_2D_COORDINATES) { // ... }; In this case SUPPORTS_2D_COORDINATES would sound more useful... Likely more on this later... Egon 1.http://java.sun.com/docs/books/tutorial/java/nutsandbolts/bitwise.html -- e.w...@sc... Cologne University Bioinformatics Center (CUBIC) Blog: http://chem-bla-ics.blogspot.com/ GPG: 1024D/D6336BA6 |