uses: Digest::MD5; File::Copy Term::ANSIColor; gfortran, wget, 7z, unzip
################################
CHANGES IN PRE-BETA (V0.0.8)
################################
* some bugs and inconsistencies fixed, further code cleaning
################################
CHANGES IN PRE-BETA (V0.0.7)
################################
* Implemented parallel SIGMA processing using Peter Valdemar Morch's
Parallel::Loops module.
http://search.cpan.org/~pmorch/Parallel-Loops/lib/Parallel/Loops.pm
THIS IS NOT A DEFAULT PERL MODULE, you need to install it for the new
feature to work properly!
-> Scaling for small molecules is bad, but for biomolecules
significant speed-up is achieved.
* The random integer seed used in mobcal.run files can be fetched from
www.random.org automatically. Thereby, the random number integer seed
for the MOBCAL randomizer routines can be generated from atmospheric
noise, instead of using a pseudo-randomizer to seed a pseudo-randomizer.
* A feature was incorporated that enables the subsequent interfacing of
modified MOBCAL executables. It is still in its infancy.
* The CLI interface has been improved. The "noav" option now supports a
fourth argument, thereby enabling the use of commands like
[perl mobcalPARSER.pl noav input.xyz xyz none output.mfj],
whereby sets of input files can be parsed using external scripts.
* The adjustments that can be made to mobcal.f were extended, an option
to inject Lennard-Jones parameters for elements not included in the
original source was incorporated.
* The CLI argument "L" now calls the license, whereas "C" opens a list
of relevant publications in the browser (works only under windows).
* Code cleaning, simplifications and improved documentation.
################################
CHANGES IN PRE-BETA (V0.0.6)
################################
* PDB support has been improved.
* MOBCAL is downloaded automatically under Linux.
* Improved user support under Windows.
* improved logging routine (citations etc.).
* several bug-fixes
################################
CHANGES IN PRE-BETA (V0.0.5)
################################
* XYZ parsing has been improved, TINKER xyz format
is now automatically detected and parsed.
http://dasher.wustl.edu/tinker/
* rudimentary NWChem (ver. 4.7, 4.6 does not work)
support added: http://www.nwchem-sw.org/index.php/Main_Page
* logfile feature added
* support for 4 character file extensions added
* started code cleaning and simplification
* minor bugfixes concerning corrupted screen output
* mayor bugfix concerning the extraction of loewdin
charges from ORCA output.
################################
CHANGES IN PRE-BETA (V0.0.4)
################################
* Support for Jaguar output was implemented. Extraction of charge analysis
data is not yet fully supported (tested Jaguar version 5.0, release 22).
ADDITIONAL BUGFIXES: Support for SIGMA now works under
linux (Ubuntu 12.04 64bit tested, cf. changes in v0.0.3).
* I corrected some typos and added automatic OS recognition. However,
there might be some bugs I did not come across. Additionally, I tested
the script under Win64 using Strawberry Perl (v5.16.11) without problems.
http://strawberryperl.com/
* I did not test compatibility to Orca 2.9.1 yet, this on the
todo-list for v0.0.5.
http://www.mpibac.mpg.de/bac/logins/neese/description.php
################################
CHANGES IN PRE-BETA (v0.0.3)
################################
*SIGMA: The SIGMA program from the Bowers group is now also supported,
but was only tested properly under win32. SIGMA can be obtained from
Thomas Wyttenbach. For details see:
http://bowers.chem.ucsb.edu/theory_analysis/cross-sections/index.shtml
citations:
von Helden, G.; Hsu, M.-T.; Gotts, N.; Bowers, M. T. J. Phys. Chem.
1993, 97, 8182-8192. Wyttenbach, T.; von Helden, G.; Batka, J. J., Jr.;
Carlat, D.; Bowers, M. T. J. Am. Soc. Mass Spectrom. 1997, 8, 275-282.
Wyttenbach, T.; Witt, M.; Bowers, M. T. J. Am. Chem. Soc. 2000, 122,
3458-3464.
To use SIGMA in conjunction with mobcalPARSER, you need to obtain the
SIGMA source code from Thomas Wyttenbach, compile it using e.g.
gfortran -std=legacy,
rename the new binary to "sigma.exe" and place it in your mobcalPARSER
directory together with the parameter files you get packaged with the
SIGMA source. mobcalPARSER only calls the "ion size scaled Lennard-Jones"
model, since the other two are already available in MOBCAL. If you do not
want to use SIGMA, you do not have to do anything. The program checks
whether "sigma.exe" is present and overrides to mobcal execution when
"sigma.exe" is not found in the working directory. Under Linux, you can
try to rename your compiled SIGMA binary to "sigma.exe" this should work
in general, however, this feature is not yet fully tested under Linux.
Alternatively the mobcalPARSER source code can be modified in line 1200.
Simply remove the ".exe" file extension from the execution command.
################################
CHANGES IN PRE-BETA (v0.0.2)
################################
*LINUX: config.cfg differs from v0.0.1, inserting "./mobcal" doesn't work
anymore, replace "mobcal.exe" by "mobcal" in the new version!
*minor bugfixes and typo corrections...
*added "assisted MOBCAL compilation":
If you do not want to use this feature, simply do not place any file
called "mobcal.f" in working directory, or use command line options. The
original MOBCAL source code (junko.f build) is preconfigured for
multiple geometry input and NOT FOR DEFAULT single geometry input.
mobcalPARSER v0.0.2 offers to modify the source and adjust the settings to
default values, the modified source is automatically compiled afterwards
using gfortran. The binary is removed in the end, but the modified
source is stored in the output directory, the original source is NOT
modified. Once you have found settings that suit your purpose you can
compile custom.f manually, remove mobcal.f from working directory and
put your custom mobcal.exe in the working directory.
Details: Several adjustments are possible, recommended settings are
preselected using [UC/lc] syntax (Upper Case means 'recommended').
MOBCAL source allows lots of additional modifications, I didn't add all
of them to the script. By default AMC extends the MOBCAL output format
by the initial coordinates and charges read by FCOORD, you can check
whether or not your input was passed through correctly by comparing to
your initial input. The feature requires installed gfortran (add to PATH
variable), under Win32 you can use MinGW
(http://sourceforge.net/projects/mingw/files/).
################################
GENERAL RELEASE NOTES
################################
"MOBCAL - A Program to Calculate Mobilities" is the intellectual
property of Professor Martin F. Jarrold. The fortran77 source code is
available free of charge at
http://www.indiana.edu/~nano/software.html.
citations: M. F. Mesleh, J. M. Hunter, A. A. Shvartsburg, G. C. Schatz
and M. F. Jarrold, J. Phys. Chem. 1996, 100, 16082-16086; Erratum,
J. Phys. Chem. A 1997, 101, 968. A. A. Shvartsburg and M. F. Jarrold,
Chem. Phys. Lett. 1996, 261, 86-91.
mobcalPARSER is a PERL frontend, the original MOBCAL fortran77 code is
not contained in the standard package (cf. "artistic license"), you can
download the source from the address provided above (build 06/15/00).
To compile MOBCAL you can use e.g.
Force 2.0.9 (win32)
or gfortran (-std=legacy).
mobcalPARSER v0.0.1 was tested in combination with:
> Orca 2.7.0 & 2.8.0;
> Gaussian 94, 98, 03 & 09;
> .xyz and .mol
The frontend runs on linux and win32, but it's preconfigured for win32.
Under linux you have to change config.cfg. There is a line initially
called 'mobcal.exe", change it to "mobcal", where "mobcal" is the
compiled MOBCAL program (use chmod +x ..).
This is EXPERIMENTAL SOFTWARE and COMES WITH ABSOLUTELY NO WARRANTY,
read the license (license is present in source and printed on screen
when you run the frontend for the first time, set 'c' switch to read it
on screen later on).
== AUTOMATIC PROCESSING ==================================================
By default (i.e. calling the script without switches) files in the
working directory are processed automatically. You can simply copy the
file(s) you want to pass through into the working directory and run the
program by 'double-clicking' mobcalPARSER.pl. The following hierarchy
applies for automatic processing:
> *.out FILES ARE TREATED AS ORCA OUTPUT
> *.log FILES ARE TREATED AS GAUSSIAN OUTPUT
> *.xyz FILES ARE TREATED AS XYZ GEOMETRY
> *.mol FILES ARE TREATED AS MDL MOL GEOMETRY
Therefore, .log files are ignored as long as .out files are present,
while .xyz files are ignored as long as .log files are present. By
default each file extension recognized is linked to a parsing subroutine
(cf. above). When the script is called without command line arguments,
the user is asked to enter the method of charge analysis manually
(except *.xyz where no charge information is present, notations like
[UC/lc] give UC on pressing return).
When mobcal.exe is found in the working directory, the program is
executed automatically. When finished, the MD5 checksum of mobcal.exe,
as well as the mfj and run files are appended to the output file
(*.mob). The MD5 checksum could later on be used to identify the MOBCAL
build used to calculate the CCS and mobilities.
In the end, a new directory is created where both the input (*.log
or else) and the output (*.mob) are moved.
== MULTI-GEOMETRY OUTPUT =================================================
Multiple files with one of the specified file extensions are treated as
ISOMERS and appended to the same MOBCAL file. MOBCAL in turn uses this
type of input to average the CCS of different isomers (rotamers). When
converting multiple files, be sure not to accidently have files of the
same file extension present in your working directory, as all files
will be appended to the same hashes.
Either rename or delete the files or use command line switches (scroll
down). If the default settings are not suitable for your purposes, which
could be the case if e.g. your gaussian files have a different file
extension than *.log (e.g. *.g09) you may want to use command line
switches (scroll down) or modify config.cfg.
== CONFIGURATION FILE config.cfg =========================================
When the program is started for the first time, the user is asked,
whether or not a new config.cfg file should be created. This status can
be reset by deleting or renaming the config.cfg file in the working
directory.
MOBCAL recognizes different elements by their integer mass. However, by
default MOBCAL uses the same parameters for heavier elements as for
silicon. Each element that is found in your geometry file (ORCA,
GAUSSIAN or else) has to be specified in the element table present in
config.cfg. However, the integer mass you enter has to be present in
MOBCAL source code, if it is not you can use a workaround (cf.
config.cfg & MOBCAL code LINE 577 ff).
You can also change the default file extensions used for automatic
processing by changing the flag in line 4.
Colored ANSI output can be enabled by setting the flag in line 6, this
is not compatible to cmd.exe (Win32) by default. Jason Hood's ANSICON is
capable of displaying ANSI escapes in Win32
(http://adoxa.3eeweb.com/ansicon/),
which works with TERM::ANSIcolor package under Win32. It greatly
improves the readability of the screen output, so it's worth the effort.
== Protein Database Format (pdb) =========================================
A rudimentary support for *.pdb file parsing has been implemented in the
beta release. However, this routine does not support actual protein
database files. The support is limited to simple *.pdb files generated
by certain molecular modelling software (e.g. Avogadro).
== COMMAND LINE SWITCHES =================================================
SWITCHES OVERRIDE MOST OF THE FULLY AUTOMATIC PROCESSING ROUTINES. THE
PASS THROUGH TO MOBCAL IS DISABLED TO ENABLE EXTERNAL ACCESS BY SCRIPTS.
-- 1st EXAMPLE -----------------------------------------------------------
mobcalPARSER.pl cmd g09 gauss
Calls the script to search for *.g09 files and parse them using the
Gaussian routine (ORCA subroutine is called with 'orca'). The automatic
file search routine is enabled when the cmd switch is used.
-- 2nd EXAMPLE -----------------------------------------------------------
mobcalPARSER.pl noav example.g03 gauss mulliken
'noav' overrides automatic filesearch. The following switches call the
script to parse the specified file (example.g03) with gaussian
subroutine (gauss) using Mulliken charges (alternatively 'none' would
override the charge analysis). noav overrides ALL automatic routines.
The filename specified in line 2 of config.cfg contains the mobcal
compatible input (mfj).
== Artistic License ======================================================
This program comes with absolutely no warranty, the source code is
licensed under the "Artistic License". This license is part of the
source code and is displayed when the program is started for the first
time by default. Type "mobcalPARSER.pl c" to view the license. This
software comes with ABSOLUTELY NO WARRANTY.
== KNOWN ISSUES ==========================================================
<!> Special characters in file names are not displayed properly
<!> remember to remove carriage returns (CR) when you copy modified
config.cfg's from Win32 to Linux, if you forget, screen output
gets partially corrupted!
<!> BSD/Mac compatibility untested (on the to do list for BETA)
==========================================================================
========================== J.P. Boyd Dec 2012 ===========================
==========================================================================