Modularitet Och Objektorientering

Total Page:16

File Type:pdf, Size:1020Kb

Modularitet Och Objektorientering Uppsala universitet Institutionen för informatik och media Modularitet och objektorientering Byggandet av ett program som kan visa en molekyl Lars Tedenborg Examensarbete C Höstterminen 2010 2011-01-04 Abstract The development of IT systems is usually accomplished by some form of system development methodology. It can be performed as the waterfall method, where each phase is completed before the next begins. One of the reasons to follow a development methodology is that the process is more structured, faster and that the product will have higher quality. One risk of not using a system development approach is that the code can be unstructured and difficult to maintain. This paper describes an alternative method in which the development occurred without the use of any system development methodology. This has been possible because there was a clear goal of the program that should be developed. The goal was to read a molfile and from the information stored in the file plot the molecular structure. The appearance of the molecule has been fine-tuned as more features are added. A molfile is able to store all the information about the different characteristics a molecule can have. Not all molecules containing all the properties. Development has proceeded as follows: Each property has been classified as an object and then implemented. The whole way from reading the property in the file into the computer program and then interpret the information to plot the property as a part of the molecule. The most important programming principle has been to develop the program as a number of more or less independent modules for the system to have high modularity. 2 Sammanfattning Vid utveckling av IT-system brukar någon form av systemutvecklingsmetod följas. Det kan vara exempelvis vattenfallsmetoden där varje fas slutförs innan nästa påbörjas. Ett av skälen att följa en utvecklingsmetod är att arbetet ska bli mer strukturerat, gå fortare samt att produkten ska ha hög kvalité. En risk med att inte använda en systemutvecklingsmetod är att koden kan bli ostrukturerad och svår att underhålla. Denna uppsats beskriver en alternativ metod där utvecklingen skett utan användandet av någon etablerad systemutvecklingsmetod. Det var möjligt då det fanns ett tydligt mål med programmet som skulle utvecklas. Målet var att läsa en molfil och från den information som finns lagrad i filen rita molekylärstrukturen. Utseendet på molekylen har finjusterats allteftersom fler egenskaper lagts till programmet. En molfil har möjlighet att lagra all information om de olika egenskaper en molekyl kan ha. Alla molekyler innehåller inte alla egenskaper. Utvecklingen har gått till på följande sätt: Varje egenskap har klassats som ett objekt och sedan implementerats. Det innebär allt ifrån att läsa in egenskapen i filen till dataprogrammet och sedan tolka informationen till att rita ut den egenskapen. Den viktigaste programmeringsprincipen har varit att utveckla programmet som ett antal mer eller mindre fristående moduler för att systemet ska ha hög modularitet. 3 Innehållsförteckning Abstract .............................................................................................................................................. 2 Sammanfattning ................................................................................................................................. 3 Innehållsförteckning .......................................................................................................................... 4 Ordlista ............................................................................................................................................... 5 Inledning ............................................................................................................................................. 6 Problemformulering ....................................................................................................................... 6 Syfte ............................................................................................................................................... 8 Bakgrund ........................................................................................................................................ 9 Avgränsning .................................................................................................................................. 12 Hur en molfil är uppbyggd ........................................................................................................... 12 Metod ............................................................................................................................................... 15 Undersökningsstrategi ................................................................................................................. 15 Teori ................................................................................................................................................. 17 Utveckling av programmkod ........................................................................................................ 17 Analys och diskussion ...................................................................................................................... 31 Slutsatser .......................................................................................................................................... 32 Källförteckning ................................................................................................................................ 33 Elektroniska källor ........................................................................................................................ 33 Bilaga 1 lista över program för att rita molekyler ..................................................................... 34 Bilaga 2 CTFilen från Symyx som beskriver hur en molfil är uppbyggd .................................... 35 Bilaga 3 Komplett kod från programmet ................................................................................... 43 4 Ordlista Acyklisk En struktur som inte innehåller någon cykliskt element. Agil systemutveckling Metod för programmering, med korta utvecklingscykler med nära kontakt mellan utvecklare och beställare. http://www.agilemanifesto.org/iso/sv/ Cyklisk En struktur som innehåller ett cykliskt element. Deprotonerad Heteroatom som saknar ett väte och därmed har laddningen -1. Eter En syreatom som binder två olika kolatomer. Generisk struktur Struktur där vissa delar inte är fullständigt specificerade, utan de kan innehålla olika atomer eller fragment. Heteroatom Atom som inte är kol eller väte. Isotop Atomer av samma grundämne, alltså med samma antal protoner, men med olika antal neutroner. InChi filformat IUPAC standard för lagring av molekylär information. (http://www.iupac.org/inchi/) Kiral En atoms möjlighet att vara asymmetrisk. Bindningar från atomen kan peka åt olika håll i tre dimensioner. Konformation En molekyls utseende vid en viss tidpunkt vilket påverkas av molekylens rörlighet i dess bindningar. Masstal Summan av antalet protoner och neutroner. Molekyl När atomer sitter ihop i ett visst arrangemang tack vare bindningar. Molfil Ett filformat utvecklat av MDL som blivit en inofficiell standard för lagring av molekylär struktur information. Radikaler Atom som inte har tillräckligt med elektroner runt sig. Stereokemi Förtydligande av hur bindningarna pekar om en atom är kiral. SMILES fil format Simple Molecular Input Line Entry System. Filformat för att lagra molekylär struktur information. Varje molekyl lagras som textsträng. 5 Inledning Contur Software AB var i behov av ett dataprogram vars uppgift var att rita en molekylstruktur från en lagrad molfil. Den utritade molekylen skulle visas upp som en bild. Redan vid projektets början sågs ett flertal problem med hur kraven för programmet skulle formuleras. Då det är en bild som ska visas upp finns det en estetisk parameter att ta hänsyn till under utvecklingen. Det är svårt att ge specifika krav beträffande hur alla molekylens egenskaper ska anges, när de olika delarnas utseende i en molekyl påverkar varandra. Därför utvecklades programmet utan någon form av föregående systemanalys, förutom ett begränsat antal funktionskrav. Här används begreppet systemanalys som benämning på den dokumenterade kravspecifikation som normalt föregår programmering. I molfilen finns alla molekylens egenskaper beskriva och utvecklingen gick till så att en egenskap i sänder implementerades. Denna uppsats kommer att beskriva hur man kan bygga ett datorprogram genom att lägga till en liten funktion i taget, förutsatt att programmeraren kan bedöma resultatet. I detta fall har utvecklaren utbildning i kemi. Molekylen delas alltså upp i ett flertal moduler som en efter en lagts till i programmet. Detta har varit möjligt genom att strikt använda ett objektorienterat synsätt. Problemformulering Den mest rigida formen av systemutveckling är vattenfallsmodellen(Royce 1970). Denna metod är ett bra exempel på systemutveckling då varje fas är isolerad och dokumenteras innan nästa fas tar vid. Jag använder den som exempel för att förklara alla faser som ett systemutvecklingsprojekt normalt har. Varje fas slutar med ett beslut, ska projektet fortsätta eller avslutas. Vattenfallsmodellen består av följande faser: 1. Planering eller förstudie. Man kan också kalla denna fas behovsstudie. Den ska leverera argument för eller emot den fortsatta utvecklingen av IT-systemet. 2. Analysfas. Vad är det systemet ska utföra? 3. Design. Här
Recommended publications
  • User Guide of Computational Facilities
    Physical Chemistry Unit Departament de Quimica User Guide of Computational Facilities Beta Version System Manager: Marc Noguera i Julian January 20, 2009 Contents 1 Introduction 1 2 Computer resources 2 3 Some Linux tools 2 4 The Cluster 2 4.1 Frontend servers . 2 4.2 Filesystems . 3 4.3 Computational nodes . 3 4.4 User’s environment . 4 4.5 Disk space quota . 4 4.6 Data Backup . 4 4.7 Generation of SSH keys for automatic SSH login . 4 4.8 Submitting jobs to the cluster . 5 4.8.1 Typical queue system commands . 6 4.8.2 HomeMade scripts . 6 4.8.3 Create your own submit script . 6 4.8.4 Submitting Parallel Calculations . 7 5 Available Software 9 5.1 Chemisty software . 9 5.2 Development Software . 10 5.3 How to use the software . 11 5.4 Non-default environments . 11 6 Your Linux Workstation 11 6.1 Disk space on your workstation . 12 6.2 Workstation Data Backup . 12 6.3 Running virtual Windows XP . 13 6.3.1 The Windows XP Environment . 13 6.4 Submitting calculations to your dekstop . 13 6.5 Network dependent structure . 14 7 Your WindowsXP Workstation 14 7.1 Workstation Data Backup . 14 8 Frequently asked questions 14 1 Introduction This User Guide is aimed to the standard user of the computer facilities in the ”Unitat de Quimica Fisica” in the Universitat Autnoma de Barcelona. It is not assumed that you have a knowledge of UNIX/Linux. However, you are 1 encouraged to take a close look to the linux guides that will be pointed out.
    [Show full text]
  • Practical Chemoinformatics Muthukumarasamy Karthikeyan • Renu Vyas
    Practical Chemoinformatics Muthukumarasamy Karthikeyan • Renu Vyas Practical Chemoinformatics 1 3 Muthukumarasamy Karthikeyan Renu Vyas Digital Information Resource Centre Scientist (DST) National Chemical Laboratory Division of Chemical Engineering and Pune Process Development India National Chemical Laboratory Pune India ISBN 978-81-322-1779-4 ISBN 978-81-322-1780-0 (eBook) DOI 10.1007/978-81-322-1780-0 Springer New Delhi Dordrecht Heidelberg London New York Library of Congress Control Number: 2014931501 © Springer India 2014 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recita- tion, broadcasting, reproduction on microfilms or in any other physical way, and transmission or infor- mation storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar meth- odology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplica- tion of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publica- tion does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
    [Show full text]
  • Designing Universal Chemical Markup (UCM) Through the Reusable Methodology Based on Analyzing Existing Related Formats
    Designing Universal Chemical Markup (UCM) through the reusable methodology based on analyzing existing related formats Background: In order to design concepts for a new general-purpose chemical format we analyzed the strengths and weaknesses of current formats for common chemical data. While the new format is discussed more in the next article, here we describe our software s t tools and two stage analysis procedure that supplied the necessary information for the n i r development. The chemical formats analyzed in both stages were: CDX, CDXML, CML, P CTfile and XDfile. In addition the following formats were included in the first stage only: e r P CIF, InChI, NCBI ASN.1, NCBI XML, PDB, PDBx/mmCIF, PDBML, SMILES, SLN and Mol2. Results: A two stage analysis process devised for both XML (Extensible Markup Language) and non-XML formats enabled us to verify if and how potential advantages of XML are utilized in the widely used general-purpose chemical formats. In the first stage we accumulated information about analyzed formats and selected the formats with the most general-purpose chemical functionality for the second stage. During the second stage our set of software quality requirements was used to assess the benefits and issues of selected formats. Additionally, the detailed analysis of XML formats structure in the second stage helped us to identify concepts in those formats. Using these concepts we came up with the concise structure for a new chemical format, which is designed to provide precise built-in validation capabilities and aims to avoid the potential issues of analyzed formats.
    [Show full text]
  • (CDK): an Open-Source Java Library for Chemo- and Bioinformatics
    J. Chem. Inf. Comput. Sci. 2003, 43, 493-500 493 The Chemistry Development Kit (CDK): An Open-Source Java Library for Chemo- and Bioinformatics Christoph Steinbeck,*,† Yongquan Han,† Stefan Kuhn,† Oliver Horlacher,‡ Edgar Luttmann,§ and Egon Willighagen# Max-Planck-Institute of Chemical Ecology, Jena, Germany, TheraSTrat AG, Allschwil, Switzerland, Institute of Organic Chemistry, University of Paderborn, Germany, and Nijmegen, The Netherlands Received August 17, 2002 The Chemistry Development Kit (CDK) is a freely available open-source Java library for Structural Chemo- and Bioinformatics. Its architecture and capabilities as well as the development as an open-source project by a team of international collaborators from academic and industrial institutions is described. The CDK provides methods for many common tasks in molecular informatics, including 2D and 3D rendering of chemical structures, I/O routines, SMILES parsing and generation, ring searches, isomorphism checking, structure diagram generation, etc. Application scenarios as well as access information for interested users and potential contributors are given. 1. INTRODUCTION of software development, most widely recognized through the great success of the free Unix-like operating system Whoever pursues the endeavor of creating a larger GNU/Linux, a collaborative work of many individuals and software package in chemoinformatics or computational organizations, including the Free Software Foundation lead chemistry from scratch will soon be confronted with the by Richard Stallman and the Finish computer science student Syssiphus task of implementing the standard repertoire of Linus Torvalds who started the project. According to several chemoinformatical algorithms and components invented essays on this subject, open-source software, for which, by during the last 20 or 30 years.
    [Show full text]
  • JUMBO Is an Opensource Toolkit Addressing the Semantic and Ontological Impedances That Are Major Barriers to Interoperability in Computational Chemistry and Physics
    a a c a b a a c d a b c d JUMBO is an OpenSource toolkit addressing the semantic and ontological impedances that are major barriers to interoperability in computational chemistry and physics. Users build XMLSchemas from generic XML components to support particular computational tasks, such as high-throughput chemistry. JUMBO components provide a complete semantic description of information to or from a code such as MOPAC or GAMESS. Codes are edited to use JUMBO libraries as adapters to program-independent XML objects, or output is transduced using a generic parser, JUMBOMarker. The JUMBO system is designed for flexible collaborative contributions. abstract and rely on dictionaries (v.i.) to add semantics and ontology. In practice many of the concepts in a program are not in the schema but Existing codes in quantum mechanics or provided by domain-specific dictionaries. crystal/molecular mechanics/dynamics rely on The ultimate goal is to provide simple and “FORTRAN-like” input and output with flexible tools to XMLise existing and future variable and misunderstandable semantics and computational codes so they can be used as ontology. Typical examples are the lack of “black-boxes” in eScience workflows. Some explicit scientific units or fuzziness over authors have adopted this approach and whether a molecule has a charge. It is difficult embedded calls to JUMBO libraries in their to chain the output of one program into the code for input and output. However in some input of the next so human “cut-and-paste” is cases native legacy methods must still be used frequent. JUMBO allows authors and users to (for example where we do not have access or wrap these codes in XML and convert them to permission to modify source).
    [Show full text]
  • Chem3d Download Mac
    1 / 2 Chem3d Download Mac ChemSketch for Mac OS X, download best alternative solutions carefully chosen by our editors and user community.. Supported in Macintosh for Netscape (4.0+ only). No Mac support for Internet Explorer, Safari, or OSX browsers. To Download and Install Chem3D Plug-in: Go to .... On a Macintosh browser, you can switch between Chime and Chem3D plugins using the Edit/Preferences/Applications menu. On Windows, switching between .... Mac users interested in Chemdraw ultra free generally download: CS ChemDraw Ultra 12.0. ChemDraw is the industry leader of chemical drawing programs.. Aug 25, 2020 — To download ChemDraw, you'll need to create a personal account ... ChemDraw - Activation Help - Win - Mac I get an error message containing, “ … ... Day 2: Part III: ChemDraw; Part IV: Chem3D; Remember that you can .... This includes Chem3D, for Windows only. The licence allows you to download the software to your own PC (not available for Mac). The version currently .... ChemDraw 8 Ultra, Windows And Macintosh Versions. Chemdraw ultra Most people looking for Chemdraw ultra downloaded: ChemDraw Ultra. Download. on .... Chem3D does not show a pair of electrons that is part of an aromatic system. ... well as for the Mac platform and can be downloaded by students and coworker of ... The license is for both the Windows and Mac versions of the software. ... are available in the Windows version (such as Chem3D Pro and E-Notebook Pro). ... Download the software installer for your operating system (Windows or Mac) and .... May 26, 2020 — Accessing and Installing ChemDraw (Mac) or ChemOffice (Windows) ... ChemDraw Professional; ChemDraw for Excel; Chem3D; ChemFinder ..
    [Show full text]
  • Optimizing the Use of Open-Source Software Applications in Drug
    DDT • Volume 11, Number 3/4 • February 2006 REVIEWS TICS INFORMA Optimizing the use of open-source • software applications in drug discovery Reviews Werner J. Geldenhuys1, Kevin E. Gaasch2, Mark Watson2, David D. Allen1 and Cornelis J.Van der Schyf1,3 1Department of Pharmaceutical Sciences, School of Pharmacy,Texas Tech University Health Sciences Center, Amarillo,TX, USA 2West Texas A&M University, Canyon,TX, USA 3Pharmaceutical Chemistry, School of Pharmacy, North-West University, Potchefstroom, South Africa Drug discovery is a time consuming and costly process. Recently, a trend towards the use of in silico computational chemistry and molecular modeling for computer-aided drug design has gained significant momentum. This review investigates the application of free and/or open-source software in the drug discovery process. Among the reviewed software programs are applications programmed in JAVA, Perl and Python, as well as resources including software libraries. These programs might be useful for cheminformatics approaches to drug discovery, including QSAR studies, energy minimization and docking studies in drug design endeavors. Furthermore, this review explores options for integrating available computer modeling open-source software applications in drug discovery programs. To bring a new drug to the market is very costly, with the current of combinatorial approaches and HTS. The addition of computer- price tag approximating US$800 million, according to data reported aided drug design technologies to the R&D approaches of a com- in a recent study [1]. Therefore, it is not surprising that pharma- pany, could lead to a reduction in the cost of drug design and ceutical companies are seeking ways to optimize costs associated development by up to 50% [6,7].
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • E:\Projekty\2001\Bulletin\2001\No07\Buletin 2001 7.Vp
    Chemický průmysl ČR 2000 – Myslet globálně, jednat lokálně Chemický průmysl ČR během 11 let provozu svých výroben, navrhovatelé i zákonodárci v tlaku, který vyvíjí snaha o energetických a vodohospodářských provozů, logistických legislativní smršť, překročí rámec předlouhým jednáním pečlivě komplexů a navazující infrastruktury projevil v prostředí tržní vyvážených směrnic ES a v důsledku naivity, a snad ne záměrně, ekonomiky mimořádnou odolnost vůči nepříznivým vlivům – nastaví průmyslu laťku, kterou má Evropská komise v úmyslu ztrátě východních trhů a orientaci na daleko náročnější trh uzákonit až ve svém středně nebo dlouhodobém záměru. Tak převážně zemí EU, odloučení od partnerských slovenských vznikal chemický zákon č. 157/1999 Sb., nahrazující uvádění podniků a jejich technického zázemí, rozpadu velkých výrobních látek a přípravků na trh pojmem nakládání s nimi, s nadbytečným uskupení a ztrátě obchodní infrastruktury bývalých PZO. povolováním, ohlašováním, evidencí a autorizacemi, v zemích Zahraniční kapitál se zajímal o podniky chemického průmyslu EU neznámými instituty. Rovněž ustanovením o povinném spíše výjimečně (např. Linde Technoplyn, Pliva–Lachema, pojištění vůči škodám třetím osobám a o požadavcích na rozsáhlé Silon, CHZ Sokolov, MCHZ a DEZA částečně, Česká rafi- písemné dokumenty o protihavarijní připravenosti ze zákona č. nérská, Barum Continental). Podniky dostály svým závazkům 353/1999 Sb., o prevenci závažných havárií jsme asi o roky vůči státu i zaměstnancům na rozdíl od jiných podniků tradičních předstihli právní stav, který platí v regionu, kam směřujeme – průmyslových odvětví. Dokázaly se vyrovnat s důsledky I. debaty o tzv. environmental liability tam trvají více než 10 let a generace nových právních předpisů na ochranu životního nekončí. Na rozdíl od českých právních předpisů v zemích EU prostředí - bohužel především investicemi do koncových nelze klást překážky volnému pohybu zboží, např.
    [Show full text]
  • Bringing Open Source to Drug Discovery
    Bringing Open Source to Drug Discovery Chris Swain Cambridge MedChem Consulting Standing on the shoulders of giants • There are a huge number of people involved in writing open source software • It is impossible to acknowledge them all individually • The slide deck will be available for download and includes 25 slides of details and download links – Copy on my website www.cambridgemedchemconsulting.com Why us Open Source software? • Allows access to source code – You can customise the code to suit your needs – If developer ceases trading the code can continue to be developed – Outside scrutiny improves stability and security What Resources are available • Toolkits • Databases • Web Services • Workflows • Applications • Scripts Toolkits • OpenBabel (htttp://openbabel.org) is a chemical toolbox – Ready-to-use programs, and complete programmer's toolkit – Read, write and convert over 110 chemical file formats – Filter and search molecular files using SMARTS and other methods, KNIME add-on – Supports molecular modeling, cheminformatics, bioinformatics – Organic chemistry, inorganic chemistry, solid-state materials, nuclear chemistry – Written in C++ but accessible from Python, Ruby, Perl, Shell scripts… Toolkits • OpenBabel • R • CDK • OpenCL • RDkit • SciPy • Indigo • NumPy • ChemmineR • Pandas • Helium • Flot • FROWNS • GNU Octave • Perlmol • OpenMPI Toolkits • RDKit (http://www.rdkit.org) – A collection of cheminformatics and machine-learning software written in C++ and Python. – Knime nodes – The core algorithms and data structures are written in C ++. Wrappers are provided to use the toolkit from either Python or Java. – Additionally, the RDKit distribution includes a PostgreSQL-based cartridge that allows molecules to be stored in relational database and retrieved via substructure and similarity searches.
    [Show full text]
  • The Chemistry Development Kit (CDK). 3
    Willighagen et al. RESEARCH The Chemistry Development Kit (CDK). 3. Atom typing, Rendering, Molecular Formula, and Substructure Searching Egon L Willighagen1*, John W May2, Jonathan Alvarsson3, Arvid Berg3, Nina Jeliazkova4, Tom´aˇsPluskal7, Miguel Rojas-Cherto??, Ola Spjuth3, Gilleain Torrance??, Rajarshi Guha5 and Christoph Steinbeck6 *Correspondence: [email protected] Abstract 1 Dept of Bioinformatics - BiGCaT, NUTRIM, Maastricht Background: Cheminformatics is a well-established field with many applications University, NL-6200 MD, in chemistry, biology, drug discovery, and others. The Chemistry Development Kit Maastricht, The Netherlands Full list of author information is (CDK) has become a widely used Open Source cheminformatics toolkit, available at the end of the article providing various models to represent chemical structures, of which the chemical graph is essential. However, in the first five years of the project increased so much in size that interdependencies between components grew unmanageable large, resulting in unpredictable instabilities. Results: We here report improvements to the CDK since the 1.2 release series made to accommodate both the increased complexity of the library, as well as significant improvements of and additions to the functionality of the library. Second, we outline how the CDK evolved with respect to quality control and the approach we have adopted to ensure stability, including a peer review mechanism. Additionally, a selection of the new APIs that have been introduced will be discussed: atom type perception, substructure searching, molecular fingerprints, rendering of molecules, and handling of molecular formulas. Conclusions: With this paper we have shown the continued effort to provide a free, Open Source cheminformatics library, and show that such collaborative projects can exist over a long period.
    [Show full text]
  • Open Source Molecular Modeling
    Accepted Manuscript Title: Open Source Molecular Modeling Author: Somayeh Pirhadi Jocelyn Sunseri David Ryan Koes PII: S1093-3263(16)30118-8 DOI: http://dx.doi.org/doi:10.1016/j.jmgm.2016.07.008 Reference: JMG 6730 To appear in: Journal of Molecular Graphics and Modelling Received date: 4-5-2016 Accepted date: 25-7-2016 Please cite this article as: Somayeh Pirhadi, Jocelyn Sunseri, David Ryan Koes, Open Source Molecular Modeling, <![CDATA[Journal of Molecular Graphics and Modelling]]> (2016), http://dx.doi.org/10.1016/j.jmgm.2016.07.008 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain. Open Source Molecular Modeling Somayeh Pirhadia, Jocelyn Sunseria, David Ryan Koesa,∗ aDepartment of Computational and Systems Biology, University of Pittsburgh Abstract The success of molecular modeling and computational chemistry efforts are, by definition, de- pendent on quality software applications. Open source software development provides many advantages to users of modeling applications, not the least of which is that the software is free and completely extendable. In this review we categorize, enumerate, and describe available open source software packages for molecular modeling and computational chemistry. 1. Introduction What is Open Source? Free and open source software (FOSS) is software that is both considered \free software," as defined by the Free Software Foundation (http://fsf.org) and \open source," as defined by the Open Source Initiative (http://opensource.org).
    [Show full text]