pdf annotation in c# : Add hyperlink to pdf in software SDK dll winforms wpf windows web forms 10.1186%2F1758-2946-3-370-part1726

RESEARCH ARTICLE
Open Access
Open Data, Open Source and Open Standards in
chemistry: The Blue Obelisk five years on
Noel M O’Boyle
1*
,Rajarshi Guha
2
,Egon L Willighagen
3
,Samuel E Adams
4
,Jonathan Alvarsson
5
,
Jean-Claude Bradley
6
,Igor V Filippov
7
,Robert M Hanson
8
,Marcus D Hanwell
9
,Geoffrey R Hutchison
10
,
Craig A James
11
,Nina Jeliazkova
12
,Andrew SID Lang
13
,Karol M Langner
14
,David C Lonie
15
,Daniel M Lowe
4
,
Jérôme Pansanel
16
,Dmitry Pavlov
17
,Ola Spjuth
5
,Christoph Steinbeck
18
,Adam L Tenderholt
19
,Kevin J Theisen
20
and Peter Murray-Rust
4
Abstract
Background: The Blue Obelisk movement was established in 2005 as a response to the lackofOpen Data, Open
Standards and Open Source (ODOSOS) in chemistry. It aims to make it easier to carry out chemistry research by
promoting interoperability between chemistry software, encouraging cooperation between Open Source
developers, and developing community resources and Open Standards.
Results: This contribution looks back on the work carried out by the Blue Obelisk in the past 5 years and surveys
progress and remaining challenges in the areas of Open Data, Open Standards, and Open Source in chemistry.
Conclusions: We show that the Blue Obelisk has been very successful in bringing together researchers and
developers with common interests in ODOSOS, leading to development of many useful resources freely available
to the chemistry community.
Background
The Blue Obelisk movement was established in 2005 at
the 229
th
National Meeting of the American Chemistry
Society as a response to the lack of Open Data, Open
Standards and Open Source (ODOSOS) in chemistry.
While other scientific disciplines such as physics, biol-
ogy and astronomy (to name a few) were embracing
new ways of doing science and reaping the benefits of
community efforts, there was little if any innovation in
the field of chemistry and scientific progress was actively
hampered by the lack of access to data and tools. Since
2005 it has become evident that a good amount of
development in open chemical information is driven by
the demands of neighbouring scientific fields. In many
areas in biology, for example, the importance of small
molecules and their interactions and reactions in biolo-
gical systems has been realised. In fact, one of the first
free and open databases and ontologies of small
molecules was created as a resource about chemical
structure and nomenclature by biologists [1].
The formation of the Blue Obelisk group is somewhat
unusual in that it is not a funded network, nor does it
follow the industry consortium model. Rather it is a
grassroots organisation, catalysed by an initial core of
interested scientists, but with membership open to all
who share one or more of the goals of the group:
• Open Data in Chemistry. One can obtain all
scientific data in the public domain when wanted
and reuse it for whatever purpose.
•Open Standards in Chemistry. One can find visi-
ble community mechanisms for protocols and com-
municating information. The mechanisms for
creating and maintaining these standards cover a
wide spectrum of human organisations, including
various degrees of consent.
•Open Source in Chemistry. One can use other
people’s code without further permission, including
changing it for one’s own use and distributing it
again.
*Correspondence: baoilleach@gmail.com
1
Analyticaland BiologicalChemistry Research Facility,Cavanagh Pharmacy
Building,University College Cork,CollegeRoad,Cork,Co.Cork,Ireland
Full listofauthor informationisavailableattheend ofthearticle
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
©2011O’Boyleetal;licensee ChemistryCentralLtd.Thisis anOpenAccessarticle distributedunderthe termsoftheCreative
CommonsAttributionLicense(http://creativecommons.org/licenses/by/2.0),whichpermits unrestricteduse,distribution,and
reproductioninanymedium,providedthe originalworkisproperlycited.
Add hyperlink to pdf in - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
pdf edit hyperlink; add hyperlink to pdf acrobat
Add hyperlink to pdf in - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
pdf link; add a link to a pdf file
Note that while some may advocate also for Open
Access to publications, the Blue Obelisk goals (ODO-
SOS) focus more on the availability of the underlying
scientific data, standards (to exchange data), and code
(to reproduce results). All three of these goals stem
from the fundamental tenants of the scientific method
for data sharing and reproducibility.
The Blue Obelisk was first described in the CDK
News [2] and later as a formal paper by Guha et al. [3]
in 2006. Its home on the web is at http://blueobelisk.
org. This contribution looks back on the work carried
out by the Blue Obelisk over the past 5 years in the
areas of Open Data, Open Source, and Open Standards
in chemistry.
Scope
The Blue Obelisk covers many areas of chemistry and
chemical resources used by neighbouring disciplines (e.g.
biochemistry, materials science). Many of the efforts
relate to cheminformatics (the scope of this journal) and
we believe that many of the publications in Journal of
Cheminformatics could be completely carried out using
Blue Obelisk resources and other Open Source chemical
tools. The importance of this is that for the first time it
would allow reviewers, editors and readers to validate
assertions in the journal and also to re-run and re-ana-
lyse parts of the calculation.
However, Blue Obelisk software and data is also used
outside cheminformatics and certainly in the five main
areas that, for example, Chemical Markup Language
(CML) [4] supports:
1. Molecules: This is probably the largest area for
Blue Obelisk software and data, and is reflected by
many programs that visualise, transform, convert
formats and calculate properties. It is almost certain
that any file format currently in use can be pro-
cessed by Blue Obelisk software and that properties
can be calculated for most (organic compounds).
2. Reactions: Blue Obelisk software can describe the
semantics of reactions and provide atom-atom
matching and analyse stoichiometric balance in
reactions.
3. Computational chemistry: Blue Obelisk software
can interpret many of the current output files from
calculations and create input for jobs. The Quixote
project (see below and elsewhere in this issue) shows
that Open Source approaches based on Blue Obelisk
resources and principles are increasing the availabil-
ity and re-usability of computational chemistry.
4. Spectra: 1-D spectra (NMR, IR, UV etc.) are fully
supported in Blue Obelisk offerings for conversion
and display. There is a limited amount of spectral
analysis but the software gives a platform on which
it should be straightforward to develop spectral
annotation and manipulation. However, currently
the Blue Obelisk lacks support for multi-dimensional
NMR and multi-equipment spectra (e.g. GC-MS).
5. Crystallography: The Blue Obelisk software sup-
ports the bi-directional processing of crystal struc-
ture files (CIF) and also solid-state calculations such
as plane-waves with periodic boundary conditions.
There is considerable support for the visualisation of
both periodic and aperiodic condensed objects.
Many of the current operations in installing and run-
ning chemical computations and using the data are inte-
gration and customisation rather than fundamental
algorithms. It is very difficult to create universal plat-
forms that can be distributed and run by a wide range
of different users, and in general, the Blue Obelisk delib-
erately does not address these. Our approach is to pro-
duce components that can be embedded in many
environments, from stand-alone applications to web
applications, databases and workflows. We believe that a
chemical laboratory with reasonable access to common
software engineering techniques should be able to build
customised applications using Blue Obelisk components
and standard infrastructure such as workflows and data-
bases. Where the Blue Obelisk itself produces data
resources they are normally done with Open compo-
nents so that the community can, if necessary, replicate
them.
Much of the impetus behind Blue Obelisk software is
to create an environment for chemical computation
(including cheminformatics) where all of the compo-
nents, data, specifications, semantics, ontology and soft-
ware are Openly visible and discussable. The largest
current uses by the general chemical community are in
authoring, visualisation and cheminformatics calcula-
tions but we anticipate that this will shortly extend into
mainstream computational chemistry and solid-state.
Although many of the authors are employed as research
scientists, there are also several people who contribute
in their spare time and we anticipate an increasing value
and use of the Blue Obelisk in education at all levels.
Open Source
The development of Open Source software has been one
of the most successful of the Blue Obelisk’s activities.
The following sections describe recent work in this area,
and Table 1 provides an overview of the projects dis-
cussed and where to find them online.
Cheminformatics toolkits
Open Source toolkits for cheminformatics have now
existed for nearly ten years. During this period, some
toolkits were developed from scratch in academia,
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 2of16
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Change Word hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Word to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
clickable pdf links; adding links to pdf
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Change Excel hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Excel to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
add url to pdf; add links to pdf online
Table 1Blue Obelisk Open Source Software projects discussed in the text
Name
Website
CMLTools
CMLXOM
https://bitbucket.org/wwmm/cmlxom/
JUMBO
http://sourceforge.net/projects/cml/
CheminformaticsToolkits
Chemistry DevelopmentKit(CDK)
http://cdk.sf.net
Cinfony
http://cinfony.googlecode.com
Indigo
http://ggasoftware.com/opensource/indigo
JOELib
http://sf.net/projects/joelib
Open Babel
http://openbabel.org
RDKit
http://rdkit.org
WebApplications
ChemDoodleWeb Components
http://web.chemdoodle.com
Jmol
http://jmol.org
Integration
Bioclipse
http://www.bioclipse.net
CDK-Taverna
http://cdktaverna.wordpress.com
Lensfield2
https://bitbucket.org/sea36/lensfield2/
Interconversion
CIFXOM[95]
https://bitbucket.org/wwmm/cifxom/
JUMBO-Converters
https://bitbucket.org/wwmm/jumbo-converters/
OPSIN
http://opsin.ch.cam.ac.uk
OSRA
http://osra.sf.net
StructureDatabases
Bingo
http://ggasoftware.com/opensource/bingo
Chempound(Chem#)
https://bitbucket.org/chempound
Mychem
http://mychem.sf.net
OrChem
http://orchem.sf.net
pgchem
http://pgfoundry.org/projects/pgchem/
Textmining
ChemicalTagger[96]
http://chemicaltagger.ch.cam.ac.uk/
OSCAR4
https://bitbucket.org/wwmm/oscar4/
Computational Chemistry
Avogadro
http://avogadro.openmolecules.net
cclib
http://cclib.sf.net
GaussSum
http://gausssum.sf.net
QMForge
http://qmforge.sf.net
ComputationalDrugDesign
Confab [97]
http://confab.googlecode.com
Pharao
http://silicos.be/download
Piramid
http://silicos.be/download
Sieve
http://silicos.be/download
Stripper
http://silicos.be/download
OtherApplications
AMBIT2
http://ambit.sf.net
Brunn
http://brunn.sf.net
Toxtree
http://toxtree.sf.net
XtalOpt
http://xtalopt.openmolecules.net
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 3of16
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You may add PDF document protection functionality into your C# program. Hyperlink Edit. XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document
adding hyperlinks to pdf; pdf hyperlink
VB.NET PDF: Basic SDK Concept of XDoc.PDF
You may add PDF document protection functionality into your VB.NET program. Hyperlink Edit. XDoc.PDF for .NET allows VB.NET developers to edit hyperlink of PDF
add hyperlinks to pdf; adding links to pdf in preview
whereas others were made Open Source by releasing in-
house codebases under liberal licenses. When the Blue
Obelisk was established five years ago, the primary
toolkits under active development were the Chemistry
Development Kit (CDK) [5,6], Open Babel [7], and JOE-
Lib [8]. Of these, both the CDK and Open Babel con-
tinue to be actively developed.
The CDK project has been under regular development
over the last five years. Several features have been
implemented ranging from core components such as an
extensible SMARTS matching system and a new graph
(and subgraph) isomorphism method [9], to more appli-
cation oriented components such as 3D pharmacophore
searching and matching, and a variety of structural-key
and hashed fingerprints. In addition, there have been a
number of second generation tools developed on top of
the CDK (see below). As well as the use of the CDK in
various tools, it has been deployed in the form of web
services [10] and has formed the basis of a variety of
web applications.
Since 2006, major new features of Open Babel include
3D structure generation and 2D structure-diagram gen-
eration, UFF and MMFF94 forcefields, and significantly
expanded support for computational chemistry calcula-
tions. In addition, a major focus of Open Babel develop-
ment has been to provide for accurate conversion and
representation in areas of stereochemistry, kekulisation,
and canonicalisation. The project has also grown, in
terms of new contributors, new support from commer-
cial companies, and second-generation tools applying
Open Babel to a variety of end-user applications, from
molecular editors to chemical database systems.
Two new Open Source cheminformatics toolkits have
appeared since the original paper. In 2006 Rational Dis-
covery, a cheminformatics service company (since closed
down), released RDKit [11] under the BSDLicense. This
is a C++ library with Python and (more recently) Java
bindings. RDKit is actively developed and includes code
donated by Novartis. Recent developments include the
Java bindings, as well as performance improvements for
its database cartridge.
More recently, GGA Software Services (a contract
programming company) released the Indigo toolkit [12]
and associated software in 2009 under the GPL. Indigo
is a C++ library with high-level wrappers in C, Java,
Python, and the .NET environment. Like RDKit and
other toolkits, Indigo provides support for tetrahedral
and cis-trans stereochemistry, 2D coordinate generation,
exact/substructure/SMARTS matching, fingerprint gen-
eration, and canonical SMILES computation. It also pro-
vides some less common functionality, like matching
tautomers and resonance substructures, enumeration of
subgraphs, finding maximum common substructure of
Ninput structures, and enumerating reaction products.
Second-generation tools
Although feature-rich and robust cheminformatics
toolkits are useful in and of themselves, they can also be
seen as providing a base layer on which additional tools
and applications can be built. This is one of the reasons
that cheminformatics toolkits are so important to the
open source ‘ecosystem’; their availability lowers the bar-
rier for the development of a ‘second generation’ of
chemistry software that no longer needs to concern
itself with the low-level details of manipulating chemical
structures, and can focus on providing additional func-
tionality and ease-of-use. Although a wide range of
chemistry software has been built using Blue Obelisk
components (see for example, the “Related Software”
link on the Open Babel website, [13] listing over 40 pro-
jects as of this writing, or “Software using CDK” at the
CDK website), in this section we focus on second-gen-
eration tools which themselves have been developed by
members of the Blue Obelisk.
Bioclipse [14] (v2.4 released in Aug 2010) and Avoga-
dro [15] (v1.0 in Oct 2009) are two examples of such
software, based on the CDK and Open Babel, respec-
tively. Bioclipse (Figure 1) is an award-winning molecu-
lar workbench for life sciences that wraps
cheminformatics functionality behind user-friendly inter-
faces and graphical editors while Avogadro (Figure 2) is
a3D molecular editor and viewer aimed at preparing
and analysing computational chemistry calculations.
Both projects are designed to be extended or scripted by
users through the provision of a plugin architecture and
scripting support (using Bioclipse Scripting Language
[16], or Python in the case of Avogadro). An interesting
aspect of both Avogadro and Bioclipse is that they share
some developers with the underlying toolkits and this
has driven the development of new features in the CDK
and Open Babel.
Both products in turn act as extensible platforms for
other software. Bioclipse, for example is used by soft-
ware such as Brunn [17], a laboratory information sys-
tem for microplate based high-throughput screening.
Brunn provides a graphical interface for handling differ-
ent plate layouts and dilution series and can automati-
cally generate dose response curves and calculate IC
50
-
values. Avogadro is used by Kalzium [18], a periodic
table and chemical editor in KDE, and XtalOpt [19,20],
an evolutionary algorithm for crystal structure predic-
tion. XtalOpt provides a graphical interface using Avo-
gadro and submits calculations using a range of solid-
state simulation software to predict stable polymorphs.
Afinal example of second-generation Blue Obelisk
software is the AMBIT2 [21,22] software, which was
developed to facilitate registration of chemicals for the
REACH EU directive, and is based on the CDK. It was
distributed initially as a standalone Java Swing GUI, and
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 4of16
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Change Word hyperlink to PDF hyperlink and bookmark. C#.NET Sample Code: Convert Word to PDF in C#.NET Project. Add necessary references:
add url pdf; add hyperlink to pdf in
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract hyperlink inside PDF. PDF Write. Insert text, text box into PDF. Edit, delete text from PDF. Insert images into PDF. Edit, remove images from PDF. Add,
add links to pdf file; add hyperlinks to pdf online
more recently as downloadable web application archive,
offering a web services interface to a searchable chemi-
cal structures database. Also integrated are descriptor
calculations, as well as the ability to run and build
predictive models, including modules of the open source
Toxtree [22-24] software for toxicity prediction.
Computational chemistry analysis
Another area where the Blue Obelisk has had a signifi-
cant impact in the past five years is in supporting quan-
tum chemistry calculations and in interpreting their
results. Electronic structure calculations have a long tra-
dition in the chemistry community and a variety of pro-
grams exist, mostly proprietary software but with an
increasing number of open source codes. However,
since each program uses different input formats, and the
the output formats vary widely (sometimes even varying
between different versions of the same software), prepar-
ing calculations and automatically extracting the results
is problematic.
Avogadro has already been mentioned as a GUI for
preparing calculations. It uses Open Babel to read the
output of several electronic structure packages. Avoga-
dro generates input files on the fly in response to user
input on forms, as well as allowing inline editing of the
files before they are saved to disk. It also features intui-
tive syntax highlighting for GAMESS input files,
Figure1Screenshotof Bioclipseusing Jmoltovisualisea molecularsurface.
Figure 2 Screenshotof Avogadro showing a depiction of a
carbonnanotube.
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 5of16
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Export PowerPoint hyperlink to PDF. VB.NET Demo Code for Converting PowerPoint to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
add link to pdf acrobat; add links to pdf in preview
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Export PowerPoint hyperlink to PDF in .NET console application. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET Application. Add necessary references:
add page number to pdf hyperlink; add links to pdf document
allowing expert users to easily spot mistakes before sav-
ing an input file to disk.
In addition to this, significant development of new
parsing routines took place in an Avogadro plugin to
read in basis sets and electronic structure output in
order to calculate molecular orbital and electron density
grids. This code was written to be parallel, using desk-
top shared memory parallelism and high level APIs in
order to significantly speed up analysis. Most of this
code was recently separated from the plugin, and
released as a BSD licensed library, OpenQube, which is
now used by the latest version of Avogadro. Jmol (see
below) can also depict computational chemistry results
including molecular orbitals.
In 2006, the Blue Obelisk project cclib [25] was estab-
lished with the goal of parsing the output from compu-
tational chemistry programs and presenting it in a
standard way so that further analyses could be carried
out independently of the quantum package used. cclib is
aPython library, and the current version (version 1.0.1)
supports 8 different computational chemistry codes and
extracts over 30 different calculated attributes. Two
related Blue Obelisk projects build upon cclib. Gauss-
Sum [26], is a GUI that can monitors the progress of
SCF and geometry convergences, and can plot predicted
UV/Vis absorption and infrared spectra from appropri-
ate logfiles containing energies and oscillator strengths
for easy comparison to experimental data. QMForge
[27] provides a GUI for various electronic structure ana-
lyses such as Frenking’s charge decomposition analysis
[28] and Mulliken or C-squared analyses on user-
defined molecular fragments. QMForge also provides a
rudimentary Cartesian coordinate editor allowing mole-
cular structures to be saved via Open Babel.
The Quixote project epitomises the full use of the
Blue Obelisk software and is described in detail in
another article in this issue. Here we observe that it is
possible to convert legacy chemistry file formats of all
sorts into semantic chemistry and extract those parts
which are suitable for input to computational chemistry
programs. This chemistry is then combined with generic
concepts of computational chemistry (e.g. strategy,
machine resources, timing, accuracy etc.) into the legacy
inputs for a wide range of programs. Quixote itself fol-
lows Blue Obelisk principles in that it does not manage
the submission and monitoring of jobs but resumes
action when the jobs have been completed, and then
applies a range of parsing and transformation tools to
create standardised semantic chemical content. A major
feature of Quixote is that it requires all concepts to vali-
date against dictionaries and the process of parsing files
necessarily generates communally-agreed dictionaries,
which represent an important step forward in the Open
specifications for Blue Obelisk. When widely-deployed,
Quixote will advertise the value of Open community
standards for semantics to the world.
The Quixote project is not dependent on any particu-
lar technology, other than the representation of compu-
tational chemistry in CML and the management of
semantics through CML dictionaries. At present, we use
JUMBO-Converters [29] for most of the semantic con-
version, Lensfield2 [30] for the workflow and Chem-
pound (chem#) [31] to store and disseminate the results.
Web applications
While desktop software has composed the majority of
scientific tools since the computer was introduced, the
internet continues to change how applications and con-
tent are distributed and presented. The web presents
new opportunities for scientists as it is an open and free
medium to distribute scientific knowledge, ideas and
education. Web applications are software that runs
within the browser, typically implemented in Java or
JavaScript. Recently, a new version of the HTML specifi-
cation, HTML5, defined a well-developed framework for
creating native web applications in JavaScript and this
opens up new possibilities for visualising chemical data.
Jmol, the interactive 3D molecular viewer, is one of
the most widely used chemistry applets, and indeed has
seen widespread use in other fields such as biology and
even mathematics (it is used for 3D depiction of mathe-
matical functions in the Sage Mathematics Projects
[32]). It is implemented in Java, and has gone from
being a “Rasmol/Chime” replacement to a fully fledged
molecular visualisation package, including full support
for crystallography [33], display of molecular orbitals
from standard basis set/coefficient data, the inclusion of
dynamic minimisation using the UFF force field, and a
full implementation of Daylight SMILES and SMARTS,
with extensions to conformational and biomolecular
substructure searching (Jmol BioSMARTS).
In 2009, iChemLabs released the ChemDoodle Web
Components library [34] under the GPL v3 license (with
aliberal HTML exception). This library is completely
implemented in JavaScript and uses HTML5 to allow
the scientist to present publication quality 2D and 3D
graphics (see Figure 3) and animations for chemical
structures, reactions and spectra. Beyond graphics, this
tool provides a framework for user interaction to create
dynamic applications through web browsers, desktop
platforms and mobile devices such as the iPhone, iPad
and Android devices.
The business end
Open Source provides a unique opportunity for com-
mercial organisations to work with the cheminformatics
community. Traditional business models rely on moneti-
sation of source code, causing companies to repeat work
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 6of16
done by other companies. This model is sometimes
combined with a free (gratis) model for people working
at academic institutes, to increase adoption and encou-
rage contributions from academics. This solution defines
the return on investment as the IP on the software, but
has the downside of investment losses due to duplica-
tion of software and method development, which
become visible when proprietary companies merge.
Some authors have argued that in the chemistry field
few contributors are available to volunteer time to
improve codes and IP considerations may prevent con-
tributions from industry [35]. If true, this would hamper
adoption of Open Source and Open Data in chemistry,
and greatly slow the growth of projects such as those in
the Blue Obelisk.
The Blue Obelisk community, however, takes advan-
tage of the fact that much of the investment needed for
development is either paid for by academic institutes
and funding schemes, or by volunteers investing time
and effort. In return, contributors get full access to the
source code, and the Open Source licensing ensures
that they will have access any time in the future. In this
way, the license functions as a social contract between
everyone to arrange an immediate return on investment.
Effiectively, this approach shares the burden of the high
investment in having to develop cheminformatics soft-
ware from scratch, allowing researchers and commercial
partners alike to focus on their core business, rather
than the development of prerequisites. In the case of the
Blue Obelisk, the rich collection of Open Source che-
minformatics tools provided greatly reduces investment
up front for new companies in the cheminformatics
market. Such advantages have also been noted in the
drug discovery field [36-38].
The use of Open Standards allows everyone to select
those Blue Obelisk components they find most useful,
as they can easily replace one component with another
providing the same functionality, taking advantage that
they use the same standards for, for example, data
exchange. This way, licensing issues are becoming a
marginal problem, allowing companies to select a license
appropriate for their business model. This too, allows a
company to create a successful product with signifi-
cantly reduced cost and effort.
At the time of writing there are many commercial
companies developing chemistry solutions around Open
Source cheminformatics components provided by the
Blue Obelisk community. Examples of such companies
include iChemLabs, IdeaConsult, Wingu, Silicos, Genet-
taSoft, eMolecules, hBar, Metamolecular, and Inkspot
Science. Some of these merely use components, but sev-
eral actively contribute back to the Blue Obelisk project
they use, or donate new Open Source cheminformatics
projects to the community.
For example, iChemLabs released the ChemDoodle
Web Components library under the GPL v3 license,
Figure3Screenshotof theMolGrabber3Ddemofrom ChemDoodleWebComponents.
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 7of16
based on the upcoming HTML5 Open Standard. It
allows making web and mobile interfaces for chemical
content. The project is already being adopted by others,
including iBabel [39], ChemSpotlight [40] and the RSC
ChemSpider [41,42].
Silicos has released several Open Source utilities [43]
based on Open Babel,such as Pharao, atool for pharma-
cophore searching,Sieve forfiltering molecular structure
bymolecular property, Stripper for removing core scaf-
fold structures from a molecule set, and Piramid for
molecular alignment using shape determined by the
Gaussianvolumes as adescriptor. Additionally,contribu-
tions havebeenmadetothe Open Babel project itself.
Other companies use Blue Obelisk components and
contribute patches, smaller and larger. For example,
IXELIS donated the isomorphism code in the CDK,
eMolecules donated canonicalisation code to Open
Babel, Metamolecular improved the extensibility and
unit testing suite of OPSIN, and AstraZeneca contribu-
ted code to the CDK for signatures. This is just a very
minor selection, and the reader is encouraged to contact
the individual Blue Obeliskprojects for a detailed list.
In May 2011, a Wellcome Trust Workshop on Mole-
cular Informatics Open Source Software (MIOSS)
explored the role of Open Source in industrial labora-
tories and companies as well as academia (several of the
presenters are among the authors of this paper). The
meeting identified that Open Source software was extre-
mely valuable to industry not just because it is available
for free, but because it allows the validation of source
code, data and computational procedures. Some of the
discussion was on business models or other ways to
maintain development of Open Source software on
which a business relied. Companies are concerned about
training and support and, in some cases, product liabi-
lity. There are difficulties for software for which there is
no formal transaction other than downloading and
agreeing to license terms. One anecdote concerned a
company that wished to donate money to an Open
Source project but could not find a mechanism to do so.
Industry participants also pointed out that there is a
considerable amount of contribution-in-kind from
industry, both from enhancements to software and also
the development of completely new software and toolk-
its. Companies are now finding it easier to create
mechanisms for releasing Open Source software without
violating confidentiality or incurring liability. A phrase
from the meeting summed it up: “The ice is beginning
to melt”, signifying that we can expect a rapid increase
in industry’s interest in Open Source.
Converting chemical names and images to structures
The majority of chemical information is not stored in
machine-readable formats, but rather as chemical names
or depictions. The OSRA and OPSIN projects focus on
extracting chemical information from these sources.
Such software plays a particularly important role for
data mining the chemical literature, including patents
and theses.
Optical Structure Recognition Application (OSRA)
[44] was started in early 2007 with the goal to create
the first free and open source tool for extraction and
conversion of molecular images into SMILES and SD
files. From the very beginning the underlying philosophy
was to integrate existing open source libraries and to
avoid “reinventing the wheel” wherever possible. OSRA
relies on a variety of open source components: Open
Babel for chemical format conversion and molecular
property calculations, GraphicsMagick for image manip-
ulation, Potrace for vectorisation, GOCR and OCRAD
for optical character recognition. The growing impor-
tance of image recognition technology can be seen in
the fact that only a few years ago there was only one
widely available software package for chemical structure
recognition - CLiDE (commercially developed at Key-
module, Ltd), but today there are as many as seven
available programs.
OPSIN (Open Parser for Systematic IUPAC Nomen-
clature) [45] focuses instead on interpreting chemical
names. The chemical name is the oldest form of com-
munication used to describe chemicals, predating even
the knowledge of the atomic structure of compounds.
Chemical names are abundant in the scientific literature
and encode valuable structural information. Through
successive books of recommendations [46,47], IUPAC
has tried to codify and to an extent standardise naming
practices. OPSIN aims to make this abundance of che-
mical names machine readable by translating them to
SMILES, CML or InChI. The program is based around
the use of a regular grammar to guide tokenisation and
parsing of chemical names, followed by step-wise appli-
cation of nomenclature rules. It is able to offer fast and
precise conversions for the majority of names using
IUPAC organic nomenclature, and is available as a web
service, Java library and standalone application for maxi-
mum interoperability.
Chemical database software
Registration, indexing and searching of chemical struc-
tures in relational databases is one of the core areas of
cheminformatics. A number of structure registration
systems have been published in the last five years,
exploiting the fact that Open Source cheminformatics
toolkits such as Open Babel and the CDK are available.
OrChem [48], for example, is an open source extension
for the Oracle 11G database that adds registration and
indexing of chemical structures to support fast substruc-
ture and similarity searching. The cheminformatics
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 8of16
functionality is provided by the CDK. OrChem provides
similarity searching with response times in the order of
seconds for databases with millions of compounds,
depending on a given similarity cut-off. For substructure
searching, it can make use of multiple processor cores
on today’s powerful database servers to provide fast
response times in equally large data sets.
Besides the traditional and proven relational database
approach with added chemical features (’cartridges’),
there is growing interest in tools and approaches based
on the web philosophy and practice. Several groups
[49,50] are experimenting with the Resource Description
Framework (RDF) language on the assumption that gen-
eric high-performance solutions will appear. RDF allows
everything to be described by URIs (data, molecules,
dictionaries, relations). The Chempound system [31], as
deployed in Quixote and elsewhere, is an RDF-based
approach to chemical structures and compounds and
their properties. For small to medium-sized collections
(such as an individual’s calculations or literature retrie-
val), there are many RDF tools (e.g. SIMILE, Apache
Jena) which can operate in machine memory and pro-
vide the flexibility that RDF offers. For larger systems, it
is unclear whether complete RDF solutions (e.g. Vir-
tuoso) will be satisfactory or whether a hybrid system
based on name-value pairs (e.g. CouchDB, MongoDB)
will be sufficient.
Collaboration and interoperability
One of the successes of the Blue Obelisk has been to
bring developers together from different Open Source
chemistry projects so that they look for opportunities
to collaborate rather than compete, and to leverage
work done by other projects to avoid duplication of
effort. As an example of this, when in March 2008 the
Jmol development team were looking to add support
for energy minimisation, rather than implement a for-
cefield from scratch they ported the UFF forcefield
[51] implementation from Open Babel to Jmol. This
code enables Jmol to support 2D to 3D conversion of
structures (through energy minimisation). In a similar
manner, efficient Jmol code for atom-atom rebonding
has been ported to the CDK. Figure 4 shows the colla-
borative nature of software developed in the Blue Obe-
lisk, as one project builds on functionality provided by
another project.
Another collaborative initiative between Blue Obelisk
projects was the establishment in May 2008 of the Che-
miSQL project. This brought together the developers of
several open source chemistry database cartridges
(PgChem [52], Mychem [53], OrChem [48] and more
recently Bingo [54]) with a view to making their data-
base APIs more similar and collaborating on benchmark
datasets for assessing performance. For two of these
projects, PgChem and Mychem, which are both based
on Open Babel, there is the additional possibility of
working together on a shared codebase.
In the area of cheminformatics toolkits, two of the
existing toolkits Open Babel and RDKit are planning to
work together on a common underlying framework
called MolCore [55]. This project is still in the planning
stage, but if it is a success it will mean that the the two
libraries will be interoperable (while retaining their
existing focus) but also that the cost of maintaining the
code will be shared among more developers, freeing
time for the development of new features.
Figure 4Dependency diagramof some BlueObelisk projects. Eachblockrepresents aproject.Square blocks show OpenData, ovals are
OpenSource,and diamondsare OpenStandards.
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 9of16
One of the goals of the Blue Obelisk is to promote
interoperability in chemical informatics. When barriers
exist to moving chemical data between different soft-
ware, the community becomes fragmented and there is
the danger of vendor lock-in (where users are con-
strained to using a particular software, a situation which
puts them at a disadvantage). This applies as much to
Open Source software as to proprietary software. Cinf-
ony is a project (first release in May 2008) whose goal is
to tackle this problem in the area of cheminformatics
toolkits [56]. It is a Python library that enables Open
Babel, the CDK, and RDKit (and shortly, Indigo and
OPSIN) to be used using the same API; this makes it
easy, for example, to read a molecule using Open Babel,
calculate descriptors using the CDK and create a depic-
tion using RDKit.
Another way through which interoperability of Blue
Obelisk projects has been promoted and developed is
through integration into workflow software such as
Taverna [57] and KNIME [58] (both open source). Such
software makes it easy to automate recurring tasks, and
to combine analyses or data from a variety of different
software and web services. A combination of the Chem-
istry Development Kit and Taverna, for instance, was
reported in 2010 [59]. In the case of KNIME, it comes
with built-in basic collection of CDK-based and Open
Babel-based nodes, while other nodes for the RDKit and
Indigo are available from KNIME’s “Community
Updates” site.
Open Standards
Chemical Markup Language, CML
Chemical Markup Language (CML) is discussed in sev-
eral articles in this issue, and a brief summary here re-
iterates that it is designed primarily to create a validata-
ble semantic representation for chemical objects. The
five main areas (molecules, reactions, computational
chemistry, spectra and solid-state (see above)) have now
all been extensively deployed and tested. CML can
therefore be used as a reference for input and output
for Blue Obelisk software and a means of representing
data in Blue Obeliskresources.
CML, being an XML application, can inter-operate
with other markup languages and in particular XHTML,
SVG, MathML, docx and more specialised applications
such as UnitsML and GML (geosciences). We believe
that it would be possible using these languages to
encode large parts of, say, first year chemistry text
books in XML. Similarly, it is possible to create com-
pound documents with word processing or spreadsheet
software that have inter-operating text, graphics and
chemistry (as in Chem4Word). Being a markup lan-
guage, CML is designed for re-purposing, including sty-
ling, and therefore a mixture of these languages can be
used for chemical catalogues, general publications, log-
books and many other types of document in the scienti-
fic process.
CML describes much of its semantics through conven-
tions and dictionaries, and the emerging ecosystem
(especially in computational chemistry) is available as a
semantic resource for many of the applications and spe-
cifications in this article.
InChI
The IUPAC InChI identifier is a non-proprietary and
unique identifier for chemical substances designed to
enable linking of diverse data compilations. Prior to the
development of the InChI identifier chemical informa-
tion systems and databases used a wide variety of (gen-
erally proprietary) identifiers, greatly limiting their
interoperability. Although its development predates the
Blue Obelisk, software such as Open Babel has included
InChI support since 2005, and support for InChI in
Indigo is due in 2011.
Since the official InChI implementation is in C, it is
difficult to access from the other widely used language
for cheminformatics toolkits, Java. Early attempts to
generate InChI identifiers from within Java involved
programatically launching the InChI executable and cap-
turing the output, an approach that was found to be
fairly unreliable and broke the ‘write once, run any-
where’ philosophy of Java. The Blue Obelisk project JNI-
InChI [60] was established in 2006 to solve this problem
by using the Java Native Interface framework to provide
transparent access to the InChI library from within Java
and other Java Virtual Machine (JVM) based languages,
supporting the wider adoption of this standard identifier
by the chemistry community.
The Java Native Interface framework provides a
mechanism for code running inside the JVM, to place
calls to libraries written in languages such as C, C++
and Fortran, and compiled into native, machine specific,
code. JNI-InChI provides a thin C wrapper, with corre-
sponding Java code, around the IUPAC InChI library,
exposing the InChI library’s functionality to the JVM.
To overcome the need to have the correct InChI library
pre-installed on a system, JNI-InChI comes with a vari-
ety of precompiled native binaries and automatically
extracts and deploys the correct one for the detected
operating system and architecture. The JNI-InChI
library comes with native binaries supporting a range of
operating systems and architectures; the current version
has binaries for 32- and 64-bit Windows, Linux and
Solaris, 64-bit FreeBSD and 64-bit Intel-based Mac OS
X- a number of which are not supported by the original
IUPAC distribution of InChI. The JNI-InChI project has
matured to support the full range of functionality of the
InChI C library: structure-to-InChI, InChI-to-structure,
O’Boyle et al. Journal of Cheminformatics 2011,3:37
http://www.jcheminf.com/content/3/1/37
Page 10of16
Documents you may be interested
Documents you may be interested