vhernandez / jwsProcessor

A program to convert and process Jasco SpectraManager (JWS) files.
https://sites.google.com/site/victorhr02/jwsprocessor
GNU General Public License v2.0
11 stars 4 forks source link

jwsProcessor A program to convert and process Jasco SpectraManager (JWS) files. Copyright (C) 2007-2013 Víctor M. Hernández-Rocamora

Introduction

jwsProcessor is a graphical tool that allows the conversion and processing of JWS files from Jasco SpectraManager(R) software included with Jasco scientific machines, like spectropolarimeters, FTIR machines, etc.

This software can convert JWS files to simple text files that can be imported into any data analysis software. JWS files can be batch-processed subtracting blank and applying smoothing.

Moreover this tool is specifically geared to the conversion and processing of raw circular dichroism protein spectra. You can batch-process several spectra subtracting blank, converting to molar ellipticity units and applying dilution factors to the source files.

Results can be then saved into separated text files or into a single file, with or without column headers.

Requirements

Installation of dependencies

** In Debian/Ubuntu you should install this packages:

$ apt-get install python-numpy python-scipy python-matplotlib scons

Python, pygtk and pygobject along with their dependencies are usually already installed in a typical desktop installation of Debian and Ubuntu, if it is not the case, consult your distribution documentation for which packages you should install, though theoretically simply installing python-gtk2 should also install all the other dependencies:

$ apt-get install python-gtk2

For other distribution consult your distribution documentation for which packages you should install.

** In Windows you will need to download each of the indicated packages and install in the appropriate order:

NOTE: the following links are built for 32-bit Windows versions. For 64-bit Windows you'll have to check whether 64-bit packages are available). NOTE: the following links are for Python 2.7, packages for older python versions may also be available.

  1. Download and install the latest GTK Runtime Environment (2.24 at the time of writing) from: http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip

  2. Download and install Python 2.7 from: http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi

  3. Download and install Numpy from: http://sourceforge.net/projects/numpy/files/NumPy/1.7.1/numpy-1.7.1-win32-superpack-python2.7.exe/download

  4. Download and install Scipy from: http://sourceforge.net/projects/scipy/files/scipy/0.12.0/scipy-0.12.0-win32-superpack-python2.7.exe/download

  5. Download and install pygtk/pygobject/pycairo from: http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.7.msi

  6. Download and install matplotlib from: https://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.3.0/matplotlib-1.3.0.win32-py2.7.exe

Installation

First, make sure you have installed all the dependencies as indicated in Installation of the dependencies.

** POSIX OSs (Linux FreeBSD, MacOS X)

  1. From as source package:

    Unpack the source package in a directory, Then go to the command line, and, in the root directory of the uncompressed source files, type these commands:

$ scons build $ sudo scons install

This will install to /usr/local, to install with a different prefix

$ scons install PREFIX=/path/to

If you install to /usr or /usr/local and are using GNOME, KDE or Xfce an entry in the application menu should appear, but you can also run jwsprocessor by typing:

$ jwsprocessor

Optionally you can run jwsprocessor directly from the uncompressed source package.

First, from the root of the uncompressed source package run:

$ python setup.py build_mo

This step build the localised message catalog in the source directory, so the program is properly translated. If you don't do this, the program will be in English.

Then, run the jwsprocessor.py file in the bin/ directory.

** WINDOWS

Uncompress the files in any folder of your choice, for example in 'C:\Program files\jwsprocessor'. Look for the 'jwsprocessor.py' file in the 'bin' folder of the uncompressed files. Open it.

Usage

jwsProcessor is a graphical tool, it will assist you into processing JWS files in four steps.

First you add the files to be processed into a list, with the ability to preview each file. In this list, you can also introduce dilution factors that will be applied to each file.

Next, you choose the processing options (blank, smoothing, conversion to molar ellipticity units, etc.).

Next, the files are processed according to your preferences.

Finally, you can save the results either in a single file or in separate files.

Information for developers and packagers

Two build systems are used in jwsprocessor. The python distutils script setup.py and scons. The distutils script is used to create source and ready-to-run packages. Ready-to-run packages are similar to the source package but it contains the compiled gettext message catalog for localization, so it can be readily deployed in any system by simply unpacking the package and runnint the jwsprocessor.py file in 'bin/':

To create a source distribution package use:

$ python setup.py sdist

To create a ready-to-run package use:

$ python setup.py bdist_dumb

These two commands will create in dist/ two files:

Scons is used to install the software in any POSIX OS (Linux, BSDs, MacOS, Solaris...). I used scons instead of python distutils because distutils is not really prepared for the installation of files outside the python module installation path, though it is really easier than scons. That said, you should use scons if you plan to build rpm/deb packages from the sources.

License Information

This program is distributed under the terms of the GNU General PublicLicense (see below) except for the buildtools/msgfmt.py file that is from the Python 2.5 source distribution which is released under the open source PSF license (see http://www.python.org/download/releases/2.5.4/license/).

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see LICENSE); if not consult http://www.gnu.org/licenses/gpl.html.