From: Rajarshi G. <raj...@gm...> - 2012-07-18 23:52:24
|
I agree - the 2D and 3D cases should behave similarly, and I think modifying the 2D case to be true if all atoms have 2D coords is sensible On Wed, Jul 18, 2012 at 5:47 PM, John May <joh...@gm...> wrote: > Hi all, > > I got stung for not fully reading some doc today and thought I would share > to get some opinions on whether the method behaviour should/could change. > I'll explain more in a bit but here's what I was doing. > > The following snippet (https://gist.github.com/3139004) checks if the the > container has coordinates for it's atoms and will invoke the renderer if it > does. If we don't have coordinates we handle appropriately. > > if (GeometryTools.has2DCoordinates(container)) { > renderer.paint(container, new AWTDrawVisitor(g2), bounds, true); > } else { > // can log or invoke g2.drawString() to display "no coordinates" > } > > > This will work for the majority of cases however if can cause the paint > method to throw an exception. In my mind the 'has2DCoordinates' tells me > whether we have coordinates for all atoms in our container/molecule. However > what it will actually tell you is whether any of your atoms have 2D > coordinates. As I said this was my fault for not fully reading the doc and > assuming 'Determines if this AtomContainer contains 2D coordinates' means > all atoms. There is the method 'has2DCoordinatesNew' which we can use to get > an integer and determine full (2) or partial coordinates (1). In my mind a > method like 'has2DCoordinates' would be mainly used to check an input is > valid (as above) and not fail. > > It should be noted that equivalent 'has3DCoordinates' will return true only > if all atoms have 3D coordinates as I had presumed with the 2D method. > > It would be good to unify the 'has2DCoordinates' and 'has3DCoordinates' to > behave the same way. Personally I would opt to change 'has2DCoordinates' as > I can see the use cases for such a method being used more for preventing > errors then checking molecules with partial atoms. > > Please let me know your opinions. > > Many thanks, > John > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Cdk-devel mailing list > Cdk...@li... > https://lists.sourceforge.net/lists/listinfo/cdk-devel > -- Rajarshi Guha | http://blog.rguha.net NIH Center for Advancing Translational Science |