Tuesday, July 25, 2017

Introduction of Inspector docking mode and minor Interface tweak

Release 2.7.2

Per some user feedback, two changes have been made to the interface. The first change: the inspector has now been given a docking mode to allow the user to dock the inspector to the right of the workspace. The motivation being to match the preferences both of the user who wants the inspector to be tightly coupled with the atom it is currently viewing and the user who wants it to not be distracting to their process of interacting with the molecule. The second change is more of a tweak: after dragging and dropping a skeleton or addition segment on the workspace, the animation of it snapping back to its origin has been removed to reduce clutter.

Controls - The inspector can now be docked on the right of the workspace by clicking the right arrow in the top-right section. It can be un-docked (back to being displayed near the atom hovered over) by clicking on the left arrow when it is docked.

Friday, July 21, 2017

Addition of Discover section to Home Page

Release 2.7.1

The Discover section in the Home Page was implemented. In this section the user can select a reactant from a list of common organic molecules, select a reaction to perform on the reactant, and then click on the beaker to see the result of the reaction. The motivation of this feature is to show a light-weight implementation of what will eventually become a full-fledged feature: exploring hypothetical products created when specified reactions are applied to a reactant(s).

Standards - No new standards have been applied for this update: Standard IUPAC naming rules are still followed.

Controls - The Discover section was designed to be intuitive. The user selects a starting molecule from the drop-up list, selects a reaction from the drop-up list, and finally clicks the beaker icon to see the result.

Future considerations - The full-fledged feature will be designed to work with all reactants and reactions supported by the interface and the pathway search engine. Additionally, support for multiple products of the reaction and expected percentage of each will be in place.

Monday, July 3, 2017

Introduction of visual feedback for attaching atoms via drag and drop, Allowing attachment of skeletons, Minor bug fix

Release 2.7.0

The motivation of this update was to lay the groundwork for the user to create more complex molecules in the interface. One motivating example, in particular, was the creation of Tylenol.

The first feature comes in the form of a visual cue: the user will now have feedback when dragging an attachment over an atom as the atom to be attached to will change color. This color will be a hybrid of the particular atom's color and gray. The goal of this feature is to make it clear a) when a user has dragged an atom to the proper position and b) to which atom the new attachment will be attached. This is useful, for example when creating Tylenol as the attachments to the benzene are oriented at the para position, so it needs to be clear which Carbons in the benzene are being used.

The second feature is that users can now attach basic Carbon skeletons to the molecule as radicals. In the previous creation of Tylenol, the user would have to drag two consecutive Carbon atoms to create the acetyl group attached to the amine group. Now the user can simply drag one ethyl radical to the amine group from the alkanes section of the Skeleton panel on the left. In the future we plan to allow more complex groups/radicals to be attached as well.

Finally, a bug was fixed that occurred when extending a skeleton length from the right side of the skeleton.

Standards - No new standards have been applied for this update: Standard IUPAC naming rules are still followed with attachment of basic Carbon skeletons.

Controls - The controls hopefully have been simplified with this update. Users can now attach both skeletons from the left panel and individual atoms from the bottom panel. The visual cue should also make correct positioning of attachments easier.

Future Considerations - The exact detection of an attachment hovering over an atom MIGHT be changed in the future. Right now it's skewed a bit to the down right direction in order to allow the user to still see the atom to which the new attachment will be attached. This may be tweaked in the future. Plans are in place to allow even more complex radicals and potentially custom radicals to be attached. One motivating case would be allowing a Phenol group to be attached to simplify the creation of the Tylenol molecule even further.

Saturday, June 10, 2017

Migration of Blog, Support for additional reactants and products of reactions, minor display fix

Release 2.6.1

First, of note, the blog has been migrated from the host site to utilize the full functionality of Blogger. The hope of this migration is a far more rich, interactive blog for the user. Please feel free to comment and add any suggestions for improvement!

Additionally, this update contains support for the inclusion of the rest of the molecules (coenzymes, non-organic molecules, etc) involved in reactions. Previously, for example, the reaction of the conversion of Isocitrate to Oxalosuccinate in the tricarboxylic acid cycle did not show the reduction of NAD+ to NADH and a resulting H+ ion. Now the entire reaction, including the reduction, can be seen. This is important both for visualizing the reaction in the interface and ultimately providing a more robust pathway search and analysis.

Finally, a brief display fix was made to keep the site footer at the bottom of the pathways page.

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!

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...