Image caption: An approach combining terahertz spectroscopy, X-ray diffraction, and solid-state density functional theory was utilized to accurately measure the elasticities of poly-l-proline helices by probing their spring-like vibrational motions. In their communication (DOI: 10.1002/anie.201602268), T. M. Korter and co-workers reveal that poly-l-proline is less rigid than commonly expected, and that the all-cis and all-trans helical forms exhibit significantly different Young’s moduli.
“Stop that!” – George Carlin
If you’ve obtained source code from an academic lab that was last developed some time ago and you spent a whole day installing libraries and symbolic links and redefining variables in your .bashrc and downgrading libraries and redefining paths and have 20 tabs open in your browser that all go to 20 different obscure error discussions on Stack Overflow and it’s late and you’re tired and you think you might not need the program after all if you do a bunch of other workaround things instead – what’s below is for you.
Academics have been developing small code for (nearly) millions of years to make their lives easier – and we all benefit when that code is made available to others (esp. when it helps in data analysis). When that code is a series of perl or python scripts, there’s generally little reason why you should have any run issues. When they call on external libraries or specific tools, generally that information is available in the README somewhere. Generally speaking, there’s no reason why a code shouldn’t work in a straightforward manner when the developer doesn’t make it known that something else needs be installed to make it work.
So, why doesn’t code A work on your linux box? A few possibilities.
UPDATE: 20 May 2016 – With thanks to OrthoDB’s very own Fredrik Tegenfeldt, here’s a more distro-complete fix for the Makefile.rules file.
# BRH flags ifeq ($(USE_BRH),1) BRH_DIR = $(BASE_DIR) CPPFLAGS += -I$(BRH_DIR)/src ifeq ($(WITH_RPATH),1) LDFLAGS += -L$(LIB_DIR) -Wl,-rpath,$(LIB_INSTDIR) else LDFLAGS += -L$(LIB_DIR) endif LDLIBS += -lbrh endif ifeq ($(USE_BOOST_THREAD),1) CPPFLAGS += -pthread -DHAS_BOOST_THREADS LDFLAGS += -pthread LDLIBS += -L$(DIR_BOOST_LIB) -lboost_system -L$(DIR_BOOST_THREAD) -l$(LIB_BOOST_THREAD) -lpthread endif
And Happy New Year,
Yet another random Ubuntu-centric bioinformatics aside in the event others run into the same build issues (with errors included below, as you likely googled those first). For those wondering…
The Hierarchical Catalog of Orthologs v8
Orthology (website, download) is the cornerstone of comparative genomics and gene function prediction. OrthoDB aims to classify protein-coding genes from the increasing number of available sequenced genomes into groups of orthologs descended from a single gene of the last common ancestor (LCA) of each clade of species. Applying this concept to the hierarchy of LCAs along the species phylogeny results in multiple levels of orthology: the more closely-related the species, the more finely-resolved the orthologous relations.
The build here was on a fresh installation of 64-bit Ubuntu 14.04 (Trusty Tahr). All of the errors produced come from running on that clean install, meaning you’ll run into dumb errors (like missing build-essential), didn’t-know-we-needed-that errors (boost), and that’s-probbly-an-Ubuntu-oddity errors (with a modified Makefile.rules file with explicit boost calls linked to below; I suspect the developers are working on a non-Ubuntu distro).
And Happy New Year.
Two issues (one easily addressable, one only by external workaround) related to the prediction of Raman intensities in Gaussian09 – for which there’s next-to-nothing online to address either of them (likely because they don’t come up that often).
OrtVc1 failed #1.
In simulating the Raman spectra of very long (> C60) polyenes as a continuance of work related to the infinite polyacetylene case (see this post for details: Bond Alternation In Infinite Periodic Polyacetylene: Dynamical Treatment Of The Anharmonic Potential), I reached a length and basis set for which Gaussian provides the following output and error:
If you use these results: Please drop me a line (firstname.lastname@example.org), just to keep track of where this does some good. That said, you should most certainly cite the EMSL and Basis Set references at the bottom of this page.
It’s a fair bet that Sir John Pople would be the world’s most cited researcher by leaps and bounds if people properly cited their use of the basis sets he helped develop.
The full 6-31G, 6-31G(d), and 6-31G(d,p) series (yes, adding 6-31G(d) is a bit of a cheat in this list) from the EMSL Basis Set Exchange is presented here in the interest of giving the general CRYSTALXX (that’s CRYSTAL88, CRYSTAL92, CRYSTAL95, CRYSTAL98, CRYSTAL03, CRYSTAL06, CRYSTAL09, now CRYSTAL14 – providing the names here for those who might be searching by version) user a “standard set” of basis sets that are, for the most part, the same sets one does / could employ in other quantum chemistry codes (with my specific interest being the use and comparison of Gaussian and GAMESS-US in their “molecular” (non-solid-state) implementations). Members of the CRYSTAL developer team provide a number of basis sets for use with the software. While this is good, I will admit that I cannot explain why the developers chose not to include three of the four most famous basis sets in all of (all of) computational chemistry – 3-21G (upcoming), 6-31G(d,p) (presented here), and 6-311G(d,p) (also upcoming).
Summarized below are the catches and fixes from a recent effort to build GROMACS 5.0.1 with FFTW3 (single- and double-precision) and GPU support (so, single-precision). Also, a trick I’ve been doing with great success lately, using a virtual machine to keep my real machine as clean as possible.
0. The Virtues Of VirtualBox
Open source means never having to say you’re sorry.
I’ve made the above proclamation to anyone who’d listen lately who has any interest in using Linux software (because, regardless of what anyone says on the matter, it ain’t there yet as an operating system for general scientific users with general computing know-how). You will very likely find yourself stuck at a configure or make step in one or more prerequisite codes to some final build you’re trying to do, leaving yourself to google error messages to try to come up with some kind of solution. Invariably, you’ll try something that seems to work, only to find it doesn’t, potentially leaving a trail of orphaned files, version-breaking changes, and random downgrading only to find something else stupid (or not) fixed your build problems.
Provided you’ve installed Sed For Windows and know its proper path, the .bat file below should make all the modifications you need to your Gaussian09 .out files (in differently-named files at that) to get them properly loading in aClimax (see the previous post for all the details). A few simple steps:
1. Download and install Sed for Windows. Currently available at: gnuwin32.sourceforge.net/packages/sed.htm
2. Find its location on your machine. Under XP (where I’m using aClimax), this should be C:\Program Files\GnuWin32\bin
... ****************************************** Gaussian 03: EM64L-G03RevE.01 11-Sep-2007 31-Aug-2014 ****************************************** ... incident light, reduced masses (AMU), force constants (mDyne/A), and normal coordinates: 1 2 3 T T T Frequencies -- 1356.0070 1356.0070 1356.0070 Red. masses -- 1.1789 1.1789 1.1789 Frc consts -- 1.2771 1.2771 1.2771 IR Inten -- 14.1122 14.1122 14.1122 Atom AN X Y Z X Y Z X Y Z 1 1 0.02 -0.42 0.43 -0.34 -0.13 -0.08 -0.36 -0.23 -0.23 2 6 0.00 0.08 -0.09 0.00 0.09 0.08 0.12 0.00 0.00 ... ------------------- - Thermochemistry - ------------------- Temperature 298.150 Kelvin. Pressure 1.00000 Atm. Atom 1 has atomic number 1 and mass 1.00783 ...
To begin, this post owes its existence to the efforts of Dr. Douglas Fox at Gaussian, Inc., who provided me with an alternative explanation of how the cubegen utility works. After much wailing and gnashing of teeth, I intend on taking Dr. Fox’s advice and asking Gaussian Support for assistance earlier in my endeavors. What follows below, I hope, will save you some significant frustration (and, given how little there is online that really describes the extra workings of cubegen in a clear and example’ed way, it is my expectation that this page appeared early in your search list).
The situation was simple. I wanted my molecule centered and bound within an arbitrarily-sized box (X,Z,Y) for making images and doing additional post-processing. Specifically, I wanted to be able to take many different molecules (from hydrogen gas to big biomolecules) defined within the same-sized box for layering and presentation (different boxes for each, but all the same size).
Author’s Note 1: It is my standard policy to put too much info into guides so that those who are searching for specific problems they come across will find the offending text in their searches. With luck, your “build error” search sent you here.
Author’s Note 2: It’s not as bad as it looks (I’ve included lots of output and error messages for easy searching)!
Author’s Note 3: I won’t be much help for you in diagnosing your errors, but am happy to tweak the text below if something is unclear.
Conventions: I include both the commands you type in your Terminal and some of the output from these commands, the output being where most of the errors appear that I work on in the discussion.