Representing Structures of Organic Molecules
Representing Structures of Organic Molecules
<?xml version="1.0" encoding="UTF-8"?>
<!--Sun Jan 08 2012 18:21:17 GMT-0500 (EST)-->
<XholonWorkbook>
<Notes>
Khan Academy
------------
Title: Representing Structures of Organic Molecules
Description: Representing Structures of Organic Molecules
Url: http://www.khanacademy.org/video/representing-structures-of-organic-molecules?playlist=Organic Chemistry
InternalName: representing-structures-of-organic-molecules
YoutubeId: pMoA65Dj-zk
Keywords: Organic, Chemistry, molecular, structure
My Notes
--------
naming, nomencature
chains of carbon molecules
Methane (1-carbon chain)
- Carbon has 8 electrons, valence electrons, can bind with 4 Hydrogen molecules
- the Carbon and Hydrogen share electrons
Diagram of Methane
H
..
H :C: H
..
H
or
H
|
H-C-H
|
H
Propane 3-carbon chain 2:25
- same idea with 3C and 8H
simpler notation for Propane 5:17
CH_3-CH_2-CH_3 (where _3 means subscripted 3 which I can't do here)
simplest notation 6:00
/\
/ \
I like what Sal says at 4:40 where he modularizes the Propane structure by drawing boxes around each Carbon and it's 3 or 3 Hydrogens. This would be a good way to represent it in Xholon. Possibly something like:
<C><H multiplicity="3"/></C>
<C><H multiplicity="2"/></C>
<C><H multiplicity="3"/></C>
I might use the JUNG network viewer to visualize the network structure? But this requires explicit ports.
One visualization approach is to define the logical structure in Xholon, and then write scripts to output that in one or more chemical notations that can be read by other tools to do nice graphics. Ideally pass it off to other tools online. Maybe the Jmol applet? CML?
SMILES (very simple) (used in many wikipedia chemistry articles)
Methane C
Propane CCC
Ethanol CCO
There are web sites that will display a graphic for a specified SMILES string.
http://www.daylight.com/daycgi/depict
</Notes>
<script implName="lang:python:inline:"><![CDATA[
print "height = 12.34 m"
]]></script>
<script implName="lang:javascript:inline:"><![CDATA[
print("height = 56.78 meters\n");
]]></script>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Propane/>
<C/>
<H/>
</_-.XholonClass>
<xholonClassDetails/>
<PhysicalSystem>
<Propane>
<C><H multiplicity="3"/></C>
<C><H multiplicity="2"/></C>
<C><H multiplicity="3"/></C>
</Propane>
</PhysicalSystem>
<Blockbehavior implName="lang:python:inline:"><![CDATA[
# This works if pasted in as a last child of Block.
height.incVal(0.02)
print("Python wants something to do. Height:" + str(height))
]]></Blockbehavior>
<Blockbehavior implName="lang:javascript:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
height.incVal(0.02);
print("JavaScript wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
<Blockbehavior implName="lang:bsh:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
height.incVal(0.02);
System.out.print("Java/Beanshell wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
<Blockbehavior implName="lang:jruby:inline:"><![CDATA[
require 'java'
# This works if pasted in as a last child of Block.
$height.incVal(0.02)
puts "Ruby wants something to do. Height: #{$height}"
]]></Blockbehavior>
<Blockbehavior implName="lang:groovy:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
height.incVal(0.02);
System.out.print("Groovy wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
</XholonWorkbook>