Home
Welcome to Anders’ tech blog!
I am currently monitoring the particle pollution around my home near Copenhagen Airport. Scroll down to read my blog posts about this.
Recent blog posts
-
Live Air Pollution Monitoring
The plot below shows real-time PM2.5 levels measured in my area. This page updates with fresh data several times per hour.
-
Opsætning af Unifi Gateway (og IPv6) hos NetNørden
Dette er en kort guide til opsætning af en Unifi Gateway (inkl. IPv6) med fiberforbindelse via den ny udbyder NetNørden.
-
Live Humidity Plot
This interactive Plotly chart shows real-time data pulled directly from a live CSV file hosted on GitHub.
-
Test Plotly i Jekyll
Her bliver vist en test af Plotly i Jekyll.
-
Setting Up IPv6 on a Ubiquiti Router with Hiper ISP
This guide explains how to configure a Ubiquiti router for IPv6 support on the Hiper network using the UniFi Network Controller. While many of the steps are similar for other Nuuday ISPs, this guide is tailored for Hiper.
-
Automatic mounting of remote storage via SSHFS on Amazon EC2 instances
In this blog I demonstrate how you can create an Amazon EC2 instance image that will automount a folder on a remote server via SSHFS.
-
Chemistry on the Amazon EC2
We are trying out the Amazon EC2 compute cloud for running computations in the Jensen Group. This is a note on how things are going so far.
-
FragBuilder: Setting up a scan of peptide conformations.
This post covers the essentials of how to set up a scan of different peptide conformations. We have used this method to calculate more than 1.5M QM calculation on model peptides in our group.
-
FragBuilder: The paper is out (as preprint)!
Our latest papers on the FragBuilder Python library is out as preprint from PeerJ, while it is undergoing peer-review.
-
FragBuilder: Installation
With the FragBuilder library out as a preprint from PeerJ and the library available at https://github.com/jensengroup/fragbuilder, I’m going to make a couple of blog posts to get you started using FragBuilder. You can access the manual via the GitHub page linked above.
-
Beautiful rendering of small molecules in Pymol
Getting ready to submit a publication of my FragBuilder paper to PeerJ, I had to make several pictures of peptides and figures to illustrate dihedral angles in proteins.
-
Compiling Open Babel with Python bindings
This blog will show you how to compile Open Babel from source with Python bindings.
-
Constraint optimization in Python with Open Babel
This post is just a quick post to show, how you can optimize molecules with harmonic constraints in Python with Open Babel. This requires Open Babel to be compiled with Python SWIG-bindings.
-
My best, fastest and awesomest way of including matplotlib in Latex
If you use this post you will accomplish the following:
-
Hybrid RHF-MP2 Geometry Optimizations with the Effective Fragment Molecular Orbital Method
This is a short post on a paper we are submitting to PLOS ONE. It is, of course, already (and has been for quite some time) available from arXiv:
-
Energy minimization RMS gradient convergence criterion; GAMESS vs. Tinker.
As per the recommendations of +Jan Jensen we have in our group been using the convergence criterion, in GAMESS, OPTTOL=0.0005 in the $STATPT input group for minimization of protein structures using various fast quantum mechanical methods ranging from correlated fragment based methods to dispersion corrected Hartree-Fock theory to semi-empirical methods.
-
Aligning PDB structures with Biopython
You can use the Bio.PDB module in Biopython to align PDB files. This is how I did it. The code should be pretty much self-explanatory.
-
You know what really grinds my gears? (In Python)
I can never correctly remember when things are passed as references or copied as local variables inside functions.
-
Compiling BOOST with custom GCC location
Compiling BOOST on our shared cluster running CentOS 5 is always a pain in the neck. The default GCC version is 4.1, so compiling programs with just the default GCC is not always the best choice.
-
Calculating Diffusion Coefficients from Random Walk Monte Carlo
This is taken from a lecture I gave during the Molecular Statistics course at University of Copenhagen, which I co-teach with +Jan Jensen and +Jimmy Kromann. The students have to program different types of molecular simulations and are not expected to have any programming experience before the course.
-
Visualizing Pointer Aliasing in Python
This is a concept that has annoyed many a newcomer to Python - including the author of this post. I will be talking briefly about this concept in my lecture next Thursday, and the excellent TA, +Jimmy Charnley Kromann, pointed me to an example he saw on pythontutor. The Visualize tool on pythontutor is a very explicit way to illustrate what happens under the hood of python: http://www.pythontutor.com/visualize.html
-
Fun with Numba, NumPy and F2PY
I’ve started using Numba to speed up MD simulations for our course in Molecular Statistics, which I teach together with +Jan Jensen and +Jimmy Charnley Kromann.
-
Introducing 32 students to Linux and Python via VirtualBox
I am currently teaching the Molecular Statistics course together with +Jimmy Charnley Kromann and +Jan Jensen at the University of Copenhagen. My part of the course is teaching the students how to program simple molecular simulation algorithms in Python. +Jan Jensen does the theoretical lectures, and I give lectures in basic Python programming and how to implement the equations from Jan.
-
Numba -- It's like Python on steroids ... on steroids.
I’m teaching a course in molecular simulations this year in which the students have to program simulations of various simple systems. We’re trying to keep things as simple as possible and everything is done in Python.
-
Problem solved? (for single point energies)
I am looking at the conversion of chorismate to prephenate in Chorismate Mutase, to benchmark a hacky EFMO-RHF:MP2 method we’ve implemented in our group. Casper Steinmann did an adiabatic mapping of the reaction path, and we though it’d be cool to do coupled cluster single point energies on snapshots from the reaction path and some something ONIOM style.
-
Downgrading GDM to version 2.20 on CentOS
Sun Ray Server Software requires GDM <= 2.20. Unfortunately contemporary (i.e. up-to-date) Linux distros do not offer outdated GDM. However GDM is surprisingly easy to build from source on CentOS.
-
Downgrading from NVIDIA 304.43 to 295.71 on CentOS 6
The latest upgrade in ‘elrepo’ updates the NVIDIA drivers from version 295.71 to version 304.43. However, it ain’t no bed of roses. On my CentOS 6.3 box, 3D performance under Wine took a massive hit, to the point where even sound playback was affected.
-
The least restrictive open source license?
I am working on a program to predict protein chemical shifts and predict protein structural features from chemical shifts. I want my work to be available to anyone, for any purpose, free of charge. Would be nice if the work would remain attributed to the respective authors, and finally I don’t want to get sued under any circumstances.
-
Displaying disagreements in protein structures
I recently made a post on how to color a protein structure by disagreements between experimental chemical shifts and chemical shifts predicted from the structure.
-
Getting started with Phaistos // installation
I got an e-mail from a student named Alex at Boston University, asking if I could help him getting started with Phaistos. First barrier for new users (in this case a student), is to download and install Phaistos on a Linux machine.
-
[SOLVED] segmentation fault in shared-mime-types - Ubuntu 10.04 LTS
I just did a kernel + gfx driver upgrade on our Beowulf cluster (Running Ubuntu 10.04 LTS Server),
hostname
=sunray. -
Shutting down at 6:30 AM?
We’re having cooling maintenance carried out on Monday morning at 7:30 (yes AM!). As nobody likes getting up so friggin’ early in the morning, here’s how I’m going to shut down the servers nicely at 6:30. The command is simply called ‘at’.
-
Guistos - a PHAISTOS GUI
This is what can be considered the user documentation for Guistos - a PHAISTOS GUI. I will upload the code to here soon.
-
Intel Non-Commercial Software Download
It always takes me quite a while to dig my way through Intel’s very messy website. To get to the free non-commercial software follow this link:
-
Coloring residues by chemical shift errors
I wrote a quick script to replace the b-factor column in my .pdb files with the error in C-alpha chemical shifts (between experimental values and CamShift prediction of that same structure). This was the easy part.
-
Biopython tip
Monday, 14 May 2012
Biopython tip -
Spotify on CentOS 6
Tuesday, 8 May 2012
Spotify on CentOS 6 -
How to run MOPAC6 on a modern Linux machine
Ahum, so we were trying to test the differences between AM1 and PM3 in GAMESS and MOPAC2009 and surprisingly we found a not insignificant difference in the total energies. The energies are shifted by a constant factor of roughly ~1.000014.
-
Fixing disabled wireless on Lenovo Z360 running Ubuntu 10.10
Ok, this post isn’t about chemistry at all. However, I’m going to defend it under the category of free software. Here is a short introduction to my problem. I have a Lenovo Z360 laptop running Ubuntu 10.10. It came with some Windows distribution (are they even called distributions? I haven’t had a windows computer since 2004) which I never used.
Thanks to Lenovo, the laptop was set up with some proprietary driver software for my wireless network interface card (NIC). -
Molecular dynamics and supercomputing, past and present
What is the most powerful single computer you can get today, measured in sheer numbers of double precision floating point operations per second (flops)? Possibly, the answer is a rack server (such as the HP half-width 4U in the picture below) with no less than eight(!) Nvidia Tesla M2090 cards installed. Each card offers a theoretical max of 665 Gflops of double precision computing power – a total of 5.3 Tflops (not counting any CPUs). Now, go to the Top500 and find the list from 10 years ago … November 2001. Just one of these servers would bring you a safe 3rd place on the list – very impressive for just one single machine.
-
Compiling DALTON2011 with 64-bit integers, OpenMPI and MKL
Saturday, October 29, 2011
Compiling DALTON2011 with 64-bit integers, OpenMPI and MKL -
C++ timing with millisecond accuracy
How do you know if you have efficiently implemented a routine. A simple routine from Boost can tell you. More specifically the boost::timer function.
-
HOWTO: Mixed basis In Gaussian
One of the many tricks in speeding up quantum chemistry calculations is the use of locally dense basis sets. Maybe it is only necessary to have diffuse functions on certain atoms or you may only need to calculate parts of a system with a high accuracy.Use of locally dense basis sets is completely legal within the basis set approximation. Just remember, that things like Mulliken charges will often be off, if some atoms have significantly more basis functions than other.
-
Installing MOPAC2009 on Ubuntu 10.04 LTS - Lucid Lynx (And keep source codes open!)
This post will show you how to install MOPAC2009 on Ubuntu 10.04 LTS, and why it’s important to keep source codes open.
-
Compiling GAMESS with CUDA (GPU support)
Friday, February 11, 2011
Compiling GAMESS with CUDA (GPU support) -
HOWTO: RM1 in Gaussian09
Thursday, December 30, 2010
HOWTO: RM1 in Gaussian09 -
Installing OpenBabel and Compiling with the C++ API
OpenBabel is a tool that makes life easier for everyone in the computational chemistry world. You can do tons of cool stuff with OpenBabel! I regularly use it to convert PDB files to input files for Gaussian09 and XYZ files, which are then used to calculate quantum chemistry on proteins — and often back to PDB format again.