Macs in Chemistry

Insanely Great Science

Programming

Getting PDB information

 

A while back I published two scripts that use UniChem a web resource provided by the EBI, a 'Unified Chemical Identifier' system, designed to assist in the rapid cross-referencing of chemical structures, and their identifiers, between multiple databases.

Chambers, J., Davies, M., Gaulton, A., Hersey, A., Velankar, S., Petryszak, R., Hastings, J., Bellis, L., McGlinchey, S. and Overington, J.P. UniChem: A Unified Chemical Structure Cross-Referencing and Identifier Tracking System. Journal of Cheminformatics 2013, 5:3 (January 2013). DOI: http://dx.doi.org/10.1186/1758-2946-5-3

The first script uses the ChEMBL ID to search for other identifiers, the second script allows more flexible searching using any of the identifiers available within UnicChem. One of the identifiers returned is from the PDBe (Protein Data Bank Europe) and represents the ID of the ligand in the PDB. Whilst this is interesting it would also be very useful to have the identity of the crystal structures that contain the ligand. Fortunately PBDe provide a series of web services that can be used to interrogate the database, together with a really useful page to help build the calls.

Full details of the script are here..

There is a comprehensive listing of scripts, tips, jupyter notebooks etc here.


Comments

App Development with Swift

 

Apple Education has just announced a new app development curriculum designed to teach students how to start using Swift to create fully functional iPhone apps.

The course is available for free on iBooks and can be read on iPad, iPhone, and Mac..

This course is designed to teach you the skills needed to be an app developer capable of bringing your own ideas to life. Whether you’re new to coding or want to expand your skills, by the end of this course you should be able to build a fully functioning app of your own design.

The 900 page book is available here https://itunes.apple.com/gb/book/app-development-with-swift/id1219117996?


Comments

Functional Swift Conference 2017 slides available

 

The slides for the Functional Swift Conference 2017 are now online here http://2017.funswiftconf.com.

Comments

Working with MOL2 Structures in DataFrames

 

A great tutorial describing how to use 'Biopandas' MOL2 DataFrames to analyze molecules conveniently.

The Tripos MOL2 format is a common format for working with small molecules.


Comments

Several ways of scripting Name to Structure

 

Too often I come across datasets that Chemical names or identifiers but no actual molecular structure, recently Dan at Dotmatics suggested I look at OPSIN. There are also several web services for converting names to structure and I've highlighted a couple of options here and described three scripts that allow them to be used from within Vortex.

vortexopsinstructures.png

There are many more scripts on the Hints and Tutorials Page.


Comments

Simply Fortran added to Fortran Resources

 

I just came across Simply Fortran includes the GNU Fortran compiler, an advanced development environment including project management, and an integrated debugger for fast and easy installation.

Simply Fortran is tested on OSX Snow Leopard through macOS Sierra.

Added to the Fortran on a Mac page.


Comments

Apple publish AI research

 

Apple have published some of their artificial intelligence research, arXiv:1612.07828

With recent progress in graphics, it has become more tractable to train models on synthetic images, potentially avoiding the need for expensive annotations. However, learning from synthetic images may not achieve the desired performance due to a gap between synthetic and real image distributions. To reduce this gap, we propose Simulated+Unsupervised (S+U) learning, where the task is to learn a model to improve the realism of a simulator's output using unlabeled real data, while preserving the annotation information from the simulator. We develop a method for S+U learning that uses an adversarial network similar to Generative Adversarial Networks (GANs), but with synthetic images as inputs instead of random vectors. We make several key modifications to the standard GAN algorithm to preserve annotations, avoid artifacts and stabilize training: (i) a 'self-regularization' term, (ii) a local adversarial loss, and (iii) updating the discriminator using a history of refined images. We show that this enables generation of highly realistic images, which we demonstrate both qualitatively and with a user study. We quantitatively evaluate the generated images by training models for gaze estimation and hand pose estimation. We show a significant improvement over using synthetic images, and achieve state-of-the-art results on the MPIIGaze dataset without any labeled real data.


Comments

Expressions

 

I've just been sent details of an app to aid generating regular expressions, Expressions. I use BBEdit for most of my regular expression searching but this looks a brilliant way to build the query.

screen800x500


Comments

gXXfortran

 

Everytime I mention Fortran there is an uptick in the site views so I know there are plenty of readers with an interest in Fortran on a Mac.

There is an interesting post on the NextMove Software blog, Just what you wanted for Christmas – a compiler for Gaussian.

This package provides a “pgf77” script that emulates the Portland Group’s PGI fortran 77 compiler, instead using the Free Software Foundation’s GNU gfortran compiler instead. This emulation is sufficient to allow packages such as Gaussian03, that would otherwise require a commercial compiler, to be built using open source tools. In addition, this package also allows Gaussian03 to be built on a case-insensitive file system (such as when using Mac OS X, cygwin or a FAT32 drive) by overriding the behaviour of “cp” and “gau-cpp” such that they don’t cause problems when used by Gaussian’s build scripts on non case-sensitive file systems.

gXXforrtran is available on GitHub In theory, it should work for a standard Linux or Mac system.

However, as they don’t have access to the Gaussian source code they can't check it. Anyone out there care to try it?

See also Fortran on a Mac page


Comments

Swift Playgrounds

 

Swift Playgrounds is a revolutionary new app for iPad that makes learning Swift interactive and fun. Solve puzzles to master the basics using Swift, ideal for keeping occupied over the Christmas break.

Learning to code with Swift Playgrounds is incredibly engaging. The app comes with a complete set of Apple-designed lessons. Play your way through the basics in “Fundamentals of Swift” using real code to guide a character through a 3D world. Then move on to more advanced concepts.

There is a video here

I also notice that there have been a few updates to the Swift Algorithm Club there are now 79 contributors and an ever increasing list of algorithms.

All content is licensed under the terms of the MIT open source license.



Comments

Scriptarian: Scripting Studio for macOS

 

Scriptarian allows you to easily automate macOS using the Swift programming language, providing an alternative to AppleScript.

Scriptarian is built using Swift the new open-source programming language developed by Apple. Scriptarian analyzes all of your installed applications for AppleScript support and dynamically generates native Swift interfaces for them.

In addition to full support for the Swift Standard Library, Scriptarian includes ScriptingKit, a scripting framework we built from the ground up with Swift in mind. It lets you communicate with any AppleScript-enabled app and even provides various utility functions for speech synthesis, sound playback, file management, process management, and more. keynote


Comments

Objective-C id as Swift Any

 

The latest update on the Swift Blog describes one of the important changes in Swift 3.

In Swift 3, the id type in Objective-C now maps to the Any type in Swift, which describes a value of any type, whether a class, enum, struct, or any other Swift type.


Comments

Swift Algorithm Club

 

The Swift Algorithm Club is a new site that described implementations of popular algorithms and data structures in Swift. However there is also an added bonus in that there are also detailed explanations of how they work. The list below gives an idea of what is available or under construction, and I’m sure they would be delighted to receive contributions.

The algorithms

Searching

  • Linear Search. Find an element in an array.
  • Binary Search. Quickly find elements in a sorted array.
  • Count Occurrences. Count how often a value appears in an array.
  • Select Minimum / Maximum. Find the minimum/maximum value in an array.
  • k-th Largest Element. Find the k-th largest element in an array, such as the median.
  • Selection Sampling. Randomly choose a bunch of items from a collection.
  • Union-Find. Keeps track of disjoint sets and lets you quickly merge them.

String Search

  • Brute-Force String Search. A naive method.
  • Boyer-Moore. A fast method to search for substrings. It skips ahead based on a look-up table, to avoid looking at every character in the text.
  • Knuth-Morris-Pratt
  • Rabin-Karp
  • Longest Common Subsequence. Find the longest sequence of characters that appear in the same order in both strings.

Sorting

It's fun to see how sorting algorithms work, but in practice you'll almost never have to provide your own sorting routines. Swift's own sort() is more than up to the job. But if you're curious, read on...

Basic sorts:

  • Insertion Sort
  • Selection Sort
  • Shell Sort

Fast sorts:

  • Quicksort
  • Merge Sort
  • Heap Sort

Special-purpose sorts:

  • Counting Sort
  • Radix Sort
  • Topological Sort

Bad sorting algorithms (don't use these!):

  • Bubble Sort

Compression

  • Run-Length Encoding (RLE). Store repeated values as a single byte and a count.
  • Huffman Coding. Store more common elements using a smaller number of bits.

Miscellaneous

  • Shuffle. Randomly rearranges the contents of an array.
  • Comb Sort. An improve upon the Bubble Sort algorithm.

Mathematics

  • Greatest Common Divisor (GCD). Special bonus: the least common multiple.
  • Permutations and Combinations. Get your combinatorics on!
  • Shunting Yard Algorithm. Convert infix expressions to postfix.
  • Statistics

Machine learning

  • k-Means Clustering. Unsupervised classifier that partitions data into k clusters.
  • k-Nearest Neighbors
  • Linear Regression
  • Logistic Regression
  • Neural Networks
  • PageRank

Comments

Applescript & ASObjC ’Things to watch out for’ list

 

Brian Christmas has compiled an absolutely invaluable list of tips and samples of code for those using AppleScript or AppleScriptObjC. He has kindly allowed me to host a page containing all these tips

Applescript & ASObjC ’Things to watch out for’ list.

This list is a great resource for those just starting out but will also be invaluable for more experienced scripters.

If you would like to contribute probably the best way is to subscribe to one of the Apple mailing lists

https://lists.apple.com/mailman/listinfo/applescriptobjc-dev

https://lists.apple.com/mailman/listinfo/applescript-users

There is a page of other AppleScript Resources here.


Comments

nteract a desktop-based, interactive computing application.

 

This blog post looks very interesting, a notebook environment for coding, data visualisation based on Juypter (aka iPython) notebooks

With nteract, you can create documents, that contain executable code, textual content, and images, and convey a computational narrative. Unlike Jupyter, your documents are stand-alone, cross-platform desktop applications, providing a seamless desktop experience and offline usage.

nteract can run your existing Jupyter notebooks without any modification, and supports multiple Jupyter kernels: Python, R, Julia, and JavaScript. Being a native Jupyter notebook, nteract applications can be easily saved to Domino, versioned, shared, and if needed, run on high-performance machines in the cloud, in your VPC, or on-premise.

More details are on GitHub.


Comments

ASObjC Explorer has just been updated

 

ASObjC Explorer has just been updated to version 4.1.17, with fixes relating to Sierra. Choose 'Check for Updates...' to update.

Note also that ASObjC Explorer is no longer available for general sale. Barring bug-fixes, this is the last release -- there will be no further development. You can read more here:

http://www.macosxautomation.com/applescript/apps/explorer.html

Registered users are eligible for a 50% discount on Script Debugger 6 until mid-November as compensation, and should email Shane Stanley for details.

Development of Script Debugger 6

Its AppleScriptObjC code completion will be familiar to users of ASObjC Explorer, but goes further. And Script Debugger 6 ability to step through scripts and explore Cocoa results, to the point of being able to explore the contents of collection classes.

ASObjCDebugging


Comments

Scripting Vortex 34, analysis of catagorical information

 

I often need to tag individual molecules within a dataset with a specific property, perhaps the results of clustering algorithms, the results of PAINS filtering, or Liver toxicity filters. Alternatively if you have a drug discovery project with multiple chemotypes you might want to tag particular groups of compounds as belonging to a named series to aid analysis.

A question that might then arise is “How many molecules belong to each category?”. Whilst you can see the numbers in the sidebar there is not an easy way to export the results.

Hopefully this script can help.

livertoxoutput


Comments

Swift 3.0 released

 

The latest version of swift has been released.

Swift 3 is a source-breaking release, largely due to the changes in SE-0005 and SE-0006. These changes not only impact the names of the Standard Library APIs, but also completely change how Objective-C APIs (particularly from Cocoa) import into Swift. Many of the changes are largely mechanical, but they can be numerous in a typical Swift project. To help with moving to Swift 3, Xcode 8.0 contains a code migrator that can automatically handle many of the need source changes. There is also a migration guide available to guide you through many of the changes — especially through the ones that are less mechanical and require more direct scrutiny.

Thus there is better translation of Objective-C APIs into Swift, meaning that code imported from Objective-C and translated into Swift will be more readable and Swift-like. The bad news is any code previously imported from Objective-C into Swift will not work in Swift 3; it will need to be re-imported.

There was also a blog post describing how to work with JSON in swift, this is particularly important if your app communicates with a web application, information returned from the server is more often than not formatted as JSON.

import Foundation

let data: Data // received from a network request, for example
let json = try? JSONSerialization.jsonObject(with: data, options: [])

Comments

Xcode 8 released

 

With the release of iOS 10 comes an update to Xcode. Xcode 8.0 is a free download for OS X 10.11 or later. (An Apple ID is required for iOS development, and App Store submissions require registration in the Apple Developer Program.) The latest version brings Swift 3 and SDKs for iOS 10, watchOS 3, tvOS 10, macOS Sierra, Siri extensions, iMessage apps, and sticker packs for Messages, along with many other changes.

Xcode 8 includes everything you need to create amazing apps for iPhone, iPad, Mac, Apple Watch, and Apple TV. This radically faster version of the IDE features new editor extensions that you can use to completely customize your coding experience. New runtime issues alert you to hidden bugs by pointing out memory leaks, and a new Memory Debugger dives deep into your object graph. Swift 3 includes more natural and consistent API naming, which you can experiment with in the new Swift Playgrounds app for iPad.

Swift 3 is the first major release of the innovative programming language built completely in the open with the community of developers at Swift.org. This release unifies core API naming rules under a new public API Naming Guidelines document that makes writing Swift code feel even more natural. Popular system APIs such as Core Graphics and Grand Central Dispatch are more expressive and harmonize well with Swift.


Comments

Mathematica 11 Is Now Available

 

Mathematica 11 has been released.

We are pleased to announce that Mathematica 11 has arrived, with over 500 new functions! Continuing on the path of aggressive innovation that Stephen Wolfram first embarked on 30 years ago, Version 11 embraces new areas of modern technology and introduces cutting-edge functionality to match. With Mathematica, you can now print 3D models and plots directly through either local or cloud-based 3D printers. Or instead, identify over 10,000 objects, and classify and extract features in your data with the customizable suite of enhanced machine learning tools. You can also construct, train and evaluate high-performance neural networks with both CPU and GPU support, enabling powerful deep learning in just a few lines of code. Integrated support for audio, from trimming and filters to synthesizing sounds and measuring audio, makes Mathematica 11 a flexible platform for digital audio processing and analysis.

You can read more about it in Stephen Wolfram’s blog post.


Comments

End to End Swift

 

This looks interesting, Perfect

Perfect is an application server for Linux or OS X which provides a framework for developing web and other REST services in the Swift programming language. Its primary focus is on facilitating mobile apps which require backend server software, enabling you to use one language for both front and back ends.

Perfect relies on Home Brew for installing dependencies on OS X, once done you are up and running and can follow the Perfect tutorials


Comments

Accessing ZINC supplier information

 

ZINC is a free database of commercially-available compounds for virtual screening. ZINC contains over 100 million purchasable compounds in ready-to-dock, 3D formats. Sterling and Irwin, J. Chem. Inf. Model, 2015. This is an invaluable resource for any type of virtual screening or for anyone looking to create a physical screening or fragment collection.

Once you have done the virtual screening you will rapidly realise that the really time-consuming a tedious part now lies ahead. Finding out which vendors stock a particular molecule and then ordering them. Looking up the vendor details for individual compounds is extremely tedious and so this Vortex script may be very useful.

Many more scripts, iPython notebooks and tutorials can be found here.


Comments

Swift 3

 

Swift Blog Update

Swift 3 beta was just released as part of Xcode 8 beta and includes numerous enhancements, many contributed by the open source community. The primary goal of Swift 3 is to implement the last major source changes necessary to allow Swift to coalesce as a consistent language throughout, resulting in a much more stable syntax for future releases.


Comments

17th annual KDnuggets Software Data Analysis Poll

 

The results of the annual data analysis poll are in and show some interesting trends, in particular the dramatic increase in Python use.

R remains the leading tool, with 49% share (up from 46.9% in 2015), but Python usage grew faster and it almost caught up to R with 45.8% share (up from 30.3%).

Actually looking down the list I notice there is also an entry for scikit-learn, which is Python based, and if you add that in Python is now the most commonly used data analysis tool.

There was a 10% drop in the use of KNIME, and a 36% drop in the use of TIBCO Spotfire two products used in cheminformatics.

In terms of programming languages Python is by far the most extensively used.

Python 45.8% share (was 30.3%) 51% increase
Java 16.8% share (was 14.1%) 19% increase
Unix shell/awk/gawk 10.4% share (was 8.0%) 30% increase
C/C++ 7.3% share (was 9.4%) 23% decrease
Other programming languages 6.8% share (was 5.1%) 34.1% increase

In the Big Data area Hadoop (22.1%) and Spark (21.6%) dominate.

There is a listing of data analysis tools for MacOSX here.


Comments

Fortran Modernisation Workshop

 

I’m not a Fortran user but overtime I mention it there is a sharp uptick in page views so there are obviously a significant number of users who might be interested in this workshop.

Fortran modernisation workshop at Culham Centre for fusion energy

Date: 24 - 25 August 2016. Time: 09:30 - 17:30. Location: Learning Resource and Development Centre (Library), E building, Culham Centre for Fusion Energy, Culham Science Centre, Abingdon, OX14 3DB

TOPICS WILL INCLUDE:

  • Software engineering for computational science;
  • Modern Fortran standards and how to write optimized and efficient Fortran;
  • NetCDF and HDF5 scientific file formats for data sharing in Fortran;
  • GNU Automake to automate the build process;
  • pFUnit unit testing framework for testing Fortran codes;
  • Doxygen for Fortran code documentation;
  • Git version control for collaborative code development;
  • In-memory visualisation using PLplot in Fortran;
  • IEEE Floating Point Exception Handling
  • Software verification and portability using the NAG Fortran compiler
  • Fortran interoperability with C, Python and R;
  • Introduction to parallelism for Fortran.

There is a page of Fortran Resources here.


Comments

SAR visualization with RDKit

 

One of the issues for machine learning models in helping understand structure activity relationships (SAR) is providing a nice chemist friendly visualisation. This excellent blog post provides a description of how to colour code the parts of molecules that are predicted to contribute to an activity.

inactive


Comments

Dealing with Greek characters in column names

 

This is just a very quick tip when dealing with Greek characters in Vortex column names when creating a script. It may be obvious to many but I struggled for several hours before finding the problem and a solution

Read more…


Comments

Apple’s Worldwide Developers Conference

 

Apple today announced that it will hold its 27th annual Worldwide Developers Conference (WWDC) from June 13 through 17 in San Francisco.

Developers can apply for tickets via the WWDC website (developer.apple.com/wwdc/register/) now through Friday, April 22 at 10:00 a.m. PDT. Tickets will be issued to attendees through a random selection process, and developers will be notified on the status of their application by Monday, April 25 at 5:00 p.m. PDT. For the second consecutive year, there will be up to 350 WWDC Scholarships available, giving students and STEM organization members from around the world an opportunity to earn a ticket to meet and collaborate with some of the most talented developers of Apple’s ever-growing app ecosystem (developer.apple.com/wwdc/scholarships/). Additionally, this year, we will provide travel assistance to up to 125 scholarship recipients to ensure aspiring developers with financial limitations have an opportunity to participate.


Comments

Molecular visualization in the Jupyter Notebook with nglview

 

I'm making increasing use of iPython notebooks and this package looks like it will be very useful.

nglview is a Python package that makes it easy to visualize molecular systems, including trajectories, directly in the Jupyter Notebook. The recent 0.4.0 release of nglview brings a convenient interface for visualizing MDAnalysis Universe and AtomGroup objects directly:

More details here…

The notebook widget allows you to rotate and zoom the molecule and lets you select atoms by clicking on the molecule.

Easily installed using PIP

pip install nglview

Update

There have been a number of comments and responses via twitter highlighting this superb demo.

http://arose.github.io/ngl/

nglviewer

The project is on Github, feel free to contribute!


Comments

The Hitchhiker’s Guide to Cross-Platform OpenCL Application Development

 

I just came across an interesting paper on cross-platform OpenCL programming. The Hitchhiker’s Guide to Cross-Platform OpenCL Application Development. In particular it highlights a number of issues and offers workarounds. These include Framework bugs, Specification limitations and Program bugs.

There are an increasing number of scientific applications taking advantage of GPU acceleration.


Comments

ChEMBL Models iPython Notebook

 

With the release of ChEMBL 21 has come a set of updated target predicted models.

The good news is that, besides the increase in terms of training data (compounds and targets), the new models were built using the latest stable versions of RDKit (2015.09.2) and scikit-learn (0.17). The latter was upgraded from the much older 0.14 version, which was causing incompatibility issues while trying to use the models.

I've been using the models and I thought I'd share an iPython Notebook I have created. This is based on the ChEMBL notebook with code tidbits taken from the absolutely invaluable Stack Overflow. I'm often in the situation where I actually want to know the predicted activity at specific targets, and specifically want to confirm lack of predicted activity at potential off-targets. I could have a notebook for each target but actually the speed of calculation means that I can calculate all the models and then just cherry pick those of interest.

Read on…


Comments

In which journals should I publish my software?

 

I just stumbled across this page recently

In which journals should I publish my software?

Looks like a very comprehensive listing of journals that accept submissions about software.


Comments

Stack Overflow Developers Survey

 

Stack Overflow is a community of nearly 5 million developers who ask and answer programming questions, if I ever have questions about programming or scripting it is the first site I look to for answers.

They also run an annual survey looking at current trends within the developer community, the results probably represent the most comprehensive survey of it's type. The results make interesting reading and I'd certainly suggest that you go an look at the results in details, but I've pulled out a couple of interesting points.

JavaScript is the most commonly used programming language, but that is probably because the web is now the most popular front-end to applications and services. If you look at the developers involved in Math and Data the profile is rather different with Python now the dominant language.

mathdata

The most loved programming languages are Rust and Swift, and the most dreaded Visual Basic, interestingly none of which appear in the most used technologies.

Among the desktop operating systems MacOSX is increasingly popular rising from 18% in 2013, largely at the expense of Windows.

desktops


Comments

Swift Programming Language Evolution

 

If you want to stay on top of the proposed changes to the Swift programming language then this repository is worth a browse https://github.com/apple/swift-evolution

This repository tracks the ongoing evolution of Swift. It contains:

Goals for upcoming Swift releases (this document). The Swift evolution review schedule tracking proposals to change Swift. The Swift evolution process that governs the evolution of Swift. Commonly Rejected Changes, proposals which have been denied in the past. This document describes goals for the Swift language on a per-release basis, usually listing minor releases adding to the currently shipping version and one major release out. Each release will have many smaller features or changes independent of these larger goals, and not all goals are reached for each release.


Comments

Summer of Code

 

I was just sent details of this

Interested in doing some chemistry programming this summer? Have students that might be interested?

Open Chemistry has been accepted into the Google Summer of Code for 2016 - including Open Babel, Avogadro, cclib and 3DMol.js.

If you are a student and interested in doing open chemistry software development this summer (or know of someone who is), we're definitely up for good proposal ideas. Take a look at our suggestions or come up with one on your own:

https://summerofcode.withgoogle.com/organizations/6290185763422208/ http://wiki.openchemistry.org/GSoCIdeas2016

Student proposals can be submitted between March 14th and March 25th. Instructions are at the Summer of Code website.




Comments

Swift @ IBM

 

For those interested in learning more about Swift there are a couple of blogs that are worth keeping an eye on. Swift is a modern open-source programming language for iOS, OS X, tvOS, watchOS and Linux.

There is the official Swift blog from Apple which has updates and code snippets, however more recently there has been a lot of activity of the Swift@ IBM blog.

In particular Bring Swift to the Cloud and the IBM Swift Sandbox that allows you to write Swift code in a browser and then execute it. You can try it out here https://swiftlang.ng.bluemix.net/#/repl.

Introduced in 2014, Swift is one of the fastest growing and most widely used programming languages. In just over two months since Apple open sourced the Swift language and IBM released its Swift Sandbox for early exploration of server-side programming in Swift, more than 100,000 developers from around the world have used the IBM Swift Sandbox and more than half a million code runs have been executed in the Sandbox to date

Press release


Comments

Flexible UniChem Search

 

UniChem is a web resource provided by the EBI, it is a 'Unified Chemical Identifier' system, designed to assist in the rapid cross-referencing of chemical structures, and their identifiers, between multiple databases. Currently the UniChem contains data from 27 different data sources. Currently UniChem provides links to 108,941,995 structures.

Chambers, J., Davies, M., Gaulton, A., Hersey, A., Velankar, S., Petryszak, R., Hastings, J., Bellis, L., McGlinchey, S. and Overington, J.P. UniChem: A Unified Chemical Structure Cross-Referencing and Identifier Tracking System. Journal of Cheminformatics 2013, 5:3 (January 2013). DOI: http://dx.doi.org/10.1186/1758-2946-5-3

The previous script showed how to search using ChEMBLID, however one of the attractions of UniChem is that you can search with any molecule identifier if you know the corresponding datasource. This script allows the user to use any molecule identifiers and then search a specified datasource using a common web service.

Read more …


Comments

Getting UniChem data from ChEMBL

 

UniChem is a web resource provided by the EBI, it is a 'Unified Chemical Identifier' system, designed to assist in the rapid cross-referencing of chemical structures, and their identifiers, between multiple databases. Currently the UniChem contains data from 27 different data sources. Currently UniChem provides links to 108,941,995 structures.

Chambers, J., Davies, M., Gaulton, A., Hersey, A., Velankar, S., Petryszak, R., Hastings, J., Bellis, L., McGlinchey, S. and Overington, J.P. UniChem: A Unified Chemical Structure Cross-Referencing and Identifier Tracking System. Journal of Cheminformatics 2013, 5:3 (January 2013). DOI: http://dx.doi.org/10.1186/1758-2946-5-3

ChEMBL also provide a RESTful Web service that users can use to retrieve data from the UniChem database in a programmatic fashion.

Read more…


Comments

ObjCConverter

 

If you want to convert your Objective_Code to Swift this could be very useful ObjCConverter.

There is also an online converter if you want to try before you buy

The latest post on the Swift blog highlights interactive playgrounds.

Xcode 7.3 beta 3 adds interactive iOS and OS X playgrounds that allow you to click, drag, type, and otherwise interact with the user interfaces you code into your playground. These interfaces react just as they would within a full application. Interactive playgrounds help you to quickly prototype and build your applications, and simply provide another great way to interact with your code.


Comments

BBEdit 11.5

 

BBEdit 11.5 has been released.

BBEdit 11.5 adds a variety of new features, and includes changes to existing features and behaviors as well as fixes for reported issues.

Of particular note are

BBEdit now supports the use of iCloud Drive for sharing application support and setup items. This works similarly to the existing Dropbox support: in your "iCloud Drive" folder, create a folder named "Application Support", and then within that create a folder named "BBEdit". You can populate that folder with the contents of your /Users/USERNAME/Library/Application Support/BBEdit/ folder.

BBEdit now supports the use of iCloud Drive for a shared backup folder: in your "iCloud Drive" folder, create a folder named "BBEdit Backups", and if you have turned on Use Historical Backups, BBEdit will use this folder.


Comments

NASA Needs a FORTRAN Programmer

 

Any posts on Fortran always seem to attract attention so I thought I'd flag this opportunity.

Larry Zottarelli, the last original Voyager engineer still on the project, is retiring after a long and storied history at JPL. While there are still a few hands around who worked on the original project, now the job of keeping this now-interstellar spacecraft going will fall to someone else. And that someone needs to have some very specific skills …Know Cobol? Can you breeze through Fortran? Remember your Algol

More details here

Comments

Apple and Open Source

 

Whilst the decision to make Swift open source certainly captured the headlines, it is worth noting that Apple contributes to many more open source projects, there are more details about these open source projects on the developer and main Apple websites.

Comments

Swift Open Source

 

As I previously highlighted after the WWDC Apple have announced that Swift is now open source.

More details are on the Swift blog

Swift is now open source. Today Apple launched the open source Swift community, as well as amazing new tools and resources including: Swift.org – a site dedicated to the open source Swift community Public source code repositories at github.com/apple A new Swift package manager project for easily sharing and building code A Swift-native core libraries project with higher-level functionality above the standard library Platform support for all Apple platforms as well as Linux

Swift.org is an entirely new site dedicated to open source Swift. This site hosts resources for the community of developers that want to help evolve Swift, contribute fixes, and most importantly, interact with each other. It also provides development snapshots for Apple and Linux platforms, requires OS X 10.11 (El Capitan) or Ubuntu 14.04 or 15.10 (64-bit).

Source code is available on Github

Comments

Flagging potential aggregators in Vortex

 

Promiscuous inhibition caused by small molecule aggregation is a major source of false positive results in high-throughput screening. A recent particularly valuable publication, Irwin, Duan, Torosyan, Doak, Ziebart, Sterling, Tumanian and Shoichet, J Med Chem, 2015, 58(1 7), 7076-7087 DOI, has collated over 12,000 organic molecules known to act as aggregators at concentrations used in screening campaigns, and provides a resource Aggregation Advisor that can be used to try and predict possible false positives. However in many instances it would be unwise to submit proprietary information to the public web service. Potential aggregators are flagged based on calculated LogP >3 and/or similarity >0.85 to a known aggregator (using path based fingerprint) this script calculates xLogP using the algorithm provided by Dotmatics and then uses OpenBabel fast search to calculate the closest similarity to a known aggregator.

Full details of the Vortex script are here.

xlogpaggscore

Comments

CodeSwitch

 

This is probably the application that many programmers have been waiting for, CodeSwitch is the first Objective-C to Swift code converter for Mac OS X.

CodeSwitch will convert all of your Objective-C code into Swift code instantly. Simply copy-and-paste any Objective-C code into this program, and it will translate it to Swift in milliseconds.

So those legacy programs won't need a complete rewrite!

The latest post on the Swift blog highlights a new feature in Xcode 7.1, the ability to embed file, image, and color literals into your playground’s code.

For instance, there’s no need to type “myImage.jpg” in the editor – just drag your image from the Finder and the actual image will appear in-line with your code.

Useful if you tend to name images, image1, image 2 etc ;-)

Comments

Scripting Openbabel

 

@MatToddChem recently tweeted

Chemdraw file containing lots of molecules --> separate png/jpg images of each molecule. Anyone got a script that automates that? #headache

Whilst it is possible to convert a ChemDraw file to an image the problem is you get a single png file containing all the structures. In order to get individual image files it is first necessary to separate the individual structures. The easiest way to this is to convert from cdx to SMILES format. We can then take each of the individual SMILES strings and generate an image using OpenBabel all controlled by an Applescript.

Comments

Swift

 

I've mentioned the Swift blog before and I note there is a new entry describing the additions to Xcode 7.

I've also come across a couple of blogs that also be of interest Inessential by Brent Simmons, Kickingbear, and Weheartswift which helps you learn Swift from scratch.

Comments

KNIME 2.12 released

 

The latest update to KNIME has been released.

The KNIME Analytics Platform incorporates hundreds of processing nodes for data I/O, preprocessing and cleansing, modeling, analysis and data mining as well as various interactive views, such as scatter plots, parallel coordinates and others. It integrates all of the analysis modules of the well known Weka data mining environment and additional plugins allow R-scripts to be run, offering access to a vast library of statistical routines.

What's New in KNIME 2.12

Analytics - Decision Tree to Rule Set (New node) - Rule Handling (New node) - Statistics measure as aggregation methods in GroupBy node - Extended PMML Support (New node) - Data Generation (New node) - More Statistics Nodes (New set of nodes)

Tool Integration - New MongoDB Integration (New set of nodes) - Javascript Integration (New set of nodes) - Extended JSON Processing (New set of nodes) - XML XPath Interactive extraction (New node) - Extended Python Integration (New node)

Comments

FTranProjectBuilder Updated

 

Fortran has a long history with scientific programming and so it is perhaps not surprising that overtime I mention Fortran there is an uptick in readers. FTranProjectBuilder is the only IDE specifically designed for Fortran programming on the Mac and has recently been updated to version 2.0.

This update brings improvements to the interface, context sensitive autocompletes, and in addition derived type, Intrinsic procedure, module and procedure popovers

showingautocomplete_med

In addition the Nocturnal Aviation Software has been updated with screenshots of the updated FTranProjectBuilder, Mac Fortran Blog and a section of free Fortran code snippets.

A while back I compiled a list of resources for Fortran on a Mac.

Comments

Strings in Swift 2

 

The latest entry on the Swift Blog discusses a change in the way Strings are handled in Swift.

Read more here

Comments

ChEMBL python update.

 

Excellent blog post on the ChEMBL python update.

http://chembl.blogspot.co.uk/2015/07/chembl-python-client-update.html

Comments

Accessing Open Source Malaria Data using an iPython Notebook

 

The Open Source Malaria project is trying a different approach to curing malaria. Guided by open source principles, everything is open and anyone can contribute. To date a lot of people around the world have made contributions and the project is at a very exciting stage. Whilst everyone can see the compounds that have been made and the biological data, it is often spread over multiple web pages and can be tricky to link molecule with identifier with data. Over the last couple of months a significant effort has been put into populating a spreadsheet with all the information.

I've recently published a Vortex script to access the information, I've now published an iPython notebook that also shows how to import the data. Why not give it a try and then contribute your findings and suggestions to the Open Source Malaria project.

Comments

Script to remove duplicates in Vortex

 

When working with multiple data sets of molecules, particularly if combining them from multiple sources, one of the most common tasks is removal of duplicates. This can be a time-consuming and error prone process if carried out manually and this script should hopefully make this a much easier task.

http://macinchem.org/reviews/vortex/tut27/scripting_vortex27.php.

There are many more Hints, scripts and tutorials here.

Comments

InChI, the IUPAC International Chemical Identifier

 

InChI is the International Chemical Identifier developed under the auspices of IUPAC and are intended to be unique identifiers, they are freely usable and non-proprietary; they can be computed from structural information and do not have to be assigned by some organization;most of the information in an InChI is human readable (in theory!).

A recent paper in J Cheminformatics DOI describes the design, layout and algorithms of InChI, if you want to understand or implement the code this is a great starting point.

The paper is organized as follows. First, we discuss the general concepts associated with chemical identifiers. Then we outline the design goals of InChI and our general approach, focussing on the InChI model of chemical structure and the hierarchical layered structure of the Identifier; the concept of Standard InChI is introduced. This is followed by a detailed description of each of the possible major InChI layers, accounting for molecular connectivity, charge, stereochemistry, isotopic enrichment, position of hydrogen atoms and bonding in metal compounds, and the sublayers associated with these layers. We then describe the workflow of InChI generation (normalization, canonicalization, and serialization stages), as well as generation of the compact hashed code derived from InChI (InChIKey); the related algorithms and implementation details are briefly discussed. Finally, we provide information about InChI Software, licensing, known problems/limitations, and future prospects for InChI.

The source code and documentation can also be downloaded from here http://www.inchi-trust.org/downloads/

Comments

Importing Open Source Malaria Project data

 

The Open Source Malaria project is trying a different approach to curing malaria. Guided by open source principles, everything is open and anyone can contribute. To date a lot of people around the world have made contributions and the project is at a very exciting stage. Whilst everyone can see the compounds that have been made and the biological data, it is often spread over multiple web pages and can be tricky to link molecule with identifier with data. Over the last couple of months a significant effort has been put into populating a spreadsheet with all the information.

Whilst this is useful for viewing results it is not ideal for trying to build predictive models. Vortex is a chemically intelligent data analysis and visualisation platform. This script provides a one-click access to the OSM data and creates a workspace containing all the data, and since it is linked to the live spreadsheet you will always have access to the latest data.

osmvortex

Comments

Installing Open Drug Discovery Toolkit (ODDT)

 

A recent paper in J Cheminformatics described Open Drug Discovery Toolkit (ODDT): a new open-source player in the drug discovery field DOI a free and open source tool for both computer aided drug discovery (CADD) developers and researchers. Open Drug Discovery Toolkit is released on a permissive 3-clause BSD license for both academic and industrial use. ODDT’s source code, additional examples and documentation are available on GitHub.

To install ODDT on a Mac you first need to install the appropriate toolkits, the easiest way is to use Homebrew, I've written a page detailing how to do this here.

Once installed you can install ODDT using PIP as described here.

Comments

Swift 2.0

 

More news on Swift 2.0 on the Swift Blog

Today at WWDC, we announced Swift 2.0. This new version has even better performance, a new error handling API, and first-class support for availability checking. And platform APIs feel even more natural in Swift with enhancements to the Apple SDKs.

Open Source In addition to new features, the big news is that Apple will be making Swift open source later this year. We are all incredibly excited about this, and look forward to giving you a lot more information as the open source release gets nearer. Here is what we can tell you so far:

Swift source code will be released under an OSI-approved permissive license. Contributions from the community will be accepted — and encouraged. At launch we intend to contribute ports for OS X, iOS, and Linux. Source code will include the Swift compiler and standard library. We think it would be amazing for Swift to be on all your favorite platforms. We are excited about the opportunities an open source Swift creates for our industry. Baked-in safety features combined with excellent speed mean it has the chance to dramatically improve software versus using C-based languages. Swift is packed with modern features, it’s fun to write, and we believe it will get used in a lot of places. Together, we have an exciting road ahead.

Comments

Swift Open Source

 

Perhaps one of the more unexpected news items from WWDC2015.

Swift is now Open Source!

Comments

OLCF’s second OpenACC hackathon

 

The GPU Science page is always pretty popular so I thought I'd thought I'd mention an upcoming event.

OLCF’s second OpenACC hackathon will take place the week of October 19th, 2015

The goal of each hackathon is for current or prospective user groups of large hybrid CPU-GPU systems to send teams of 3-6 developers along with either (1) a (potentially) scalable application that needs to be ported to GPU accelerators, or (2) an application running on accelerators which needs optimization. There will be intensive mentoring during this 5-day hands-on workshop, with the goal that the teams leave with applications running on GPUs, or at least with a clear roadmap of how to get there. Our mentors come from national laboratories, universities and vendors, and besides having extensive experience in programming with OpenACC, many of them develop the OpenACC-capable compilers and help define the OpenACC standard.

The application period is now open and closes on 3 July, 2015. Space will be limited to a maximum of eight teams, with two mentors for each team. Groups will be notified about acceptance or rejection of their application by Friday, July 31, 2015. See below how to apply. Prior GPU experience is not required! Those groups whose application successfully passes the selection process will receive further information regarding registration.

Comments

Replacing Photoshop With NSString

 

A really clever way to create icons using ascii art. It is open-source and released under the MIT license on GitHub.

I think one of the real advantages of this is you can actually see the image you want to create in the code.

asciiart

is rendered as..

asciart2

You can read more here

Comments

HackaMol: An Object-Oriented Modern Perl Library for Molecular Hacking on Multiple Scales

 

To be honest I can't remember when I last used Perl but this publication brought back a few memories DOI.

HackaMol is an open source, object-oriented toolkit written in Modern Perl that organizes atoms within molecules and provides chemically intuitive attributes and methods.

Source code and example scripts are available online at http:// github.com/demianriccardi/HackaMol. There is also a description of an IPerl Notebook in the supporting information.

There is also a very interesting extension HackaMol::X::Vina, a structured class that provides an interface with the AutoDock Vina docking program

Comments

The 3rd International Workshop on OpenCL

 

The 3rd IWOCL (International Workshop on OpenCL) takes place at Stanford University, California from Monday 11 to Wednesday 13 May 2015, and includes the addition of an Advanced Hands-On OpenCL course to the schedule on Monday.

More details

Acceleware will be offering two 4-day training courses in Canada. The first course will be in Calgary Alberta from May 26-29, 2015. The second course will be offered in Montreal, June 9-12, 2015. These professional four day courses are designed for programmers who are looking to develop comprehensive skills in writing and optimizing applications that fully leverage data parallel processing capabilities of GPUs.

More details

Also

The Khronos Group has released revision 30 of the SPIR-V specification. This revision of SPIR-V includes multiple corrections and synchronizes all token spellings to the official headers. These official C/C++ headers are available along with the specification in the registry.

Comments

Swift Updates

 

The latest update to Xcode 6.3 includes Swift 1.2, latest reports suggests a significant improvement in speed.

Rather than feeling like using a computer that’s 10 years obsolete, algorithms that were borderline rate limiting running in the main UI thread just happen like they ought to. As a reality check, I re-ran the horrendously underperforming algorithm that I complained about awhile back, and rather than taking 320 seconds to calculate 7 log P values, it now gets the job done in 30 seconds.

The latest entry on the Swift blog also describes means to improve performance.

Comments

New playgrounds in Swift

 

The latest entry on the Swift blog highlights additions to the playgrounds within Xcode 6.3 beta 3.

Playgrounds are now represented within Xcode as a bundle with a disclosure triangle that reveals Resources and Sources folders when clicked. These folders contain additional content that is easily accessible from your playground’s main Swift code. To see these folders, choose View > Navigators > Show Project Navigator (or just hit Command-1)

There is an example playground that calculates Mandelbrot set which looks like fun to play with.

mandlebrot

Comments

CotEditor is an open source text editor

 

I use markdown extensively on my websites, “Markdown” is two things: (1) a plain text formatting syntax; and (2) a software tool, written in Perl, that converts the plain text formatting to HTML allowing you to build HTML documents in an easily readable form. As the use of Markdown has increased in popularity there are now a wide choice of plain text/Markdown editors available for MacOSX and recently iOS so I’ve updated the listing of Markdown Editors.

The latest addition is CotEditor an open source text editor designed specifically for Mac OS X. There is syntax highlighting for 40 different languages, and it is scriptable using Python, Ruby, Perl, PHP, UNIX shell or AppleScript (and even JavaScript on Yosemite). It also contains a find and replace using regular expressions.

Comments

Swift course on iTunes U

 

I just noticed that there is are new Swift programming courses available on iTunes U.

The outstanding Stanford University iOS development courses on iTunes U has been updated to use Swift. The first two lectures from the new “Developing iOS 8 Apps with Swift” class are now live and additional lessons will be added as they are taught. In addition there is also a new course from Plymouth University in the UK.

Comments

MedChem Wizard KNIME workflow

 

The MedChemWizard is a KNIME workflow designed to assist medicinal chemists with idea generation, ligand design and lead optimization using a number of common functional group transformations and medchem rules-of-thumb, this tutorial provided by Dr. Alastair Donald gives a detailed description of it's use.

mcwizard

Comments

Swift's unprecendented growth

 

he latest RedMonk Programming Language Rankings are now available, these rankings have been run since 2010 using essentially the same methodology so we can compare with historical data. The plot below compares popularity of Stack Overflow and GitHub.

lang.rank_.plot_.q1151

Whilst the top ten is pretty much as expected

1 JavaScript
2 Java
3 PHP
4 Python
5 C#
5 C++
5 Ruby
8 CSS
9 C
10 Objective-C

Perhaps the most important change is just outside the top 20.

the growth that Swift experienced is essentially unprecedented in the history of these rankings. When we see dramatic growth from a language it typically has jumped somewhere between 5 and 10 spots, and the closer the language gets to the Top 20 or within it, the more difficult growth is to come by. And yet Swift has gone from our 68th ranked language during Q3 to number 22 this quarter, a jump of 46 spots.

Swift is an innovative new programming language for Cocoa and Cocoa Touch and you can find out more about Swift on the Apple Developer site,



Comments

ASObjC Explorer, version 4.1

 

Just got this email.

A major update of ASObjC Explorer, version 4.1, is now available, just in time for the holiday season. This version incorporates a new and improved logging engine, incorporating extended AppleScript syntax styling and now resolving Cocoa objects -- no more will you have to deal with «class ocid» id «data optr000...» entries. ASObjC Explorer is the editor for Mavericks and Yosemite users wishing to write ASObjC code. You can read more here: http://www.macosxautomation.com/applescript/apps/explorer.html. You can also download it and try it out free for 30 days. To celebrate, you can use the coupon code NEWLOG to receive a $US10 discount between now and the end of January. Ho, ho.

Comments

CodeRunner 2

 

I just noticed that an update to CodeRunner has been released. CodeRunner 2 is a complete overhaul of the original app and in addition to a host of new features also brings support for Yosemite. CodeRunner can run code in 20 languages out-of-the-box, and can be easily extended to run code in any other language. Adding a language is as easy as entering its terminal command.

Comments

Learn to code. Change the world

 

As part of the Computer Science Education Week (Dec 8-14th) Apple are hosting workshops in their retails stores.

Join us on December 11 for the Hour of Code, a free one-hour introduction to the basics of computer programming.

Comments

PyCharm

 

I must admit I’m a big fan of BBEdit for all my text editing, Markdown and python programming but I still keep an eye out for interesting alternatives. I was recently sent a link to PyCharm a Python IDE. PyCharm's code editor provides support for Python, JavaScript, CoffeeScript, TypeScript, CSS, and a number of other languages. What caught my eye was the recently added support for iPython notebooks, with PyCharm 4 you can perform all the usual IPython Notebook actions with *.ipynb files. Everything you're used to doing with the ordinary IPython Notebook is now supported inside PyCharm.

ipythonnotebook

Another very useful features for scientific programming is the NumPy array viewer to easily get a graphical view of a NumPy array and support for matplotlib.

There is a really comprehensive support section that includes demos and screencasts .

Comments

Vortex scripts to access ChEMBL

 

ChEMBL is a manually curated chemical database of bioactive molecules . It is maintained by the European Bioinformatics Institute (EBI), of the European Molecular Biology Laboratory (EMBL), based at the Wellcome Trust Genome Campus, Hinxton, UK. The database currently contains over 1.4 million unique structures with the associated activity at 10,579 different targets. It also acts as a repository for Open Access primary screening and medicinal chemistry data directed at neglected diseases.

Whilst the database can be downloaded, the data can also be accessed via a web interface (shown below) and a series of web services, these Vortex scripts show how it is possible to pull data from ChEMBL into Vortex.

As usual I’ve written it as a tutorial to try and offer some explanation how the script works, Scripting Vortex 23:- Accessing ChEMBL using Web Services

I think this rather nicely shows the power of web services and json.

There is a list of other Vortex scripts on the Hints and Tutorials page

Comments

Scripting is a fundamental lab skill

 

I was very much struck by this blog post on the Cryptogenomicon blog, in particular the comment that biologists need to be able to script.

The most important thing I want you to take away from this talk tonight is that writing scripts in Perl or Python is both essential and easy, like learning to pipette. Writing a script is not software programming. To write scripts, you do not need to take courses in computer science or computer engineering. Any biologist can write a Perl script. A Perl or Python script is not much different from writing a protocol for yourself. The way you get started is that someone gives you one that works, and you learn how to tweak it to do more of what you need. After a while, you'll find you're writing your own scripts from scratch.

I'd probably expand that to say that in most scientific disciplines being able to script is extremely useful. Whilst Perl has been (and maybe still is) a preferred scripting language for biologists I suspect that python is now the “lingua franca” for scientific scripting. I've given a couple of talks recently on the use of open source tools for drug discovery and I asked the audience for a show of hands for different programming/scripting languages and Python seems to be by far the most widespread. Indeed one of the key features that determines the selection of a program is that it provides a scripting interface that allows it to be integrated into a scientific workflow.

I'd also add that scripting does not have to result in some major software program, often the most useful scripts are those that do very simple things that just make life easier. The most popular download on this site is the applescript that simply prints the clipboard, it allows you select a piece of text from a page, copy, then print, no opening another application to paste it into.

Another example of everyday scripts are the Safari extensions, not sure what the structure of a named drug on a web page is, select the name and right click (or control click) and an option appears to search for the highlighted drug on ChemSpider and as if by magic a small window opens displaying the structure. Pretty neat and the beauty is that it only involves a small amount of javascript programming, all the heavy lifting has been done by Apple who provide the Safari extension framework and the ChemSpider folks who provide the database and web service.

Pasted Graphic

Similarly the Chemical Identifier Resolver script makes use of the Chemical Identifier Resolver (CIR) by the CADD Group at the NCI/NIH to convert a huge variety of chemical identifiers into a structure.

I’d also echo the view that you don’t need to have attended a computer science course, I very firmly believe in “cut and paste” school of programming. Take an existing script and modify it to see how it works, then customise it to solve a problem that you have.

In addition to the Applescripts section the “Hints and Tutorials” section of this site includes many more scripts that use Python, Python, javascript etc., you are free to use any as starting points, if you feel they maybe generally useful I’d be happy to add them to the site.

Comments

OS X Source code

 

Apple has released the Darwin source code for OS X 10.10 here.

Comments

New Swift website

 

In addition to the Swift Blog there is now a dedicated Swift website

Swift is an innovative new programming language for Cocoa and Cocoa Touch. Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.

The latest entry on the Swift blog deals with “Failable Initialisers” a new feature in Swift 1.1 part of Xcode 6.1.

Comments

Impressions of Apple’s Swift, after a bit of practice

 

Swift is a new programming language from Apple for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. I’m delighted to hear that people are starting to explore it’s use in scientific applications. Dr. Alex M. Clark has posted his early impressions on the Cheminformatics blog, well worth a read.

There is also the Swift blog for more interesting tips.

Comments

Cheminformatics iPython notebook

 

George Papadatos, from the ChEMBL group, has produced a superb iPython notebook tutorial demonstrating the use of RDkit.

ipypng

Comments

Swift now at 1.0

 

It has just been announced that Swift has reached 1.0.

Today is the GM date for Swift on iOS. We have one more GM date to go for Mac. Swift for OS X currently requires the SDK for OS X Yosemite, and when Yosemite ships later this fall, Swift will also be GM on the Mac. In the meantime, you can keep developing your Mac apps with Swift by downloading the beta of Xcode 6.1.

Swift is an innovative new programming language for Cocoa and Cocoa Touch. Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.



Comments

Open Phacts API update

 

The OpenPhacts API has been updated to include two new data sets and the corresponding API calls.

1) DisGeNet target-disease associations These API calls use URIs inputs that correspond to either diseases or targets (proteins or genes). The disease identifiers correspond to UMLS CUIs, Mesh ids or ConceptWiki and can use several namespaces, e.g. http://linkedlifedata.com/resource/umls/id/C0004238, http://purl.bioontology.org/ontology/MSH/D001281, or http://www.conceptwiki.org/concept/index/095cb66f-76ef-41b5-a8ae-c39352e6007e

2) neXtProt nanopublications for tissue expression (PREVIEW mode) These API calls use URIs that correspond to either tissues or targets. The tissue identifiers correspond to the Caloha tissue ontology from neXtProt. These identifiers can use either the namespace from the neXtProt database (e.g. http://www.nextprot.org/db/term/TS-0564, will be operational next week) or the Caloha ontology (ftp://ftp.nextprot.org/pub/currentrelease/controlledvocabularies/caloha.obo#TS-0564, operational now).

To reduce the barriers to drug discovery in industry, academia and for small businesses, the Open PHACTS Discovery Platform provides tools and services to interact with multiple integrated and publicly available data sources. To integrate this data, extensive cross-referencing of scientific concepts is needed across all databases.

Comments

BBEdit 10.5.11 Released

 

Everybody’s favourite text editor have been updated BBEdit 10.5.11 release consists entirely of fixes for reported issues, and contains no new features.

I also saw this note about future Yosemite support.

OS X Yosemite (10.10) We cannot fully support the use of our products on beta versions of OS X. If you encounter difficulty when using the latest version of BBEdit, TextWrangler, or Yojimbo on any pre-release version of OS X Yosemite, please first verify whether the problem also occurs when running on the latest public release of OS X Mavericks (10.9); and then file a bug report with Apple using an appropriate feedback channel. They will contact us as necessary.

Comments

Latest update on Swift blog

 

The latest post on the Swift developers blog concerns Value and Reference Types

Types in Swift fall into one of two categories: first, “value types”, where each instance keeps a unique copy of its data, usually defined as a struct, enum, or tuple. The second, “reference types”, where instances share a single copy of the data, and the type is usually defined as a class. In this post we explore the merits of value and reference types, and how to choose between them.

Comments

Balloons playground

 

An update on the swift blog

Many people have asked about the Balloons playground we demonstrated when introducing Swift at WWDC. Balloons shows that writing code can be interactive and fun, while presenting several great features of playgrounds. Now you can learn how the special effects were done with this tutorial version of ‘Balloons.playground’, which includes documentation and suggestions for experimentation.

This playground uses new features of SpriteKit and requires the latest beta versions of Xcode 6 and OS X Yosemite

Comments

OpenEye Toolkits Updated

 

OEToolkits 2014.Jun This release of the OpenEye toolkits is focused on stability and new platform support. The last release, 2014.Feb, was a major feature release introducing numerous new features. This release focused on fixing many bugs and improving the overall stability of the OpenEye toolkits.

There is still a major new feature being added in this release:

FreeForm API added to Szybki TK

Mac Users should note this release will be the last release to support OSX 10.7.

Comments

RegExRX

 

I don’t use regular expressions often enough to become an expert but I do use them often enough to know how valuable they are. I always seem to spend more time than I’d like sorting out the regular expression and I often feel that I’ve done something similar before.

I came across an application that I think will make my life a lots easier, RegExRX is a regular expression development tool.

A complete regular expression development tool meant for novices and professionals alike, this editor has many features designed to help in the development and storage of regular expressions. Based on the PCRE library, RegExRX will allow a user to craft patterns that are compatible with most regular expression flavors and will let them easily copy those patterns to other languages like Objective-C, Perl, Ruby, PHP and Xojo.

regexrx

Comments

Swift blog

 

Apple have started a new blog to help developers interested in Swift, Swift is a new programming language for Cocoa and Cocoa Touch.

Get started with Swift by downloading Xcode 6 beta, now available to all Registered Apple Developers for free. The Swift Resources tab has a ton of great links to videos, documentation, books, and sample code to help you become one of the world's first Swift experts. There's never been a better time to get coding!

The first blog entry deals with the issue of compatibility, and how to ensure your app will continue to function as the language evolves.

Comments

Fortran on a Mac

 

Last month I compiled a page of Fortran resources for the Mac. At the time I was hoping it would be a useful resource but thought it would draw a limited audience. In fact it turned out to very popular, the page has been accessed nearly 1000 times with readers spending between 3 and 4 minutes on the page. I've also been contacted by a couple of fortran developers who have suggested additional resources and tips for compiling.

Comments

ASObjC Explorer has been updated

 

ASObjC Explorer for Mavericks

Changes from version 3.2.0 to 3.2.2

Code-completion enhancements. Code-completion has been enhanced for relevance. As part of this, Explorer supports new variable-naming conventions. Please read the section entitled 'Contextual Completion' in the Help file for more details.

Bug fix. Choosing 'Look Up in AppKiDo' from the contetual menu in the Library Pane erroneously entered the resulting script in the log. This no longer happens.

Sparkle update. A newer version of the Sparkle update framework is included. If you choose automatic updates, they should now happen automatically.

Updated scripts and user shortcuts. You can extract these from the application's bundle, or remove the existing ones and relaunch the application to have them instlled automatically.

Updated example scripts. These have been updated to reflect the new variable naming conventions

Comments

Fortran on a Mac

 

First let me say I’m not a big Fortran user but any blog posts about Fortran always seem to be very popular, and I do get asked regularly about how to compile Fortran applications. So I’ve put together a page summarising all the resources that I’m aware of, together with some installation instructions.

If you know of anything I’ve missed feel free to email me or add them to the comments.


Comments

Scientific Programming

 

Whenever I post anything about Fortran there is a noticeable uptick to page views so I thought I’d post a link to this review on Ars Technica

Scientific computing’s future: Can any coding language top a 1950s behemoth?. This is a very interesting review and discussion on scientific programming and it is no surprise that for the more computationally intensive number crunching applications Fortran still rules.

“I don't know what the language of the year 2000 will look like, but I know it will be called Fortran.” —Tony Hoare, winner of the 1980 Turing Award, in 1982.

Comments

Porting of BUDE (Bristol University Docking Engine) to OpenCL.

 

A recently publication “High Performance in silico Virtual Drug Screening on Many-Core Processors” DOI describes porting BUDE (Bristol University Docking Engine) to OpenCL.

Our highly optimized OpenCL implementation of BUDE sustains 1.43 TFLOP/s on a single NVIDIA GTX 680 GPU, or 46% of peak performance. BUDE also exploits OpenCL to deliver effective performance portability across a broad spectrum of different computer architectures from different vendors, includ- ing GPUs from NVIDIA and AMD, Intel’s Xeon Phi and multi-core CPUs with SIMD instruction sets.

BUDE is now one the fastest HPC applications ever developed and nicely demonstrates the portability of OpenCL across different architectures.

There is a list of GPU accelerated applications here.

Comments

Absoft Pro Fortran 2014 v14 Compiler Suite

 

I’ve just been told that the Absoft Pro Fortran 2014 v14 Compiler Suite For Mac OS X is available.

Pro Fortran 2014 v14 - A few of the new features for this release are: AWE-Chart, AWE-Plot, AWE-Form & Enhanced AVX Instruction set performance. Pro Fortran 2014 builds faster code with Absoft's Exclusive Dynamic AP Load Balancing Technology, OpenMP 3.0 support, SMP Analyzer, Tools Plug-in, New HPC Scientific & Engineering Math Library and more.

The Absoft IDE is the only commercial Fortran/C++ development environment designed by Fortran experts. It includes: programmer's editor, Absoft's SMP and Vector analyzer, Fx3 graphical debugger, SMP and MPI control features, optimized math libraries and 2D/3D graphics.

Comments

Un1Chem Vortex script updated.

 

The Vortex script that accesses Un1Chem has been updated. This is a minor bug fix.

Un1Chem is a new web resource provided by the EBI, it is a 'Unified Chemical Identifier' system, designed to assist in the rapid cross-referencing of chemical structures, and their identifiers, between databases. Currently the uniChem contains data from 21 different data sources:-



Comments

CLFORTRAN – Pure Fortran Interface to OpenCL

 

I know that Fortran is still very important in scientific computing so this may be of interest.

CLFORTRAN is an open source (LGPL) Fortran module, designed to provide direct access to GPU, CPU and accelerator based computing resources available by the OpenCL standard.

Added to the GPU Science page.

Comments

Graph Builder Updated

 

Graph Builder has been updated to version 10.9.16.

  • Made the heat map (aka: image map, point fill) and 3D scatter, surface and volume color mapping editor significantly better.
  • Added a palette that shows how to script a multi-level animated pie chart.
  • Removed depreciated system calls.
  • Adjusted many items under the hood in preparation for v11.
  • Special Note: The v11 build is being worked on and your feedback to support@vvi.com is very welcome.

Graph Builder is a powerful application rich in graphic editing, creation and programming to facilitate the visualization of information. It has a good complement of 2D and 3D graph features, a full-fledged user interface and is programmable. Paste data into table editors, write scripts to generate data, load a Xcode plugin you write for data generation and to retrieve data from external sources.

There is a comprehensive list of data analysis tools for Mac OSX here.

Comments

Vortex runs on Raspberry Pi

 

A while back in a very neat demonstration of the portable coding approach Dotmatics released ElementalDB for the iPad an iPad application that does a substructure search of a 1,200,000 Chembl structure database in less than a second. Well now they have gone even further and ported their data visualisation tool Vortex to the raspberry Pi.

Raspberry Pi is a $35 credit-card sized computer that plugs into your TV and keyboard. It is used in electronics projects and for many of the functions usually assigned to a desktop PC such as spreadsheets, word-processing and games.  It features a 700MHz ARM processor and can run a Debian Linux derived operating system. Compiling Vortex on this platform took just a few minutes as it involved building upon Oracle’s JDK 7 which was recently released for the Pi.

pi

Comments

Scripting Vortex to access Un1Chem

 

Un1Chem is a new web resource provided by the EBI, it is a 'Unified Chemical Identifier' system, designed to assist in the rapid cross-referencing of chemical structures, and their identifiers, between databases. Currently the uniChem contains data from 21 different data sources.

This script originally created by Sune Askjær first calculates the InChiKey for molecules in a workspace and then uses Un1Chem to search for information in multiple databases, then it provides a summary and a link to a locally generated summary table.

unichem2

Full details are here Scripting Vortex 18.

Comments

SVGgh

 

I’ve just added SVGgh from GenerallyHelpfulSoftware to the MobileScience website.

SVGgh is a collection of classes for using SVG as artwork in iOS Apps. Includes a UIView and a button class.

No excuse for using bit mapped images!

Comments

Scripting Vortex 17 tutorial

 

In the tutorial Scripting Vortex 15 I showed how it is possible to create a contextual script for Vortex that downloaded a specific PDB file, then a FlexAlign Vortex script first identifies the structure column and then get the SMILES string of the selected molecule generates a 3D structure and uses Flex Align to do a one-shot flexalign between the ligand in the system in MOE, and the incoming ligand.

While this is useful if you have similar structures (perhaps analogues in a series) there will certainly be situations where it may be preferable to dock the new ligand into the binding site. The Scripting Vortex 17 tutorial describes how to achieve this.

Comments

The Julia Language

 

Whilst I’m not a full time programmer I do keep an eye out for tools that are suited for scientific computing on a Mac. Julia is a high-level, high-performance dynamic programming language for technical computing with an extensive mathematical function library.

The library, largely written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. In addition, the Julia developer community is contributing a number of external packages through Julia’s built-in package manager

Julia’s LLVM-based just-in-time (JIT) compiler combined with the language’s design allow it to approach and often match the performance of C. The table below taken from the Julia website gives an idea of the relative performance for a number of simple benchmarks.

julia

Julia was designed to support multiple cores and cloud computing. IJulia is a Julia-language backend combined with the IPython interactive environment. This combination allows you to interact with the Julia language using IPython's powerful graphical notebook, which combines code, formatted text, math, and multimedia in a single document

For the Mac a Julia-version.dmg file is provided, which contains Julia.app. Installation is the same as any other Mac software – copy the Julia.app to your hard-drive (anywhere) or run from the disk image. The core of the Julia implementation is licensed under the MIT license.

Comments

iOS7 Tech talks

 

The iOS7 tech talk videos are now online.

Registered Apple Developers can watch full sessions from the iOS 7 Tech Talks to get in-depth guidance on developing for iOS 7. Discover how to create innovative, flexible, and intuitive apps that integrate the latest Apple technologies.

ios7

For science apps for iOS have a look at the mobile science page.

Comments

Graph Builder

 

I just got a message about an update to Graph Builder a very popular and powerful application from VVimaging, Inc rich in graphic editing, creation and programming to facilitate the visualization of information. It has a excellent complement of 2D and 3D graph features, a full-fledged user interface and is programmable. Paste data into table editors, write scripts to generate data, load a Xcode plugin you write for data generation and to retrieve data from external sources. Also supports dynamic graphs.


Comments

iOS programming

 

As the MobileScience site expands I’ve started to add other resources in addition to the applications. There are now a couple of useful additions for iOS programmers if you are looking for a training course, a plotting library or a chemistry toolkit.

I’d be delighted to add any more useful resources.

Comments

FTranProjectBuilder

 

I’ve just updated the listing of Scientific Applications under Mavericks and I thought I’d highlight one application. The page I have on Tools for Fortran Programmers is consistently one of the top accessed Blog entries. I’m sure one of the reasons for this popularity is FTranProjectBuilder the only Mac-native Fortran development environment (IDE) it works with the gfortran, g95, ifort, Absoft Pro Fortran, NAG nagfor and PGI pgfortran compilers. Since I mentioned it last FTranProjectbuilder has been updated six more times, in April, May, July, August and October with new features like the ability to build static libraries, trackpad interaction and compiler errors now being marked in the source code. Full details are in the project notes on the Nocturnal Aviation Software website , and yes, all of the tools, including FTranProjectbuilder are compatible with 10.6.8+, and run fine on 10.9 Mavericks. 

Fortran still has a significant user base in the scientific community where the speed, portability, array handling and access to shared memory make it a very powerful option.

There is a nice comparison of programming languages from the viewpoint of scientists here

Comments

Scripting Vortex 16

 

OCHEM is a free open access site of annotated models and chemical data. OCHEM contains 1831772 experimental records for about 477 properties collected from 12457 sources you are free to upload your own data and also build predictive models using existing or your own data.

There are also a number of already built models that the public can access, these include

  • Ames test
  • CYP1A2 inhibition
  • LogP and Solubility

You can run predictions on OCHEM using simple REST-like web services, these vortex scripts submit tasks to the various models and then retrieve the resulting prediction.

Comments

SeqAn

 

I’ve recently been sent details of SeqAn, an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. It is released under BSD/3-clause license and is supported under Mac OS X: GNU/g++, LLVM/Clang (3.0+).

Andreas Döring, David Weese, Tobias Rausch and Knut Reinert. SeqAn an efficient, generic C++ library for sequence analysis. BMC Bioinformatics, 9:11, 2008. DOI

Comments

OpenCL training course

 

Simon McIntosh-Smith has just released a new OpenCL training course “HandsOnOpenCL" via Github. It Includes a comprehensive set of exercises and solutions in C, C++ & Python.

There is a list of GPU-accelerated scientific applications here.



Comments

JSON Helper for Applescript

Recently there has been an increased use of JSON format for data exchange.

JSON, or JavaScript Object Notation, is a text-based open standard designed for easy human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language-independent, with parsers available for many languages including including C, C++, C#, Java, JavaScript, Perl, Python.

JSON is built on two structures

  • A collection of name/value pairs. In various languages, this is realised as an object, record, struct, dictionary, hash table, keyed list, or associative array.
  • An ordered list of values. In most languages, this is realised as an array, vector, list, or sequence.

JSON can be used to provide the results of a calculation via a web service or it could be used to provide the results of a database search, indeed the popular database mongoDB uses JSON-style document storage. It can be regarded as less verbose alternative to XML.

I just noticed that there is now an Applescript parser for JSON,

Description. JSON Helper is an agent which allows you to do useful things with JSON (JavaScript Object Notation) directly from AppleScript. JSON Helper has no interface, and runs in the background waiting for AppleScripts to ask it to do something. JSON Helper is by far the easiest way to work with JSON in AppleScript. JSON Helper lets you convert JSON directly into AppleScript records, and convert AppleScript records and list into JSON. JSON Helper also makes it easy to parse the responses of many popular web services directly into AppleScript with convenience methods for fetching and parsing the responses from URLs.

I’ve added JSON Helper to the Applescript resources page.



Comments

Scripting Vortex and MOE

One of the new features in the latest version of MOE from Chemical Computing Group is the Listener. The MOE socket listener provides an alternative to MOE/web for executing functions remotely on a running instance of MOE.

The script will download the associated PDB structures from the rcsb Protein Data Bank, put them into a database then start the browser. It may take a few seconds to download the structure; this does rely on MOE having the right proxy settings to access the internet (use the Java console to set them). You can now transfer this to MOE and amend the display to highlight the ligand.

The MOEflexalign script takes the SMILES string of the selected row generates a 3D structure and does a one-shot flexalign between the ligand in the system in MOE, and the incoming ligand.

It is probably easier to see this in action, if it appears rather small click on the YouTube icon in the bottom right corner of the video.

Full details are here




Comments

Scripting Vortex 14

In tutorial 4 we looked at using the command line tool sddesc from Chemical Computing Group to calculate a number of molecular descriptors and then import them into Vortex. However there a couple of issues with doing this not the least ensuring all the environment variables are set correctly. An alternative is to use MOE as a web service and access the tools using the SOAP protocol (Simple Object Access Protocol). This protocol provides a specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on XML Information Set for its message format.

Full details are here...



Comments

Expanding Computational Chemistry with GPUs

I see there is a session on GPU enabled science at the September ACS meeting.

Link to Abstracts.

A day and half of talks in the Division of Computers in Chemistry

NVIDIA will also host poster competition for GPU accelerated computational chemistry on Sept. 10th evening. NVIDIA will award a free GPU to the author of best poster selected by a panel of experts.

There is a listing of GPU-accelerated scientific applications here.



Comments

Script Debugger Updated

If you are looking for an alternative to Script Editor then Script Debugger might be worth a look, and it has just been updated.

Script Debugger 5.0.6 is a free maintenance release addressing a series of issues that came to light following the release of Script Debugger 5.0. This maintenance release makes Script Debugger fully compatible with Mountain Lion (Mac OS X 10.8.2) and addresses a number of stability and performance issues.

There are more useful tools on the Applescript Resources page.



Comments

Rubabel: Wrapping OpenBabel with Ruby

I just saw this publication and I thought it might be of general interest.

Rubabel: Wrapping OpenBabel with Ruby

The number and diversity of wrappers for chemoinformatic toolkits suggests the diverse needs of the chemoinformatic community. While existing chemoinformatics libraries provide a broad range of utilities, many chemoinformaticians find compiled language libraries intimidating, time-consuming, arcane, and verbose. Although high-level language wrappers have been implemented, more can be done to leverage the intuitiveness of object-orientation, the paradigms of high-level languages, and the extensibility of languages such as Ruby. We introduce Rubabel, an intuitive, object-oriented suite of functionality that substantially increases the accessibily of the tools in the Open Babel chemoinformatics library.

Journal of Cheminformatics 2013, 5:35 DOI



Comments

Plugins for Open Babel

I’ve just read a new blog entry on Noel O’Blog regarding the development of useful cheminformatics code, in the piece he advocates the use of Open Babel

I'm going to propose that you should write or adapt this code as an Open Babel plugin. I've just done this for Confab, the conformer generator I wrote some time back. If you do this, you don't need to consider how to put together the build infrastructure, write the code for reading/writing file formats, or for handling command-line options and arguments (in fact, you get a lot of additional functionality for free). More generally, the software will compile cross-platform, be included in every major Linux distribution and be available to a very large number of people. It will also have a lifetime beyond the end of the grant that funded it.

I couldn’t agree more, added to which it is nice to see how the code you contribute can be built on and extended.



Comments

Platypus Updated

Platypus is a developer tool for the Mac OS X operating system. It creates native Mac OS X applications from interpreted scripts such as Applescript or shell scripts, or Perl, Ruby and Python programs. This is done by wrapping the script in an application bundle along with a native executable binary that runs the script.

The update includes

  • New "Prompt for file on launch" option
  • Redesigned Drop Settings sheet
  • Fixed issue where version would not appear in Get Info in Finder (missing CFBundleShortVersionString)
  • Generated apps have NSHumanReadableCopyright defined again
  • Extensive updates to documentation
  • "Provide as a Mac OS X Service" no longer enabled by default
  • Removed all support for file types. They are ancient crust now mostly ignored by Mac OS X and should no longer be used.
  • Improved uninstall script
  • Fixed issue where a generated icon file referenced in a Profile could be overwritten
  • Documentation files now open in default browser, not in default .html handling app
  • Fixed broken nib optimization. Platypus now correctly detects XCode 4 installs.

There are a number of other tools on the Applescript resources page.



Comments

Applescript Update

There have been a number of discussions about the impact of sandboxing on Appelscript, the latest update (10.8) helps to clarify the situation.

The full release notes are here.

Sandboxing and Running Scripts

Sandboxing your application may require changes to how it runs scripts. The usual method in the past has been NSAppleScript, but since scripts typically rely on sending Apple events and the default sandbox profile does not allow sending Apple events to any other application, this often does not work correctly when in a sandbox. Scripts run from your application will fall into one of three categories: • Self-targeted scripts. Your scripts only send events to your application and never to any other application. Continue to use NSAppleScript as before. • Built-in scripts. Your scripts are built as part of your application, and will not change after shipping. Continue to use NSAppleScript, but add entitlements for sending events to the target applications. • User scripts. Your scripts are supplied by the end user, and may use any other application. Use NSUserScriptTask. The scripts must be stored in a special location (use NSApplicationScriptsDirectory to determine where), and will run outside of your sandbox.

Sandboxing and Scriptability

Sandbox policy does not restrict receiving of Apple events, so in general, your application’s scriptability code will not be affected by sandboxing. Note: As mentioned under Compatibility above, sandboxed applications will not be able to access files referred to in commands using a string path. Any parameters or properties in your application that refer to files should be declared as type file, and not type text. Apple Event Manager will add sandbox extensions to events that have file-like parameters, but only if the parameter is of a recognized file-like type: typeAlias, typeFileURL, cFile, and so on. Without these extensions, the file will not be accessible from the target application’s sandbox, and the command will probably fail.

Your application’s scripting definition (sdef), however, should be updated to add access groups: groups of commands, classes, and so on that a sandboxed client can request to use with the new com.apple.security.scripting-targets entitlement. For example, Mail defines a “compose” access group that allows creation and editing of an outgoing message, but nothing else. This is safer than the old com.apple.security.temporary-exception.apple-events entitlement, which allows access to the entire scripting interface. See sdef for details of the markup format.



Comments

A comparison of 6 javascript chart plotting packages

Fusion Charts have provided a very useful comparison of 6 javascriptHTML5 chart plotting libraries.

The six libraries are FusionCharts Suite XT, HighCharts, Google Chart Tools, Sencha ExtJS, Charts, Chart.js, Flot, jqPlot. I’ve used Flot a couple of times and found it a very useful lightweight library. But as they say choice is good.



Comments

BBEdit updated

BBEdit 10.5.4 is a focused maintenance update which includes fixes for reported issues and includes no new features.

The full release notes are here



Comments

R and Python

If you are planning to use R with Python for handling a large amount of data then this blog post may be of particular interest, Stepping up to Big Data with R and Python: A Mind Map of All the Packages You Will Ever Need.



Comments

Scripting Vortex, using OpenBabel fastsearch

One thing I’ve needed to do a couple of times recently is give an idea of how many similar compounds are available to the set of compounds I’m currently viewing. For example in designing a fragment library it is very useful to know for a particular fragment how many similar fragments are commercially available. Or when looking at the results of a high-throughput screen how many similar analogues to a particular hit were also screened.

To do this we need a way of doing a rapid similarity search of the reference database. I use OpenBabel in particular using the fast search capability with molecular fingerprints.

In Scripting Vortex 13 there is a new script to do this.

There are many more scripts and hints here.



Comments

BBEdit and regular expressions

I use BBEdit extensively but only need to use regular expressions infrequently, whenever I do I seem to spend a while getting the syntax correct. I’ve just come across the cheatsheet which I suspect I’m going to find invaluable.



Comments

BBEdit Updated

My preferred text editor has been updated, this release consists entirely of fixes for reported issues, and contains no new features, nor changes to existing features,

As ever the release notes contain a few things to make you smile.

The display glyph for invisible spaces (when "Show Invisible" and "Show Spaces" are both turned on) is now U+00B7 (MIDDLE DOT). If spaces don't display when those settings are turned on, then your display font is missing that glyph, and you should report it to your font's developer as a bug. (I would have used U+1427 (CANADIAN SYLLABICS FINAL MIDDLE DOT) for the humour value alone, but not enough fonts supported that glyph. Sorry.) …

Fixed case in which PHP line comments inside of single-line directives (e.g. ?php ... // hello world foo bar ?, you can't make this stuff up...) would cause the PI closer to be missed and subsequently mess up color scanning.



Comments

AppleScriptObjC Explorer Updated to version 2.5

AppleScriptObjC Explorer is a script editor that takes advantage of AppleScript’s ability to call Cocoa methods in OS X 10.6 and later. AppleScriptObjC — AppleScript with the added ability to call MacOS X’s Objective-C-based frameworks using AppleScript syntax.

New in AppleScriptObjC Explorer 2.5.0

  • Script stepping. You can now step through scripts a statement at a time using new Step, Resume and Resume to Selection commands.
  • Updates to exported apps. Exported apps get individually named executables, plus correct name in their application menus.
  • Bug fixes. Fixes to compiling, saving as .applescript files, and logging time-stamps.

There more details on the Applescript Resources Page.



Comments

UnityMol games engine based molecular viewer

When you compare the amount of resources and effort that goes into computer games with the amount that is available for scientific software it is clear that the games industry wind hands down. It is not surprising therefore that some enterprising scientists are looking at leveraging games technologies to build new applications.

You can read more here Game On, Science - How Video Game Technology May Help Biologists Tackle Visualization Challenges

The video games industry develops ever more advanced technologies to improve rendering, image quality, ergonomics and user experience of their creations providing very simple to use tools to design new games. In the molecular sciences, only a small number of experts with specialized know-how are able to design interactive visualization applications, typically static computer programs that cannot easily be modified. Are there lessons to be learned from video games? Could their technology help us explore new molecular graphics ideas and render graphics developments accessible to non-specialists?

For an example application have a look at:-

UnityMol is a molecular editor, viewer and prototyping platform, coded in C# with the Unity3D game engine. It was developed by Marc Baaden's team at the LBT laboratory at the IBPC institute of CNRS in Paris. UnityMol includes HyperBalls designed to visualize molecular structures using GPU graphics card capabilities based on shaders (GLSL or Cg). UnityMol can currently read Protein Data Bank (PDB) files, Cytoscape networks, OpenDX potential maps and Wavefront OBJ meshes.



Comments

WaveMetrics Updates

XOP Toolkit 6.30 is now shipping. This release adds support for Xcode 4.3.2 through 4.6 and for Visual C++ 2012. This release is mostly to keep up with Xcode 4 changes and to add Visual C++ 2012 sample XOPs and documentation. As described in the release notes (Appendix C of the XOP Toolkit 6 manual), a side-effect of keeping up with Xcode 4 is that XOPs compiled by XOP Toolkit 6.30 require Igor Pro 6.20 or later. The requirement of Igor Pro 6.20 is the reason for bumping the XOP Toolkit version from 6.02 to 6.30. "6.30" was chosen because that is the contemporaneous Igor version. If you are a licensed XOP Toolkit 6 user, this is a free update.

IGOR Pro 6.3 has been updated.

New Features

Added a Batch Curve Fitting package: allows you to fit batches of data to the built-in or user-defined fitting function of your choice. A "batch" is a collection of similar data sets stored in waves to which a common fitting function, initial conditions, and weighting and masking waves have been applied. Each data set may be stored in a waveform, an XY pair, or in the columns of a 2D wave. Added the Scatter Dot Plot Panel. Scatter Dot Plots are one part category plot, one part scatter plot, and one part histogram. Like category plots they show total counts for multiple data sets, each labeled on the X axis. Like scatter plots they provide a sense of the data's distribution. Like histograms they sort data into bins of points in which all values fall into a range. The Multipeak Fitting 2 package now supports constraints on peak coefficients. NewImage supports direct RGBA color image plots. The FilterFIR notch filter length had been limited to 4001 points. Now the limit is 2147483647 points, which makes the minimum notch width 0.000107% of the sampling frequency.

There is a page of data analysis tools here.



Comments

Scripting Vortex 12

In the previous tutorial we made use of the Virtual Computational Chemistry Laboratory web service to calculate aLogP and LogS, both these results were returned in a simple text format. More recently there has been an increased use of JSON format for data exchange.

JSON, or JavaScript Object Notation, is a text-based open standard designed for easy human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language-independent, with parsers available for many languages including including C, C++, C#, Java, JavaScript, Perl, Python.

Molinspiration provide a number of cheminformatics tools but also provide a RESTful web service these web services can be used to calculate a range of molecular properties and bioactivity predictions.

The output from both web services is available either as a JSON string or plain text, the web service can be accessed by submitting a URL

Full details of the script are here.

vortex1



Comments

FTranProjectBuilder updates

I’m not a Fortran programmer so I’ve perhaps not as close an eye on this as other areas, however looking at the Fortran IDE FTranProjectBuilder release notes it seems there have been 17 updates in the last 12 months. FTranProjectBuilder is now up to version 1.15 with new features being added at a steady rate. Of note for scientists FTranProjectBuilder has support for two of the most common parallel processing libraries. If your program is coded for MPI using OpenMPI or OpenMP and you have them installed, you can use FTranProjectBuilder to run on multiple processors. 

editorview_med

These sites might also be useful

Fortran Compiler Instructions for OS X

High Performance Computing for Mac OS X

Installing C/C++/Fortran compilers on your Mac



Comments

Scripting Vortex:- Accessing a web service

I’ve just added the latest script for Vortex.

In previous scripts we have generated data using a local Java program, C program, PERL script, and SVL program. In this tutorial rather than have a local application generate the data we will use a web service.

mols

There are more scripts on the Hints and Tutorial pages.



Comments

BBEdit 10.5.2 released

My favourite text editor BBEdit 10.5.2 has a focused maintenance update which includes fixes for reported issues. This release consists entirely of fixes for reported issues, and contains no new features, nor changes to existing features.



Comments

Displaying structures using JSmol and GLMol

I’ve previously highlighted the use of ChemDoodle web components to display molecular structures within a web page, and a recent publication DOI by Henry Rzepa lead me to explore some of the newer additions to the means to render molecules within a web page without the use of applets or plugins.



Comments

BBEdit 10.5.1 Released

BBEdit 10.5.1 is a focused maintenance update which includes fixes for reported issues. This release consists entirely of fixes for reported issues, and contains no new features, nor changes to existing features.

Release notes are here

They include

Fixed crash which would occur after using the "Other..." menu item to choose an alternate file in the Markup Builder panel, then cancelling the file dialog, and then immediately dismissing the markup panel. On a Thursday.

FIXED BUG IN WHICH KEYBOARD EQUIVALENTS IN MODAL DIALOGS DIDNT WORK WHEN THE CAPS LOCK KEY WAS ENGAGED OK


Comments

NEXT to Mac OS X

An interesting piece on Ars Technica

The legacy of NeXT lives on in OS X NeXTSTEP technologies still fuel Macs, iPhones, and iPads 16 years later.

http://arstechnica.com/apple/2012/12/the-legacy-of-next-lives-on-in-os-x/

Readers might also enjoy this video

Gene Backlin: NeXT to X: A Trip Down Memory Lane


Comments

BBEdit 10.5 released

BBEdit has been updated to version 10.5.

I’m a great fan of BBEdit I’ve been using it as long as I’ve been using a Mac and it is my “swiss army knife” when it comes to opening unusual file types. It is also a great tool for programming, scripting and creating html pages (including Markdown). Version 10.5 is a significant feature update which includes support for Macs with the high-resolution "Retina" displays, assorted new features, and fixes for reported issues.

The full release notes are here.

The release notes are always worth a read since they do reflect the humour of the BBEdit team, I’ve included a couple of the notes below.

When creating a new HTML document (from the dialog or from a template), there's a new substitution available: #LOCALE#. This is the "short" locale code corresponding to the "Language" setting in the dialog box, e.g. en, de, x-klingon, and the like…..

The "Show Clipboard" command on the Edit menu has been retired. It now lives on a farm upstate.

App state restoration has an indeterminate progress dialog, hopefully hinting that "No, we're not hung; we're busy".

The "current process" indicator in shell worksheets now has a spinny thing so that you know something's running, and a clicky thing if you want to stop the running thing indicated by the spinny thing.

I posted a selection of other Markdown editors here and there is more info on programming tools.

Comments

Xcode updated

With the release of the iPad mini Xcode has been updated to version 4.5.2 this update includes:-

Support for iPad mini and iPad with Retina display (4th generation).
Additional bug fixes and stability improvements.

Xcode 4.5 includes

  • SDKs for OS X 10.8 Mountain Lion and iOS 6.
  • Auto Layout now supported on both OS X and iOS.
  • New localization workflow can share a single base .xib or .storyboard file for multiple locales.
  • OpenGL debugger for iOS analyzes performance and suggests improvements.
  • Debugger watchpoints can be set when running on a connected iOS device.
  • Objective-C @synthesize command is generated by default when using properties.
  • Objective-C adds literal syntax for numbers, arrays, dictionaries, and expressions.
  • Xcode 4.5 runs on both OS X Lion and OS X Mountain Lion.
  • Enhanced for the MacBook Pro with Retina display.

Comments

Absoft Fortran compiler update

News for all you Fortran programmers out there.

Absoft Corporation announced immediate availability of new Pro Fortran 2013 for Mac OS

Primary new features of Absoft Pro Fortran 2013 include: - Compatible with Mountain Lion and X code command line toolset - New AVX optimizations improve application speed up to 10% - Many additional F2008 extension supported - Upgraded ATools/GUI environment simplifies application development - New AWE (Absoft Window Environment) spreadsheet feature allows graphical display of 2D arrays - Absoft HPC Scientific and Engineering numerical library included at no additional charge - Compatible with IMSL v7.0,  & 6.0 and NAG 23 numerical libraries - Additional product details http://www.absoft.com/AbsoftMacIntelCompiler.htm

Pricing: $299 academic, $699 commercial.  IMSL 32/64-bit bundle an available option


Comments

Chocolat has been updated

Chocolat is a text editor for Mac OS X, that combines native Cocoa with powerful text editing tools.

1.3.2 Feature – Image previews Feature – Hide line numbers Feature – Drag to reorder active files Feature – Subword movement using alt-ctrl-left/right (or ctrl-left/right you have that system shortcut disabled in System Preferences) Bug – Code completion moves above current line if clipped by bottom of screen Bug – Allow tabbing into document from find bar replace field

Comments

Xcode 4.5 available from AppStore

Xcode 4.5, was released on 19th September and is available free from the Mac App Store. Xcode is Apple's development environment. According to the release notes, Version 4.5 includes:

SDKs for OS X 10.8 Mountain Lion and iOS 6.
Auto Layout now supported on both OS X and iOS.
New localization workflow can share a single base .xib or .storyboard file for multiple locales.
OpenGL debugger for iOS analyzes performance and suggests improvements.
Debugger watchpoints can be set when running on a connected iOS device.
Objective-C @synthesize command is generated by default when using properties.
Objective-C adds literal syntax for numbers, arrays, dictionaries, and expressions.
Xcode 4.5 runs on both OS X Lion and OS X Mountain Lion.
Enhanced for the MacBook Pro with Retina display.
Additional bug fixes and stability improvements.

Comments

Scripting Vortex 10

I’ve just added a new tutorial on scripting Vortex, starting to add user interaction.

Comments

Vortex script exchange

Vortex is an advanced data analysis package that understands chemistry, the capabilities of Vortex can be extended by the use of scripts. I’ve now created Vortex script exchange that users can use to download or share scripts.

There are also a series of scripting tutorials here to provide a starting point for creating new scripts.

Hopefully these scripts will be valuable to you.

Comments

Matlab R2012b released

A new version of Matlab has been released.

MATLAB® is a high-level language and interactive environment for numerical computation, visualization, and programming. Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java™.

Comments

Scripting Vortex 9

I recently wrote a review of ForgeV10 in which I imported the results into Vortex for analysis. This works fine the only issue being the resulting structures are 3D which makes interpretation of the structure sometimes difficult to discern, this script uses OpenBabel to create SMILES which can be rendered as 2D images.

Comments

iOS and OS X Graphing Library

iOS and OS X Graphing Library Free For Development

VVI today announced the availability of it’s graphing library for iPhone, iPad, iPod touch and Macs. Version 10.8.3 of the graphing libraries and frameworks, aka Vvidget Code, brings the following achievements:

  • Supports deployment to OS X versions 10.6 to 10.8 (Macs) and iOS versions 4.3 to 5.1 (iPhone, iPad and iPod Touch).
  • Supports development on OS X versions 10.6 to 10.8 and Xcode 3.2 to 4.4.1.
  • Uses native API on deployment platforms for the fastest and most robust possible implementation. That is, Cocoa Touch for the iPhone, iPad and iPod Touch and Cocoa for the Mac.
  • Use for development is free.
  • Eleven Vvidget-based applications available from VVI on the iTunes App Store for iPhone, iPad and iPod Touch and on the Mac App Store demonstrate Vvidget Code in actual situations.
  • Applications based upon Vvidget Code are free-standing and require no additional installs. Vvidget Code itself can be installed using package installers or shared using free-standing Xcode projects.
  • Download and install instructions are at: Download And Install Vvidget Code

Please email sales@vvi.com for additional information.

Comments

Avogadro: An advanced semantic chemical editor

From the latest issue of Journal of Cheminformatics

Avogadro: An advanced semantic chemical editor, visualization, and analysis platform

The work presented here details the Avogadro library, which is a framework providing a code library and application programming interface (API) with three-dimensional visualization capabilities; and has direct applications to research and education in the fields of chemistry, physics, materials science, and biology. The Avogadro application provides a rich graphical interface using dynamically loaded plugins through the library itself. The application and library can each be extended by implementing a plugin module in C++ or Python to explore different visualization techniques, build/manipulate molecular structures, and interact with other programs. We describe some example extensions, one which uses a genetic algorithm to find stable crystal structures, and one which interfaces with the PackMol program to create packed, solvated structures for molecular dynamics simulations. The 1.0 release series of Avogadro is the main focus of the results discussed here.

Comments

Macscripz

I’ve just come across another site providing applescripts, Macscripz.

MacScripz are just really simple scripts. They basically function as tweaks to your system. A script can range from simply deleting a file in your OS to altering a previous setting. What most scripts on this site will do is change a setting set by Apple initially to change a core behavior on your system. For example, the tweak Cloak&Dagger forces Finder (on OS X 10.7 and up) to display files Apple hides from its users. Every script on Scripz.com is pre-screened, so don't ever worry about harming your system with any of our tweaks, we only upload quality content.

I’ve added it to the Applescript Resources Page.

Comments

Script Debugger 5.0.3 Released

Script Debugger 5.0.3 is a free maintenance release addressing a series of issues that came to light following the release of Script Debugger 5.0. This maintenance release makes Script Debugger fully compatible with Mountain Lion (Mac OS X 10.8) and addresses a number of stability and performance issues.

Comments

Absoft Pro Fortran 2012 compatibility with Mountain Lion

I known there are a number of Fortran users so I thought I’d highlight this message

The Absoft Pro Fortran 2012 for Mac OS currently shipping is compatible with Mountain Lion.  Absoft Pro Fortran 2012 Mac OS customers who purchased earlier than June 2012 who want to run on Mountain Lion will need to download the Service Pack v11.5.2 which can be done at no charge from the Absoft site: http://www.absoft.com/download/downloads.html

Pro Fortran versions prior to 2012 are not compatible with Mountain Lion and will require an upgrade.

Comments

Chocolat Mac text editor

I’m a long time BBEdit user but I do keep an eye out for Mac text editors. Chocolat is a new text editor for the Mac that might be worth looking at, it supports split-window editing, code folding, and code completion. It can be used for a wide range of programming and scripting languages.

Comments

WWDC 2012

Registered Apple Developers can now access over 100 session videos to get an in-depth look at the latest in iOS and OS X.

https://developer.apple.com/videos/wwdc/2012

Comments

Script Debugger has been updated

Script Debugger an advanced script editor has been updated.

Improved Inline Find & Replace Inspector Window and Result Drawer Unification
Script Debugger 5.0 combines Script Debugger 4.5′s various floating inspector panels and its Result drawer into three ‘tabs’ displayed along the right-hand side of each document.
New Bundle Editor Script Debugger 5.0 offers a new bundle editor where you can manipulate the resources contained within a bundled script or a script application.
Floating Mini Debugger This new window floats above all your applications.
New Value Explorer A central feature of Script Debugger is its value Explorers which let you inspect values. For Script Debugger 5.0, value Explorers have been completely re-implemented and simplified. The result is a much more powerful and efficient tool for examining values and exploring the objects and properties offered by the scriptable applications that you control in your scripts.
Element Filtering Script Debugger 5.0’s new Scope Bar lets you remove unwanted information from Explorers. For example, unselecting the ‘Empty Elements’ filter removes empty elements from the Explorer’s display.
Improved Handling of Large Element Collections Script Debugger 4.5 could slow down when displaying large element collections, such as the rows in a database. Script Debugger 5.0 avoids this problem by initially displaying only the first 30 rows. Data is then retrieved from the application for only those rows visible in the Explorer. Other rows are read only when they are scrolled into view. Press the new show more button to view additional rows.
New Apple Event Log Script Debugger 5.0 introduces an entirely new Apple Event Log which is integrated directly into the script window.Apple Events are now retained even when the log is not visible, allowing you to look at the event log without having to plan ahead. Additionally, you can change formats (source, raw, AEPrint) on the fly without having to re-run your script.
Explorable Local Variables When stepping through handlers, local variables containing object references can be explored in Script Debugger 5.0. Additionally, object references passed into handlers can show the target application.
Conditional Breakpoints Script Debugger 5.0 lets you assign conditions and actions to breakpoints.
Separate Running & Debugging Toolbars Script Debugger 5.0 offers two toolbar configurations: one for when debugging is disabled; and another for when debugging is enabled. You can customize the toolbar based on how you are using Script Debugger 5.0.
Script Debugger 5.0 improves its object model diagrams by showing element (one-to-many) relationships, and property (one-to-one) relationships.
Improved Spotlight Indexing
Fully 64-Bit Native

Comments

Science Code Manifesto

Computing is now a critical component of many areas of science and access to the code used is an important component of the review process. The Science Code Manifesto attempts to formalise this.

Code. All source code written specifically to process data for a published paper must be available to the reviewers and readers of the paper.

Copyright. The copyright ownership and license of any released source code must be clearly stated.

Citation. Researchers who use or adapt science source code in their research must credit the code’s creators in resulting publications.

Credit. Software contributions must be included in systems of scientific assessment, credit, and recognition.

Curation. Source code must remain available, linked to related materials, for the useful lifetime of the publication.

There is a more detailed discussion here.

Comments

KosmicTask

KosmicTask is an integrated scripting environment for Mac OS X. Whilst Mac OS X supports a number of scripting technologies either via it’s UNIX roots (Shell scripting , Perl etc.) or via Cocoa Framework Scripting using Apple’s scripting bridge (Applescript, Ruby, Python etc.) you can end up using a different script editor for each scripting language. KosmicTask allows you to script in a wide variety of languages from within a single editor. KosmicTask uses a plugin architecture that allows it to support a range of scripting languages, details of the languages supported by KosmicTask are shown below:-

KosmicTask also supports another very capable means of achieving automation - appscript. Appscript is supported by both Ruby and Python an alternative to the ScriptingBridge. 

It also allows sharing of scripts with other KosmicTask users via the local shared network.

KosmicTask

I’ve also added it to the list of Applescript Resources.

Comments

KNIME Newsletter

The 1Q KNIME newsletter is out. Discussion of text mining, the Feb UGM and Tips and Tricks.

http://knime.org/files/knimenewslettervol2no12012.pdf

KNIME (Konstanz Information Miner) is a user-friendly and comprehensive open-source data integration, processing, analysis, and exploration platform.

KNIME

There is a KNIME tutorial here.

Comments

Tools for Mac Fortran Programmers

I’m not a Fortran user myself but I know a lot of scientists swear by it for high performance code, so I thought I’d mention Nocturnal Aviation Software the creators of FTranProjectBuilder the only Mac-native Fortran development environment (IDE) it works with the gfortran, g95, ifort, Absoft Pro Fortran, NAG nagfor and PGI pgfortran compilers.

fcodemain

FTranProjectBuilder is for scientists, engineers and students. It's useful for large, complex projects, but makes even simple programs easy to manage. To speed up program development it has:

  • Single window interface
  • Editor, console and notes views
  • Project wide search
  • Execution input from console or file
  • Execution timer
  • Errors and search results organized by file in outline view
  • Add files by drag and drop, or import an existing makefile

FTranProjectBuilder manages the dependencies, object and module files, program executable and a standard makefile for you. You spend your time working on your code. FTranprojectBuilder does the rest.

Comments

Scripting Vortex 8 molecular shape matching

One of the critical activities of most drug discovery programs is the identification of novel leads, these hits can come from high throughput screening or fragment-based screening There is however great interest in virtual screening which allows the evaluation in silico of a vast number of compounds and the selection of a subset that have a greater chance of desired activity. The virtual screening can be achieved by searching using sub-structures or molecular descriptors, by docking potential ligands into the target protein and scoring the resulting docked pose, or by comparing with the shape and/or electrostatic map of a known ligand.

Shape-it is a tool developed by Silicos-it that aligns a reference molecule against a set of database molecules using the shape of the molecules as the align criterion. It is based on the use of Gaussian volumes as descriptor for molecular shape as it was introduced by Grant, J.A.; Gallardo, M.A.; Pickup, B.T. (1996) ‘A fast method of molecular shape comparison: a simple application of a Gaussian description of molecular shape’,J. Comp. Chem. 17, 1653-1666.

This script shows how to run shape-it from within Vortex, bringing in the shape matching scores for filtering and analysis.

Comments

Absoft Pro Fortran 2012 -- Xcode 4.3 Compatibility Pack for Mac OS X

Absoft Corporation, today announced general availability of a new Xcode 4.3 Compatibility Pack for Absoft Pro Fortran 2012 customers running Mac OS X. The Compatibility Pack is available (only) as part of Absoft's new Service Pack v11.5.1 for Pro Fortran 2012 Mac OS customers.

The Compatibility Pack allows installation of Pro Fortran 2012 with Xcode 4.3 and is compatible with Apple's reorganized directory structure.

The Service Pack v11.5.1 which includes the Compatibility Pack for Mac OS X can be downloaded at NO CHARGE by current Absoft Pro Fortran 2012 Mac OS X customers from:http://www.absoft.com/download/downloads.html

For additional details contact: sales@absoft.com or www.absoft.com

Comments

Vortex script for MayaChemTools

I’ve just added a new Vortex script, this one uses a PERL script that is part of the excellent MayaChemTools.

Scripting Vortex Using OpenBabel
Scripting Vortex 2 Using filter-it
Scripting Votrex 3 Using cxcalc
Scripting Vortex 4 Using MOE
Scripting Vortex 5 Calculating similarities using OpenBabel
Scripting Vortex 6 Filtering compounds
Scripting Vortex 7 Using MayaChemTools

Comments

Scripting Vortex 6

I’ve just added another Vortex script. In this script we will make use of the ability of filter-it to categorise input molecules into 1) a set of molecules that fulfil all criteria as defined in the filter definition file (passed molecules), and 2) a set of molecules that do not fulfil at least one of the defined filter criteria (failed molecules). The filter file defines the criteria for acceptable calculated phisicochemical properties and also any substructures that should be included or excluded during the filtering. The filter file is a simple text file that users can define for themselves, there is a detailed explanation on the silicos-it website. They also provide several example filters “Leadlike”, “Druglike”, “CMCLike” and “Clean” which cleans up a file without imposing a “drug like” filter. It should be relatively straight-forward for users to create their own filters, one could imagine a rule-of-3 filter that might be used in fragment-based screening approaches, or a toxicphore filter based on SMARTS shown to be implicated in a specific toxicity. It might also be possible to define project specific filters if a project requires a specific profile. If you need help it might be worth contacting Silicos-it.

Comments

Cloud Computing in Science

In December the DOE Office of Advanced Scientific Computing Research (ASCR) published a report on Cloud Computing for Science. The key findings were

  • Cloud approaches provide many advantages, including customized environments that enable users to bring their own software stack and try out new computing environments without significant adminis- tration overhead, the ability to quickly surge resources to address larger problems, and the advantages that come from increased economies of scale. Virtualization is the primary strategy of providing these capabilities. Our experience working with application scientists using the cloud demonstrated the power of virtualization to enable fully customized environments and flexible resource management, and their potential value to scientists.
  • Cloud computing can require significant initial effort and skills in order to port applications to these new models. This is also true for some of the emerging programming models used in cloud computing. Scientists should consider this upfront investment in any economic analysis when deciding whether to move to the cloud.
  • Significant gaps and challenges exist in the areas of managing virtual environments, workflows, data, cyber-security, and others. Further research and development is needed to ensure that scientists can easily and effectively harness the capabilities exposed with these new computing models. This would include tools to simplify using cloud environments, improvements to open-source clouds software stacks, providing base images that help bootstrap users while allowing them flexibility to customize these stacks, investigation of new security techniques and approaches, and enhancements to MapReduce models to better fit scientific data and workflows. In addition, there are opportunities in exploring ways to enable these capabilities in traditional HPC platforms, thus combining the flexibility of cloud models with the performance of HPC systems.
  • The key economic benefit of clouds comes from the consolidation of resources across a broad community, which results in higher utilization, economies of scale, and operational efficiency. Existing DOE centers already achieve many of the benefits of cloud computing since these centers consolidate computing across multiple program offices, deploy at large scales, and continuously refine and improve operational efficiency. Cost analysis shows that DOE centers are cost competitive, typically 3–7x less expensive, when compared to commercial cloud providers. Because the commercial sector constantly innovates, DOE labs and centers should continue to benchmark their computing cost against public clouds to ensure they are providing a competitive service.

Eagle Genomics have a nice summary, that addresses many of the highlighted issues.

Comments

Scripting Vortex 5

I’ve just posted the latest tutorial on scripting the chemically intelligent spreadsheet application Vortex, this tutorial shows how to use OpenBabel to provide similarity searching.

The full list of Vortex scripting tutorials are shown below.

Scripting Vortex Using OpenBabel
Scripting Vortex 2 Using Sieve
Scripting Votrex 3 Using cxcalc
Scripting Vortex 4 Using MOE
Scripting Vortex 5 Calculating similarities using OpenBabel

More hints and tutorials can be found here.

Comments

AppleScriptObjC Explored

The 'AppleScriptObjC Explored' Addenda and Errata page has been updated to cover a change made in Xcode since version 4.0 came out. <http://www.macosxautomation.com/applescript/apps/errata.html>

AppleScriptObjC Explorer v2.2 is now available. It's a free update to existing users, and incorporates all the changes in the last beta version, plus built-in updating.

Myriad Helpers 1.0.2 is now available. It's a minor update, offering a new method fordTrig: to give access to trigonometry functions. <http:www.macosxautomation.com/applescript/apps/helpers.html>

Comments

AppleScriptObjC Explored Third edition

Over the years I’ve migrated from Applescript Studio applications to AppleScriptObjC using Xcode 3 and last week I made the transition to Mac OSX 10.7.x and Xcode 4. With each transition there has been a very steep learning curve and to be honest the documentation provided by Apple has been woefully inadequate. Thankfully Shane Stanley has stepped up to the plate and provided a definitive guide for this people who want to build applications using applescript. AppleScriptObjC Explored is the definitive guide to building AppleScript Objective-C applications. It guides you step-by-step through the process of integrating the power of Cocoa into your AppleScript applets and applications, demonstrating each concept and technique in fully editable and annotated example projects.

The latest edition also includes a detailed navigation of Xcode 4, for those of us who had just learnt our way around Xcode 3 the changes made in the new version are significant and the section explaining where everything is and what they are for is invaluable, in fact it is probably worth reading this section before you start trying to write your first application.

Once you have a basic understanding of Xcode adding an interface to your script becomes largely point and click.

There is also a very useful section on trouble-shooting, and explanation of “gotchas” that will crop up occasionally.

The book comes with a collection of over 20 ready built Xcode tutorials/projects that demonstrate key implementations but that can also act as starting points for your own projects.

Whilst I keep a list of applescript resources, I suspect that AppleScriptObjC Explored is probably the most useful.

Comments

XCode and Absoft Pro Fortran Updated

XCode and Absoft Pro Fortran Updated Read More...
Comments

Apple WWDC 2011

WWDC sold out Read More...
Comments

AppleScriptObjC Explorer

A new version of AppleScriptObjC Explorer available Read More...
Comments

Building Safari Extension

A tutorial showing how to write Safari Extensions Read More...
Comments

DataGraph Updated

DataGraph has been updated to version 2.3.1 Read More...
Comments

AppleScritObjC Explored Updated

I’m looking at updating iBabel, to do so I need to migrate to AppleScriptObjC so I’ve been searching the Apple documentation for examples, tutorials etc. and I’ve found a pitiful amount of useful material. Read More...
Comments

Programming iNMR

Programming iNMR Read More...
Comments

Creating Mac Apps using Ruby

Tutorial on creating a Mac application using MacRuby. Read More...
Comments

Mac Developer Program

Mac developer program price drop. Read More...
Comments

gfortran on Snow Leopard

To get gfortran working under Snow Leopard. Read More...
Comments

Platypus

Added Platypus to Applescript Resources Read More...
Comments

Mac OS X programming course

There are still a few places left, register today! Deadline for registration has been extended and closes Jan 31. Read More...
Comments

iPhone Programming Course

The hugely successful Stanford iPhone programming course is running again. Read More...
Comments

VVI update and Code Reference Manual

VVI has been at the forefront of providing graphing and charting tools for both Mac OS X and iPhone development. They have just announced a significant update and new Code Manual. Read More...
Comments

MacReseach Tutorials

Highlighting the MacResearch coding tutorials. Read More...
Comments

Scientific Programming Course

EMBO Practical Course : Scientific Programming and Data Visualisation Read More...
Comments

Grand Central Dispatch in FreeBSD

It was reported at EuroBSDCon 2009 at Robinson College Cambridge that Grand Central Dispatch has been ported to FreeBSD. Read More...
Comments

OpenCL

The latest OpenCL tutorial is on MacResearch Read More...
Comments

OpenCL Q & A

Latest lecture on OpenCL is on MacResearch. Read More...
Comments

Grand Central Dispatch

Grand Central Dispatch now open source and tutorials available.
Grand Central is a new approach to parallelism. It does away with the old threaded models, and replaces it with a packet-based approach. Read More...
Comments

OpenCL lecture 3

The third of a series of lectures on programming with OpenCL is available on MacResearch Read More...
Comments

Unix and Perl

Unix and Perl Course Read More...
Comments

Core Plot

Update on Core Plot. Read More...
Comments

WWDC and Core Plot

Core plot at WWDC
“Core Plot is intended to be a plotting framework for Mac OS X and iPhone OS. The aim is to provide 2D visualization of data, and is tightly integrated with Apple technologies like Core Animation, Core Data, and Cocoa Bindings.”
Read More...
Comments

iPhone Development

Offers on iPhone development books. Read More...
Comments

CUDA

Cambridge University CUDA course Read More...
Comments

Scientific Programming

WWDC scientific computing. Read More...
Comments

iPhone Development

iPhone programing course now online. Read More...
Comments

Books on Mac OS X programming.

  • I regularly look at the Google search terms that users enter on this site and I notice that recently there have been a number of people looking for programming resources. So if you are looking for a suitable Christmas present here are a collection of books that I've heard good things said about.
Read More...
Comments

CUDA beta available

Apple has just posted a beta version of CUDA software tools. CUDA (Compute Unified Device Architecture).

Read More...
Comments

Pybel: a Python wrapper for the OpenBabel cheminformatics toolkit

Pybel an open source, cross-platform, OpenBabel toolkit to Python programmers. Read More...
Comments

CUDA, is now available on Mac OS X

CUDA, a C language development environment for NVIDIA GPUs, is now available on Mac OS X 10.5.2.
Read More...
Comments

Intel Compilers

Intel has released a new version of their compilers (C++ and Fortran) that appears to work properly on Mac OS X Leopard Read More...
Comments

NAG libraries for Intel Macs.

The Numerical Algorithms Group has announced the release of the NAG libraries for Intel Macs.
Read More...
Comments

MatLab under Leopard

Mathworks are reporting that MatLab runs under Mac OS X 10.5 there are two significant issues with running Simulink on Mac OS X 10.5: Read More...
Comments