<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkINRHY4cCp7ImA9WhRUF00.&quot;"><id>tag:blogger.com,1999:blog-17889588</id><updated>2012-01-27T23:49:55.838+01:00</updated><category term="metabolomics" /><category term="pytassium" /><category term="protocol" /><category term="life sciences" /><category term="aromaticity" /><category term="crystal" /><category term="community" /><category term="representation" /><category term="nature" /><category term="regexp" /><category term="poll" /><category term="sed" /><category term="pmd" /><category term="academia" /><category term="orcid" /><category term="publising" /><category term="Freebase" /><category term="crossref" /><category term="searching" /><category term="three months" /><category term="nanomaterials" /><category term="overheating" /><category term="sweave" /><category term="Firefly" /><category term="RDF Schema" /><category term="preceedings" /><category term="google wave" /><category term="RDF" /><category term="n3" /><category term="OPSIN" /><category term="friendfeed" /><category term="webservices" /><category term="freemind" /><category term="Yahoo Pipes" /><category term="Chemical blogspace" /><category term="McPrinciple4" /><category term="similarity" /><category term="nxclient" /><category term="fork" /><category term="c" /><category term="ThermoML" /><category term="vetenskapsradet" /><category term="patent" /><category term="brenda" /><category term="delicious" /><category term="McPrinciple3" /><category term="design" /><category term="eclipsercp" /><category term="blogspace" /><category term="Cathedral" /><category term="Colipa" /><category term="bisect" /><category term="MetWare" /><category term="rcdk" /><category term="BIBO" /><category term="search engine" /><category term="creative commons" /><category term="normalization" /><category term="XMLBeans" /><category term="atoms" /><category term="call for help" /><category term="announcement" /><category term="internationalization" /><category term="Cytoscape" /><category term="plugin" /><category term="LarKC" /><category term="LaunchPad" /><category term="misconception" /><category term="OHLOH" /><category term="schrödinger" /><category term="services" /><category term="chem-bla-ics" /><category term="OWL" /><category term="productivity" /><category term="Steinbeck" /><category term="NIH" /><category term="social network" /><category term="del.icio.us" /><category term="iCODONS" /><category term="ROI" /><category term="Jambi" /><category term="ProtopediA" /><category term="personas" /><category term="OpenBabel" /><category term="bot" /><category term="workaround" /><category term="ChemStar" /><category term="ResearchBlogging" /><category term="cookies" /><category term="io-data" /><category term="MediaWiki" /><category term="RELAX NG" /><category term="PLoS" /><category term="chempedia" /><category term="OSCAR" /><category term="unions" /><category term="Operator" /><category term="science3.0" /><category term="Bristol-Myers Squibb" /><category term="hts" /><category term="transcriptomics" /><category term="Ruby" /><category term="namespace" /><category term="ELN" /><category term="identi.ca" /><category term="NX" /><category term="ckan" /><category term="macroarray" /><category term="XSD" /><category term="funny" /><category term="formative assessment" /><category term="RDFa" /><category term="PDB" /><category term="Biometris" /><category term="UPPMAX" /><category term="virtual screening" /><category term="ontology" /><category term="HTTP" /><category term="counter ion" /><category term="regression" /><category term="xulrunner" /><category term="PDDL" /><category term="Rhino" /><category term="much" /><category term="pancreatic" /><category term="sun" /><category term="BoX" /><category term="Wiley" /><category term="performance" /><category term="Talis" /><category term="descriptors" /><category term="sugammadex" /><category term="virtualbox" /><category term="triazole" /><category term="jQuery" /><category term="japex" /><category term="genetic algorithm" /><category term="ToxBank" /><category term="chemical structure recognition" /><category term="CHIP" /><category term="opensource chemoinformatics" /><category term="MACiE" /><category term="CML" /><category term="cip" /><category term="JChemPaint" /><category term="hCard" /><category term="Jabber" /><category term="RMI" /><category term="CASE" /><category term="LDAP" /><category term="lwn.net" /><category term="lulu" /><category term="mutagenecity" /><category term="xws4j" /><category term="end point" /><category term="release" /><category term="advisory board" /><category term="repoisitory" /><category term="BSL" /><category term="bugzilla" /><category term="invisible" /><category term="MVC" /><category term="2011" /><category term="timeline" /><category term="similarity searching" /><category term="text mining" /><category term="Janocchio" /><category term="Craft" /><category term="benchmark" /><category term="CiteULike" /><category term="pharmaceutical bioinformatics" /><category term="cas" /><category term="oscar4" /><category term="forum" /><category term="Peter Murray-Rust" /><category term="archive" /><category term="amazon" /><category term="peer review" /><category term="karolinska" /><category term="file" /><category term="presentations" /><category term="CambridgeSoft" /><category term="crystallography" /><category term="Copenhagen" /><category term="enumeration" /><category term="Web Tools Platform" /><category term="sechemtic" /><category term="reasoning" /><category term="chemoinformtics" /><category term="BODR" /><category term="SOAP" /><category term="web2.0" /><category term="slideshare" /><category term="LODD" /><category term="mozilla" /><category term="model" /><category term="phosphates" /><category term="SENECA" /><category term="dont-read" /><category term="RetractionWatch" /><category term="Halle" /><category term="onssolubility" /><category term="2009" /><category term="openstandards" /><category term="doclet" /><category term="fittest" /><category term="XCMS" /><category term="assessment" /><category term="micro arrays" /><category term="offspring" /><category term="bugs" /><category term="editorial" /><category term="enzyme" /><category term="metabolite identity" /><category term="applet" /><category term="threading" /><category term="chrome" /><category term="BioMoby" /><category term="inheritance" /><category term="job" /><category term="GSoC" /><category term="git" /><category term="data analysis" /><category term="cito" /><category term="torrent" /><category term="depiction" /><category term="cdkws2009" /><category term="jaunty" /><category term="libcdk-java" /><category term="open access" /><category term="AMBIT" /><category term="OCR" /><category term="2008" /><category term="workshop" /><category term="InChI" /><category term="PDF" /><category term="CHEMINF" /><category term="lab notebook" /><category term="BioMeta" /><category term="OpenScience" /><category term="Perl" /><category term="2007" /><category term="open project" /><category term="jtwitter" /><category term="GPL" /><category term="CMLSpect" /><category term="sulfur" /><category term="controller" /><category term="farnesol" /><category term="Rednael" /><category term="ACS" /><category term="planeteclipse" /><category term="Eclipse" /><category term="COI" /><category term="Virtuoso" /><category term="network" /><category term="project" /><category term="petabyte chemoinformatics QSAR data modeling science theory" /><category term="Python" /><category term="ontologies" /><category term="education" /><category term="toxicology" /><category term="Web of Science" /><category term="planet" /><category term="MDL SD file" /><category term="QSAR" /><category term="cloud service" /><category term="linked data" /><category term="bad science" /><category term="ICCS" /><category term="github" /><category term="self-organizing map" /><category term="URI" /><category term="kabsch" /><category term="London" /><category term="Oracle" /><category term="FOAF" /><category term="mashups" /><category term="Beans" /><category term="#solo10" /><category term="Wikipedia" /><category term="tautomerism" /><category term="researcherid" /><category term="Chicago" /><category term="BeanShell" /><category term="nuclei" /><category term="proteins" /><category term="woordenboek organische chemie" /><category term="usability" /><category term="repository" /><category term="BioWizard" /><category term="KDE" /><category term="candidates" /><category term="knowledge" /><category term="explosives" /><category term="CitedIn" /><category term="nmrshiftdb.org" /><category term="mylyn" /><category term="RSC" /><category term="distributed computing" /><category term="quantum computing" /><category term="publishing" /><category term="vrms" /><category term="literature" /><category term="electronic lab notebook" /><category term="copyright" /><category term="bugreports" /><category term="scientific programming" /><category term="kernel" /><category term="JCIM" /><category term="PRI" /><category term="embrace0811" /><category term="SWT" /><category term="Nature Network" /><category term="ARFF" /><category term="cancer" /><category term="discussion" /><category term="StackExchange" /><category term="JSP" /><category term="metabolomics online multiplayer game chemistry biology metabolomism" /><category term="funding" /><category term="game theory" /><category term="open source" /><category term="dbus" /><category term="validation" /><category term="solubility" /><category term="Cambridge" /><category term="firefox" /><category term="NIST" /><category term="hackathon" /><category term="google map" /><category term="SPECTRa" /><category term="Strigi" /><category term="todo" /><category term="ugichem2cml" /><category term="blueobelisk" /><category term="ChemBox" /><category term="blogs" /><category term="cpu" /><category term="contest" /><category term="PMC" /><category term="sequence" /><category term="badge" /><category term="PRIDE" /><category term="OpenJavaDocCheck" /><category term="supramolecular" /><category term="OSRA" /><category term="noordwijkerhout" /><category term="proteochemometrics" /><category term="movie" /><category term="email address" /><category term="RCP" /><category term="metabolites" /><category term="preprint server" /><category term="mbelixir0109" /><category term="impact" /><category term="HTML" /><category term="Qt" /><category term="Taverna0710" /><category term="lacosamide" /><category term="version control" /><category term="extrapolation" /><category term="GDCh" /><category term="noise" /><category term="commit hook" /><category term="much more" /><category term="SPARQL" /><category term="wiki" /><category term="chemoinformatics" /><category term="LGPL" /><category term="debugging" /><category term="workflow" /><category term="jspecview" /><category term="QSPR" /><category term="chemistry archeology" /><category term="Slashdot" /><category term="sciblog" /><category term="jena" /><category term="ipad" /><category term="open data" /><category term="environment" /><category term="conference" /><category term="molfile" /><category term="Dryad" /><category term="eu" /><category term="Scintilla" /><category term="spreadsheet" /><category term="shaper" /><category term="feedback" /><category term="survifal" /><category term="sdk" /><category term="eRDF" /><category term="patching" /><category term="window scaling" /><category term="amsterdam" /><category term="code review" /><category term="science" /><category term="documention" /><category term="Beilstein" /><category term="panton principles" /><category term="CAOS/CAMM" /><category term="license:bsd" /><category term="chemweb.com" /><category term="google scholar" /><category term="research" /><category term="APIConsumer" /><category term="pKa" /><category term="gass chromatography" /><category term="politics" /><category term="programming" /><category term="thesauri" /><category term="markup languages" /><category term="CrystalEye" /><category term="Uppsala" /><category term="Imperial College" /><category term="simile timeline" /><category term="potsdam" /><category term="acknowledgements" /><category term="SMILES" /><category term="CompLife" /><category term="morgan numbers" /><category term="NMRShiftDB" /><category term="Taverna" /><category term="tagging" /><category term="PubMed Central" /><category term="data" /><category term="profiling" /><category term="drugs" /><category term="web application" /><category term="clustering" /><category term="molecular volume" /><category term="KEGG" /><category term="open science" /><category term="latex" /><category term="IChemObject" /><category term="American Chemical Society" /><category term="odk" /><category term="Open Standard" /><category term="interfaces" /><category term="surfactants" /><category term="ACD" /><category term="coding conventions" /><category term="internetexplorer" /><category term="chembl" /><category term="Tabulator" /><category term="Uniprot" /><category term="SOM" /><category term="Open Notebook Science" /><category term="TCP" /><category term="license" /><category term="depressing news" /><category term="Feisty" /><category term="email" /><category term="xhtml" /><category term="XML Schema" /><category term="CIC" /><category term="Goslar" /><category term="molecular" /><category term="patch" /><category term="scripting" /><category term="JOELib" /><category term="visualization" /><category term="cdkbook" /><category term="ScaffoldHunter" /><category term="wizard" /><category term="fog" /><category term="DocCheck" /><category term="kemistry" /><category term="organic chemistry" /><category term="ChEMBL-RDF" /><category term="MDL molfile" /><category term="viagra" /><category term="squid" /><category term="africa" /><category term="open laboratory" /><category term="build.xml" /><category term="groovy" /><category term="graph theory" /><category term="unit testing" /><category term="dapagliflozin" /><category term="defense" /><category term="statistics" /><category term="blogging" /><category term="google" /><category term="Netherlands" /><category term="answers" /><category term="slides" /><category term="podcast" /><category term="LibreOffice" /><category term="Kepler" /><category term="acs_sf" /><category term="template" /><category term="Sweden" /><category term="Swing" /><category term="Wageningen" /><category term="pmrgrantproposal" /><category term="OWL CDK" /><category term="opensource" /><category term="IRC" /><category term="docking" /><category term="maintenance" /><category term="Nijmegen" /><category term="ODOSOS" /><category term="openrescomp" /><category term="teaching" /><category term="business model" /><category term="supernightly" /><category term="CLASSPATH" /><category term="Jmol" /><category term="PUG" /><category term="Debian" /><category term="PLoS ONE" /><category term="pharmacology" /><category term="Maven2" /><category term="open acess" /><category term="stereochemistry" /><category term="benzene" /><category term="libraries" /><category term="CDK" /><category term="proteomics" /><category term="metabolism" /><category term="twitter" /><category term="source code" /><category term="standards" /><category term="Subclipse" /><category term="PPA" /><category term="symposium" /><category term="xbsh" /><category term="contenttype" /><category term="oxfordadmet2010" /><category term="myExperiment" /><category term="PCA" /><category term="Sinterklaas" /><category term="swat4ls2009" /><category term="MQL" /><category term="data mining" /><category term="PLS" /><category term="documentation" /><category term="clojure" /><category term="rights" /><category term="commercial" /><category term="registry number" /><category term="tagometer" /><category term="InChIKey" /><category term="JChemInf" /><category term="atom types" /><category term="PAHs" /><category term="corn" /><category term="branches" /><category term="rrdf" /><category term="structure elucidation" /><category term="Boeing" /><category term="JExample" /><category term="Mendeley" /><category term="journal" /><category term="LinkedIn" /><category term="URN" /><category term="KNIME" /><category term="SourceForge" /><category term="pharmacokinetics" /><category term="chinese medicine" /><category term="oil" /><category term="RDFIO" /><category term="molecules" /><category term="CRAN" /><category term="BioSpider" /><category term="partial least squares" /><category term="schema" /><category term="OSMB2007" /><category term="ubiquity" /><category term="Eli Lilly" /><category term="URL" /><category term="inhibitor" /><category term="XML" /><category term="WebNG" /><category term="google adsense" /><category term="usefulchem" /><category term="CSL" /><category term="cinfony" /><category term="boring" /><category term="loadClassInternal" /><category term="openaccess" /><category term="svg" /><category term="Bio2RDF" /><category term="rdkit" /><category term="text books" /><category term="code quality" /><category term="EBI" /><category term="Lanyrd" /><category term="JSF" /><category term="code analysis" /><category term="microarray" /><category term="boston" /><category term="widget" /><category term="ACS_Boston" /><category term="chemogenomics" /><category term="translational cheminformatics" /><category term="Analytics" /><category term="Nightly" /><category term="trust" /><category term="javascript" /><category term="dbpedia" /><category term="lipinski" /><category term="documents" /><category term="jenkins" /><category term="signature" /><category term="PNG" /><category term="sciblog london 2008 science blogging" /><category term="RPC" /><category term="SDF" /><category term="OSCAR3" /><category term="press" /><category term="GNOME" /><category term="console" /><category term="sex" /><category term="Akregator" /><category term="drug discovery" /><category term="wordle" /><category term="browser" /><category term="CINF" /><category term="proteopedia" /><category term="GRDDL" /><category term="ligand" /><category term="Shapado" /><category term="JUnit" /><category term="BioMart" /><category term="football" /><category term="wave" /><category term="isomorphism" /><category term="JVM" /><category term="ant" /><category term="vision" /><category term="postdoc" /><category term="ionozation potential" /><category term="linguistics" /><category term="OpenData" /><category term="tool" /><category term="Postgenomic.com" /><category term="CC0" /><category term="chemometrics" /><category term="HCI" /><category term="pubchem" /><category term="XMPP" /><category term="YouTube" /><category term="Bazaar" /><category term="Java" /><category term="API" /><category term="2005" /><category term="RDFaDev" /><category term="protein" /><category term="biblatex" /><category term="force field" /><category term="OpenNMR" /><category term="NMR" /><category term="history" /><category term="redistribution" /><category term="metadata" /><category term="pharmacodynamics" /><category term="DTD" /><category term="FP7" /><category term="opencryst" /><category term="package" /><category term="development" /><category term="unacceptable" /><category term="robot" /><category term="pymol" /><category term="competition" /><category term="WUR" /><category term="genome" /><category term="bioinformatics" /><category term="classification" /><category term="chemical" /><category term="homepage" /><category term="University" /><category term="PhD" /><category term="work" /><category term="IMM" /><category term="LOCD" /><category term="blogger.com" /><category term="openoffice.org" /><category term="McPrinciple2" /><category term="FASTA" /><category term="molecule" /><category term="JQ1" /><category term="HCLS" /><category term="Rich Client Platform" /><category term="VR" /><category term="bug track system" /><category term="Ugi" /><category term="cheminformatics" /><category term="diff" /><category term="chemistry" /><category term="xyz file" /><category term="JavaDoc" /><category term="dutch" /><category term="Second Nature" /><category term="chemical space" /><category term="McPrinciple1" /><category term="google insight search chemoinformatics" /><category term="anniversary" /><category term="summer of code" /><category term="BioCatalogue" /><category term="subversion" /><category term="Excel" /><category term="opensource cheminformatics" /><category term="ChemSpider" /><category term="atom typing" /><category term="thesis" /><category term="coordinates" /><category term="ring finding" /><category term="WTP" /><category term="mass spectroscopy" /><category term="ChemDoodle" /><category term="BioStar" /><category term="BibTeX" /><category term="CMLRSS" /><category term="cdk-taverna" /><category term="Ugi reaction" /><category term="PubMed" /><category term="gutsy" /><category term="xlogp" /><category term="howtos" /><category term="Organon" /><category term="GeneOntology" /><category term="Kasabi" /><category term="gist" /><category term="XEP" /><category term="salt" /><category term="JabRef" /><category term="open standards" /><category term="JSON" /><category term="BibTeXML" /><category term="EuroStar" /><category term="catalog" /><category term="identifier" /><category term="Weka" /><category term="Bulls" /><category term="IUPAC name" /><category term="oxford" /><category term="cheminforamtics" /><category term="cdk cdkws2009 groovy" /><category term="ChemDB" /><category term="hudson" /><category term="meeting" /><category term="gittodo" /><category term="ChEBI" /><category term="ArMet" /><category term="zest" /><category term="Semantic MediaWiki" /><category term="Linux" /><category term="parallelism" /><category term="CC-BY" /><category term="Ubuntu" /><category term="machine learning" /><category term="license:mit" /><category term="questions" /><category term="chemicalblogspace" /><category term="open research computation" /><category term="bibliography" /><category term="kohonen map" /><category term="beer" /><category term="SQL" /><category term="chem4word" /><category term="SKOS" /><category term="WDSL" /><category term="fingerprint" /><category term="light" /><category term="Symyx" /><category term="metabolic fate" /><category term="ChemicalTagger" /><category term="triple store" /><category term="word" /><category term="bacteria" /><category term="non-commercial" /><category term="quality assurance" /><category term="BioMedCentral" /><category term="tanimoto" /><category term="RSS" /><category term="SoC" /><category term="digital object identifier" /><category term="tips" /><category term="SVM" /><category term="mod_proxy" /><category term="nanotechnology" /><category term="Frankfurt" /><category term="post-doc" /><category term="Programmeerzomer" /><category term="Project Prospect" /><category term="greasemonkey" /><category term="Kalzium" /><category term="supercomputing" /><category term="rdf.openmolecules.net" /><category term="connotea" /><category term="XSLT" /><category term="violation" /><category term="scalability" /><category term="maize" /><category term="altmetrics" /><category term="topic maps" /><category term="semantic web" /><category term="boppard" /><category term="CHED" /><category term="cloud" /><category term="IUPAC" /><category term="microformats" /><category term="reaction" /><category term="editor" /><category term="userscript" /><category term="spectroscopy" /><category term="SEURAT-1" /><category term="AstraZeneca" /><category term="data minging" /><category term="starlite" /><category term="OpenChemicalData" /><category term="quantum chemistry" /><category term="chemical editors" /><category term="testing" /><category term="mass spectrometry" /><category term="capitalism" /><category term="screencast" /><category term="CDK News" /><category term="network analysis" /><category term="chemaxiom" /><category term="pastebin" /><category term="Clusty" /><category term="MOL2" /><category term="graph" /><category term="Cologne" /><category term="opentox" /><category term="NestedVM" /><category term="unconference" /><category term="buckminster" /><category term="Metaweb" /><category term="Tomcat5.5" /><category term="Chemistry Central" /><category term="Bioclipse" /><category term="DOI" /><category term="line notation" /><category term="database" /><category term="biomarker" /><category term="apache" /><category term="rendering" /><category term="gtd" /><category term="meme" /><category term="birthday" /><category term="law" /><category term="REST" /><category term="science commons" /><category term="Blue Obelisk" /><category term="tutorial" /><category term="open specifications" /><category term="ant-contrib" /><category term="molecular chemometrics" /><category term="communication" /><category term="book" /><category term="UFF" /><category term="ascii" /><category term="chemblaics" /><category term="supervised" /><category term="Germany" /><category term="bitbucket" /><category term="desktop search" /><category term="CUBIC" /><category term="microsoft" /><category term="SVN" /><category term="PaDEL" /><category term="mercurial" /><category term="acsrdf2010" /><category term="R" /><category term="Second Life" /><title>chem-bla-ics</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://chem-bla-ics.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>816</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/mpIP" /><feedburner:info uri="blogspot/mpip" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CkcAQn0_fSp7ImA9WhRVF0g.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-4068286059380438257</id><published>2012-01-16T22:40:00.002+01:00</published><updated>2012-01-16T22:40:43.345+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T22:40:43.345+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics" /><title>CDK 1.5.0: the changes, the authors, and the reviewers</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Yeah, I did it. I made the first new development release (&lt;a href="https://sourceforge.net/projects/cdk/files/cdk%20%28development%29/1.5.0/"&gt;1.5.0&lt;/a&gt;) for the &lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt; after the fork of the stable 1.4.x series. It had to happen after the removal of &lt;i&gt;IMolecule&lt;/i&gt; and &lt;i&gt;IMoleculeSet&lt;/i&gt;. &amp;nbsp;Well, in fact, while the list just lists all the patches specific for the current master branch, it is still fairly long. Then again, quite a few of my 'commits' are probably just merges.&lt;br /&gt;&lt;br /&gt;Just to make clear, this is a development release, and until we freeze this branch, we expect, and actually intentionally add, API changes. Of course, we intent those to improve things, and please shout out your wishes.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;First of all, this release removed IMolecule and IMoleculeSet. That was a big effort, explaining why Rajarshi and I have so many commits in this release. This release also adds the LINGO fingerprint type and a atomic signature-based fingerprint. It removes the &lt;i&gt;nonotify&lt;/i&gt; module, as the silent module should be used instead.&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;i&gt;IChemObjectIO&lt;/i&gt; now extends &lt;i&gt;Closeable&lt;/i&gt;, making it more Java7-friendly. Also noteworthy is the API for raw fingerprints, which are not of fixed length, but have key and counts. On the implementation side, the &lt;i&gt;QueryAtomContainer&lt;/i&gt; now uses local, custom implementations of &lt;i&gt;IAtom&lt;/i&gt; and &lt;i&gt;IBond&lt;/i&gt;, making the module independent from the data module, freeing the rest of the library for more code clean up.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Mind you, this release shows an &lt;a href="http://pele.farmbio.uu.se/supernightly/"&gt;increased number of failing unit tests&lt;/a&gt; on Nightly.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The changes&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;
&lt;li&gt;This commit puts a single comment line for the molecule @param in placeAliphaticHeavyChain() method. &lt;a href="https://github.com/cdk/cdk/commit/61377fb"&gt;61377fb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed JUnit version &lt;a href="https://github.com/cdk/cdk/commit/41075f3"&gt;41075f3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Upgraded PMD to 4.3 &lt;a href="https://github.com/cdk/cdk/commit/79e4532"&gt;79e4532&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Upgraded JUnit to 4.10 &lt;a href="https://github.com/cdk/cdk/commit/67a1f23"&gt;67a1f23&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated the @TestMethod to match the unit test method renames that recently happened &lt;a href="https://github.com/cdk/cdk/commit/0ad0fd0"&gt;0ad0fd0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed comparison, to use the proper double assertEquals method &lt;a href="https://github.com/cdk/cdk/commit/1ecc22b"&gt;1ecc22b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Renamed the overriding methods to match the method rename of the methods in AbstractChemModelTest they are overriding. This is why one should use @Override. &lt;a href="https://github.com/cdk/cdk/commit/1d34aac"&gt;1d34aac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Switched order of IRing and IAtomContainer matching, to fix construction if IRing classes &lt;a href="https://github.com/cdk/cdk/commit/4741983"&gt;4741983&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed IMolecule &lt;a href="https://github.com/cdk/cdk/commit/2fc6b61"&gt;2fc6b61&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replaced more IMolecule by IAtomContainer, fixing more unit test regressions &lt;a href="https://github.com/cdk/cdk/commit/611aaca"&gt;611aaca&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A set of casting fixes to reduce the number of unit test regressions &lt;a href="https://github.com/cdk/cdk/commit/2599bc2"&gt;2599bc2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Proper typing of the DefaultIteratingChemObjectReader, so that other classes can safely extend it (thanx to Nina) &lt;a href="https://github.com/cdk/cdk/commit/de67121"&gt;de67121&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed some more usages of Molecule &lt;a href="https://github.com/cdk/cdk/commit/b84587f"&gt;b84587f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated casting to remove usage of Molecule &lt;a href="https://github.com/cdk/cdk/commit/04b1542"&gt;04b1542&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Typed the iterator, removing the need for casting when used &lt;a href="https://github.com/cdk/cdk/commit/6e6cf8e"&gt;6e6cf8e&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Two s/IMolecule/IAtomContainer/ patches to fix a few unit test regressions &lt;a href="https://github.com/cdk/cdk/commit/f6ed3d7"&gt;f6ed3d7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;More Molecule use removed &lt;a href="https://github.com/cdk/cdk/commit/0a04d3f"&gt;0a04d3f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Update some return types to not use Molecule &lt;a href="https://github.com/cdk/cdk/commit/1d8ee25"&gt;1d8ee25&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed field declarations of Molecule &lt;a href="https://github.com/cdk/cdk/commit/88a2935"&gt;88a2935&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removes instanceof and .class usage of Molecule &lt;a href="https://github.com/cdk/cdk/commit/436dba5"&gt;436dba5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Another batch of s/IMolecule/IAtomContainer/ &lt;a href="https://github.com/cdk/cdk/commit/5da1d1b"&gt;5da1d1b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Made SmilesParser independent from IMolecule &lt;a href="https://github.com/cdk/cdk/commit/6bf4aa2"&gt;6bf4aa2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Got rid of debug and silent Molecule implementations and respective tests &lt;a href="https://github.com/cdk/cdk/commit/9f05e5c"&gt;9f05e5c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Refactored classes extendign Molecule to use AtomContainer &lt;a href="https://github.com/cdk/cdk/commit/2ccbe95"&gt;2ccbe95&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed the last traces of the IMoleculeSet interface &lt;a href="https://github.com/cdk/cdk/commit/a8c03af"&gt;a8c03af&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Got rid of MoleculeSet from the debug module &lt;a href="https://github.com/cdk/cdk/commit/50aa11f"&gt;50aa11f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Got rid of MoleculeSet from the silent module &lt;a href="https://github.com/cdk/cdk/commit/2250763"&gt;2250763&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated IPolymer to extend IAtomContainer rather than IMolecule &lt;a href="https://github.com/cdk/cdk/commit/5b7ad0f"&gt;5b7ad0f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;cleaned up a bunch of MoleculeSet usages &lt;a href="https://github.com/cdk/cdk/commit/150fee9"&gt;150fee9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated various reaction classes to remove all usage of Molecule* &lt;a href="https://github.com/cdk/cdk/commit/0a98a7f"&gt;0a98a7f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated IReactionMechanism to use IAtomContainerSet. Also fixed some castings. &lt;a href="https://github.com/cdk/cdk/commit/738eece"&gt;738eece&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Convert IMolecule* to IAtomContainer* across many more classes &lt;a href="https://github.com/cdk/cdk/commit/c9847d2"&gt;c9847d2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Some IMolecule/IAtomContainer fixes, to get things to compile here &lt;a href="https://github.com/cdk/cdk/commit/c950448"&gt;c950448&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Convert IMolecule* to IAtomContainer* across some charges and test classes &lt;a href="https://github.com/cdk/cdk/commit/f74a3ad"&gt;f74a3ad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed the nonotify module (replaced by silent) &lt;a href="https://github.com/cdk/cdk/commit/51af326"&gt;51af326&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A bit more IMolecule removal &lt;a href="https://github.com/cdk/cdk/commit/d8d6eee"&gt;d8d6eee&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed castings, to solve failing unit tests &lt;a href="https://github.com/cdk/cdk/commit/d273aa4"&gt;d273aa4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A quick fix. This class will soon be removed, so no peer review needed. &lt;a href="https://github.com/cdk/cdk/commit/9e97f2d"&gt;9e97f2d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed a casting &lt;a href="https://github.com/cdk/cdk/commit/3c1086a"&gt;3c1086a&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed methods, to get the number of unit test fails down; this two classes will be remove completely, so skipping peer review &lt;a href="https://github.com/cdk/cdk/commit/1bbfe5a"&gt;1bbfe5a&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;More modifications to use AtomContainer rather than Molecule &lt;a href="https://github.com/cdk/cdk/commit/f4647d8"&gt;f4647d8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Moved TetrahedralChirality from data to core. &lt;a href="https://github.com/cdk/cdk/commit/46e3ddc"&gt;46e3ddc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replace IMolecule* with IAtomContainer* &lt;a href="https://github.com/cdk/cdk/commit/27c6f7d"&gt;27c6f7d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated io classes to use IAtomContainer* &lt;a href="https://github.com/cdk/cdk/commit/68f2a65"&gt;68f2a65&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Converted template handler to use atomcontainerset &lt;a href="https://github.com/cdk/cdk/commit/f0cf950"&gt;f0cf950&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Refactored the setters from IReaction to use IAtomContainer* &lt;a href="https://github.com/cdk/cdk/commit/04cbb29"&gt;04cbb29&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Refactored the last getter from IReaction to use IAtomContainer* &lt;a href="https://github.com/cdk/cdk/commit/91f8083"&gt;91f8083&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Made sure that we use IAtomContainerSet rather than casting back to Molecule* &lt;a href="https://github.com/cdk/cdk/commit/104ecd1"&gt;104ecd1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Modified IReaction and related classes to migrate from IMoleculeSet to IAtomContainerSet &lt;a href="https://github.com/cdk/cdk/commit/19b7673"&gt;19b7673&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replaced IMolecule* with IAtomContainer* &lt;a href="https://github.com/cdk/cdk/commit/7f6617d"&gt;7f6617d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replaced IMolecule with IAtomContainer for some IReaction methods &lt;a href="https://github.com/cdk/cdk/commit/3d3037f"&gt;3d3037f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replaced use of addMolecule() with addAtomContainer() &lt;a href="https://github.com/cdk/cdk/commit/2c1b31a"&gt;2c1b31a&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replaced use of getMoleculeCount() with getAtomContainerCount() &lt;a href="https://github.com/cdk/cdk/commit/b27ee12"&gt;b27ee12&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replace use of IMoleculeSet by IAtomContainerSet in ConnectivityChecker.partitionIntoMolecules() &lt;a href="https://github.com/cdk/cdk/commit/42861a9"&gt;42861a9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replaced IMoleculeSet with IAtomContainerSet, fixing a compile issue &lt;a href="https://github.com/cdk/cdk/commit/2ac19f1"&gt;2ac19f1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Patched bpol descriptor with cheminf ID &lt;a href="https://github.com/cdk/cdk/commit/a4db4a2"&gt;a4db4a2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Make IChemObjectIO extend Closeable as suggested at http://sourceforge.net/tracker/?func=detail&amp;amp;atid=370024&amp;amp;aid=3437936&amp;amp;group_id=20024 &lt;a href="https://github.com/cdk/cdk/commit/a250cb3"&gt;a250cb3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Makes the smiles module independent from the data module &lt;a href="https://github.com/cdk/cdk/commit/a7920c1"&gt;a7920c1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;More use of interfaces rather than implementations for the smiles module &lt;a href="https://github.com/cdk/cdk/commit/c3040e8"&gt;c3040e8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed non-existing dependency &lt;a href="https://github.com/cdk/cdk/commit/3eaeaa7"&gt;3eaeaa7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Work with AtomContainers (fixes #2788763) &lt;a href="https://github.com/cdk/cdk/commit/c72d442"&gt;c72d442&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Allow IChemModels to contain IAtomContainerSets (addresses #2784940) &lt;a href="https://github.com/cdk/cdk/commit/4cc5ff8"&gt;4cc5ff8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replaces junit.framework.Assert from JUnit3 with org.junit.Assert from JUnit4 (fixing #2831081) &lt;a href="https://github.com/cdk/cdk/commit/6ff1f78"&gt;6ff1f78&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix to permutation unit tests &lt;a href="https://github.com/cdk/cdk/commit/45a7599"&gt;45a7599&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Split AtomContainerPermutorTest into one for the Atom and Bond permutors &lt;a href="https://github.com/cdk/cdk/commit/40fe774"&gt;40fe774&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Unit tests for the Permutor class and fix to permutor. &lt;a href="https://github.com/cdk/cdk/commit/88ceb38"&gt;88ceb38&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ISBN number for the reference &lt;a href="https://github.com/cdk/cdk/commit/217977c"&gt;217977c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Re-write of the atom container permutation classes. An extra class 'Permutor' is now the base class for permutations, and contains some more functionality than before. &lt;a href="https://github.com/cdk/cdk/commit/acd8e9b"&gt;acd8e9b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Re-write of the atom container permutation classes &lt;a href="https://github.com/cdk/cdk/commit/04adfca"&gt;04adfca&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed commented out code &lt;a href="https://github.com/cdk/cdk/commit/16efbc0"&gt;16efbc0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed needless explicitly qualified vecmath types &lt;a href="https://github.com/cdk/cdk/commit/c1a69a4"&gt;c1a69a4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Convenience method for getting an atom container directly from a formula string &lt;a href="https://github.com/cdk/cdk/commit/a1894f2"&gt;a1894f2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Handle a CDKException thrown by the Parser by throwing an IllegalArgumentException in the constructor &lt;a href="https://github.com/cdk/cdk/commit/face5c5"&gt;face5c5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed hardcoded String use of InvPair constants in favor of their actual constants &lt;a href="https://github.com/cdk/cdk/commit/4777958"&gt;4777958&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Compile fix: get a builder from the input parameter &lt;a href="https://github.com/cdk/cdk/commit/98f16f8"&gt;98f16f8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed dependency of io on data again &lt;a href="https://github.com/cdk/cdk/commit/df6ea2e"&gt;df6ea2e&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Corrected spelling from CanonicalLable to CanonicalLabel &lt;a href="https://github.com/cdk/cdk/commit/c0e59c8"&gt;c0e59c8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated test case to note that SMARTS lexical errors now throw illegal argument exception &lt;a href="https://github.com/cdk/cdk/commit/dc60bc3"&gt;dc60bc3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added missing dependency &lt;a href="https://github.com/cdk/cdk/commit/fb4ba45"&gt;fb4ba45&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;failing test for Tanimoto on "raw fingerprints" &lt;a href="https://github.com/cdk/cdk/commit/b42fbae"&gt;b42fbae&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Implemented missing method, copied from Fingerprinter &lt;a href="https://github.com/cdk/cdk/commit/2731d6f"&gt;2731d6f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated SMARTS parser JJT file, to drop the use of CDKException when a invalid SMARTS is provided. &lt;a href="https://github.com/cdk/cdk/commit/1ef89fb"&gt;1ef89fb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;fix bug #3305550 - moved SMARTSQuery to where used &lt;a href="https://github.com/cdk/cdk/commit/dfb3e86"&gt;dfb3e86&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;changed from no-op logger call to syserr &lt;a href="https://github.com/cdk/cdk/commit/4c5beba"&gt;4c5beba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;spelling &lt;a href="https://github.com/cdk/cdk/commit/ac6a9eb"&gt;ac6a9eb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated Copyright dates &lt;a href="https://github.com/cdk/cdk/commit/51f2db8"&gt;51f2db8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added another missing dependency &lt;a href="https://github.com/cdk/cdk/commit/416a4cc"&gt;416a4cc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added missing dependency &lt;a href="https://github.com/cdk/cdk/commit/6fc4803"&gt;6fc4803&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Split out unit tests only for fixed-length fingerprints &lt;a href="https://github.com/cdk/cdk/commit/37e81e8"&gt;37e81e8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added a signature-based fingerprinter &lt;a href="https://github.com/cdk/cdk/commit/688da8b"&gt;688da8b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MDL reader deals with query bond types, plus tests &lt;a href="https://github.com/cdk/cdk/commit/c95541f"&gt;c95541f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;QueryAtomContainer to allowe atoms and bonds &lt;a href="https://github.com/cdk/cdk/commit/6a8f4c0"&gt;6a8f4c0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Another MOL file with query bond types &lt;a href="https://github.com/cdk/cdk/commit/b6bf3b5"&gt;b6bf3b5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CTFile query bond class &lt;a href="https://github.com/cdk/cdk/commit/b0227ba"&gt;b0227ba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MOL file with query bond types &lt;a href="https://github.com/cdk/cdk/commit/3546ba4"&gt;3546ba4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use DefaultChemObjectBuilder directly, not using getBuilder() method &lt;a href="https://github.com/cdk/cdk/commit/d0dc1ef"&gt;d0dc1ef&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added constructor for QueryChemObject to prevent nullpointers on flags property &lt;a href="https://github.com/cdk/cdk/commit/6a75767"&gt;6a75767&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cleaning up testing of the isomorphism module, e.g. classes in the proper test module &lt;a href="https://github.com/cdk/cdk/commit/bc1e3e6"&gt;bc1e3e6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Minor clean up: use interfaces, depend on Query implementaions, and now compiles without dependency on the data module &lt;a href="https://github.com/cdk/cdk/commit/6913b9d"&gt;6913b9d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Reworked QueryAtomContainer to not depend on the data module either &lt;a href="https://github.com/cdk/cdk/commit/a5439dc"&gt;a5439dc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use interfaces instead of implementations &lt;a href="https://github.com/cdk/cdk/commit/076a870"&gt;076a870&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;More QueryBond &lt;a href="https://github.com/cdk/cdk/commit/0e14c77"&gt;0e14c77&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Extend QueryAtom instead of Atom &lt;a href="https://github.com/cdk/cdk/commit/0ee08a6"&gt;0ee08a6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Extend the new QueryChemObject &lt;a href="https://github.com/cdk/cdk/commit/b0a97a6"&gt;b0a97a6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A shared IChemObject implementation for QueryAtom and QueryBond &lt;a href="https://github.com/cdk/cdk/commit/b98f650"&gt;b98f650&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added constructors for QueryAtom &lt;a href="https://github.com/cdk/cdk/commit/3708c8d"&gt;3708c8d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cleaned up the code a bit &lt;a href="https://github.com/cdk/cdk/commit/1654e94"&gt;1654e94&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added an abstract QueryAtom class &lt;a href="https://github.com/cdk/cdk/commit/ae347ce"&gt;ae347ce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Match the IBond interface, as I get a compile error here otherwise &lt;a href="https://github.com/cdk/cdk/commit/43cb829"&gt;43cb829&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Query bonds &lt;a href="https://github.com/cdk/cdk/commit/b7e8e3a"&gt;b7e8e3a&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Placed the LingoFingerprinterTest in the rest module, and added missing dependency &lt;a href="https://github.com/cdk/cdk/commit/16e456d"&gt;16e456d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed wrong module assignment &lt;a href="https://github.com/cdk/cdk/commit/81db713"&gt;81db713&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;moved lingo fps to smiles module &lt;a href="https://github.com/cdk/cdk/commit/1eb9590"&gt;1eb9590&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replaced the NotImplemented exception with UnsupportedOperation &lt;a href="https://github.com/cdk/cdk/commit/6071796"&gt;6071796&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated Javadocs &lt;a href="https://github.com/cdk/cdk/commit/15be38b"&gt;15be38b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated issues in Javadocs, copyright and method names &lt;a href="https://github.com/cdk/cdk/commit/dee515e"&gt;dee515e&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added similarity method for Lingo's &lt;a href="https://github.com/cdk/cdk/commit/133f314"&gt;133f314&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated Tanimoto similarity to handle feature,count type fingerprints &lt;a href="https://github.com/cdk/cdk/commit/f487c30"&gt;f487c30&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added implementation of LINGO &lt;a href="https://github.com/cdk/cdk/commit/72bbae3"&gt;72bbae3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added copyright and ref &lt;a href="https://github.com/cdk/cdk/commit/9707f66"&gt;9707f66&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added implementation of LINGO &lt;a href="https://github.com/cdk/cdk/commit/572018f"&gt;572018f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated fingerprinter interface to support access to raw fingerprint of the form Map&lt;string,integer&gt;. Updated implementing classes &lt;a href="https://github.com/cdk/cdk/commit/b0f4050"&gt;b0f4050&lt;/a&gt;&lt;/string,integer&gt;&lt;/li&gt;
&lt;li&gt;Replaced the broken links with new ones (fixes #3108471) &lt;a href="https://github.com/cdk/cdk/commit/dc504db"&gt;dc504db&lt;/a&gt;&lt;/li&gt;
&lt;/span&gt;&lt;/ul&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;The authors&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;89 &amp;nbsp;Egon Willighagen&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;37 &amp;nbsp;Rajarshi Guha&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;9 &amp;nbsp;Mark Rijnbeek&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;8 &amp;nbsp;Gilleain Torrance&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;4 &amp;nbsp;Jonathan Alvarsson&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;1 &amp;nbsp;Daniel Szisz&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;1 &amp;nbsp;John May&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;1 &amp;nbsp;Ola Spjuth&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;1 &amp;nbsp;Christoph Steinbeck&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;The reviewers&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;66 Rajarshi Guha&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;30  Egon Willighagen&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;4&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Gilleain Torrance&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;1&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Jonathan Alvarsson&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;1  Nina Jeliazkova&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-4068286059380438257?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/27wZ3FuRY3yxFoVmCAloW9wStlc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/27wZ3FuRY3yxFoVmCAloW9wStlc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/27wZ3FuRY3yxFoVmCAloW9wStlc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/27wZ3FuRY3yxFoVmCAloW9wStlc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/-4eI2sGW0ek" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/4068286059380438257/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2012/01/cdk-150-changes-authors-and-reviewers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/4068286059380438257?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/4068286059380438257?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/-4eI2sGW0ek/cdk-150-changes-authors-and-reviewers.html" title="CDK 1.5.0: the changes, the authors, and the reviewers" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2012/01/cdk-150-changes-authors-and-reviewers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAMQH8yeip7ImA9WhRVFkg.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-5727747480235349354</id><published>2012-01-15T11:06:00.002+01:00</published><updated>2012-01-15T20:46:21.192+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-15T20:46:21.192+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lulu" /><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics" /><category scheme="http://www.blogger.com/atom/ns#" term="groovy" /><category scheme="http://www.blogger.com/atom/ns#" term="book" /><title>Groovy Cheminformatics 4th edition</title><content type="html">Six month was not quite the amount of time I anticipated between the third and fourth edition, but I finally managed to upload edition 1.4.7-0 of my &lt;a href="http://www.lulu.com/product/paperback/groovy-cheminformatics-with-the-chemistry-development-kit/18825420"&gt;Groovy Cheminformatics&lt;/a&gt; book. The first three editions sold 37 copies, including two for myself. Enough to feel supported and to continue working on it.&lt;br /&gt;
&lt;br /&gt;
So, this new edition is again thicker, summing up to 152 pages now, which is 28 pages more than &lt;a href="http://chem-bla-ics.blogspot.com/2011/07/groovy-cheminformatics-3rd-edition.html"&gt;the 3rd edition&lt;/a&gt;. Indeed, the table of contents is more than half a page longer in itself, though, just barely, still fitting on four pages. In fact, I had to remove one (new) subsection title, because it would take otherwise two further pages.&lt;br /&gt;
&lt;br /&gt;
The new content is again a mix of sections and chapters. While writing new chapters, I find myself realizing I need to cover more basics. Those get typically added as new sections. I did not get many feature requests, except for one email pointing me the text promised how to interpret and handle failing atom type perception, which explains one of the new sections. The full list of new content is:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Section 2.1.4: explaining the three flavors of atomic coordinates&lt;/li&gt;
&lt;li&gt;Extended Section 2.2: added detail about electron counts of bonds (partly in reply to &lt;a href="http://depth-first.com/articles/2012/01/11/on-the-futility-of-extending-the-molfile-format/"&gt;this post by Rich&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Chapter 5 "Protein and DNA": four pages, mostly about PDB files, and the matching CDK data structure&lt;/li&gt;
&lt;li&gt;Chapter 6 "IChemObjectBuilders": four pages explaining the four alternative builders CDK 1.4.7 has&lt;/li&gt;
&lt;li&gt;Section 7.8: a new section with recipes on how to post-process read input, discussing MDL molfiles only now. It talks about what information is present in the file format, and what steps must be untertaken to add missing information&lt;/li&gt;
&lt;li&gt;Section 8.2.4 "No atom type perceived?!"&lt;/li&gt;
&lt;li&gt;Section 11.4: describes how to depict aromatic rings&lt;/li&gt;
&lt;li&gt;Section 11.5: describes how to change the background color of depictions&lt;/li&gt;
&lt;li&gt;Section 13.4: explains how to calculate the Van der Waals volume of molecules&lt;/li&gt;
&lt;li&gt;Section 18.1.3: discussing the API improvement in the iterating readers&lt;/li&gt;
&lt;li&gt;Appendix C: a list of all descriptors provided by the CDK&lt;/li&gt;
&lt;li&gt;Appendix D: a list of file formats known by the CDK, indicating which has readers and writers&lt;/li&gt;
&lt;/ul&gt;
On top of that, I improved other bits of the book too, such as the resolution of the depictions of molecules, as well as those of various diagrams. Also the number of scripts has seriously gone up, from 94 to 134!&lt;br /&gt;
&lt;br /&gt;
Appendix C is a prelude to a chapter I am already writing, but did not get finished yet: a chapter about descriptor calculation. But since I just started a new post-doc position, it may take another six months for that chapter to make it into print.&lt;br /&gt;
&lt;br /&gt;
The paperbak is &lt;a href="http://www.lulu.com/product/paperback/groovy-cheminformatics-with-the-chemistry-development-kit/18825420"&gt;available from Lulu.com&lt;/a&gt;, an on-demand publisher, as well as &lt;a href="http://www.lulu.com/product/ebook/groovy-cheminformatics-with-the-chemistry-development-kit/18825437"&gt;this ebook version&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-5727747480235349354?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XgS28ShPooeVc3T9QZgUQe0v2OE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XgS28ShPooeVc3T9QZgUQe0v2OE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XgS28ShPooeVc3T9QZgUQe0v2OE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XgS28ShPooeVc3T9QZgUQe0v2OE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/JstLyxW2qA0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/5727747480235349354/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2012/01/groovy-cheminformatics-4th-edition.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/5727747480235349354?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/5727747480235349354?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/JstLyxW2qA0/groovy-cheminformatics-4th-edition.html" title="Groovy Cheminformatics 4th edition" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2012/01/groovy-cheminformatics-4th-edition.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMESXc8cSp7ImA9WhRVEE8.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-1385116551050838658</id><published>2012-01-08T13:56:00.001+01:00</published><updated>2012-01-08T13:56:48.979+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-08T13:56:48.979+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JChemPaint" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><category scheme="http://www.blogger.com/atom/ns#" term="groovy" /><title>CDK-JChemPaint #10: background color</title><content type="html">I found in the &lt;a href="https://github.com/egonw/groovy-jcp"&gt;Groovy JChemPaint repository&lt;/a&gt; a script I had not blogged about yet, explaining how to change the default background color. It's fairly simple, and just uses &lt;a href="http://chem-bla-ics.blogspot.com/2010/04/cdk-jchempaint-3-rendering-parameters.html"&gt;parameters&lt;/a&gt;. Starting from the common pattern to set up a renderer, you set the background parameter:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;backgroundColor = Color.lightGray;&lt;br /&gt;model = renderer.getRenderer2DModel()&lt;br /&gt;model.set(&lt;br /&gt;&amp;nbsp; BasicSceneGenerator.BackgroundColor.class,&lt;br /&gt;&amp;nbsp; backgroundColor&lt;br /&gt;)&lt;/span&gt;&lt;br /&gt;The full script can be found &lt;a href="https://github.com/egonw/groovy-jcp/blob/master/greyBGMol.groovy"&gt;here&lt;/a&gt;. The resulting output looks like that given below.&lt;div&gt;
&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-bTuts0wW6ag/TwmR2O19a2I/AAAAAAAABNI/GnL87O84hrg/s1600/triazole2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-bTuts0wW6ag/TwmR2O19a2I/AAAAAAAABNI/GnL87O84hrg/s1600/triazole2.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-1385116551050838658?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hQviHNG63AOFjm70tO8DT-Fhpj8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hQviHNG63AOFjm70tO8DT-Fhpj8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hQviHNG63AOFjm70tO8DT-Fhpj8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hQviHNG63AOFjm70tO8DT-Fhpj8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/mCjGWpTuvJI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/1385116551050838658/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2012/01/cdk-jchempaint-10-background-color.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/1385116551050838658?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/1385116551050838658?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/mCjGWpTuvJI/cdk-jchempaint-10-background-color.html" title="CDK-JChemPaint #10: background color" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-bTuts0wW6ag/TwmR2O19a2I/AAAAAAAABNI/GnL87O84hrg/s72-c/triazole2.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2012/01/cdk-jchempaint-10-background-color.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08GQXc5cCp7ImA9WhRWE04.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-3504504483583613603</id><published>2011-12-31T12:38:00.001+01:00</published><updated>2011-12-31T12:43:40.928+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-31T12:43:40.928+01:00</app:edited><title>CDK 1.4.7: the changes, the authors, and the reviewers</title><content type="html">In preparation of the next (4th) edition of my &lt;a href="http://chem-bla-ics.blogspot.com/2011/07/groovy-cheminformatics-3rd-edition.html"&gt;Groovy Cheminformatics&lt;/a&gt; book on cheminformatics with the &lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt;, I found a show stopper bug, fixed it, sent in the patch, and &lt;a href="http://blog.rguha.net/"&gt;Rajarshi&lt;/a&gt; quickly reviewed and applied it to the cdk-1.4.x branch. This particularly bug was a null pointer exception that was fixed not so long ago in the log4j implementation, but turned out to be present in the logger to &lt;a href="http://en.wikipedia.org/wiki/Standard_streams#Standard_output_.28stdout.29"&gt;STDOUT&lt;/a&gt; too.&lt;br /&gt;
&lt;br /&gt;
This releases also fixes the reading of aliased atoms in MDL V2000 molfiles, thanx to another bug fix patch from John May (thanx!), and formally deprecates the &lt;i&gt;nonotify &lt;/i&gt;implementation, which has already been removed from the master branch. The &lt;i&gt;silent&lt;/i&gt; module should be used instead, which has the same functionality but has cleaner code and faster.&lt;br /&gt;
&lt;br /&gt;
However, one important change you should take notice of, is an API change in the&amp;nbsp;&lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/cdk-javadoc-1.4.6/org/openscience/cdk/io/iterator/IIteratingChemObjectReader.html"&gt;IIteratingChemObjectReader&lt;/a&gt; class. The change is minor, but useful. The interface is now typed, and implementing classes implement IIteratingChemObjectReader&amp;lt;IChemModel&amp;gt;&amp;nbsp;(&lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/cdk-javadoc-1.4.6/org/openscience/cdk/io/iterator/IteratingPCSubstancesXMLReader.html"&gt;IteratingPCSubstancesXMLReader&lt;/a&gt;) or IIteratingChemObjectReader&amp;lt;IAtomContainer&amp;gt; (&lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/cdk-javadoc-1.4.6/org/openscience/cdk/io/iterator/IteratingMDLReader.html"&gt;IteratingMDLReader&lt;/a&gt;, &lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/cdk-javadoc-1.4.6/org/openscience/cdk/io/iterator/IteratingPCCompoundASNReader.html"&gt;IteratingPCCompoundASNReader&lt;/a&gt;, &lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/cdk-javadoc-1.4.6/org/openscience/cdk/io/iterator/IteratingPCCompoundXMLReader.html"&gt;IteratingPCCompoundXMLReader&lt;/a&gt;, &lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/cdk-javadoc-1.4.6/org/openscience/cdk/io/iterator/IteratingSMILESReader.html"&gt;IteratingSMILESReader&lt;/a&gt;). This means, that this iterator's &lt;i&gt;next()&lt;/i&gt; method now returns an &lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/cdk-javadoc-1.4.6/org/openscience/cdk/interfaces/IChemModel.html"&gt;IChemModel&lt;/a&gt; or an &lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/cdk-javadoc-1.4.6/org/openscience/cdk/interfaces/IAtomContainer.html"&gt;IAtomContainer&lt;/a&gt;, and that casting in the using code is no longer needed.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The changes&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Another hot fix: use @link with the full qualified class name, and removed the import, to fix a dependency issue &lt;a href="https://github.com/cdk/cdk/commit/0e71cba"&gt;0e71cba&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added a @deprecated tag on the nonotify data classes, pointing to the silent implementation &lt;a href="https://github.com/cdk/cdk/commit/d283686"&gt;d283686&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed dependencies &lt;a href="https://github.com/cdk/cdk/commit/5ef20b1"&gt;5ef20b1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Extend the abstract suite, so to run the test for the null pointer exception &lt;a href="https://github.com/cdk/cdk/commit/269c84c"&gt;269c84c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Work with the interface &lt;a href="https://github.com/cdk/cdk/commit/106e5ec"&gt;106e5ec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Check for a null input &lt;a href="https://github.com/cdk/cdk/commit/fb35047"&gt;fb35047&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed unneeded deps on CMLXOM for JNI-InChI (thanx to Dmitry Katsubo). &lt;a href="https://github.com/cdk/cdk/commit/8524891"&gt;8524891&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added missing imports of IAtomContainer, needed by the last two patches, but which were not needed in master because we did all that IMolecule/IAtomContainer refactoring already &lt;a href="https://github.com/cdk/cdk/commit/856f83c"&gt;856f83c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Proper typing of the DefaultIteratingChemObjectReader, so that other classes can safely extend it (thanx to Nina) &lt;a href="https://github.com/cdk/cdk/commit/6de90d3"&gt;6de90d3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Typed the iterator, removing the need for casting when used &lt;a href="https://github.com/cdk/cdk/commit/44b7e76"&gt;44b7e76&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added John May as author &lt;a href="https://github.com/cdk/cdk/commit/1142dc6"&gt;1142dc6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Also check that there are two such R1 atoms &lt;a href="https://github.com/cdk/cdk/commit/962b7d2"&gt;962b7d2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added modifications and unit test for alias atom naming patch &lt;a href="https://github.com/cdk/cdk/commit/bd4b094"&gt;bd4b094&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Corrected alias atom naming in MDLV2000Reader and added test &lt;a href="https://github.com/cdk/cdk/commit/23132a0"&gt;23132a0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;The authors&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
13 &amp;nbsp;Egon Willighagen&lt;br /&gt;
&amp;nbsp; 2 &amp;nbsp;John May&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;The reviewers&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
6 &amp;nbsp;Rajarshi Guha&lt;br /&gt;
2 &amp;nbsp;Egon Willighagen&lt;br /&gt;
1 &amp;nbsp;Nina Jeliazkova&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-3504504483583613603?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mVGR5v7NvzEYxWagTeDN5D3EYQ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mVGR5v7NvzEYxWagTeDN5D3EYQ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mVGR5v7NvzEYxWagTeDN5D3EYQ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mVGR5v7NvzEYxWagTeDN5D3EYQ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/OS9AzmTp-qE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/3504504483583613603/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/cdk-147-changes-authors-and-reviewers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/3504504483583613603?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/3504504483583613603?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/OS9AzmTp-qE/cdk-147-changes-authors-and-reviewers.html" title="CDK 1.4.7: the changes, the authors, and the reviewers" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/cdk-147-changes-authors-and-reviewers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08AQ3s-fyp7ImA9WhRWE08.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-2497941581322323977</id><published>2011-12-31T11:04:00.000+01:00</published><updated>2011-12-31T11:04:02.557+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-31T11:04:02.557+01:00</app:edited><title>CDK 1.4.6: the changes, the authors, and the reviewers</title><content type="html">OK, I forgot to write those up again :(&lt;br /&gt;
&lt;br /&gt;
Release 1.4.6 of about a month ago, fixes a few bugs, including broken JavaDoc, atom type perception when SMILES are parsed while keeping the lower case formalism as aromaticity indicators (I will not discuss the pros and cons of that here), and the Chi index descriptors for sulphurs. This release also introduces a new fingerprint, based on an extensive list of biologically-relevant substructures identified by Klekota and Roth in 2008 (doi:&lt;a href="http://dx.doi.org/10.1093/bioinformatics/btn479"&gt;10.1093/bioinformatics/btn479&lt;/a&gt;). This functionality was backported by &lt;a href="https://twitter.com/#!/jonalv"&gt;Jonathan&lt;/a&gt; from the &lt;a href="https://sourceforge.net/tracker/?func=detail&amp;amp;aid=3365896&amp;amp;group_id=20024&amp;amp;atid=2294833"&gt;PaDeL software&lt;/a&gt;&amp;nbsp;by&amp;nbsp;Yap Chun Wei. The rest is a bunch of small code and dependency clean ups as well as new unit tests.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;b&gt;The changes&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Added missing unit tests &lt;a href="https://github.com/cdk/cdk/commit/9119aa2"&gt;9119aa2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added get-methods for information needed for extensions &lt;a href="https://github.com/cdk/cdk/commit/4525cbe"&gt;4525cbe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A few missing unit tests in the 'qsar' module &lt;a href="https://github.com/cdk/cdk/commit/2356a10"&gt;2356a10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added further methods needed for CDK-JChemPaint &lt;a href="https://github.com/cdk/cdk/commit/804a6f5"&gt;804a6f5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added missing JavaDoc. &lt;a href="https://github.com/cdk/cdk/commit/e316210"&gt;e316210&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;No longer complain about missing testing for abstract classes &lt;a href="https://github.com/cdk/cdk/commit/284ff84"&gt;284ff84&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Typo: there → their &lt;a href="https://github.com/cdk/cdk/commit/640b6e6"&gt;640b6e6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added unit testing &lt;a href="https://github.com/cdk/cdk/commit/05216f0"&gt;05216f0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Throw a descriptive exception when 2D coordinates are missing (fixes #3355921) &lt;a href="https://github.com/cdk/cdk/commit/cdc4cbd"&gt;cdc4cbd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed the cheminf.bibx well-formedness (fixes #3435367) &lt;a href="https://github.com/cdk/cdk/commit/7bc0772"&gt;7bc0772&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added missing @cdk.githash. &lt;a href="https://github.com/cdk/cdk/commit/fdd3d22"&gt;fdd3d22&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updaetd chi index util to correctly evaluate deltav for sulphurs. Fixes bug 3434741. Added unit test &lt;a href="https://github.com/cdk/cdk/commit/8225175"&gt;8225175&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use interfaces instead of implementations &lt;a href="https://github.com/cdk/cdk/commit/434c9b1"&gt;434c9b1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use interfaces instead of implementations &lt;a href="https://github.com/cdk/cdk/commit/76dcdf7"&gt;76dcdf7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use interfaces instead of implementations &lt;a href="https://github.com/cdk/cdk/commit/5bef796"&gt;5bef796&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use interfaces instead of implementations &lt;a href="https://github.com/cdk/cdk/commit/b6ed6a7"&gt;b6ed6a7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Moved the pi-contact descriptor (atom-pair) to qsarmolecular, removing the depedency of qsar on reaction &lt;a href="https://github.com/cdk/cdk/commit/d902312"&gt;d902312&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added a missing dependency; it now finds PDBPolymer &lt;a href="https://github.com/cdk/cdk/commit/f03eb3c"&gt;f03eb3c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed test method names &lt;a href="https://github.com/cdk/cdk/commit/f6562cb"&gt;f6562cb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added a missing test &lt;a href="https://github.com/cdk/cdk/commit/a853c91"&gt;a853c91&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed TestClass annotation &lt;a href="https://github.com/cdk/cdk/commit/d37961d"&gt;d37961d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added tests for the isomorphism module to the proper suite &lt;a href="https://github.com/cdk/cdk/commit/657c3a7"&gt;657c3a7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;fixed dependency for fingerprint tests &lt;a href="https://github.com/cdk/cdk/commit/135edeb"&gt;135edeb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;added test for getSubstructure &lt;a href="https://github.com/cdk/cdk/commit/d1eb951"&gt;d1eb951&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;lookup SMARTS at index in Substructurefingerprint &lt;a href="https://github.com/cdk/cdk/commit/65602db"&gt;65602db&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wrote test for KlekotaRothFingerprinter &lt;a href="https://github.com/cdk/cdk/commit/2b1288b"&gt;2b1288b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;adapted to CDK &lt;a href="https://github.com/cdk/cdk/commit/84aed70"&gt;84aefixesd70&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Import from the source code of PaDEL-descriptor (doi:10.1002/jcc.21707) &lt;a href="https://github.com/cdk/cdk/commit/291def4"&gt;291def4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fix to use interfaces as argument instead of classes &lt;a href="https://github.com/cdk/cdk/commit/5e828f5"&gt;5e828f5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Perceive atom types also when aromaticity from the SMILES is kept &lt;a href="https://github.com/cdk/cdk/commit/2e76ff6"&gt;2e76ff6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added unit test to make sure atom types are also perceived when aromaticity from SMILES is kept &lt;a href="https://github.com/cdk/cdk/commit/b315ee6"&gt;b315ee6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;The authors&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
25 &amp;nbsp;Egon Willighagen&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; 5 &amp;nbsp;Jonathan Alvarsson&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; 2 &amp;nbsp;Rajarshi Guha&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; 1 &amp;nbsp;Nina Jeliazkova&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; 1 &amp;nbsp;Yap Chun Wei&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;The reviewers&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
13 &amp;nbsp;Rajarshi &amp;nbsp;Guha&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; 8 &amp;nbsp;Egon Willighagen&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; 1 &amp;nbsp;Nina Jeliazkova&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-2497941581322323977?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MXRvJ-sDfxGWBDPu0g5mDNoHwFI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MXRvJ-sDfxGWBDPu0g5mDNoHwFI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MXRvJ-sDfxGWBDPu0g5mDNoHwFI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MXRvJ-sDfxGWBDPu0g5mDNoHwFI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/z2r2iow8NZk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/2497941581322323977/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/cdk-146-changes-authors-and-reviewers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/2497941581322323977?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/2497941581322323977?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/z2r2iow8NZk/cdk-146-changes-authors-and-reviewers.html" title="CDK 1.4.6: the changes, the authors, and the reviewers" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/cdk-146-changes-authors-and-reviewers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4GRHY4fCp7ImA9WhRXEkQ.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-352055079480966947</id><published>2011-12-19T12:41:00.001+01:00</published><updated>2011-12-19T12:42:05.834+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T12:42:05.834+01:00</app:edited><title>A Google+ page for the CDK</title><content type="html">A week or two ago I created a &lt;a href="http://en.wikipedia.org/wiki/Google+"&gt;Google+&lt;/a&gt; page for the &lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt;, which can be found &lt;a href="https://plus.google.com/u/0/b/103703750118158205464/me/posts"&gt;here&lt;/a&gt;&amp;nbsp;and it looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-ukl2LUbMliw/Tu8heycmu4I/AAAAAAAABLI/ftfaAwGsKHI/s1600/cdkG%252BPage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="331" src="http://2.bp.blogspot.com/-ukl2LUbMliw/Tu8heycmu4I/AAAAAAAABLI/ftfaAwGsKHI/s400/cdkG%252BPage.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
I will use this page to post interesting stories around the CDK. It is not supposed to replace the Planet CDK, which aggregates blog posts from CDK developers and users, but for other, perhaps shorter posts. For example, as can be seen in the above screenshot, I have started to use it as a &lt;i&gt;CDK&amp;nbsp;Literature&lt;/i&gt; replacement, which originally was a series of articles in &lt;i&gt;CDK News &lt;/i&gt;(&lt;a href="http://sourceforge.net/projects/cdk/files/CDK%20News/"&gt;the archives&lt;/a&gt;), and later hosted in my blog (see &lt;a href="http://chem-bla-ics.blogspot.com/2008/07/cdk-literature-5.html"&gt;CDK Literature #5&lt;/a&gt; for links to the other four).&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
But, I will (re)share anything I find useful for the CDK community.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-352055079480966947?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bGY2Fbw9A2m2UqpL0A6aajqYz5c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bGY2Fbw9A2m2UqpL0A6aajqYz5c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bGY2Fbw9A2m2UqpL0A6aajqYz5c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bGY2Fbw9A2m2UqpL0A6aajqYz5c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/Xp-oOhZ4BJk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/352055079480966947/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/google-page-for-cdk.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/352055079480966947?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/352055079480966947?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/Xp-oOhZ4BJk/google-page-for-cdk.html" title="A Google+ page for the CDK" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-ukl2LUbMliw/Tu8heycmu4I/AAAAAAAABLI/ftfaAwGsKHI/s72-c/cdkG%252BPage.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/google-page-for-cdk.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUNRHo9eyp7ImA9WhRXEEk.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-1161986328001455588</id><published>2011-12-16T09:31:00.001+01:00</published><updated>2011-12-16T14:48:15.463+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-16T14:48:15.463+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="pancreatic" /><category scheme="http://www.blogger.com/atom/ns#" term="drug discovery" /><category scheme="http://www.blogger.com/atom/ns#" term="JQ1" /><category scheme="http://www.blogger.com/atom/ns#" term="open science" /><category scheme="http://www.blogger.com/atom/ns#" term="cancer" /><title>Open Source cancer research (must see video)</title><content type="html">Four years ago I wrote up a passionate post about the &lt;a href="http://chem-bla-ics.blogspot.com/2007/10/why-odosos-is-important.html"&gt;importance of ODOSOS&lt;/a&gt;, and about a year ago written about &lt;a href="http://chem-bla-ics.blogspot.com/2011/01/re-how-can-cancer-research-be-open.html"&gt;how research can be open sourced&lt;/a&gt;, and how the Open Source &lt;a href="http://cdk.sf.net/"&gt;Chemistry Development Kit&lt;/a&gt; (CDK) fits in. I am proud that the CDK is enabling so many researchers to do novel research! Google Scholar reports over 200 documents and Web of Science gets to over 150 for just the &lt;a href="http://chem-bla-ics.blogspot.com/2010/10/100th-cdk-2003-paper.html"&gt;first CDK paper&lt;/a&gt;&amp;nbsp;(see also&amp;nbsp;&lt;a href="http://chem-bla-ics.blogspot.com/2011/12/google-scholar-versus-web-of-science.html"&gt;GS vs WoS&lt;/a&gt;). That's serious impact. We're far from being fully comparable with existing commercial tools, which have a 40 year head start. But with important functionality still missing (e.g. E/Z stereochemistry), and about 150 open bug reports which needs looking into, we surely can need funding and help!&lt;br /&gt;
&lt;br /&gt;
Anyway, this Monday we had the last of this years &lt;a href="https://groups.google.com/forum/#!forum/stkhmos"&gt;Stockholm Open Science&lt;/a&gt; meetings, and Carl Bärstad joined, whom is organizing &lt;a href="http://www.ted.com/tedx/groups/1923"&gt;TEDx talks here in Stockholm&lt;/a&gt;, and he pointed me to this must see video on open source cancer research:&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/wOiKRVH0nQ8" width="560"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
I can highly recommend watching it, as it is both very insightful about cancer (it's the third mechanism I know now how cells remember state, after DNA methylation, microRNAs, and now plain, boring protein; I wonder when metabolite-sized molecules show up as cell-division surviving state preservatives; they will).&lt;br /&gt;
&lt;br /&gt;
But, it also puts Open Science ideas to practice in drug discovery. Yeah, the even give the structure (and SMILES) of JQ1 (see &lt;a href="http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?cid=46907787"&gt;PubChem&lt;/a&gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://pubchem.ncbi.nlm.nih.gov/image/imgsrv.fcgi?t=l&amp;amp;cid=46907787" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://pubchem.ncbi.nlm.nih.gov/image/imgsrv.fcgi?t=l&amp;amp;cid=46907787" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Now, the cancer the started of with, is pancreatic cancer, which is what my mother died of 3 years ago, which provides a third reason for me to love this video!&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;Update&lt;/b&gt;: I have uploaded JQ1 and the &lt;a href="http://www.chemspider.com/Chemical-Structure.25058342.html"&gt;charged variant on ChemSpider&lt;/a&gt;&amp;nbsp;to Ambit2 as &lt;a href="http://apps.ideaconsult.net:8080/ambit2/dataset/976496"&gt;dataset&amp;nbsp;976496&lt;/a&gt;, which means that you can look up toxicity predictions with &lt;a href="http://www.toxpredict.org/"&gt;ToxPredict&lt;/a&gt; for JQ1 on &lt;a href="http://apps.ideaconsult.net:8080/ToxPredict#View%20results/search=http%253A%252F%252Fapps.ideaconsult.net%253A8080%252Fambit2%252Fdataset%252F976496/mode=Auto/pageSize=20"&gt;this page&lt;/a&gt;. This is what ToxPredict looks like, just before I hit &lt;i&gt;Run all&lt;/i&gt;:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-k-VmvmV0lzM/TutMCGZVbrI/AAAAAAAABK8/CiKSs_9TKGE/s1600/toxpredict.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="245" src="http://2.bp.blogspot.com/-k-VmvmV0lzM/TutMCGZVbrI/AAAAAAAABK8/CiKSs_9TKGE/s400/toxpredict.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-1161986328001455588?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Pf055Fa45SXfAtVzn_DvDQhyf_U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Pf055Fa45SXfAtVzn_DvDQhyf_U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Pf055Fa45SXfAtVzn_DvDQhyf_U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Pf055Fa45SXfAtVzn_DvDQhyf_U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/51NPu2EHwso" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/1161986328001455588/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/open-source-cancer-research-must-see.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/1161986328001455588?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/1161986328001455588?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/51NPu2EHwso/open-source-cancer-research-must-see.html" title="Open Source cancer research (must see video)" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/wOiKRVH0nQ8/default.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/open-source-cancer-research-must-see.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4NQn09eSp7ImA9WhRQGEs.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-8883744598162678255</id><published>2011-12-14T12:59:00.002+01:00</published><updated>2011-12-14T12:59:53.361+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T12:59:53.361+01:00</app:edited><title>Google Scholar versus Web of Science</title><content type="html">&lt;a href="http://apps.isiknowledge.com/"&gt;Web of Science&lt;/a&gt;&amp;nbsp;(WoS) is the de facto standard for citation information. It's citation counts are used for many purposes, among which to decide I am a good scientist. Web of Science, however, really expensive, and Joe the Plumber does not have access. No wonder, he doesn't know which scientist to trust (&lt;a href="http://chem-bla-ics.blogspot.com/2010/12/trust-has-no-place-in-science-2.html"&gt;...&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Recently, Google made their &lt;a href="http://scholar.google.com/"&gt;Scholar&lt;/a&gt; product &lt;a href="http://googlescholar.blogspot.com/2011/07/google-scholar-citations.html"&gt;open to all&lt;/a&gt;, allowing you to list your publications (about &lt;a href="http://chem-bla-ics.blogspot.com/2011/08/my-google-scholar-citations-profile.html"&gt;my list&lt;/a&gt;), which Google with augment with citation counts. If you search the web, you'll find &lt;a href="http://www.google.se/search?gcx=w&amp;amp;ix=c2&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=Google+Scholar+versus+Web+of+Science"&gt;much being said&lt;/a&gt; about the two, in particular compared with each other. One aspect is the accurateness of the citation counts, as people are afraid gaming, and random noise found on the web. Others would (counter)argue that Google captures a wider range of literature.&lt;br /&gt;
&lt;br /&gt;
So, I was wondering how this would reflect on my impact. I know that WoS is not errorless either, and I have been making various support requests over the years (my WoS records still have errors). So, do they complement overlap? Are citation counts comparable. In fact, this turns out to be true:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/--fFL_2HtF0c/Tucfr_WnxHI/AAAAAAAABK0/38QTlrcnD7M/s1600/whatisthisplot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://3.bp.blogspot.com/--fFL_2HtF0c/Tucfr_WnxHI/AAAAAAAABK0/38QTlrcnD7M/s400/whatisthisplot.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
I would be drooling if I got this kind of regression in &lt;a href="http://chem-bla-ics.blogspot.com/2011/06/importing-nanotoxicity-data-with-sparql.html"&gt;my nanoQSAR studies&lt;/a&gt;! :) There is a very strong regression, indeed. One of the&amp;nbsp;advantages of Google Scholar is does not select an elite group of journals (of course, they have to, because there data analysis process involves much more human curation), while Scholar captures newer Open Access journals, like the &lt;a href="http://www.jcheminf.com/"&gt;J. Cheminformatics&lt;/a&gt;, too. While I may be a bit of a non-typical scientist (some even argue I am not even doing science...), the overall outcome is that Google Scholar is actually more accurate about my impact than Web of Science is right now.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-8883744598162678255?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/c4mHpYnLF5tHhILUSu8WqCOUuqE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c4mHpYnLF5tHhILUSu8WqCOUuqE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/c4mHpYnLF5tHhILUSu8WqCOUuqE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c4mHpYnLF5tHhILUSu8WqCOUuqE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/JCpBuke7WRk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/8883744598162678255/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/google-scholar-versus-web-of-science.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/8883744598162678255?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/8883744598162678255?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/JCpBuke7WRk/google-scholar-versus-web-of-science.html" title="Google Scholar versus Web of Science" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/--fFL_2HtF0c/Tucfr_WnxHI/AAAAAAAABK0/38QTlrcnD7M/s72-c/whatisthisplot.png" height="72" width="72" /><thr:total>8</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/google-scholar-versus-web-of-science.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08FQ3s7cSp7ImA9WhRQF0s.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-2220116321818008943</id><published>2011-12-13T10:50:00.000+01:00</published><updated>2011-12-13T10:50:12.509+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-13T10:50:12.509+01:00</app:edited><title>What data is behind this scatter plot?</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/--fFL_2HtF0c/Tucfr_WnxHI/AAAAAAAABK0/38QTlrcnD7M/s1600/whatisthisplot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://3.bp.blogspot.com/--fFL_2HtF0c/Tucfr_WnxHI/AAAAAAAABK0/38QTlrcnD7M/s400/whatisthisplot.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-2220116321818008943?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pclmkBYQHEB1NzsWbGoR4weU-4A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pclmkBYQHEB1NzsWbGoR4weU-4A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pclmkBYQHEB1NzsWbGoR4weU-4A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pclmkBYQHEB1NzsWbGoR4weU-4A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/EOAr3ApFb9I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/2220116321818008943/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/what-data-is-behind-this-scatter-plot.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/2220116321818008943?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/2220116321818008943?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/EOAr3ApFb9I/what-data-is-behind-this-scatter-plot.html" title="What data is behind this scatter plot?" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/--fFL_2HtF0c/Tucfr_WnxHI/AAAAAAAABK0/38QTlrcnD7M/s72-c/whatisthisplot.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/what-data-is-behind-this-scatter-plot.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EHRnszfSp7ImA9WhRQE0k.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-4576652940072865222</id><published>2011-12-08T07:55:00.001+01:00</published><updated>2011-12-08T11:53:57.585+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-08T11:53:57.585+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="RSC" /><category scheme="http://www.blogger.com/atom/ns#" term="text mining" /><category scheme="http://www.blogger.com/atom/ns#" term="non-commercial" /><category scheme="http://www.blogger.com/atom/ns#" term="creative commons" /><category scheme="http://www.blogger.com/atom/ns#" term="oscar4" /><category scheme="http://www.blogger.com/atom/ns#" term="license" /><category scheme="http://www.blogger.com/atom/ns#" term="open science" /><title>Open Science and Non-Commercial licenses (a personal reflection to the Oscar/RSC controversy)</title><content type="html">Peter has started a new line of &lt;a href="http://blogs.ch.cam.ac.uk/pmr/2011/12/07/%E2%80%9Copen-access%E2%80%9D-and-non-commercial-licences-summary/"&gt;discussion in his blog&lt;/a&gt;, referring to a correspondence with representatives from &lt;a href="http://www.rsc.org/"&gt;RSC&lt;/a&gt; last year, about an annotated literature corpus to (re)train the Oscar3/4 text miner. There are very many sides, and after I reread this post for a second time, I was still not 100% happy about all words: I can only try to express the complexity of the matter and how it started, but do hope to be clear that non-commercial licenses are not useful in Open Science.&lt;br /&gt;
&lt;br /&gt;
I have taken part in parts of the correspondence Peter refers to, and I would not have written up things as Peter &lt;a href="http://blogs.ch.cam.ac.uk/pmr/2011/11/29/scientists-should-never-use-cc-nc-this-explains-why/#comment-101071"&gt;wrote up his impression of the outcome of that discussion&lt;/a&gt;, and at some point I seem to no longer have been included in the email correspondence, as I at least did not know the final outcome (see below), and cannot fully comment on the accuracy of Peter's coverage of that correspondence, but my impression on the outcome, as limited as it was, is not that far away from what Peter wrote up: Oscar4 needs training (doi:&lt;a href="http://dx.doi.org/10.1186/1758-2946-3-41"&gt;10.1186/1758-2946-3-41&lt;/a&gt;), and the RSC was unwilling to contribute the full text training corpus to the project without a non-commercial (NC) clause (and I explain below why I think this is bad). Oscar without a training corpus is useless; Oscar with a NC-licences training course is &lt;b&gt;not&lt;/b&gt;&amp;nbsp;Open Source (see below). As detailed below, the corpus at sentence level is NC-free licensed, and a lot of training can be done that way. Sufficient?&lt;br /&gt;
&lt;br /&gt;
Peter wrote:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;"I pointed out very clearly that CC-NC would mean we couldn’t redistribute the corpus as a training resource (and that this was essential since others would wish to recalibrate OSCAR). Yes, they understood the implications. No they wouldn’t change. They realised the problems it would cause downstream. So we cannot redistribute the corpus with OSCAR3. The science of textmining suffers again."&lt;/i&gt;&lt;br /&gt;
I do not know if it is factually correct that the RSC &lt;i&gt;would not change&lt;/i&gt; (below we read they attempted), or whether the &lt;i&gt;organisation really understood the problems&lt;/i&gt;. But, it certainly is a fact that we cannot redistribute Oscar4 as an Open Science project with a NC-licensed clause.&lt;br /&gt;
&lt;br /&gt;
And, I want to add and stress here, that blog posts sometimes are just like press releases: things have the highest impact if written down in a &lt;i&gt;black-and-white&lt;/i&gt; fashion; and getting things factually wrong happens to&amp;nbsp;&lt;i&gt;all&lt;/i&gt;&amp;nbsp;of us now and then.&lt;br /&gt;
&lt;br /&gt;
One of the outcomes I learned about this week, is that the RSC released the corpus in some form without the NC-clause. The full text paper corpus remained the NC clause of the &lt;a href="http://creativecommons.org/licenses/"&gt;CC license&lt;/a&gt;, but there is also a version where &lt;a href="https://plus.google.com/u/0/105368242513332981573/posts/SDUqBoEwANF"&gt;all sentences are released&lt;/a&gt;, and this has a CC license without the NC clause. I think this is not optimal, but still very much appreciate the gesture the RSC is making here, and would to kindly thank them for that!&amp;nbsp;And do I want to make that clear too (thanx to&amp;nbsp;&lt;a href="http://cameronneylon.net/"&gt;Cameron&lt;/a&gt;&amp;nbsp;for phrasing it so well&amp;nbsp;&lt;a href="https://plus.google.com/105368242513332981573/posts/NDJZFgbtXzd"&gt;in his comment&lt;/a&gt;), it is the principle&amp;nbsp;&lt;b&gt;freedom&lt;/b&gt;&amp;nbsp;for the RSC to decide what they want to do, and I fully respect that.&lt;br /&gt;
&lt;br /&gt;
Well, with that out of the way, and I wanted to say something about it, having been involved in the discussion, and feeling a bit in between Peter and the RSC here, appreciating both their view points, and having a third one myself, let's focus on this non-commercial clause a bit more.&lt;br /&gt;
&lt;br /&gt;
Of we enlarge our scope a bit, away from written material, to Open Science, it is clear that the non-commercial clause is bad. In the Open Source world, organisations like the &lt;a href="http://www.debian.org/"&gt;Debian project&lt;/a&gt;&amp;nbsp;clearly state that non-commercial clauses &lt;a href="http://www.debian.org/social_contract"&gt;violate basic freedoms&lt;/a&gt;. From an Open Standard point of perspective, this is pretty much the same. The reason, whether you like it or not, we live in a commercial world. Society expects us to me commercial, and any serious business is legally required to make making profit a company goal. Now, this effectively means that any science made available as non-commercial is not Open: you are effectively not giving people the freedom they need to advance science.&lt;br /&gt;
&lt;br /&gt;
In short, a CC license with the NC clause is in fact quite like "yes, we love to be Open, but we are too scared". Now really, I understand this scare. I am a scientist, post-hopping around Europe, not tenured, and not being an experimental scientist, unlikely to become one. Don't tell me about risk and scare of making things Open. Yet, I did, and it payed of (not enough yet; still looking for a fixed academic position, as I already indicated). But in the more than 15 years I have been working now in Open Science, I have yet to find a compelling (or any) argument to back up this fear: the perceived risk of the NC clause has so far not proved any different than a fear of ghosts.&lt;br /&gt;
&lt;br /&gt;
On the other hand, if I would not have been involved in Open Science, I would not have worked for the top European institutes I have been working in the past ten years.&lt;br /&gt;
&lt;br /&gt;
So, what are the arguments for using the NC clause? The fear I understand, but arguments I do not see that support that a NC clause is useful in an Open Science setting.&lt;br /&gt;
&lt;br /&gt;
Further reading:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://wiki.creativecommons.org/images/c/c2/20110917-noncommercial.pdf"&gt;The definition and future of &amp;nbsp;noncommercial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://freedomdefined.org/Licenses/NC"&gt;The Case for Free Use: Reasons Not to Use a Creative Commons -NC License&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.pensoft.net/journals/zookeys/article/2189/abstract/creative-commons-licenses-and-the-non-commercial-condition-implications-for-the-re-use-of-biodiversity-information"&gt;Creative Commons licenses and the non-commercial condition: Implications for the re-use of biodiversity information&lt;/a&gt; (doi:&lt;a href="http://dx.doi.org/10.3897/zookeys.150.2189"&gt;10.3897/zookeys.150.2189&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-4576652940072865222?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J46pIX9ZssASXQ4Hp-DWcvmt4m4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J46pIX9ZssASXQ4Hp-DWcvmt4m4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J46pIX9ZssASXQ4Hp-DWcvmt4m4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J46pIX9ZssASXQ4Hp-DWcvmt4m4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/1Bn3Rr_GYFw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/4576652940072865222/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/open-science-and-non-commercial.html#comment-form" title="8 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/4576652940072865222?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/4576652940072865222?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/1Bn3Rr_GYFw/open-science-and-non-commercial.html" title="Open Science and Non-Commercial licenses (a personal reflection to the Oscar/RSC controversy)" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>8</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/open-science-and-non-commercial.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04DQH4_fyp7ImA9WhRRGU0.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-275833980502798246</id><published>2011-12-03T10:38:00.001+01:00</published><updated>2011-12-03T11:59:31.047+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-03T11:59:31.047+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JChemPaint" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><category scheme="http://www.blogger.com/atom/ns#" term="groovy" /><title>CDK-JChemPaint #9: implicit hydrogens and isotopes</title><content type="html">Next in this series (after &lt;a href="http://chem-bla-ics.blogspot.com/2010/04/cdk-jchempaint-1-rendering-molecules.html"&gt;#1&lt;/a&gt;, &lt;a href="http://chem-bla-ics.blogspot.com/2010/04/cdk-jchempaint-2-rendering-reactions.html"&gt;#2&lt;/a&gt;, &lt;a href="http://chem-bla-ics.blogspot.com/2010/04/cdk-jchempaint-3-rendering-parameters.html"&gt;#3&lt;/a&gt;, &lt;a href="http://chem-bla-ics.blogspot.com/2010/04/cdk-jchempaint-4-embedding-renderer.html"&gt;#4&lt;/a&gt;, &lt;a href="http://chem-bla-ics.blogspot.com/2010/04/cdk-jchempaint-5-groovy-jchempaint.html"&gt;#5&lt;/a&gt;, &lt;a href="http://chem-bla-ics.blogspot.com/2010/06/cdk-jchempaint-6-rendering-atom-numbers.html"&gt;#6&lt;/a&gt;, &lt;a href="http://chem-bla-ics.blogspot.com/2011/06/cdk-jchempaint-7-rendering-molecules-as.html"&gt;#7&lt;/a&gt;, &lt;a href="http://chem-bla-ics.blogspot.com/2011/12/cdk-jchempaint-8-rendering-of-aromatic.html"&gt;#8&lt;/a&gt;), I'll show how to add implicit hydrogens to a drawing. I actually think the &lt;i&gt;BasicAtomGenerator&lt;/i&gt; should cover implicit hydrogens, and the &lt;i&gt;ExtendedAtomGenerator&lt;/i&gt; anything that requires more &lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt; modules than just the interfaces, like isotopes. But I discovered that implicit hydrogens currently also requires the &lt;i&gt;ExtendedAtomContainer&lt;/i&gt; too late. In fact, there are other things I like to see changed, but I do not have the resources for that right now. So, you will need the &lt;a href="http://sourceforge.net/projects/cdk/files/CDK-JChemPaint/"&gt;CDK-JChemPaint jar&lt;/a&gt; (which is not &lt;a href="http://jchempaint.sourceforge.net/"&gt;the JChemPaint code&lt;/a&gt;!).&lt;br /&gt;
&lt;br /&gt;
In fact, besides these points, it basically just comes down to replacing the&amp;nbsp;&lt;i&gt;BasicAtomGenerator&lt;/i&gt;&amp;nbsp;with the&amp;nbsp;&lt;i&gt;ExtendedAtomGenerator&lt;/i&gt;. Except a bug I found. I'll fix that in the next release, but right now, the extended atom generator requires the AtomNumberGenerator to be loaded as well, and thus we also must turn atom numbering off. Therefore, we basically get this code snippet (here's &lt;a href="https://github.com/egonw/groovy-jcp/blob/master/renderImplicitHydrogens.groovy"&gt;the full code&lt;/a&gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;// generators make the image elements
&lt;br /&gt;List&amp;lt;IGenerator&amp;gt; generators = new ArrayList&amp;lt;IGenerator&amp;gt;();
&lt;br /&gt;generators.add(new BasicSceneGenerator());
&lt;br /&gt;generators.add(new BasicBondGenerator());
&lt;br /&gt;generators.add(new AtomNumberGenerator());
&lt;br /&gt;generators.add(new ExtendedAtomGenerator());
&lt;br /&gt;
&lt;br /&gt;// the renderer needs to have a toolkit-specific font manager
&lt;br /&gt;AtomContainerRenderer renderer =
&lt;br /&gt;&amp;nbsp; new AtomContainerRenderer(generators, new AWTFontManager());
&lt;br /&gt;
&lt;br /&gt;// disable atom number rendering
&lt;br /&gt;model = renderer.getRenderer2DModel()
&lt;br /&gt;model.set(WillDrawAtomNumbers.class, Boolean.FALSE)
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
As said, this code will be simpler in the next CDK-JChemPaint release. The results looks like:&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-cEh9fAgggkI/Ttn-8chf7OI/AAAAAAAABJs/cM8efyrEtME/s1600/methane.png"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-cEh9fAgggkI/Ttn-8chf7OI/AAAAAAAABJs/cM8efyrEtME/s1600/methane.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
As you can see by the amount of whitespace around the carbon, the scaling issue has not been resolved yet :(&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Drawing isotope information works pretty much in the same way. In fact, we do not even have to change the rendering code, and the&amp;nbsp;&lt;i style="text-align: -webkit-auto;"&gt;ExtendedAtomContainer&lt;/i&gt;&lt;span style="text-align: -webkit-auto;"&gt;&amp;nbsp;automatically adds the isotope information (and no, indeed, not in the expected superscript fashion; so, another thing to fix):&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-p-1ZHWLswXU/TtoAShfcwRI/AAAAAAAABJ0/yOAYfNZTpQw/s1600/heavyMethane.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-p-1ZHWLswXU/TtoAShfcwRI/AAAAAAAABJ0/yOAYfNZTpQw/s1600/heavyMethane.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
But alas, there are always things to fix. I'm personally not&amp;nbsp;aesthetically&amp;nbsp;pleased with the kerning of just CH&lt;sub&gt;4&lt;/sub&gt; either.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-275833980502798246?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bkt5rnrTGmmrIVvIh99pDRFGCSI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bkt5rnrTGmmrIVvIh99pDRFGCSI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bkt5rnrTGmmrIVvIh99pDRFGCSI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bkt5rnrTGmmrIVvIh99pDRFGCSI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/2u8-sInNqnQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/275833980502798246/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/cdk-jchempaint-9-implicit-hydrogens-and.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/275833980502798246?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/275833980502798246?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/2u8-sInNqnQ/cdk-jchempaint-9-implicit-hydrogens-and.html" title="CDK-JChemPaint #9: implicit hydrogens and isotopes" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-cEh9fAgggkI/Ttn-8chf7OI/AAAAAAAABJs/cM8efyrEtME/s72-c/methane.png" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/cdk-jchempaint-9-implicit-hydrogens-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYHQnw-fCp7ImA9WhRRF04.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-4824689281529364352</id><published>2011-12-01T10:50:00.001+01:00</published><updated>2011-12-01T11:08:53.254+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-01T11:08:53.254+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="benzene" /><category scheme="http://www.blogger.com/atom/ns#" term="JChemPaint" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorial" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><category scheme="http://www.blogger.com/atom/ns#" term="groovy" /><category scheme="http://www.blogger.com/atom/ns#" term="aromaticity" /><title>CDK-JChemPaint #8: rendering of aromatic rings</title><content type="html">&lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt; can render aromatic rings in two ways: with localized double bonds and with a circle reflecting the delocalized nature of the&amp;nbsp;π electrons. Or, graphically:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-H5kLpLm4ayM/TtdPgThdlGI/AAAAAAAABJk/sTF4NYd-Pbo/s1600/benzene.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-H5kLpLm4ayM/TtdPgThdlGI/AAAAAAAABJk/sTF4NYd-Pbo/s1600/benzene.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The following two code snippets are part of full scripts available from my &lt;a href="https://github.com/egonw/groovy-jcp"&gt;Groovy-JChemPaint repository&lt;/a&gt;, and these two drawings are created with &lt;a href="http://sourceforge.net/projects/cdk/files/cdk/1.4.6/"&gt;CDK 1.4.6&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
To draw aromatic rings with localized double bonds, use this code:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;List&amp;lt;IGenerator&amp;gt; generators = new ArrayList&amp;lt;IGenerator&amp;gt;();
&lt;br /&gt;generators.add(new BasicSceneGenerator());
&lt;br /&gt;generators.add(new BasicBondGenerator());
&lt;br /&gt;generators.add(new BasicAtomGenerator());
&lt;/span&gt;

&lt;br /&gt;&lt;br /&gt;However, if you like the right aromatic ring style more, you replace the BasicBondGenerator by the RingGenerator, and use this set of &lt;a href="http://pele.farmbio.uu.se/nightly-1.3.1/cdk-javadoc-1.4.0/org/openscience/cdk/renderer/generators/IGenerator.html"&gt;IGenerator&lt;/a&gt;s:

&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;List&amp;lt;IGenerator&amp;gt; generators = new ArrayList&amp;lt;IGenerator&amp;gt;();
&lt;br /&gt;generators.add(new BasicSceneGenerator());
&lt;br /&gt;generators.add(new RingGenerator());
&lt;br /&gt;generators.add(new BasicAtomGenerator());
&lt;/span&gt;

&lt;br /&gt;&lt;br /&gt;That's it. Here's the &lt;a href="https://github.com/egonw/groovy-jcp/blob/master/renderAromaticity.groovy"&gt;full script&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-4824689281529364352?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W-usqIubLkmg3MI-UlqnvF5bpJ8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W-usqIubLkmg3MI-UlqnvF5bpJ8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W-usqIubLkmg3MI-UlqnvF5bpJ8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W-usqIubLkmg3MI-UlqnvF5bpJ8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/K-nT2yP4wk4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/4824689281529364352/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/12/cdk-jchempaint-8-rendering-of-aromatic.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/4824689281529364352?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/4824689281529364352?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/K-nT2yP4wk4/cdk-jchempaint-8-rendering-of-aromatic.html" title="CDK-JChemPaint #8: rendering of aromatic rings" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-H5kLpLm4ayM/TtdPgThdlGI/AAAAAAAABJk/sTF4NYd-Pbo/s72-c/benzene.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/12/cdk-jchempaint-8-rendering-of-aromatic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcHQH87fip7ImA9WhRREEg.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-6881241777095412758</id><published>2011-11-23T15:17:00.001+01:00</published><updated>2011-11-23T15:20:31.106+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-23T15:20:31.106+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cpu" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="overheating" /><category scheme="http://www.blogger.com/atom/ns#" term="Debian" /><title>Keeping it cool... tracking CPU temperatures on Debian GNU/Linux with a 3.1 kernel</title><content type="html">My laptop is getting old (almost 12 months now), and is starting to see the first symptoms of age. Probably just dust piling up, but I have been experiencing CPU overheating. A week or too I found a nice one-liner to keep an eye on the CPU temperature, but a kernel upgrade to &lt;a href="http://kernelnewbies.org/Linux_3.1"&gt;3.1&lt;/a&gt; broke that. Here is a script that works on my Linux laptop:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;( cd /sys/class/thermal &amp;amp;&amp;amp; while :; do line="`date`:`cat */temp | cut -c1-2 | awk '{ printf(\" %03d\", $1) }'`"; &amp;nbsp; echo "$line"; &amp;nbsp; sleep 5; done ) | tee LOG&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-6881241777095412758?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vhQYu5gNGK50aTf78EWWSl_zxJI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vhQYu5gNGK50aTf78EWWSl_zxJI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vhQYu5gNGK50aTf78EWWSl_zxJI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vhQYu5gNGK50aTf78EWWSl_zxJI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/zIVcXNl6ea0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/6881241777095412758/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/11/keeping-it-cool.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/6881241777095412758?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/6881241777095412758?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/zIVcXNl6ea0/keeping-it-cool.html" title="Keeping it cool... tracking CPU temperatures on Debian GNU/Linux with a 3.1 kernel" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/11/keeping-it-cool.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEDSH04cSp7ImA9WhRTGE4.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-6522724954300192222</id><published>2011-11-09T10:24:00.000+01:00</published><updated>2011-11-09T10:24:39.339+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-09T10:24:39.339+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Nightly" /><category scheme="http://www.blogger.com/atom/ns#" term="github" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenJavaDocCheck" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><title>The simplest way to make CDK commits</title><content type="html">Every now and then I people who show interested on working on the &lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt;. I reply to them what is involved, and I rarely here back from them. I know this is common for most open source projects (see also&amp;nbsp;&lt;a href="http://chem-bla-ics.blogspot.com/2011/09/community-development.html"&gt;Community development&lt;/a&gt;), and for the CDK this is likely caused the cumbersome process of getting a full development environment set up. Over the next months, I will make an effort to extend my &lt;a href="http://chem-bla-ics.blogspot.com/2011/07/groovy-cheminformatics-3rd-edition.html"&gt;Groovy Cheminformatics&lt;/a&gt; book to include detail after detail on how to do this. But what would also be welcome is &lt;a href="http://en.wikipedia.org/wiki/Open_Virtualization_Format"&gt;a VM (OVF) image&lt;/a&gt; that has everything set up and well.&lt;br /&gt;
&lt;br /&gt;
Anyway, but the road to CDK commit fame does nowadays not require a full-fledged development environment. Instead, we have &lt;a href="http://www.github.com/"&gt;GitHub&lt;/a&gt;. Their web interfaces makes a lot of things easy, &lt;a href="http://chem-bla-ics.blogspot.com/2010/05/how-to-use-github-for-cdkbioclipse-code.html"&gt;including source code peer review&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
But in this post I would like to show how easy it is to fix small things in the CDK, by using the GitHub GUI. Of course, this post can be used for any project hosted on GitHub.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 1&lt;/b&gt;&lt;br /&gt;
Get a &lt;a href="https://github.com/signup/free"&gt;free GitHub account&lt;/a&gt;. (And log in.)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 2&lt;/b&gt;&lt;br /&gt;
Find a problem in the CDK. Start with something dead easy, like JavaDoc errors. For example, check the Nightly report for &lt;a href="http://chem-bla-ics.blogspot.com/2009/11/call-for-collaboration-javadoc.html"&gt;OpenJavaDocCheck&lt;/a&gt; errors &lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/ojdcheckSummary.html"&gt;here&lt;/a&gt;. These pages will return a lot of errors about missing documentation, but skip those. Do something really simple, like reports like this one:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;There is no period to end the first sentence: 'Sums up the columns in a 2D int matrix'&lt;/i&gt;&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
JavaDoc has a special purpose with the first sentence in any JavaDoc: it serves as a summary. The detect the first sentence, it must properly end with a period.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
That patch cannot get any easier. It just requires a missing period to be added.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Step 3&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Identify the source file that contains the error. This has the added value in that you automatically learn your way around in the directory/folder hierarchy of the CDK project source. The above error refers to this class:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;i&gt;org.openscience.cdk.graph.PathTools&lt;/i&gt;&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Now, all functional CDK code (that is, everything but the unit test suite) can be found in the source distribution under &lt;i&gt;src/main&lt;/i&gt;, but we need the GitHub URL for that, and that is here (note that the linked OpenJavaDocCheck report is for the stable cdk-1.4.x branch, so our GitHub page for the PathTools source too):&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href="https://github.com/cdk/cdk/blob/cdk-1.4.x/src/main/org/openscience/cdk/graph/PathTools.java"&gt;https://github.com/cdk/cdk/blob/cdk-1.4.x/src/main/org/openscience/cdk/graph/PathTools.java&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Check this URL carefully, and note where it keeps the branch name, the &lt;i&gt;src/main&lt;/i&gt; folder, and the path to the &lt;i&gt;PathTools.java&lt;/i&gt; source. That makes finding other source code pages later easier. This particular page looks like:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-RVkpsTFOUag/Tro4WQFkEmI/AAAAAAAABIc/Dfa7lEXi1yo/s1600/githubEdit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-RVkpsTFOUag/Tro4WQFkEmI/AAAAAAAABIc/Dfa7lEXi1yo/s400/githubEdit.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Step 4&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Now, this source code page has (when logged in) a 'Edit this file' icon right of the file name line. Click this icon, and GitHub will present you with a basic, in-browser editor:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-NpS8mId57zY/Tro5CN6V5VI/AAAAAAAABIk/QLUm4CWPcmY/s1600/githubEdit1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="90" src="http://3.bp.blogspot.com/-NpS8mId57zY/Tro5CN6V5VI/AAAAAAAABIk/QLUm4CWPcmY/s400/githubEdit1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
I already scrolled down a bit, to the line with the missing period from this example. Make the modification, and scroll down to the lower part of the page, and read step 5.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;Step 5&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
With the small fix done, it is time to make the actual commit. Below the editor there is a text field to enter a commit message (&lt;b&gt;important&lt;/b&gt;: describe what you did, even if this takes more time than the fix itself! Reason: when browsing commits in changelogs, you &lt;i&gt;only&lt;/i&gt; see those messages!):&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-KZKN2nT__ek/Tro57-0JaxI/AAAAAAAABIs/iwXmzCuR5UU/s1600/githubEdit2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="130" src="http://4.bp.blogspot.com/-KZKN2nT__ek/Tro57-0JaxI/AAAAAAAABIs/iwXmzCuR5UU/s400/githubEdit2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
If you have multiple JavaDoc fixes, put them in one commit. But, preferably do not mix them with other fixes, as to keep the commit message as well as the peer-review simple. That speeds up the reviewing process, and makes it easier for me and &lt;a href="http://blog.rguha.net/"&gt;Rajarshi&lt;/a&gt; to apply to the main source tree, but more about that in the next steps.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Of course, this online editing can also be used for fixing &lt;a href="http://pmd.sourceforge.net/"&gt;PMD&lt;/a&gt; warnings, as reported by &lt;a href="http://pele.farmbio.uu.se/nightly-1.4.x/pmdsummary.html"&gt;this Nightly report&lt;/a&gt;. However, keep in mind that you cannot recompile the code this way, and for code changes, this online approach is discouraged.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
When done, press 'Propose File Change' (Rajarshi and I see a 'Commit Changes' button instead). After a new page is opened, the commit has been created, and it is time to inform us of your commit. This is done via a so-called 'pull request', as outlined in the next step.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;Step 6&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The last step in the process is to send out a &lt;i&gt;pull request&lt;/i&gt;. A page to do this is normally the immediate result from hitting that 'Propose File Change' button, and should look something like the following (note that I could not make a screenshot based on the running CDK example, because I have commit rights, and the patch goes directly into the repository; I discovered that in &lt;a href="https://github.com/cdk/cdk/commit/fdd3d22f728d31d85cbdba1773815ea3463699ca"&gt;this patch&lt;/a&gt; :):&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-eaBTqsRFqdE/Tro-bx_up6I/AAAAAAAABI0/jM-QPgDFhqw/s1600/githubEdit3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="245" src="http://2.bp.blogspot.com/-eaBTqsRFqdE/Tro-bx_up6I/AAAAAAAABI0/jM-QPgDFhqw/s400/githubEdit3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
So, while for another GitHub project (&lt;a href="http://chem-bla-ics.blogspot.com/2011/09/altmetrics-and-impact-report-for.html"&gt;Total-Impact is worth checking out&lt;/a&gt;), this page should look similar. The top grey bar show the project name and the 'Send a pull request', confirming that this page does what we are expecting. In the blue box a comment is given on where your commit is stored, which is in your own fork of the CDK for your own GitHub account, in a branch called &lt;i&gt;patch-x&lt;/i&gt;.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Below that blue box, reference is made to your newly-made commit, and a bit further below two text fields, a single line text box for a message 'subject' prefilled with the commit message, and a text box where you can leave a message to accompany the pull request. This message is used to put the pull request in perspective, and can be used to introduce yourself briefly, refer to a set of patches, or whatever. This message will not end up in the git repository. The more requests you make, the smaller this message will get. "Yeah, another JavaDoc fix."&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Hit the green 'Send pull request' button, and you're done.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-6522724954300192222?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/V9zZz5AlMp_sp695cZsHrfCDwdw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V9zZz5AlMp_sp695cZsHrfCDwdw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/V9zZz5AlMp_sp695cZsHrfCDwdw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V9zZz5AlMp_sp695cZsHrfCDwdw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/6VP1fZPE220" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/6522724954300192222/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/11/simplest-way-to-make-cdk-commits.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/6522724954300192222?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/6522724954300192222?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/6VP1fZPE220/simplest-way-to-make-cdk-commits.html" title="The simplest way to make CDK commits" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-RVkpsTFOUag/Tro4WQFkEmI/AAAAAAAABIc/Dfa7lEXi1yo/s72-c/githubEdit.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/11/simplest-way-to-make-cdk-commits.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04EQHs8cCp7ImA9WhRTFEQ.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-6428650153497558946</id><published>2011-11-05T13:24:00.003+01:00</published><updated>2011-11-05T13:25:01.578+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-05T13:25:01.578+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="biomarker" /><category scheme="http://www.blogger.com/atom/ns#" term="bioinformatics" /><category scheme="http://www.blogger.com/atom/ns#" term="SEURAT-1" /><category scheme="http://www.blogger.com/atom/ns#" term="transcriptomics" /><category scheme="http://www.blogger.com/atom/ns#" term="ToxBank" /><title>Online SEURAT workshop: Omics data analysis for Toxicology</title><content type="html">Another online meeting announcement (previously on &lt;a href="http://chem-bla-ics.blogspot.com/2011/05/online-seurat-workshop-open-data-what.html"&gt;Open Data&lt;/a&gt; and &lt;a href="http://toxbank.net/workinggroups/dawg/SEURAT1-LarKCMeeting"&gt;LarKC&lt;/a&gt;). BTW, DAWG is short for &lt;a href="http://toxbank.net/workinggroups/dawg"&gt;Data Analysis Working Group&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;
&lt;b&gt;Omics data analysis for Toxicology&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
Tuesday November 15th 2011, 15:00 CEST, 6:00 PDT&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
(organized by ToxBank &amp;amp; SEURAT-1 DAWG)&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Storing in the &lt;a href="http://www.toxbank.net/"&gt;ToxBank&lt;/a&gt; data warehouse and sharing it among &lt;a href="http://www.seurat-1.eu/"&gt;SEURAT-1&lt;/a&gt; is not&amp;nbsp;the only goal of a omics data integration effort. Combing omics data sets&amp;nbsp;available from the data warehouse will provide knowledge not visible from a&amp;nbsp;single data set. The ToxBank platform aims at making these kinds of omics&amp;nbsp;analysis possible.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
We invited &lt;a href="http://ki.se/ki/jsp/polopoly.jsp?d=28939&amp;amp;a=21910&amp;amp;l=sv"&gt;Prof. Roland Grafström&lt;/a&gt; to present the omics data analysis work&amp;nbsp;in cancer genomics for a seminar to speak on their recent work in the field.&amp;nbsp;Prof. Grafström is partner in the ToxBank project and is associated with&amp;nbsp;the &lt;a href="http://www.ki.se/"&gt;Karolinska Institutet&lt;/a&gt; medical university in Sweden, and the governmental&amp;nbsp;research institute &lt;a href="http://www.vtt.fi/"&gt;VTT in Finland&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The presentation will highlight the interpretation of gene expression data from&amp;nbsp;the application of a combination of bioinformatics tools, including&amp;nbsp;the &lt;a href="http://www.ingenuity.com/products/pathways_analysis.html"&gt;Ingenuity Pathway Analysis&lt;/a&gt; software and the &lt;a href="http://geneontology.org/"&gt;Gene Ontology&lt;/a&gt;. Basic&amp;nbsp;concepts and&amp;nbsp;terminologies will be dealt with including for integration of omics&amp;nbsp;data, in vitro to in vivo extrapolations, as well as retrieval and validation of&amp;nbsp;biomarker genes in large data sets. Work aimed at tumor biomarker&amp;nbsp;discovery in head and neck&amp;nbsp;cancer will be presented, but the results will discussed in the&amp;nbsp;context of the work planned in the SEURAT cluster.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The meeting will be held online and will be organized via &lt;a href="http://www.gotomeeting.com/"&gt;GoToMeeting&lt;/a&gt;. There&amp;nbsp;are only 25 seats, so registration is important, as we will fill seats&amp;nbsp;on a first-come basis. However, one ‘seat’ can host multiple scientists&amp;nbsp;behind a single computer, if needed.&lt;/div&gt;
&lt;br /&gt;&lt;b&gt;Registration&lt;/b&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;
Please send an email to Egon Willighagen (&lt;a href="mailto:egon.willighagen@ki.se"&gt;egon.willighagen@ki.se&lt;/a&gt;)&amp;nbsp;listing your name, SEURAT-1 project, and email address. Details on how to&amp;nbsp;log in will be send to that address shortly before the meeting.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-6428650153497558946?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NsYa_TVjzPa9Ma_V-UGkY5OX4cA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NsYa_TVjzPa9Ma_V-UGkY5OX4cA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NsYa_TVjzPa9Ma_V-UGkY5OX4cA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NsYa_TVjzPa9Ma_V-UGkY5OX4cA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/8fyb4YH1mkA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/6428650153497558946/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/11/online-seurat-workshop-omics-data.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/6428650153497558946?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/6428650153497558946?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/8fyb4YH1mkA/online-seurat-workshop-omics-data.html" title="Online SEURAT workshop: Omics data analysis for Toxicology" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/11/online-seurat-workshop-omics-data.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkcMQn86eip7ImA9WhRTEks.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-7255333600683843142</id><published>2011-11-02T21:42:00.000+01:00</published><updated>2011-11-02T22:08:03.112+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-02T22:08:03.112+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Bioclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><title>Going to Maastricht to work on Open PHACTS</title><content type="html">Some two months ago we decided to go back to the Netherlands, after having lived for more than three years here in Sweden. We have had a great time in our three houses, but feel a need to settle down, closer to family.&lt;br /&gt;
&lt;br /&gt;
A week later I was contacted by &lt;a href="https://twitter.com/#!/Chris_Evelo"&gt;Chris Evelo&lt;/a&gt;&amp;nbsp;contacted me for a position to work on &lt;a href="http://www.openphacts.org/"&gt;Open PHACTS&lt;/a&gt;. Chris and I only met&amp;nbsp;for the first time in March, when I visited the group when I had a conference in Maastricht. &lt;a href="http://www.bigcat.unimaas.nl/"&gt;His bioinformatics group&lt;/a&gt; is very much into Open Science and with a good track record in metabolism and transcriptomics analyses (something we do &lt;a href="http://ki.se/imm"&gt;here at KI&lt;/a&gt; too), and Open PHACTS is an interesting EU project into the application of semantic web technologies to the life sciences, something I have worked a lot on in the past two years.&lt;br /&gt;
&lt;br /&gt;
In the next two months here at KI, I'll be working hard on finishing my work for the other great EU project, &lt;a href="http://www.toxbank.net/"&gt;ToxBank&lt;/a&gt;, on which I am working now. I personally see clearly how these projects complement each other, but no clue if such can be given shape at a EU level, where there is intention and consortium agreements :)&lt;br /&gt;
&lt;br /&gt;
And, of course, I got a bit of funding rewarded here at KI, that I will use next year for two or three visits back to Stockholm, because there is some low-hanging fruit that remains to be picked.&lt;br /&gt;
&lt;br /&gt;
All in all, I am very much looking forward to my next post-doc position and&amp;nbsp;definitely&amp;nbsp;my last. What's after that, I won't have to care about in at least the next two years :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-7255333600683843142?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KeWVtZ6oEuoJ-Qp3dYLSqcS9k48/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KeWVtZ6oEuoJ-Qp3dYLSqcS9k48/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KeWVtZ6oEuoJ-Qp3dYLSqcS9k48/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KeWVtZ6oEuoJ-Qp3dYLSqcS9k48/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/KwEYDZjkntY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/7255333600683843142/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/11/going-to-maastricht-to-work-on-open.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/7255333600683843142?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/7255333600683843142?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/KwEYDZjkntY/going-to-maastricht-to-work-on-open.html" title="Going to Maastricht to work on Open PHACTS" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/11/going-to-maastricht-to-work-on-open.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcMQHc7eyp7ImA9WhRTEU4.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-2882274658233225735</id><published>2011-11-01T09:44:00.000+01:00</published><updated>2011-11-01T09:44:41.903+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-01T09:44:41.903+01:00</app:edited><title>CDK 1.4.5: the changes, the authors, and the reviewers</title><content type="html">&lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt; 1.4.5 just got &lt;a href="https://sourceforge.net/projects/cdk/files/cdk/1.4.5/"&gt;uploaded to SourceForge&lt;/a&gt;, about a month after the 1.4.4, though mere minutes after the &lt;a href="http://chem-bla-ics.blogspot.com/2011/11/cdk-144-changes-authors-and-reviewers.html"&gt;1.4.4 release notes&lt;/a&gt;.&amp;nbsp;CDK 1.4.5 is the fifth bug fix release of the 1.4 series and brings another few bug fixes.&lt;br /&gt;
&lt;br /&gt;
The changes include fixes to the JavaDoc generation, now outputting proper citations of PhD thesis and books, a fix in the SDFWriter to inherit the IO options from the underlying (used) MDLV2000Writer, restored atom type perception in SMILES parsing if aromaticity is not actively perceived (in line with earlier 1.4.x behavior that unfortunately got broken due to another fix), a fix in the MDLV2000Reader to deal with pseudo atoms with numbers greater than 9 (thanx to John May!), a fix in the sorting of IAtomContainers, and a fix for the elusive bug in the AWTRenderer causing thin bonds (e.g. due to zooming) to become grey.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The changes&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Use a minimal stroke width in the AWT output (fixes #3295256) &lt;a href="https://github.com/cdk/cdk/commit/1387b7b"&gt;1387b7b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Changed how data files are copied: copy those specified in the src/META-INF/*.datafiles (fixes #3430342) &lt;a href="https://github.com/cdk/cdk/commit/68536e1"&gt;68536e1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Perceive atom types also when aromaticity from the SMILES is kept &lt;a href="https://github.com/cdk/cdk/commit/2413197"&gt;2413197&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added unit test to make sure atom types are also perceived when aromaticity from SMILES is kept &lt;a href="https://github.com/cdk/cdk/commit/d6b8c8e"&gt;d6b8c8e&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Removed broken link and fixed syntax of @cdk.cites. &lt;a href="https://github.com/cdk/cdk/commit/22c59fc"&gt;22c59fc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The SDFWriter now accepts all MDLV2000Writer's IOSettings too (fixes #3392485) &lt;a href="https://github.com/cdk/cdk/commit/aa6ca5f"&gt;aa6ca5f&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Unit test for bug #3392485: SDFWriter not accepting MDLV2000Writer IO settings &lt;a href="https://github.com/cdk/cdk/commit/ab54ed5"&gt;ab54ed5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed @TestClass annotation to point to the correct class &lt;a href="https://github.com/cdk/cdk/commit/a7cbe48"&gt;a7cbe48&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Updated unit test to be independent of atom index and just match the coordinates &lt;a href="https://github.com/cdk/cdk/commit/8d3eed0"&gt;8d3eed0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed bugged when reading MDL V2000 files. If the atom number of a pseudo atom was greater then 9 it would not be read correctly &lt;a href="https://github.com/cdk/cdk/commit/fd90ed5"&gt;fd90ed5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Depend on standard to, to have access to AtomContainerComparator &lt;a href="https://github.com/cdk/cdk/commit/76db769"&gt;76db769&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create IMolecule's instead of IAtomContainer's because IMoleculeSet can only contain the former; fixed the exception currently thrown by e.g. MoleculeSetTest &lt;a href="https://github.com/cdk/cdk/commit/1aae7fa"&gt;1aae7fa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed sorting with null IAtomContainers (based on a suggestion by Mark in the bug report #3093241) &lt;a href="https://github.com/cdk/cdk/commit/1bf194b"&gt;1bf194b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Missing unit test for AtomContainerSet.sort(Comparator) &lt;a href="https://github.com/cdk/cdk/commit/0585bcd"&gt;0585bcd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added a unit test to check that molecular descriptors do not throw Exceptions when disconnected structures are passed &lt;a href="https://github.com/cdk/cdk/commit/853ca50"&gt;853ca50&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Added support for book and phdthesis reference types &lt;a href="https://github.com/cdk/cdk/commit/277dd03"&gt;277dd03&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;The authors&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;17  Egon Willighagen
 1  John May
&lt;/pre&gt;
&lt;b&gt;The reviewers&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;10  Rajarshi Guha 
&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-2882274658233225735?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/V7xBuyaQ1EvZ044jjqHCi3P5gqQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V7xBuyaQ1EvZ044jjqHCi3P5gqQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/V7xBuyaQ1EvZ044jjqHCi3P5gqQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V7xBuyaQ1EvZ044jjqHCi3P5gqQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/SLxkQHsQASA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/2882274658233225735/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/11/cdk-145-changes-authors-and-reviewers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/2882274658233225735?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/2882274658233225735?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/SLxkQHsQASA/cdk-145-changes-authors-and-reviewers.html" title="CDK 1.4.5: the changes, the authors, and the reviewers" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/11/cdk-145-changes-authors-and-reviewers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcNQX86fip7ImA9WhRTEU4.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-6260600530431483444</id><published>2011-11-01T08:56:00.000+01:00</published><updated>2011-11-01T09:44:50.116+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-01T09:44:50.116+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="atom types" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics" /><title>CDK 1.4.4: the changes, the authors, and the reviewers</title><content type="html">&lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt; 1.4.5 just got &lt;a href="https://sourceforge.net/projects/cdk/files/cdk/1.4.5/"&gt;uploaded to SourceForge&lt;/a&gt;, and when I looked up the link to the notes for 1.4.4 I noted I had not released those notes yet. So, here are those first.&lt;br /&gt;
&lt;br /&gt;
CDK 1.4.4 is the fourth bug fix release of the 1.4 series and brings another few bug fixes.

The changes include new cobalt atom types, a fix to ensure that all molecular descriptors are properly recognized by the build system, and a fix for the &lt;a href="http://www.google.se/url?sa=t&amp;amp;rct=j&amp;amp;q=log4j&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCEQFjAA&amp;amp;url=http%3A%2F%2Flogging.apache.org%2Flog4j%2F1.2%2F&amp;amp;ei=16SvTpG9N4bc4QSi3K3hAQ&amp;amp;usg=AFQjCNHa3hT5r4h5P2115jiUMpTxZpwYHQ"&gt;Log4J&lt;/a&gt;-based LoggingTool, to properly handle nulls. So, not so many changes, which probably explains why I forgot to blog about it earlier.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The changes&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Co final &lt;a href="https://github.com/cdk/cdk/commit/abf6b33"&gt;abf6b33&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fixed adding all descriptors to the qsar-descriptors.set file by using the correct number of chars to skip (@cdk.set length is 8 not 11). &lt;a href="https://github.com/cdk/cdk/commit/a75eece"&gt;a75eece&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Provide debug info on the classpath in which will be searched &lt;a href="https://github.com/cdk/cdk/commit/88070ac"&gt;88070ac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Check for a null input &lt;a href="https://github.com/cdk/cdk/commit/5cd07d0"&gt;5cd07d0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Unit test for a NullPointerException in the LoggingTool caused by a null message in an Exception. The error only shows up when debugging is turned on. &lt;a href="https://github.com/cdk/cdk/commit/1e07adc"&gt;1e07adc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Split up to test the LoggingTool also with debugging turned on; so far, only with debugging turned of was tested &lt;a href="https://github.com/cdk/cdk/commit/58bb243"&gt;58bb243&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;The authors&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt; 7  Egon Willighagen
 1  Gilleain Torrance&lt;/pre&gt;
&lt;b&gt;The reviewers&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;pre&gt;3  Rajarshi Guha 
1  Egon Willighagen
&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-6260600530431483444?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ocSJkvp0TVdKMTieUG3x7CHMONo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ocSJkvp0TVdKMTieUG3x7CHMONo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ocSJkvp0TVdKMTieUG3x7CHMONo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ocSJkvp0TVdKMTieUG3x7CHMONo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/T0h1MZftTew" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/6260600530431483444/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/11/cdk-144-changes-authors-and-reviewers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/6260600530431483444?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/6260600530431483444?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/T0h1MZftTew/cdk-144-changes-authors-and-reviewers.html" title="CDK 1.4.4: the changes, the authors, and the reviewers" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/11/cdk-144-changes-authors-and-reviewers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAARXwzeCp7ImA9WhRTEU8.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-7380706378605678272</id><published>2011-11-01T05:45:00.003+01:00</published><updated>2011-11-01T05:45:44.280+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-01T05:45:44.280+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="text mining" /><category scheme="http://www.blogger.com/atom/ns#" term="JChemInf" /><category scheme="http://www.blogger.com/atom/ns#" term="oscar4" /><category scheme="http://www.blogger.com/atom/ns#" term="Bioclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="publishing" /><category scheme="http://www.blogger.com/atom/ns#" term="OSCAR" /><title>Oscar4 paper: text mining in Bioclipse (and everywhere else, of course)</title><content type="html">The &lt;a href="http://www.jcheminf.com/content/3/1/41"&gt;Oscar4 paper&lt;/a&gt; (CC-BY, just like the screenshots of the paper below) was out already some days now, but the formatting has finished:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-5kDhUAnyVl8/Tq94E_QUlCI/AAAAAAAABIU/mEodQGuKpCk/s1600/oscar4Paper.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="291" src="http://3.bp.blogspot.com/-5kDhUAnyVl8/Tq94E_QUlCI/AAAAAAAABIU/mEodQGuKpCk/s400/oscar4Paper.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
I spotted a rogue 'http://' in the code example b) in &lt;a href="http://www.jcheminf.com/content/3/1/41#IDAE2JBD"&gt;Appendix B&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-OoLUNIpkuco/Tq94BR8AFSI/AAAAAAAABIM/IK9Va7C8QEc/s1600/oscar4Paper2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-OoLUNIpkuco/Tq94BR8AFSI/AAAAAAAABIM/IK9Va7C8QEc/s1600/oscar4Paper2.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I'll see what I can do about that, but the API might evolve a bit anyway.&lt;br /&gt;
&lt;br /&gt;
That leaves me to mention that &lt;a href="http://chem-bla-ics.blogspot.com/2011/09/almost-year-ago-i-started-position-with.html"&gt;Bioclipse has an Oscar extension&lt;/a&gt;&amp;nbsp;(&lt;a href="http://www.bioclipse.net/"&gt;Bioclipse&lt;/a&gt; has a lot of functionality nowadays, in fact), and that I &lt;a href="http://chem-bla-ics.blogspot.com/2010/12/text-mining-chemistry-from-dutch-or.html"&gt;blogged several times on Oscar4&lt;/a&gt; when I was working with the other authors on the refactoring last year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-7380706378605678272?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/j_qPGEB9G57d1_n3GQgLxsRH9Qk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j_qPGEB9G57d1_n3GQgLxsRH9Qk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/j_qPGEB9G57d1_n3GQgLxsRH9Qk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j_qPGEB9G57d1_n3GQgLxsRH9Qk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/NM0k6q2_rcU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/7380706378605678272/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/11/oscar4-paper-text-mining-in-bioclipse.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/7380706378605678272?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/7380706378605678272?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/NM0k6q2_rcU/oscar4-paper-text-mining-in-bioclipse.html" title="Oscar4 paper: text mining in Bioclipse (and everywhere else, of course)" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-5kDhUAnyVl8/Tq94E_QUlCI/AAAAAAAABIU/mEodQGuKpCk/s72-c/oscar4Paper.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/11/oscar4-paper-text-mining-in-bioclipse.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEQAQno6eSp7ImA9WhdaFUg.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-8722298537670353948</id><published>2011-10-25T09:36:00.003+01:00</published><updated>2011-10-25T16:25:43.411+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-25T16:25:43.411+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="metabolism" /><category scheme="http://www.blogger.com/atom/ns#" term="Copenhagen" /><category scheme="http://www.blogger.com/atom/ns#" term="job" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics" /><title>"Post-doc with experience in CDK programming wanted"</title><content type="html">&lt;a href="http://www.farma.ku.dk/smartcyp/"&gt;SMARTCyp&lt;/a&gt; (see papers below) is an integrated computational approach that mixes cheminformatics with molecular modeling approaches to predict the metabolic fate of molecules. This fate is important to various biological aspects of small molecules, and the metabolism can active a prodrug into a drug, make a toxic compound non-toxic, and a non-toxic compound risky.&lt;br /&gt;
&lt;br /&gt;
The tool has been well received by the community, complementing other approaches. Now, the reason why I blog about these papers now, is that the tool uses the CDK for the cheminformatics parts, which I find really cool. In fact, the project has resulted in good feedback on the CDK. In fact, the project received further funding creating a short-term open position to continue research on enzymatic reactivity of molecules in the&amp;nbsp;&lt;span class="Apple-style-span" style="-webkit-text-size-adjust: none; background-color: white; font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 15px;"&gt;cytochrome P450 family, as outlined below.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-size-adjust: none; background-color: white; font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="-webkit-text-size-adjust: none; background-color: white; font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 15px;"&gt;So, this &lt;i&gt;peer-review&lt;/i&gt; is a bit more on the impact of the CDK and SMARTCyp on the academic landscape, than on the content.of the paper.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.farma.ku.dk/index.php?id=5304"&gt;Patrik Rydberg&lt;/a&gt; wrote on &lt;a href="http://www.linkedin.com/groups/Chemistry-Development-Kit-1892912"&gt;the CDK LinkedIn group&lt;/a&gt;&amp;nbsp;and the &lt;a href="https://lists.sourceforge.net/lists/listinfo/cdk-user"&gt;CDK user mailing list&lt;/a&gt;&amp;nbsp;about an &lt;a href="http://www.linkedin.com/groups/postdoc-experience-CDK-programming-wanted-1892912.S.76950638?qid=c117ce43-2dc1-40d9-b70e-997fb0b77e01&amp;amp;trk=group_most_popular-0-b-ttl&amp;amp;goback=%2Egmp_1892912"&gt;open post-doc position&lt;/a&gt; where CDK expertise is welcomed:&lt;br /&gt;
&lt;ul&gt;
&lt;span class="Apple-style-span" style="-webkit-text-size-adjust: none; background-color: white; font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 15px;"&gt;I'm seeking candidates for a post-doc position in applied cheminformatics at the University of Copenhagen. We are working on drug metabolism prediction models, and our results are as far as possible made into open source software based on the CDK. The group has previously developed the &lt;a href="http://www.farma.ku.dk/smartcyp/"&gt;SMARTCyp&lt;/a&gt; site-of-metabolism prediction software which is based on CDK, and this project aims to extend the scope of our cytochrome P450 project.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Employer&lt;/b&gt;: department of medicinal chemistry, &lt;a href="http://www.farma.ku.dk/"&gt;faculty of pharmaceutical sciences&lt;/a&gt;, &lt;a href="http://www.ku.dk/"&gt;University of Copenhagen&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Location&lt;/b&gt;: Copenhagen, Denmark&lt;br /&gt;&lt;b&gt;Position&lt;/b&gt;: post-doc&lt;br /&gt;&lt;b&gt;Duration&lt;/b&gt;: 7 months, starting january 2012&lt;br /&gt;&lt;b&gt;Project&lt;/b&gt;: drug metabolism by cytochromes P450&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Experiences required&lt;/b&gt;:&lt;br /&gt;Machine learning methods&lt;br /&gt;Cheminformatics&lt;br /&gt;java programming&lt;br /&gt;&lt;br /&gt;Bonus for experience in java programming using the Chemistry Development Kit (CDK), experience in development of ligand based virtual screening methods, and experience of work on the cytochrome P450 enzyme family.&lt;/span&gt;&lt;/ul&gt;
The SMARTCyp paper can be found linked to below, with the details of how the CDK and SMARTCyp interoperate and make P450 predictions.&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="-webkit-text-size-adjust: none; line-height: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="float: left; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;&lt;a href="http://www.researchblogging.org/"&gt;&lt;img alt="ResearchBlogging.org" src="http://www.researchblogging.org/public/citation_icons/rb2_tiny.png" style="border: 0;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Z3988" title="ctx_ver=Z39.88-2004&amp;amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;amp;rft.jtitle=Bioinformatics&amp;amp;rft_id=info%3Adoi%2F10.1093%2Fbioinformatics%2Fbtq584&amp;amp;rfr_id=info%3Asid%2Fresearchblogging.org&amp;amp;rft.atitle=The+SMARTCyp+cytochrome+P450+metabolism+prediction+server&amp;amp;rft.issn=1367-4803&amp;amp;rft.date=2010&amp;amp;rft.volume=26&amp;amp;rft.issue=23&amp;amp;rft.spage=2988&amp;amp;rft.epage=2989&amp;amp;rft.artnum=http%3A%2F%2Fbioinformatics.oxfordjournals.org%2Fcgi%2Fdoi%2F10.1093%2Fbioinformatics%2Fbtq584&amp;amp;rft.au=Rydberg%2C+P.&amp;amp;rft.au=Gloriam%2C+D.&amp;amp;rft.au=Olsen%2C+L.&amp;amp;rfe_dat=bpr3.included=1;bpr3.tags=Biology%2CChemistry%2CMedicine%2CCheminformatics%2C+Bioinformatics%2C+Cheminformatics%2C+Metabolism"&gt;Rydberg, P., Gloriam, D., &amp;amp; Olsen, L. (2010). The SMARTCyp cytochrome P450 metabolism prediction server &lt;span style="font-style: italic;"&gt;Bioinformatics, 26&lt;/span&gt; (23), 2988-2989 DOI: &lt;a href="http://dx.doi.org/10.1093/bioinformatics/btq584" rev="review"&gt;10.1093/bioinformatics/btq584&lt;/a&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="float: left; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;&lt;a href="http://www.researchblogging.org/"&gt;&lt;img alt="ResearchBlogging.org" src="http://www.researchblogging.org/public/citation_icons/rb2_tiny.png" style="border: 0;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Z3988" title="ctx_ver=Z39.88-2004&amp;amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;amp;rft.jtitle=ACS+Medicinal+Chemistry+Letters&amp;amp;rft_id=info%3Adoi%2F10.1021%2Fml100016x&amp;amp;rfr_id=info%3Asid%2Fresearchblogging.org&amp;amp;rft.atitle=SMARTCyp%3A+A+2D+Method+for+Prediction+of+Cytochrome+P450-Mediated+Drug+Metabolism&amp;amp;rft.issn=1948-5875&amp;amp;rft.date=2010&amp;amp;rft.volume=1&amp;amp;rft.issue=3&amp;amp;rft.spage=96&amp;amp;rft.epage=100&amp;amp;rft.artnum=http%3A%2F%2Fpubs.acs.org%2Fdoi%2Fabs%2F10.1021%2Fml100016x&amp;amp;rft.au=Rydberg%2C+P.&amp;amp;rft.au=Gloriam%2C+D.&amp;amp;rft.au=Zaretzki%2C+J.&amp;amp;rft.au=Breneman%2C+C.&amp;amp;rft.au=Olsen%2C+L.&amp;amp;rfe_dat=bpr3.included=1;bpr3.tags=Biology%2CChemistry%2CMedicine%2CCheminformatics%2C+Bioinformatics%2C+Metabolism%2C+Cheminformatics"&gt;Rydberg, P., Gloriam, D., Zaretzki, J., Breneman, C., &amp;amp; Olsen, L. (2010). SMARTCyp: A 2D Method for Prediction of Cytochrome P450-Mediated Drug Metabolism &lt;span style="font-style: italic;"&gt;ACS Medicinal Chemistry Letters, 1&lt;/span&gt; (3), 96-100 DOI: &lt;a href="http://dx.doi.org/10.1021/ml100016x" rev="review"&gt;10.1021/ml100016x&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-8722298537670353948?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yhLXpAaQqOR9b62XhwXKAXHjPsE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yhLXpAaQqOR9b62XhwXKAXHjPsE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yhLXpAaQqOR9b62XhwXKAXHjPsE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yhLXpAaQqOR9b62XhwXKAXHjPsE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/SbZsyP_nehk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/8722298537670353948/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/10/post-doc-with-experience-in-cdk.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/8722298537670353948?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/8722298537670353948?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/SbZsyP_nehk/post-doc-with-experience-in-cdk.html" title="&quot;Post-doc with experience in CDK programming wanted&quot;" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/10/post-doc-with-experience-in-cdk.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08DR3k7eSp7ImA9WhdaEkU.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-1550380411667557222</id><published>2011-10-22T13:09:00.000+01:00</published><updated>2011-10-22T13:17:56.701+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-22T13:17:56.701+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="pytassium" /><category scheme="http://www.blogger.com/atom/ns#" term="chembl" /><category scheme="http://www.blogger.com/atom/ns#" term="Kasabi" /><category scheme="http://www.blogger.com/atom/ns#" term="RDF" /><title>ChEMBL-RDF: Uploading data to Kasabi with pytassium</title><content type="html">I reported earlier how to I &lt;a href="http://chem-bla-ics.blogspot.com/2011/07/chempedia-rdf-3-uploading-data-to.html"&gt;uploaded the ChemPedia (RIP) data onto Kasabi&lt;/a&gt;. But for ChEMBL-RDF I have used the &lt;a href="https://github.com/iand/pytassium"&gt;pytassium&lt;/a&gt; tool, not just because it has a cool name :) I discovered yesterday, however, that I did not write down in this lab notebook, what steps I needed to take to reproduce it. And I just wanted to uploaded new triples to the &lt;a href="http://kasabi.com/dataset/chembl-rdf"&gt;ChEMBL-RDF data set on Kasabi&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The new triples I wanted to upload, link the &lt;a href="http://chembl.blogspot.com/2011/08/chembl-11-released.html"&gt;new public CHEMBL identifiers&lt;/a&gt; (like&amp;nbsp;&lt;a href="https://www.ebi.ac.uk/chembldb/index.php/compound/inspect/CHEMBL25"&gt;CHEMBL25 for aspirin&lt;/a&gt;) to the internal ChEMBL database identifier I used for ChEMBL 09 for the URIs. So, I am adding a lot of triples like:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;http://data.kasabi.com/dataset/chembl-rdf/09/molecule/m517180&amp;gt; &amp;lt;http://www.w3.org/2002/07/owl#sameAs&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;http://data.kasabi.com/dataset/chembl-rdf/09/chemblid/CHEMBL1&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
And the pytassium code I use to upload this to Kasabi looks like:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;import pytassium&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;import time&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;dataset = pytassium.Dataset('chembl-rdf','XXX')&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;# Store the contents of a turtle file&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;dataset.store_file('chemblids.nt', media_type='text/plain')&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So, that omission in my log book has been corrected now.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-1550380411667557222?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dEJXIE_5Hidg4BuGYziVPI7cPQo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dEJXIE_5Hidg4BuGYziVPI7cPQo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dEJXIE_5Hidg4BuGYziVPI7cPQo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dEJXIE_5Hidg4BuGYziVPI7cPQo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/6Yb2K1CWAUY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/1550380411667557222/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/10/chembl-rdf-uploading-data-to-kasabi.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/1550380411667557222?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/1550380411667557222?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/6Yb2K1CWAUY/chembl-rdf-uploading-data-to-kasabi.html" title="ChEMBL-RDF: Uploading data to Kasabi with pytassium" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/10/chembl-rdf-uploading-data-to-kasabi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4FQnw7fCp7ImA9WhdaEUw.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-5634537895886230106</id><published>2011-10-20T14:31:00.001+01:00</published><updated>2011-10-20T14:38:33.204+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-20T14:38:33.204+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="molfile" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics" /><title>CDK &amp; File Formats #1: MDL molfiles and bond order 4</title><content type="html">I just had a conference call on one of the translational cheminformatics projects I am involved in: &lt;a href="http://wiki.bioclipse.net/index.php?title=OpenTox"&gt;Bioclipse-OpenTox&lt;/a&gt;. A paper about this project has been submitted, and we are writing up a more practice oriented book chapter (almost done). In writing up a use case, we ran into a recurrent problem: proper cheminformatics handling of input files. Ola suggested to start writing more extensive documentation on what users of the &lt;a href="http://cdk.sf.net/"&gt;CDK&lt;/a&gt; are supposed to do when reading a file. So, here I start a new series.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Introduction&lt;/b&gt;&lt;br /&gt;
But before I start writing up how to work with MDL molfiles in the CDK, I like to stress three key design principles in the CDK:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;there is no single solution to everything (aka there are multiple solutions to the same problem)&lt;/li&gt;
&lt;li&gt;algorithms must be modular (the LEGO building block approach)&lt;/li&gt;
&lt;li&gt;the user is responsible for using the right blocks at the right time&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
These principles have a profound effect on the usability of the CDK. And here I must stress the point I made recently on usability:&amp;nbsp;&lt;a href="http://chem-bla-ics.blogspot.com/2011/08/usability-what-happens-if-you-neglect.html"&gt;what happens if you neglect less abundant personas&lt;/a&gt;. Well, in this case, the abundancy is actually somewhat different. But, CDK libraries target a few personas: one of these is the scientist that uses cheminformatics as a mere tool, who doesn't know graph theory, let alone file formats; this personas works in the field of translational cheminformatics. Let's call him &lt;b&gt;&lt;i&gt;Tony&lt;/i&gt;&lt;/b&gt;. The other personas has a more extensive education in cheminformatics (e.g. former Gasteiger lab, Sheffield, former CAOS/CAMM (like me), etc) or are actively involved in cheminformatics research (like that of &lt;a href="http://www.ebi.ac.uk/steinbeck/"&gt;Christoph&lt;/a&gt;, and many, many more). This personas we will call &lt;b&gt;&lt;i&gt;Carry&lt;/i&gt;&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
The CDK, with its limited resources, must target both Tony as well as Carry; both have widely different needs, and somewhere, in our free hours, we must work on solutions for both personas. Carry and Tony are, of course, exaggerations, and all readers (and me too) are linear combinations of these personas. In fact, you can even be a Carry in some parts of the CDK, while being a Tony in others. The CDK has so much functionality nowadays, that even I have unexplored corners.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
And, practically, the building block approach is important to Carry (she might want to plug in her own aromaticity model), but a killer for Tony.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Missing information&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
A prominent, recurrent problem for the first personas, is to deal with missing information. And input files have missing information. Some formats are more explicit than others. This series will focus on these aspects, and discuss how the CDK can be used to add that missing information.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Another important aspect is that the CDK data model cannot hold all information.&amp;nbsp;For example, I have no clue how the CDK should read MDL files with a&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Muonium"&gt;muonium&lt;/a&gt;&amp;nbsp;(browse the cdk-devel mailing list&amp;nbsp;&lt;a href="https://sourceforge.net/mailarchive/forum.php?forum_name=cdk-devel&amp;amp;max_rows=25&amp;amp;style=threaded&amp;amp;viewmonth=201110"&gt;archives of this month&lt;/a&gt;).&amp;nbsp;Here too, this is not always clear to Tony, who does not have the time to read file format specifications, nor CDK interfaces. He just wants the CDK to do its thing which it is supposed to be good at.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;MDL formats&lt;/b&gt;&lt;br /&gt;
So, here we are. We have a MDL .mol file. They are pretty much the community standard, and even pretty Open too. You can now find the specs in the &lt;a href="http://www.google.se/search?gcx=c&amp;amp;ix=c2&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=ctfile.pdf"&gt;ctfile.pdf&lt;/a&gt;, readily available on the web. Actually, they are no longer called MDL formats, but Symyx formats, umm,&amp;nbsp;&lt;a href="http://accelrys.com/resource-center/downloads/freeware/"&gt;Accelrys formats&lt;/a&gt;. These formats define a number of file formats, including the aforementioned Accelrys molfile, the Symyx SD file, but also query formats, used to store queries against their database software.&lt;br /&gt;
&lt;br /&gt;
Like any file format, they support a number of features. For example, MDL files cannot represent a bond order 4, a quadruple bond. Organic chemistry doesn't need them. Moreover, hydrogens are often implicit, as they can easily be added later, and both memory and disk space is expensive (think 80-ies). Stereochemistry is wedge-bond-based and others.&lt;br /&gt;
&lt;br /&gt;
Well, more recent MDL formats have become more powerful. The V3000 format can do much more then the V2000 format, or even the pre-V2000 format.&lt;br /&gt;
&lt;br /&gt;
Now, the trigger for the start of this series is the bond order 4 in MDL files. Strictly speaking this is not part of the molfile format, nor of the SD file format; instead, it's part of the query format. However, the community ignored that part of the specification, and the molfiles and SD files are commonly using this query type to represent &lt;i&gt;aromatic&lt;/i&gt; bonds. Well, or bonds that can be both single or double.&lt;br /&gt;
&lt;br /&gt;
Now, the CDK does not have a structure to represent a single OR a double bond order. The CDK only has SINGLE, DOUBLE, TRIPLE, and QUADRUPLE (see &lt;a href="http://pele.farmbio.uu.se/nightly/cdk-javadoc-1.5.0.git/org/openscience/cdk/interfaces/IBond.Order.html"&gt;IBond.Order&lt;/a&gt;). Moreover, it has a separate mechanism to indicate if a bond is aromatic. A flag is used for that. This allows the CDK to store both kekule-ized bond order localization and aromaticity perception information separately.&lt;br /&gt;
&lt;br /&gt;
So, if a MDL molfile (or SD file) is read with the CDK in &lt;a href="http://pele.farmbio.uu.se/nightly/cdk-javadoc-1.5.0.git/org/openscience/cdk/io/IChemObjectReader.Mode.html#RELAXED"&gt;RELAXED mode&lt;/a&gt;&amp;nbsp;with the &lt;a href="http://pele.farmbio.uu.se/nightly/api/org/openscience/cdk/io/MDLV2000Reader.html"&gt;MDLV2000Reader&lt;/a&gt;, order 4 bonds are read as SINGLE bonds with a flag indicating it is aromatic. If only the CDK had IBond.Order.UNKNOWN. This is scheduled for master. Mind you, this is a complicated patch, because a lot of algorithm introspect the bond order information, which will have to be updated to handle UNKNOWN bond orders.&lt;br /&gt;
&lt;br /&gt;
This is a nasty co-incidence (interaction effect) killing Tony's use case: the MDL molfiles in the wild have information that the CDK cannot represent, sadly. Now, if users would have been paying for CDK releases, we could have assigned a developer on it. We have the mechanisms in place to buy a copy of the CDK, so that's not really an excuse (price negotiable; maybe 4999 SEK, but you are welcome to buy a campus-wide CDK version for more). If enough people / companies would do this, we could hire a developer to implement this particular use case. This would be a great way to support the project!&lt;br /&gt;
&lt;br /&gt;
Anyway, the purpose of this series is not to rant about these things, but to describe how file formats might be read with the CDK. Here's a recipe with inline comments (in the &lt;a href="http://en.wikipedia.org/wiki/Groovy_(programming_language)"&gt;Groovy syntax&lt;/a&gt;):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;reader = new MDLV2000Reader(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; new File("data/azulene4.mol").newReader(),&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; Mode.RELAXED&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;azulene = reader.read(new Molecule());&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;// perceive atom types&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;AtomContainerManipulator&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; .percieveAtomTypesAndConfigureAtoms(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; azulene&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;// add missing hydrogens&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;adder = CDKHydrogenAdder.getInstance(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; DefaultChemObjectBuilder.getInstance()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;adder.addImplicitHydrogens(azulene);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;AtomContainerManipulator&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; .convertImplicitToExplicitHydrogens(&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; azulene&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;// if bond order 4 was present,&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;// deduce bond orders&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;dbst = new DeduceBondSystemTool();&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;azulene = dbst.fixAromaticBondOrders(azulene);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Carry would know this. In fact, Carry would probably have some comments on this recipe. Well, Carry can leave those in the comments of this post.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-5634537895886230106?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ihu6B-lagu7Q6pldnNqB2Ehqolg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ihu6B-lagu7Q6pldnNqB2Ehqolg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ihu6B-lagu7Q6pldnNqB2Ehqolg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ihu6B-lagu7Q6pldnNqB2Ehqolg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/zJ1M9Cr1SEM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/5634537895886230106/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/10/cdk-file-formats-1-mdl-molfiles-and.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/5634537895886230106?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/5634537895886230106?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/zJ1M9Cr1SEM/cdk-file-formats-1-mdl-molfiles-and.html" title="CDK &amp; File Formats #1: MDL molfiles and bond order 4" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/10/cdk-file-formats-1-mdl-molfiles-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MMRH88eSp7ImA9WhdbGU4.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-5924816512475211291</id><published>2011-10-18T09:42:00.000+01:00</published><updated>2011-10-18T10:51:25.171+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-18T10:51:25.171+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="translational cheminformatics" /><category scheme="http://www.blogger.com/atom/ns#" term="Bioclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="CDK" /><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics" /><category scheme="http://www.blogger.com/atom/ns#" term="Blue Obelisk" /><title>The Blue Obelisk Shoulders for Translational Cheminformatics</title><content type="html">I guess reader of my blog already heard about it via other channels (e.g. via &lt;a href="http://baoilleach.blogspot.com/2011/10/blue-obelisk-update-after-5-years.html"&gt;Noel's blog post&lt;/a&gt;), but our &lt;a href="http://www.jcheminf.com/content/3/1/37"&gt;second Blue Obelisk paper&lt;/a&gt; is out. In the past five-ish years since &lt;a href="http://blogs.ch.cam.ac.uk/pmr/"&gt;Peter&lt;/a&gt; instantiated this initiative, it has created a solid set of shoulder on which to developed Open Source-based cheminformatics solutions. I created the following diagram for the paper, showing how various Blue Obelisk projects interoperate (image is &lt;a href="http://creativecommons.org/licenses/by/2.0/"&gt;CC-BY&lt;/a&gt;, from the paper):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-E9PuUcLmHtw/Tp01AN4GYeI/AAAAAAAABH8/FJXHrqATlO0/s1600/boShoulders.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-E9PuUcLmHtw/Tp01AN4GYeI/AAAAAAAABH8/FJXHrqATlO0/s640/boShoulders.png" width="550" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
It shows a number of Open Standards (diamonds), one Open Data set (rectangles), and Open Source projects (ovals). What does diagram is not showing, is the huge amount of further Open Source cheminformatics projects around, that use one or more of the components listed here, but which do not link themselves to the Blue Obelisk directly. And there are many indeed, both proprietary and Open.&lt;br /&gt;
&lt;br /&gt;
I am proud of this diagram: it really shows that the interoperability we set out in the first paper worked out very well!&amp;nbsp;This makes the Blue Obelisk an excellent set of shoulders to do translational cheminformatics.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Translational cheminformatics&lt;/i&gt;?? Well, I have been looking for a while for a good term for my research regarding all that hacking on the CDK, Bioclipse, etc. Now, that's the translation of my core &lt;i&gt;molecular chemometrics&lt;/i&gt; research to other scientific fields, like metabolomics, toxicology, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="float: left; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;&lt;a href="http://www.researchblogging.org/"&gt;&lt;img alt="ResearchBlogging.org" src="http://www.researchblogging.org/public/citation_icons/rb2_tiny.png" style="border: 0;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Z3988" title="ctx_ver=Z39.88-2004&amp;amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;amp;rft.jtitle=Journal+of+Chemical+Information+and+Modeling&amp;amp;rft_id=info%3Adoi%2F10.1021%2Fci050400b&amp;amp;rfr_id=info%3Asid%2Fresearchblogging.org&amp;amp;rft.atitle=The+Blue+ObeliskInteroperability+in+Chemical+Informatics&amp;amp;rft.issn=1549-9596&amp;amp;rft.date=2006&amp;amp;rft.volume=46&amp;amp;rft.issue=3&amp;amp;rft.spage=991&amp;amp;rft.epage=998&amp;amp;rft.artnum=http%3A%2F%2Fpubs.acs.org%2Fdoi%2Fabs%2F10.1021%2Fci050400b&amp;amp;rft.au=Guha%2C+R.&amp;amp;rft.au=Howard%2C+M.&amp;amp;rft.au=Hutchison%2C+G.&amp;amp;rft.au=Murray-Rust%2C+P.&amp;amp;rft.au=Rzepa%2C+H.&amp;amp;rft.au=Steinbeck%2C+C.&amp;amp;rft.au=Wegner%2C+J.&amp;amp;rft.au=Willighagen%2C+E.&amp;amp;rfe_dat=bpr3.included=1;bpr3.tags=Chemistry%2CMedicine%2CCheminformatics%2C+Bioinformatics"&gt;Guha, R., Howard, M., Hutchison, G., Murray-Rust, P., Rzepa, H., Steinbeck, C., Wegner, J., &amp;amp; Willighagen, E. (2006). The Blue Obelisk - Interoperability in Chemical Informatics &lt;span style="font-style: italic;"&gt;Journal of Chemical Information and Modeling, 46&lt;/span&gt; (3), 991-998 DOI: &lt;a href="http://dx.doi.org/10.1021/ci050400b" rev="review"&gt;10.1021/ci050400b&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="float: left; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px;"&gt;&lt;a href="http://www.researchblogging.org/"&gt;&lt;img alt="ResearchBlogging.org" src="http://www.researchblogging.org/public/citation_icons/rb2_tiny.png" style="border: 0;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Z3988" title="ctx_ver=Z39.88-2004&amp;amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;amp;rft.jtitle=Journal+of+cheminformatics&amp;amp;rft_id=info%3Apmid%2F21999342&amp;amp;rfr_id=info%3Asid%2Fresearchblogging.org&amp;amp;rft.atitle=Open+Data%2C+Open+Source+and+Open+Standards+in+chemistry%3A+The+Blue+Obelisk+five+years+on.&amp;amp;rft.issn=&amp;amp;rft.date=2011&amp;amp;rft.volume=3&amp;amp;rft.issue=1&amp;amp;rft.spage=37&amp;amp;rft.epage=&amp;amp;rft.artnum=&amp;amp;rft.au=O%27Boyle+NM&amp;amp;rft.au=Guha+R&amp;amp;rft.au=Willighagen+EL&amp;amp;rft.au=Adams+SE&amp;amp;rft.au=Alvarsson+J&amp;amp;rft.au=Bradley+JC&amp;amp;rft.au=Filippov+IV&amp;amp;rft.au=Hanson+RM&amp;amp;rft.au=Hanwell+MD&amp;amp;rft.au=Hutchison+GR&amp;amp;rft.au=James+CA&amp;amp;rft.au=Jeliazkova+N&amp;amp;rft.au=Lang+AS&amp;amp;rft.au=Langner+KM&amp;amp;rft.au=Lonie+DC&amp;amp;rft.au=Lowe+DM&amp;amp;rft.au=Pansanel+J&amp;amp;rft.au=Pavlov+D&amp;amp;rft.au=Spjuth+O&amp;amp;rft.au=Steinbeck+C&amp;amp;rft.au=Tenderholt+AL&amp;amp;rft.au=Theisen+KJ&amp;amp;rft.au=Murray-Rust+P&amp;amp;rfe_dat=bpr3.included=1;bpr3.tags=Medicine%2CCheminformatics%2C+Bioinformatics"&gt;O'Boyle NM, Guha R, Willighagen EL, Adams SE, Alvarsson J, Bradley JC, Filippov IV, Hanson RM, Hanwell MD, Hutchison GR, James CA, Jeliazkova N, Lang AS, Langner KM, Lonie DC, Lowe DM, Pansanel J, Pavlov D, Spjuth O, Steinbeck C, Tenderholt AL, Theisen KJ, &amp;amp; Murray-Rust P (2011). Open Data, Open Source and Open Standards in chemistry: The Blue Obelisk five years on. &lt;span style="font-style: italic;"&gt;Journal of cheminformatics, 3&lt;/span&gt; (1), 37 PMID: &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/21999342" rev="review"&gt;21999342&lt;/a&gt; DOI: &lt;a href="http://www.jcheminf.com/content/3/1/37"&gt;10.1186/1758-2946-3-37&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-5924816512475211291?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/skLJZGD7-tz0oQwS_ihqdkj8238/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/skLJZGD7-tz0oQwS_ihqdkj8238/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/skLJZGD7-tz0oQwS_ihqdkj8238/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/skLJZGD7-tz0oQwS_ihqdkj8238/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/gEwBmTx60rM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/5924816512475211291/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/10/blue-obelisk-shoulders-for.html#comment-form" title="13 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/5924816512475211291?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/5924816512475211291?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/gEwBmTx60rM/blue-obelisk-shoulders-for.html" title="The Blue Obelisk Shoulders for Translational Cheminformatics" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-E9PuUcLmHtw/Tp01AN4GYeI/AAAAAAAABH8/FJXHrqATlO0/s72-c/boShoulders.png" height="72" width="72" /><thr:total>13</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/10/blue-obelisk-shoulders-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYGQnc4fyp7ImA9WhdbFEk.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-2542835621633495412</id><published>2011-10-12T18:55:00.002+01:00</published><updated>2011-10-12T18:55:23.937+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-12T18:55:23.937+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Semantic MediaWiki" /><category scheme="http://www.blogger.com/atom/ns#" term="FOAF" /><category scheme="http://www.blogger.com/atom/ns#" term="wiki" /><category scheme="http://www.blogger.com/atom/ns#" term="RDF Schema" /><category scheme="http://www.blogger.com/atom/ns#" term="RDF" /><title>Tricks I learned today #2: importing ontologies into a Semantic MediaWiki</title><content type="html">I learned a second trick today (see also &lt;a href="http://chem-bla-ics.blogspot.com/2011/10/tricks-i-learned-today-1-asinteger-on.html"&gt;this first&lt;/a&gt;); this one is about the &lt;a href="http://semantic-mediawiki.org/"&gt;Semantic MediaWiki&lt;/a&gt;&amp;nbsp;(SMW). I was using a trick I learned from &lt;a href="http://www.mediawiki.org/wiki/Extension:RDFIO"&gt;RDFIO&lt;/a&gt; before, setting Equivalent and Original URIs (though the difference between those, I lost). But I ran into the problem that these equivalent URIs cannot contain hashes (#), or not always it seems.&lt;br /&gt;
&lt;br /&gt;
After some googling, I did not find an answer, and turned to the SMW IRC channel. &lt;i&gt;Saruman&lt;/i&gt;&amp;nbsp;was helping out and pointed me to the &lt;a href="http://semantic-mediawiki.org/wiki/Property:Equivalent_URI"&gt;Equivalant URI wiki page&lt;/a&gt;. I had looked at that earlier, but now turned to the&amp;nbsp;&lt;a href="http://semantic-mediawiki.org/wiki/Help:Import_vocabulary"&gt;Import vocabulary&lt;/a&gt; page. While this was not what Saruman wanted me to look at, it did turn out a nice workaround. The wiki page shows how to import external ontologies. This trick requires you to craft a wiki page with a special name, starting with&amp;nbsp;&lt;i&gt;MediaWiki:Smw_import_&lt;/i&gt; followed by a namespace. It exemplifies this with the FOAF ontology, which is in fact an ontology I was also using equivalent URIs for.&lt;br /&gt;
&lt;br /&gt;
So, I created a new&amp;nbsp;&lt;i&gt;MediaWiki:Smw_import_foaf&lt;/i&gt;&amp;nbsp;page, with this content:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;  http://xmlns.com/foaf/0.1/|
  [http://www.foaf-project.org/ Friend Of A Friend]
    name|Type:String
    homepage|Type:URL
    depiction|Type:URL
    phone|Type:String
    knows|Type:Page
    member|Type:Page
&lt;/pre&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;And another page,&amp;nbsp;&lt;/span&gt;&lt;i&gt;MediaWiki:Smw_import_rdfs&lt;/i&gt;, with this:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre&gt;  http://www.w3.org/2000/01/rdf-schema#|
  [http://www.w3.org/TR/rdf-schema/ RDF Schema]
    seeAlso|Type:URL&lt;/pre&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Then, in a Property page, which I want to make &lt;i&gt;equivalent&lt;/i&gt;&amp;nbsp;with a property in FOAF or RDF Schema, I can now simply use&lt;/span&gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: monospace; line-height: 19px; white-space: pre-wrap;"&gt;&lt;i&gt;[[imported from::foaf:homepage]]&lt;/i&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: monospace; line-height: 19px; white-space: pre-wrap;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 19px; white-space: pre-wrap;"&gt;&lt;i style="font-family: monospace;"&gt;[[imported from::rdfs:seeAlso]]&lt;/i&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;, in &lt;i&gt;Property:Has_homepage&lt;/i&gt; and &lt;i&gt;Property:See_also&lt;/i&gt; respectively.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 19px; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="line-height: 19px; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;That's a neat trick, /me thinks!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-2542835621633495412?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4i6e9DZhBPB1_VR3PkCO5qy-DL0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4i6e9DZhBPB1_VR3PkCO5qy-DL0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4i6e9DZhBPB1_VR3PkCO5qy-DL0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4i6e9DZhBPB1_VR3PkCO5qy-DL0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/WcY7S31oOZY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/2542835621633495412/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/10/tricks-i-learned-today-2-importing.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/2542835621633495412?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/2542835621633495412?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/WcY7S31oOZY/tricks-i-learned-today-2-importing.html" title="Tricks I learned today #2: importing ontologies into a Semantic MediaWiki" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/10/tricks-i-learned-today-2-importing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUUNRX04fSp7ImA9WhdbFE4.&quot;"><id>tag:blogger.com,1999:blog-17889588.post-5176195193293631046</id><published>2011-10-12T16:28:00.000+01:00</published><updated>2011-10-12T16:28:14.335+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-12T16:28:14.335+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="statistics" /><category scheme="http://www.blogger.com/atom/ns#" term="PCA" /><category scheme="http://www.blogger.com/atom/ns#" term="R" /><title>Tricks I learned today #1: as.integer() on factor levels</title><content type="html">I normally work with full numerical data, not categorical data. &lt;a href="http://r-project.org/"&gt;R&lt;/a&gt;, when using &lt;i&gt;read.csv()&lt;/i&gt; seems to recognize such categories and marks the column as to have factor levels. This is useful indeed. However, I wanted to make a PCA biplot on this data, so was looking for ways to convert this to class numbers. After some googling we, &lt;a href="http://ki.se/ki/jsp/polopoly.jsp?d=31699&amp;amp;a=90310&amp;amp;l=en"&gt;Anna&lt;/a&gt; and me, ran into &lt;i&gt;as.integer()&lt;/i&gt; which can be used on the factor levels. So, today I learned this trick:&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;gt;&amp;nbsp;a = as.factor(c("A", "B", "A", "C"))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;gt;&amp;nbsp;b = as.integer(factor(a))&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Well, probably basic to many, it was new to me :)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Now, wondering if it is equally easy to convert it into a multi-column matrix where each column indicates class membership (thus, resulting in three columns for the above...). That's another trick I need to learn...&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17889588-5176195193293631046?l=chem-bla-ics.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BgKhaXZEO40wMS-l8n_42MJY3gQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BgKhaXZEO40wMS-l8n_42MJY3gQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BgKhaXZEO40wMS-l8n_42MJY3gQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BgKhaXZEO40wMS-l8n_42MJY3gQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/mpIP/~4/515m8vY7uFY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://chem-bla-ics.blogspot.com/feeds/5176195193293631046/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://chem-bla-ics.blogspot.com/2011/10/tricks-i-learned-today-1-asinteger-on.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/5176195193293631046?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17889588/posts/default/5176195193293631046?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/mpIP/~3/515m8vY7uFY/tricks-i-learned-today-1-asinteger-on.html" title="Tricks I learned today #1: as.integer() on factor levels" /><author><name>Egon Willighagen</name><uri>https://profiles.google.com/104186710895049917005</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-JxU9YdY1Zl8/AAAAAAAAAAI/AAAAAAAABM4/GA8mWNfbWhg/s512-c/photo.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://chem-bla-ics.blogspot.com/2011/10/tricks-i-learned-today-1-asinteger-on.html</feedburner:origLink></entry></feed>

