The paint format simply describes lists of the actions required to generate a depiction of the molecule. For example, I used this information to prototype the ASCII output format in Python. Here it is in action:
>obabel -:c1ccccc1C(=O)Cl -opaint NewCanvas 218.6 200.0 SetPenColor 0.0 0.0 0.0 1.0 (rgba) SetPenColor 0.0 0.0 0.0 1.0 (rgba) SetPenColor 0.0 0.0 0.0 1.0 (rgba) SetPenColor 0.0 0.0 0.0 1.0 (rgba) SetPenColor 0.0 0.0 0.0 1.0 (rgba) SetPenColor 0.0 0.0 0.0 1.0 (rgba) SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 109.3 100.0 to 143.9 120.0 SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 146.9 120.0 to 146.9 147.0 DrawLine 140.9 120.0 to 140.9 147.0 SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 143.9 120.0 to 167.3 106.5 SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 74.6 120.0 to 40.0 100.0 DrawLine 73.0 110.8 to 48.8 96.8 SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 40.0 100.0 to 40.0 60.0 SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 40.0 60.0 to 74.6 40.0 DrawLine 48.8 63.2 to 73.0 49.2 SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 74.6 40.0 to 109.3 60.0 SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 109.3 60.0 to 109.3 100.0 DrawLine 102.1 66.0 to 102.1 94.0 SetPenColor 0.0 0.0 0.0 1.0 (rgba) DrawLine 109.3 100.0 to 74.6 120.0 SetPenColor 0.4 0.4 0.4 1.0 (rgba) SetPenColor 0.4 0.4 0.4 1.0 (rgba) SetPenColor 0.4 0.4 0.4 1.0 (rgba) SetPenColor 0.4 0.4 0.4 1.0 (rgba) SetPenColor 0.4 0.4 0.4 1.0 (rgba) SetPenColor 0.4 0.4 0.4 1.0 (rgba) SetPenColor 0.4 0.4 0.4 1.0 (rgba) SetPenColor 1.0 0.1 0.1 1.0 (rgba) SetFontSize 16 SetFontSize 16 SetFontSize 16 DrawText 143.9 160.0 "O" SetPenColor 0.1 0.9 0.1 1.0 (rgba) SetFontSize 16 SetFontSize 16 SetFontSize 16 SetFontSize 16 DrawText 178.6 100.0 "Cl"To create an example depiction I naturally turned to bananas. Why bananas? Well, they're yellow, sweet if properly ripe, and of course are full of potassium. Using the information above and the magic of SVG, we can generate the following image (click to access zoomable SVG):
Other fruit are available, and if you would like me to put together a similar image for you, contact me and maybe we can work something out.
As an exercise for the reader, it would be cool to see the same thing done in 3D using say Blender or Povray.
Notes:
The banana SVG image is from OpenClipArt. It was modified, then I ran the Python script below, and finally trivially modified the output to give the final SVG. Here's that Python script:
Do I see here the flavoid giving bananas their unique taste??
ReplyDeleteThis is what molecules in bananas look like under a microscope.
ReplyDelete