Monday, May 15, 2017

More robust support for creation of molecules in the interface causing changes of primary skeleton in molecule, minor graphic update, and improvement of inspector hiding

Release 2.6.0


Previously the user could create the molecule 3-methylhexane by first adding a pentane molecule then adding 2 sequential carbon atoms to the second carbon in the pentane to create an ethyl side chain. This molecule would then incorrectly be named 2-ethylpentane as the inteface logic did not properly determine that, per IUPAC naming rules, the longest primary skeleton in the molecule had changed from a pentane to a hexane. This logic has been updated to be more robust in detecting primary skeleton changes. Other test cases involve pi bonds being added and removed from side chains in the molecule.
The skeleton graphics used for dragging skeletons on to the workspace have been updated to more accurately represent how they are rendered in the molecule drawing.

Finally, previously the inspector would not always properly hide itself after the user moves the cursor well away from the atom being inspected. This has been corrected.

If you've read this far, please, please consider checking out our contact page and leave feedback. Every little bit helps a lot!! Also look forwards to a more interactive blog in the near future.

Monday, March 20, 2017

Quick Bug Fix and molecule draw auto-scale feature implementation

Release 2.5.1

A quick bug fix to handle the nitration of an aromatic ring reaction in the pathway search engine. Previously, the rules for the reaction did not require that the carbon atom of the aromatic ring have a free valence electron to attach to the nitrite group, resulting in incorrect products of the reaction. This was most noticeable when attempting to find a cost optimized pathway from phenol to acetaminophen. Avaiable valence electron checking was implemented to the pathway search engine. This check also applies to oxidation reactions requiring a free valence electron to form a carbonyl bond. It is anticipated future reactions will make use of this check as well.

An "auto-scale" feature was added for the drawing of molecules in the interface. This will prevent "clipping" due to drawing boundary issues of more complex molecules automatically. Notably acetaminophen, when drawn in the pathway view, is no longer clipped.

And again! Please consider checking out our contact page and leave feedback. Every little bit helps a lot!!

Monday, February 27, 2017

Support for amines with attachments, common IUPAC naming substitutions, additional reactions, support for side chains of skeletons longer than length 1, support for nitrite functional group, and pathway of Tylenol (acetaminophen) production

Release 2.5.0

This update was driven by the goal of being able to test that the pathway generator could "discover" a well-known, existing pathway for production of a commonly used pharmaceutical drug. Note this goal is distinct from the goal of discovering a NEW pathway for a common drug. I figured it was important to first show that the pathway search engine could propose a well-established, EXISTING production pathway to verify the accuracy of the engine. Proposing new cheaper, quicker, or more environmentally favorable synthesis pathways IS an ultimate goal, however.

Tylenol (generically acetaminophen or paracetamol) was chosen as the drug for a number of reasons. For starters, support for the molecule itself (IUPAC name N-(4-hydroxyphenyl)ethanamide) required a minimal number of updates to the interface: addition of support for side skeletons of longer than one carbon length (the methyl radical), support for amines with attachments to the nitrogen atom, and support of the nitrite functional group. As a side note, this was also a good occasion to add support for common IUPAC naming substitutions, in this case benzene and phenol, as many of the intermediates of the production pathway consist of derivatives of the two. Tylenol is also ubiquitous in use as a pain and fever reducing medication and is in fact on the World Health Organization's list of essential medicines, making it a particularly relevant medicine. Finally, the existing pathway of Tylenol production chosen to test for was the Boots method (the original production method), requiring the addition of support for only two more reactions to the pathway search engine.

With the discovery of the Boots method for Tylenol production selected as the goal for the pathway search engine, it was time to add support for the intermediates to the interface and the reactions used in the pathway to the pathway search engine. The molecule the synthesis begins with, phenol, was already supported by the interface. The first intermediate of the synthesis is 4-nitrophenol. This reaction is accomplished by nitration via sodium nitrate, so support for the nitration reaction was added to the search engine. 4-nitrophenol required the interface to add support for the nitrite functional group. Similar to the phosphate and CoA groups, the nitrite is modeled for now as a single atom. The second intermediate, 4-aminophenol again was already supported by the interface. The reaction from 4-nitrophenol to 4-aminophenol used was a reduction with NaBH4, a reaction ALSO already supported by the pathway search engine. Support for the final reaction, acetylation of an amine, was added to the engine, as was support in the interface for Tylenol.

With support in place, we can now perform a full synthesis pathway search from phenol to Tylenol and indeed "rediscover" the Boots method of Tylenol production!

Standards - Per normal, IUPAC nomenclature standards were followed for all intermediates. Of note in this update, N-substituted amine nomenclature is introduced. Furthermore, the common IUPAC naming substitutions of benzene and phenol are introduced. Specifically, the name "cyclohexa-1,3,5-triene" is substituted with "benzene" and both "benzen-1-ol" and "benzenol" are subsituted with "phenol". Also, for now, the nitration reaction used adds a nitrite group in the para orientation of the first functional group in the benzene ring (if any exist). It should be noted that we are using a simplified model of the electrophilic aromatic substitution class of reactions. In reality an ortho-para directing group like the hydroxyl in phenol will yield BOTH para-nitrophenol (4-nitrophenol) and ortho-nitrophenol (2-nitrophenol). Finally, our acetylation reaction will be modeled to work for any amine and not consider steric hindrance for now.

Controls - The control update is pretty straightforward. Adding an ethyl radical can now be accomplished by first adding a carbon atom as an attachment, then adding another carbon atom to extend the first to an ethyl radical. Common IUPAC naming substitutions are automatic and do not require any further controls.

Future considerations - Certainly the two reactions added to the pathway search engine, aromatic nitration and amine acetylation, can be extended to model more robust and complex representations of the reactions. Specifically the aromatic nitration can consider if any existing functional groups serve as para-ortho directing, meta-directing, activating, or deactivating substituents. Furthermore both reactions can consider steric hindrance. In terms of the controls, it is becoming clear that adding an ethyl group (or other functional groups) would be a lot simpler if the user could add the group in one step rather than one atom at a time. We will be moving towards an interface that allows far richer controls for adding substituents. Finally, for now we are using the IUPAC name of N-(1-formylethyl)-4-aminophenol which although works for our purposes is NOT the recognized IUPAC name for acetaminophen as it ignores the amide group. The nomenclature engine will be updated to properly name amides.

OH! And check out the new contact page to provide feedback! We would love to hear suggestions for chemicals and pathways to model!

Wednesday, January 18, 2017

Introduction of True Home Page


Release 2.4.0

The main change in this update is the addition of the first draft of a true home page for the site. Essentially, the new page serves to provide an outline of the chief functionality of the site in the format of interactive demonstrations. The key functionality verbs are "Explore" - demonstrating the ability to view and interact with the chemical structure of various organic molecules in the molecule editing tool, "Innovate/Solve" - demonstrating the ability of the pathway generator utility to find a molecular pathway between two organic molecules given optimization preferences, "Review/Deliver" - demonstrating the ability of the site to review, annotate, and approve or disapprove of proposed pathways, and "Discover" - a yet to be designed feature of the site to encourage exploration of hypothetical products of molecules in certain reactions.

In addition to serving as a demonstration of the chief functionality of the site, the page also serves to provide an overall snapshot of the current status and order of the site. As such, I expect the page to evolve as the rest of the functionality and the design of the site does. Ultimately this page may serve as a "lite" demonstration for non-registered users.

Standards - The standards of the home page directly mirror those of the rest of the site as they draw upon the same resources. E.g., the same IUPAC standards for molecule nomenclature are adhered to here as well.

Controls - The demonstrations have been designed to be self-explanatory. The "Try it!" section of each action description contains instructions for interacting with each section.

Future considerations - Certainly this page can benefit from a styling face-lift at some point, but the idea for this update was to get a functional draft of the demonstrations up. Further possible updates might be: the introduction of more sample metabolic pathways to view, support for more sample start/goal molecules in the pathway searcher, more organic molecules shown to explore, a more interactive sample of the process of reviewing a pathway, and the introduction of a discover demonstration.

Friday, November 25, 2016

Introduction of support for side chain alkyl substituents of molecules (Part I), molecules containing Sulfur atoms, molecules containing CoEnzyme A, and Modeling of Glycolysis and Tricarboxylic/Citric Acid cycle


Release 2.3.0
Another exciting update. Both the interface and the pathway search engine now support molecules containing simple side chains. Specifically, methyl radicals, including substituted methyl radicals. The user can view this additional feature by beginning with a pentane skeleton and adding a Carbon atom to either the second, third, or fourth Carbon of the pentane chain, thus creating either 3-methylpentane or 2-methylpenate. It should be noted that adding the Carbon to the first or fifth, the terminal Carbons of the skeleton, will cause a change in the recognized primary skeleton, by lengthening it, to hexane. Additionally the user can interact with the atoms of the side chain and add additional attachments. For example, by adding an Oxygen atom to the methyl side chain in 3-methylpentane the user can create 3-(hydroxymethyl)pentane.

Support is also now in place for molecules containing Sulfur atoms and CoEnzyme A. Similar to Phosphate, CoEnzyme A is represented as a single atom for simplicity.

In light of support for molecules with simple side chains, molecules with Sulfur, and molecules with CoEnzyme A, the Tricarboxylic/Citric acid cycle has now been modeled and added to the Biochemical Pathways page. Additionally, the second portion of the Glycolysis reactions has been added. Finally, the intermediate step, the conversion of the pyruvate resulting from Glycolysis to AcetylCoA for entry into the TCA cycle, has also been modeled and added.

In fact, an exciting result of support for parts or all of 4 different biochemical pathways is that we are now able to find a COMPLETE metabolic pathway for Ribulose-5-phosphate, the precursor of the molecule with which plants fixate Carbon Dioxide, all the way to Oxaloacetate, the molecule left over after energy has been captured from the initial Carbon Dioxide molecule via the Calvin cycle, Glycolysis, and the Citric acid cycle. A completely modeled pathway for everything that happens in one of the main pathways of a plant converting Carbon Dioxide to energy!

Standards - Per usual, standard IUPAC naming of molecules containing simple side chain rules apply. Of particular interest is rule P-65.1.2.2.1, concerning molecules with 3 or more carboxylic acid substituents: P-65.1.2.2.1 If an unbranched chain is linked to more than two carboxy groups, all carboxy groups are named from the parent hydride by substitutive use of the suffix ‘carboxylic acid’, preceded by the appropriate numerical prefix ‘tri’, ‘tetra’ etc. and appropriate locants. This is particularly relevant for Citric Acid/Citrate, the product of Acetyl CoA and Oxaloacetate that enters the Tricarboxylic acid cycle. The systematic IUPAC name of Citrate is 2-hydroxypropane-1,2,3-tricarboxylic acid, reflecting a primary chain of propane rather than pentane as the outer Carbons are considered part of the substituents only. This is furthermore relevant for other tricarboxylic acids in the TCA cycle.

Controls - The controls have fundamentally not changed. As mentioned previously, creation of a side chain is possible by first adding a Carbon to a skeleton as an attachment, and then adding attachments to that Carbon. CoEnzymeA functional groups can be created by adding a CoEnzyme A attachment to a Sulfur atom. Of note, restrictions have been placed to NOT allow molecules more complex than those currently supported to be created. For example, ethers, esters, and anhydrides are not YET supported, so an Oxygen atom cannot be bivalent.

Future considerations - Thus far, the creation process has been iterations of 1) building the infrastructure supporting the interface and pathway search engine, 2) adding functionality, supported pathways, and supported molecules 3) refining the infrastructure as better ways of modeling the molecules and pathways as well as interacting with the interface were discovered/imagined. Since adding support for molecules with side chains is a major step, I expect there to be plenty of refinements on the infrastructure in the near future. More excitingly, many new metabolic pathways are now supported and will shortly be added including fatty acid oxidation and some amino acid pathways. I also expect to soon add modeling of the first part of glycolysis, including representation of the ring form of D-glucose in the interface.

Sunday, October 9, 2016

Quick Bug Fix

Release 2.2.2

A quick bug fix to the interface for when the user adds an addition to the molecule that causes the parent hydrocarbon chain of the molecule to change. An example of this case is when adding a Carbon (methyl group) to the 5th Carbon in pentan-1-ol. This will change the parent hydrocarbon chain from a pentane to a hexane chain. The new molecule will be named hexan-1-ol. Previously, there was a bug when attempting to modify the newly added Carbon by either attaching an addition to it, changing the charge, or modifying one of its attachments. As a note, anytime an interaction with the molecule causes the name of the molecule to change (for now the IUPAC name, though this will extend to common/other names as well), that name will be updated accordingly. This includes modifications of the parent hydrocarbon chain. This bug fix is of high priority in order to aid in the ongoing work to expand support for more complex molecules.

Thursday, September 29, 2016

Implementation of support for EZ nomenclature, bug fix, and global site stereochemistry mode

Release 2.2.1

EZ nomenclature support has been implemented. Now in addition to the RS stereochemistry designations for atoms with chirality, attachment ordering around double bonds will be designated according to EZ nomenclature conventions. Similar to RS stereochemistry, the EZ nomenclature may be turned on and off, depending on the user's preferences. In off mode, any stereochemistry resulting from double bonds will not be named and enantiomers will not be considered separate molecules. Reactions will not target molecules with specific EZ stereochemistry. In on mode, double bonds that generate EZ stereochemistry WILL result in separate molecules, and these separate molecules will be targeted when considering reactions.

For this iteration, chiral stereochemistry generated by an addition reaction to an alkene will ONLY result in one enantiomer to be considered in the pathway generator. This generally results in S stereocenters, but that is not guaranteed, as a counter-example can likely be found. Nevertheless, for demonstration this can be seen by the generator successfully finding a pathway between (2E)-but-2-ene and (2S,3S)-2,3-dichlorobutane yet unsuccessfully finding a pathway between (2E)-but-2-ene and (2S,3R)-2,3-dichlorobutane. Furthermore, for this iteration, when a double bond is generated as a result of a reaction in the pathway generator and the double bond has alkyl segments protruding from both sides, ONLY the trans formation result will be considered. That is, (2S)-butan-2-ol to (2E)-but-2-ene will be successful, but (2S)-butan-2-ol to (2Z)-but-2-ene will not.

On a related note, the toggle stereochemistry button (previously toggle chirality) in the workspace will now be applied globally. When it is set to "hide stereochemistry" ALL molecules in the workspace will ignore stereochemistry (both RS and EZ) and vice versa. When the stereochemistry mode is off, the reaction butan-2-ol to but-2-ene will have a pathway found.

Finally this particular reaction previously caused an error when run in hide stereochemistry mode. This has been fixed.

Standards - IUPAC nomenclature will be followed. Cahn Ingold Prelog priority rules are followed for assigning E/Z designation of arrangements around double bonds. No further drawing changes were applied. As a note, trans isomerism (generally E, but not always) will not be considered for cyclical skeletons of length less than 10 for torsional strain reasons. As such, we will not consider any EZ stereochemistry for double bonds in a cyclical alkene of length less than 10.

Controls - Stereochemistry support mode may be toggled on and off by clicking on the hide/show stereochemistry button. This will control all aspects of stereochemistry support: nomenclature, molecule display, and reaction pathways. Stereochemistry for a specific stereocenter may be toggled by clicking on the stereocenter. In the case of a chiral stereocenter, toggling will alter the arrangements of the first 2 child attachments. This will result in a toggle of R -> S stereochemistry and vice versa. In the case of clicking on one of the Carbon atoms of a double bond, the arrangements of the attachments NOT involved in the double bond will be altered. This will result in a toggle of the E/Z nomenclature associated with that double bond.

Future considerations - I am interested in coming up with an alternative way to toggle stereochemistry, similar to having different methods to toggle bond size. Also, ALL products of stereochemistry generating reactions will be considered in the pathway generator. That is, the addition of Cl2 to but-2-ene will result in (2S,3S)-2,3-dichlorobutane, (2R,3R)-2,3-dichlorobutane, and (2S,3R)-2,3-dichlorobutane. (Not (2R,3S)-2,3-dichlorobutane as that is a meso isomer of (2S,3R)-2,3-dichlorobutane).

Introduction of Bond Addition Tool

Release 4.6.1 With this update, the user is now able to add bonds of the single, double, and triple variety to the molecule as well as updat...