EMBOSS is constantly being improved, new features added and bugs fixed. In addition new applications are added that you might want to make use of. This section describes how to keep up-to-date.
If you are using the CVS (developers) version of EMBOSS, it's advisable to update your copy of EMBOSS regularly. To update, first move to the directory you wish to update. To update the AJAX and NUCLEUS libraries and the applications in one go, this would be the second emboss directory. For example, if you checked-out EMBOSS in the directory /home/auser
then you would type:
cd /home/auser/emboss/emboss |
Then type the following commands (the -d
and -P
flags are case-sensitive):
cvs -d :pserver:[email protected]:/home/repository/emboss login |
cvs -d :pserver:[email protected]:/home/repository/emboss update -d |
cvs -d :pserver:[email protected]:/home/repository/emboss update -P |
cvs -d :pserver:[email protected]:/home/repository/emboss logout |
The first (login
) command logs you on to the CVS server; you will be prompted for a password which is cvs
. The second (update -d
) ensures you'll pick up any new directory structures that have been added. The third (update -P
) will delete any obsolete files or directory structures that have been removed. The last command (logout
) logs you off the server.
Bear in mind that if you have edited any files then your edits will be merged into the version available in CVS. Therefore if you wish to conserve your edits in their original form, you should copy your files to a safe place first.
As bugs are reported and fixed, files are provided to fix the latest stable distribution. Descriptions of the bug-fixes are available for download from:
ftp://emboss.open-bio.org/pub/EMBOSS/fixes/README.fixes |
An excerpt is shown below:
The files in this directory are bugfix replacements for files in the EMBOSS-6.4.0 distribution. Just drop the replacement files in the location shown and redo the 'make install.' Fix 1. EMBOSS-6.4.0/emboss/jaspscan.c EMBOSS-6.4.0/nucleus/embprop.c 26 Aug 2011: jaspscan can now scan multiple sequences. "digest -allpartials" now reports all C-term fragments
The bug-fix files themselves can be downloaded from:
ftp://emboss.open-bio.org/pub/EMBOSS/fixes/ |
Up to higher level directory File: README.fixes 1 KB 08/27/2011 07:32:00 AM File: embprop.c 31 KB 08/27/2011 07:32:00 AM File: jaspscan.c 31 KB 08/27/2011 07:32:00 AM Directory: patches 08/27/2011 07:33:00 AM
To apply a fix, just drop the replacement files into the location indicated in the file README.fixes
and, for fixes to source code (.c
or .h
files), recompile EMBOSS using make
or make install
(see Section 2.7, “Installation”).
Standard UNIX 'patch' files for EMBOSS are provided and may be used to update the stable EMBOSS distribution with all the available fixes:
ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/ |
Patchfile names are of the format patch-1-
where X
.gzX
represents the last fix incorporated: so a file called patch-1-10.gz
will incorporate fixes from Fix 1 to Fix 10 as given in the list of bug-fix replacement files.
Up to higher level directory File: README.patch 1 KB 27/08/2011 10:21:00 File: patch-1-19.gz 25 KB 08/11/2011 21:23:00 Directory: nonbinary 08/27/2011 05:31:00 Directory: old 08/27/2011 08:52:00
To update the base EMBOSS installation (where x.y.z is the version) you will need to run the UNIX commands gunzip
, tar
and patch
:
Download a fresh EMBOSS-x.y.z.tar.gz
and unpack it with:
gunzip EMBOSS-x.y.z.tar.gz |
tar -xvf EMBOSS-x.y.z.tar |
Download the required patch file (into /
in this example).somewhere
/
Type cd EMBOSS-x.y.z
Type gunzip -c /
somewhere
/patch-1-X
.gz | patch -p1
or
Steps 1-3 as above
Type gunzip /
somewhere
/patch-1-X
.gz
Type patch -p1 < /
somewhere
/patch-1-X
then configure and compile EMBOSS as normal (see Section 2.7, “Installation”).
On rare occasions a patch will be provided that contains binary information. Some operating systems (e.g. FreeBSD) do not support binary patches, and will report that the patch file is malformed. Under such circumstances a patch is also provided in the nonbinary
subdirectory and you should follow the instructions there.
Some EMBOSS users have written scripts to help with automatically updating EMBOSS. The following script was contributed by a user from their IRIX operating system but tailoring it to other operating systems would not be hard. We reproduce it for your inspiration with no guarantees of it working properly.
The script can be run manually (it should probably be run using source
rather than executed directly) or can be launched with cron
. It assumes you are installing EMBOSS outside the source directory and have write permissions to do so. EMBOSS will update EMBOSS distributed files but will not alter or overwrite your own datafiles or your emboss.default
.
The script can be downloaded from http://emboss.open-bio.org/downloads/embossupdate.sh and is shown below:
# This script should be sourced, not run. # EMBOSS UPDATE. # it assumes \$packages_dir/EMBOSS is a symbolic link to # $mirror_dir/emboss.open-bio.org/pub/EMBOSS # #site specific variables: season according to taste.. set mirror_dir=('/ftp/mirrors') set packages_dir=('/site/newprog') set emboss_config_options=\ ('--prefix=/site/prog/emboss --with-pngdriver=/site/lib') # Now the script proper set oldpwd=`pwd` cd $mirror_dir echo 'updating EMBOSS' if ( `wget -m 'ftp://emboss.open-bio.org/pub/EMBOSS' |& \ tail -1 | awk '/^Downloaded:/{print $5}'` != "0" ) then cd ${packages_dir}/EMBOSS echo 'new EMBOSS programs found .. installing' set latest_emboss=`ls -t EMBOSS*|head -1` cd $packages_dir rm -Rf EMBOSS-* tar zxf EMBOSS/\$latest_emboss set emboss_dir=`ls -dt EMBOSS-*[^z]|head -1` #the next line is necessary on our system but may not be for yours. setenv LD_LIBRARYN32_PATH /site/lib cd $emboss_dir # If you have any site specific changes to the source code # that you want to include, copy them in here ./configure \$emboss_config_options &&\ make && \ make install #Now unpack and build EMBASSY mkdir embassy cd embassy #Unpack and build each package one at a time foreach embassadir ( `ls ../../EMBOSS/*gz |grep -v E MBOSS-` ) tar zxf $embassadir set embassadir_arch=$embassadir:t set embassadir_root=$embassadir_arch:r cd $embassadir_root:r ./configure $emboss_config_options &&\ make && \ make install cd .. end else echo 'No new version of EMBOSS available' endif cd $oldpwd
In the same way, scripts can be written to automatically update the biological databases. An example is given here for REBASE. As all the parameters for EMBOSS programs can be specified on the command line it is a simple matter to include index generation in your nightly update scripts.
The script below will look for a new version of REBASE and install it in EMBOSS using rebaseextract.
The script can be downloaded from http://emboss.open-bio.org/downloads/databaseupdate.sh and is shown below:
# This script should be sourced, not run. # REBASE UPDATE. Should be run just after the beginning of the month. set mirrors_dir=('/ftp/mirrors') set oldpwd=`pwd` cd $mirrors_dir if ( ` wget -m 'ftp://ftp.ebi.ac.uk/pub/databases/rebase/*' |& \ tail -1 | awk '/^Downloaded:/{print $5}'` != "0" ) then cd ftp.ebi.ac.uk/pub/databases/rebase cp `ls -t withrefm.*.Z|head -1` withrefm.Z cp `ls -t proto.*.Z|head -1` proto.Z uncompress withrefm.Z uncompress proto.Z rebaseextract \ ${mirrors_dir}/ftp.ebi.ac.uk/pub/databases/rebase/withrefm \ ${mirrors_dir}/ftp.ebi.ac.uk/pub/databases/rebase/proto rm -f withrefm rm -f proto endif cd $oldpwd