ArcGIS JavaScript API (build a web layer-based map application with html5 and javascript)
Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and...
Transcript of Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and...
Accessing JChem Base with a JavaScript Application for Search
and Registration
John McNeilNovember 1, 2012
“We make tools to help bench scientists be more productive, efficient, and creative.”
Integrate Technology
Find and Invent solutions
Develop Strategy
Support Scientists and Systems
Architecture Options
Structure Registration Architectures
Apache/PHP
Pipeline Pilot
RDBMS
Custom Web Client
JChemBase Plugins
Web Browser
MarvinPlugin
Java/Tomcat
RDBMS
JChem Base
Web Browser
MarvinPlugin
Groovy/Grails
Java/Tomcat
RDBMS
REST Services
ChemAxon Structure Checker and Standardizer
Instant JChem
Custom Modules
JChem Cartridge
Java/Tomcat
RDBMS
REST Services
JChem Base
Web Browser
MarvinPlugin
Joomla
A B C D
Javascript Client Application
Tomcat
Web Browser
RDBMS
Structure/Lot CRUD REST Services
MarvinPlugin
JavaScript App Controllers
Form Views
Structure/Lot Model
LDAP Service Authentication
Analytical Files
JChemBase
Client Architecture
View Controller
Model
Simple MVC Salt Registration
Salt List
Salt 1
Salt 2
2
0New Salt registration
Register New Salt
*Salt abbrev:
*Salt mol weight 22.9898
*Salt name SodiumSalt structure:
Draw or paste structure in Marvin plugin
Na
SaveCancel
New Salt Controller
Nested MVC Client“The Onion”
Salt Form
Salt List
Salt 1
Salt 2
Salt 1: Equiv.:
2Salt 2: Equiv.:
Na
0
none
New Salt registration
Register New Salt
*Salt abbrev:
*Salt mol weight 22.9898
*Salt name SodiumSalt structure:
Draw or paste structure in Marvin plugin
Na
SaveCancel
Salt Form
Salt Equivilent
Salt 1
Salt Form Controller
Salt Equivalent ControllerSalt Select ControllerSalt Option ControllerNew Salt Controller
2
0
View Controller
Model
Compound Registration and Search Application
Compound Registration Overview
1) Enter Structure and search for matches
2) Enter salt and lot information
Search Panel
Behavior Driven Development
Design and Specification
Next StepCancel
Structure from last step
Use Parent structure SGD-12345
StructureMatch 1
Mol. Wt. 123
Mol formula:
Registration Step 2: Review Structure and Salt Form Matches
Is Virtual:
Back
Stereo Category: none Stereo Comment: none
Register new SGD
Requested Structure:
If Is Virtual Clicked, disable all but stereo information on next page
If Is Virtual Clicked, all use existing SGDw options are disabled and register new is selected
Show Salt Forms
Use SGD-12345-Na
Use SGD-12345-C14Na
Salt 1: Equiv.: 1Na
C14 num labeled 1Isotipe 1: CAS number:
Common name:
Salt 1: Equiv.: 1Na CAS number:
Common name:
Use Parent structure SGD-0001
If an existing isotope/salt form is selected, then a new lot is made with the next lot number for that salt form
Only show isotopes and salts actually added, even though model supports up to 3
#RegSearchResults_ParentView
#RegSearchResults_ParentListView
#RegSearchResults_SaltForm
#RegSearchResultsView
server
#RegSearchResults_SaltView
#RegSearchResults_SaltListView
Lot Form Sepc
Properties
SaveCancel
Lot Mol. Wt.: 123
Physical state:
Color: blue
Purity (%): 98
Purity measured by:
Supplier:
Supplier compound ID:
Lot comments:
Amount:
=
*Notebook-Page:
Drag Analytical Files here: 3 files loaded
solid mg
View/Edit Files
Retain: mg
HPLC
*Synthesis Date: 25-May-11
Back
Draw or PasteStructure of Parent with Isotopes
[This is pre-populated with parent on left as a shortcut for the user]
Salt 1: Equiv.: 2
Salt 2: Equiv.:
Salt 3: Equiv.:
Na
none
Add new salt
0
Isotope: C14
Add new isotope
num labeled.: 1
none
0CAS number:
Common name:
*Stereo Category: Scalemic
Standardized Struct from drawn stuct
Stereo Comment:
Parent Structure: Enter Isotope/salt structure
"new compound", or "new salt of SDD-nnnnn" or new lot of SGD-nnbnn-mm"
If an existing SGD is selected in the previous step, stereo fields are filled in but disabled
*Chemist: jmcneil
Validate that notebook format is 1234-043
%e.e.:
Pop-up is populated from LDAP, Defaults to logged in user.
Isotope: none num labeled.:
0
JM&C to propose options for physical state and purity measured by
Dropping files opens file manager where comments per file can be added
Clicking button opens Upload Analytic File panel
Also save the date this form completed
Always give 3 salt options, no more
isotope is "none" by default. N mods field is disabled and = 0 if Isotope is "none"
Stored as IsoSaltForm alias
If a new isotope/salt form is shown, then the lot counter for that SGD-salt starts at 1 for this lot
Salt is "none" by default. Equiv field is disabled and = 0 if Salt is "none"
If a user picks new structure on the previous page, and there were exact structure matches, than the stereo categories for those matches are disabled in this select listCategories are: Scalemic, Racemic, Achiral, or See Comments
Pop-up date pickerDefault to today
The number of equivalents does not change the salt form
If an salt form is selected in the previous step (as opposed to parent), the salt, isotope, CAS, and common name fields are filled in but disabled
server
server
server
Salt Registration Form
New Salt registration
Register New Salt
*Salt abbrev:
*Salt mol weight 22.9898
*Salt name SodiumSalt structure:
Draw or paste structure in Marvin plugin
Na
SaveCancel
Name and abbreviation are required and must be unique
Structure is optional, but if supplied must be unique
These are pop up panels that float above lot registration page
#NewSaltView
server
server
Demo Test and Development Process
Conclusions
• ChemAxon tools can be used in a variety of architectures
• Structure services can be used and re-used with multiple clients
• For interactive user interfaces, modern MVC architectures work well
• Behavior driven development is a robust practice that minimizes maintenance and enhancement costs
Thank You
Team
• Brian Bolt
• On Khongsaly
• Guy Oshiro
• Matthew Shaw
Customers
• Ambrx
• Ampere
• BioBlocks
• Kalypsys
• Seattle Genetics
• Wellspring
• And other shy organizations...
Informatics Consulting Services
• Design and implement IT / Informatics infrastructure
• Commercial software selection and integration
• Develop algorithms and custom software for analysis, QC, and data mining
- Custom compound registration system
- Custom semantic LIMS system
• Informatics consulting
- HTS workflow and data analysis
- HTS siRNA screen experimental design and data analysis