Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and...

19
Accessing JChem Base with a JavaScript Application for Search and Registration John McNeil November 1, 2012 [email protected] www.mcneilco.com

Transcript of Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and...

Page 1: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Accessing JChem Base with a JavaScript Application for Search

and Registration

John McNeilNovember 1, 2012

[email protected]

Page 2: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

“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

Page 3: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Architecture Options

Page 4: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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

Page 5: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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

Page 6: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Client Architecture

View Controller

Model

Page 7: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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

Page 8: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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

Page 9: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Compound Registration and Search Application

Page 10: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Compound Registration Overview

1) Enter Structure and search for matches

2) Enter salt and lot information

Page 11: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Search Panel

Page 12: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Behavior Driven Development

Page 13: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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

Page 14: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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

Page 15: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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

Page 16: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Demo Test and Development Process

Page 17: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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

Page 18: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

Thank You

Team

• Brian Bolt

• On Khongsaly

• Guy Oshiro

• Matthew Shaw

Customers

• Ambrx

• Ampere

• BioBlocks

• Kalypsys

• Seattle Genetics

• Wellspring

• And other shy organizations...

Page 19: Accessing JChem Base with a JavaScript Application for ... · JavaScript Application for Search and Registration John McNeil November 1, 2012 ... Custom Web Client JChemBase Plugins

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