02 August 2013

487. Version 7.0 of ECCE out now

What's new:
1. There's a whole new type of calculation added, called 'Condensed Phase Reaction Study':

The previous reaction module has been renamed 'Gas Phase Reaction Study'. The real difference between the two types is that the Condensed Phase module uses the plan wave module in NWChem and thus uses explicit solvation, while the Gas Phase reaction module uses DFT/MP2. The latter can obviously use implicit solvation if requested.

2. The Def2-series of basis sets (Weigen and Alrichs, Phys. Chem. Chem. Phys, 2005, 7, 3297-3305) have been added to ECCE, and tools for adding basis sets on your own are now distributed with the ECCE sources. One of them is based on http://sourceforge.net/projects/nwbas2ecce/ , the scripts of which have been renamed gbsNWChemConverter and gsbDescriber. To add new basis sets, look at scripts/gbs.README in the ecce source directory, or in apps/scripts/gbs.REAME in the installation directory.

3. The precision of basis sets explicitly defined using coefficients and exponents has been greatly increased. Before, the energies obtained using the implicit nwchem basis sets and those obtained by defining the basis set through exponents and coefficients in the input could differ by 0.1 milli-Hartree in extreme cases. That should no longer be the case.

4. The COSMO parameter Rsolv can now be set in the Theory dialogue.

5. Other
There are other, non-obvious changes under the hood, such as an updated (2.2.25) apache httpd. The realease notes detail most of these.

Note that ECCE only runs on linux, and uses python 2.7. I haven't had much luck compiling it on Arch (due to python 3 seemingly being the default in Arch), but it runs fine on Debian Squeeze, Wheezy and Jessie, Fedora 18 and Scientific Linux 6.4 and Ubuntu something-or-other.


To install the binaries:

Note that there are only 64 bit binaries available. If you want to use ECCE on a 32 bit OS, you can, but you will have to compile the sources yourself. Luckily, this is very easy. Until I make a separate post, see here: http://verahill.blogspot.com.au/2013/01/325-compiling-ecce-64-on-debian-testing.html

To get the binaries (or sources) go to http://ecce.pnl.gov/using/download.shtml

Give your email and name so that the PNNL can track the number of users, as these things often impact on funding for different projects.

On the next page, select the version to download. Most likely you want the full binaries: install_ecce.v7.0.rhel5-gcc4.1.2-m64.csh

Download that file to e.g. ~/Downloads, and fire up your terminal -- in my case I'm doing an upgrade from a pre-release version of ECCE 7.0:
sudo apt-get install csh openjdk-7-jre
csh install_ecce.v7.0.rhel5-gcc4.1.2-m64.csh
Extracting ECCE distribution from install_ecce.v7.0.rhel5-gcc4.1.2-m64.csh... Main ECCE installation menu =========================== 1) Help on main menu options 2) Prerequisite software check 3) Full install 4) Full upgrade 5) Application software install 6) Application software upgrade 7) Server install 8) Server upgrade IMPORTANT: If you are uncertain about any aspect of installing or running ECCE at your site, please refer to the detailed ECCE Installation and Administration Guide at http://ecce.pnl.gov/docs/installation/2864B-Installation.pdf Hit at prompts to accept the default value in brackets. Selection: [1] Host name: [beryllium] New application installation directory: [/home/verahill/tmp/ecce/7.0-rc_final/ecce-v7.0/apps] Existing application directory to upgrade: New server installation directory: [/home/verahill/.ecce/e-v7.0b/server] Existing server directory to upgrade: Backup existing server user data (yes/no)? [yes] Yes ECCE v7.0 will be installed using the settings: Installation type: [full upgrade] Host name: [beryllium] Application installation directory: [/home/verahill/.ecce/ecce-v7.0b/apps] Application directory to upgrade: [/home/verahill/.ecce/ecce-v7.0/apps] Server installation directory: [/home/verahill/.ecce/ecce-v7.0b/server] Server directory to upgrade: [/home/verahill/.ecce/ecce-v7.0/server] Backup existing server user data: [yes] Are these choices correct (yes/no/quit)? [yes] Installing ECCE application software in /home/verahill/.ecce/ecce-v7.0b/apps... Extracting application distribution... Extracting NWChem distribution... Extracting client WebHelp distribution... Configuring application software... Configuring NWChem... Installing ECCE server in /home/verahill/.ecce/e-v7.0b/server... Extracting data server in /home/verahill/.ecce/e-v7.0b/server/httpd... Extracting data libraries in /home/verahill/.ecce/e-v7.0b/server/data... Extracting Java Messaging Server in /home/verahill/.ecce/e-v7.0b/server/activemq... Configuring ECCE server... Copying user data from server to be upgraded... Copying share data from server to be upgraded... ECCE installation succeeded. *************************************************************** !! You MUST perform the following steps in order to use ECCE !! -- Unless only the user 'verahill' will be running ECCE, start the ECCE server as 'verahill' with: /home/verahill/.ecce/e-v7.0b/server/ecce-admin/start_ecce_server -- To register machines to run computational codes, please see the installation and compute resource registration manuals at http://ecce.pnl.gov/using/installguide.shtml -- Before running ECCE each user must source an environment setup script. For csh/tcsh users add this to ~/.cshrc: if ( -e /home/verahill/.ecce/e-v7.0b/apps/scripts/runtime_setup ) then source /home/verahill/.ecce/e-v7.0b/apps/scripts/runtime_setup endif For sh/bash users, add this to ~/.profile or ~/.bashrc: if [ -e /home/verahill/.ecce/e-v7.0b/apps/scripts/runtime_setup.sh ]; then . /home/verahill/.ecce/e-v7.0b/apps/scripts/runtime_setup.sh fi ***************************************************************

Edit your ~/.bashrc and add the following lines (edited for your system):
export ECCE_HOME=/home/verahill/.ecce/ecce-v7.0b/apps alias stopecce='/home/verahill/.ecce/ecce-v7.0b/server/ecce-admin/stop_ecce_server' alias startecce='/home/verahill/.ecce/ecce-v7.0b/server/ecce-admin/start_ecce_server'
You can then start ecce by typing...ecce.

31 July 2013

486. MS data, part IV: Making a stacked spectrum plot using gnuplot

In part 1, I showed you how to export MS data (MS= Mass Spectrometer/ry): http://verahill.blogspot.com.au/2013/07/474-exporting-data-from-wsearch32-and.html

In part 2, I showed you how to generate theoretical isotopic envelopes, and how to compare them with observed ones: http://verahill.blogspot.com.au/2013/07/480-ms-data-part-ii-plotting-and.html

In part 3, I showed you how to make contour plots of '3D' data -- in that particular case the extra dimension was cone voltage, but it could just as easily have been time: http://verahill.blogspot.com.au/2013/07/ms-data-part-iii-generating-matrix-by.html

In part 4, we'll use the same data as in part 3, but we'll make a stacked plot of it. This is a short post.

There is at least one other way of making a stacked plot in gnuplot, but it doesn't yield what I'd consider as being publication quality plots. It's also fairly restrictive in the type of data can be plotted. The method shown here is general and applicable to all types of data. You can e.g. use it for time-dependent NMR data...

Here's an example of a gnuplot script:
### Preamble start
set term png size 1000,500
set output 'stack.png'

set border 1
set xtics nomirror
set ytics nomirror
unset ytics

set xrange [100:3000]
set yrange [0:100]

set multiplot
set size 0.85,0.45
unset key

### Preamble over

### The stacked plot
set origin 0,0
set label "m/z" at 1500, -18
plot '0.dat' with lines lt -1

# we want the x axis to show ONLY for the first spectrum,
# so we turn it off for the remaining spectra.
# The same goes for our label (xlabel can be tricky 
# to position correctly)
unset label
set border 0
unset xtics
unset ytics

# Here we set the spacing (fx) the initial position of the second spectrum (f),
# the initial horizontal offset of the second spectrum relative to the first one (g),
# and the horizontal offset for all subsequent spectra (gy)

f=0.0025
fx=0.00
g=0.01
gy=0.02

# then we plot all the other spectra
set origin fx+0*f,gy+0*g
plot '10.dat' with lines lt -1

set origin fx+1*f,gy+1*g
plot '20.dat' with lines lt -1

set origin fx+2*f,gy+2*g
plot '30.dat' with lines lt -1

set origin fx+3*f,gy+3*g
plot '40.dat' with lines lt -1

set origin fx+4*f,gy+4*g
plot '50.dat' with lines lt -1

set origin fx+5*f,gy+5*g
plot '60.dat' with lines lt -1

set origin fx+6*f,gy+6*g
plot '70.dat' with lines lt -1

set origin fx+7*f,gy+7*g
plot '80.dat' with lines lt -1

set origin fx+8*f,gy+8*g
plot '90.dat' with lines lt -1

set origin fx+9*f,gy+9*g
plot '100.dat' with lines lt -1

set origin fx+10*f,gy+10*g
plot '110.dat' with lines lt -1

set origin fx+11*f,gy+11*g
plot '120.dat' with lines lt -1

set origin fx+12*f,gy+12*g
plot '130.dat' with lines lt -1

set origin fx+13*f,gy+13*g
plot '140.dat' with lines lt -1

set origin fx+14*f,gy+14*g
plot '150.dat' with lines lt -1

set origin fx+15*f,gy+15*g
plot '160.dat' with lines lt -1

set origin fx+16*f,gy+16*g
plot '170.dat' with lines lt -1

set origin fx+17*f,gy+17*g
plot '180.dat' with lines lt -1

set origin fx+18*f,gy+18*g
plot '190.dat' with lines lt -1

set origin fx+19*f,gy+19*g
plot '200.dat' with lines lt -1

set origin fx+20*f,gy+20*g
plot '210.dat' with lines lt -1

set origin fx+21*f,gy+21*g
plot '220.dat' with lines lt -1

set origin fx+22*f,gy+22*g
plot '230.dat' with lines lt -1

set origin fx+23*f,gy+23*g
plot '240.dat' with lines lt -1

set origin fx+24*f,gy+24*g
plot '250.dat' with lines lt -1

set origin fx+25*f,gy+25*g
plot '260.dat' with lines lt -1

set origin fx+26*f,gy+26*g
plot '270.dat' with lines lt -1

set origin fx+27*f,gy+27*g
plot '280.dat' with lines lt -1

set origin fx+28*f,gy+28*g
plot '290.dat' with lines lt -1

set origin fx+29*f,gy+29*g

plot '300.dat' with lines lt -1




and here's the plot:

If you want to make it really fancy, try this:
### Preamble start
set term png size 1000,800
set output 'stack.png'

set border 1
set xtics nomirror
set ytics nomirror
unset ytics

set xrange [100:3000]
set yrange [0:100]

set multiplot
set size 0.85,0.25
unset key

### Preamble over

### The stacked plot
set origin 0,0
set label "m/z" at 1500, -18
plot '0.dat' with lines lt -1

# we want the x axis to show ONLY for the first spectrum,
# so we turn it off for the remaining spectra.
# The same goes for our label (xlabel can be tricky 
# to position correctly)
unset label
set border 0
unset xtics
unset ytics

# Here we set the spacing (fx) the initial position of the second spectrum (f),
# the initial horizontal offset of the second spectrum relative to the first one (g),
# and the horizontal offset for all subsequent spectra (gy)

f=0.0025
fx=0.00
g=0.01
gy=0.02

# then we plot all the other spectra
set origin fx+0*f,gy+0*g
plot '10.dat' with lines lt -1

set origin fx+1*f,gy+1*g
plot '20.dat' with lines lt -1

set origin fx+2*f,gy+2*g
plot '30.dat' with lines lt -1

set origin fx+3*f,gy+3*g
plot '40.dat' with lines lt -1

set origin fx+4*f,gy+4*g
plot '50.dat' with lines lt -1

set origin fx+5*f,gy+5*g
plot '60.dat' with lines lt -1

set origin fx+6*f,gy+6*g
plot '70.dat' with lines lt -1

set origin fx+7*f,gy+7*g
plot '80.dat' with lines lt -1

set origin fx+8*f,gy+8*g
plot '90.dat' with lines lt -1

set origin fx+9*f,gy+9*g
plot '100.dat' with lines lt -1

set origin fx+10*f,gy+10*g
plot '110.dat' with lines lt -1

set origin fx+11*f,gy+11*g
plot '120.dat' with lines lt -1

set origin fx+12*f,gy+12*g
plot '130.dat' with lines lt -1

set origin fx+13*f,gy+13*g
plot '140.dat' with lines lt -1

set origin fx+14*f,gy+14*g
plot '150.dat' with lines lt -1

set origin fx+15*f,gy+15*g
plot '160.dat' with lines lt -1

set origin fx+16*f,gy+16*g
plot '170.dat' with lines lt -1

set origin fx+17*f,gy+17*g
plot '180.dat' with lines lt -1

set origin fx+18*f,gy+18*g
plot '190.dat' with lines lt -1

set origin fx+19*f,gy+19*g
plot '200.dat' with lines lt -1

set origin fx+20*f,gy+20*g
plot '210.dat' with lines lt -1

set origin fx+21*f,gy+21*g
plot '220.dat' with lines lt -1

set origin fx+22*f,gy+22*g
plot '230.dat' with lines lt -1

set origin fx+23*f,gy+23*g
plot '240.dat' with lines lt -1

set origin fx+24*f,gy+24*g
plot '250.dat' with lines lt -1

set origin fx+25*f,gy+25*g
plot '260.dat' with lines lt -1

set origin fx+26*f,gy+26*g
plot '270.dat' with lines lt -1

set origin fx+27*f,gy+27*g
plot '280.dat' with lines lt -1

set origin fx+28*f,gy+28*g
plot '290.dat' with lines lt -1

set origin fx+29*f,gy+29*g

plot '300.dat' with lines lt -1

### second plot
set size 0.75,0.4
set origin 0.1,0.6
set xrange [800:1800]
set border 3
set xtics nomirror
set ytics nomirror
set xlabel 'm/z'
set ylabel 'Relative abundance (%)'
set title '20 V'

plot '20.dat' with lines lt -1

unset multiplot

which looks like this:

28 July 2013

485. Arch linux - kernel 3.10 issues? Won't boot/no network.

Note: I won't show any fixes in this post. This is my farewell to Arch.

I did a full upgrade of my Arch system (amd athlon II x3 with an nvidia gf210 card) earlier today. Among the packages was kernel 3.10-2 (I think).

Turning on the computer this evening I'd get to the gdm log in screen -- with an unresponsive keyboard and mouse. I also can't log in via ssh from another computer, so the network seems not to work.

I can, however, boot using the fallback option in grub. The network still isn't working though. I use wicd. If I try to connect using wicd the system freezes and crashes.

The closest I can find is this: https://bbs.archlinux.org/viewtopic.php?id=167090 -- but I use BIOS, not EFI. And there are plenty of other differences. It does, however, seem to have to do with the new kernel.

And systemd makes troubleshooting this worse than necessary since the logs are binary. Seriously, the use of plain text files in linux for configuration and logs is one of the MAIN defining features of the OS.

Anyway, Arch is a fine OS. But I've been burned a few times too many now, and I am no longer young and have plenty of time and enthusiasm for this kind of stuff. I've just started installing debian instead...and for once I'm going straight for stable...

A contributing factor is that we use this computer as the family one, for watching tv, listening to music etc. And sitting down on a Sunday evening to relax and finding that the damned system won't even boot isn't a good way to end the weekend.

Anyway, if you are looking for a fix, all I can give you is my gut feeling -- downgrade. The old packages are in /var/cache/pacman/pkg

Otherwise, if you have a copy of the kernel sources, compile your own kernel and install it as shown e.g. here:
http://verahill.blogspot.com.au/2013/03/355-kernel-382-on-arch-linux-exploration.html

Why downloading the source and copying it? Because (imho) it's easier than fiddling with packages -- you can put the sources on a usb stick and copy it. But good luck, whatever method you try. I'm switching my second to last non-debian computer back to my main OS (i.e. debian). I've still got a Scientific Linux box, which I haven't booted for well over a month now...

It's 'funny' this should come less than 24 hours after me nit-picking about the use of 'stable' to describe Arch...http://news.softpedia.com/news/Arch-Linux-Is-the-First-Stable-Distro-with-Linux-Kernel-3-10-371457.shtml