The EMBOSS Frequently Asked Questions list ========================================== Last modified: 8th July 2009 SECTION A - Help and Support ============================ Q) How do I report bugs? A) mail emboss-bug@emboss.open-bio.org Q) How do I contact the core development team? A) Rather than email their personal addresses, for EMBOSS matters we request that you use the address: emboss-bug@emboss.open-bio.org This will ensure that your email will be seen by the appropriate developer and that it will get logged with our tracking system. Q) Are there any mailing lists about EMBOSS? A) emboss@emboss.open-bio.org is an open list (anyone can join) for general announcements and discussions by users. emboss-dev@emboss.open-bio.org is a closed list (subscription requests have to be approved) for discussions by developers using EMBOSS. emboss-announce@emboss.open-bio.org is an open list for announcements of new releases. You can access the archives, subscribe/unsubscribe and alter the way email is sent to you (e.g. digests) by visiting: http://emboss.open-bio.org/mailman/listinfo/emboss http://emboss.open-bio.org/mailman/listinfo/emboss-dev http://emboss.open-bio.org/mailman/listinfo/emboss-announce Q) Where's the documentation? A) All the documentation can be found at the following web page http://emboss.sourceforge.net/ Q) Where's the application documentation? A) http://emboss.sourceforge.net/apps/ and in the EMBOSS distribution, installed under share/EMBOSS/doc/programs/html (HTML files) and share/EMBOSS/doc/programs/text (plain text, as used by the tfm program). You can also use the EMBOSS application called tfm to display the plain text documentation of another application e.g.: % tfm seqret Q) Is there a tutorial? A) See the EMBOSS tutorial on the website: http://emboss.sourceforge.net/docs/emboss_tutorial/ Q) Is there a quick guide? A) There is a dated quick guide provided with the source code as the file doc/manuals/emboss_qg.pdf. A postscript file is also available. However, the primary source of up-to-date information is the web site. The quick guide was not written by the EMBOSS team and it is therefore not maintained by them. Q) Is there a table of substitutes for GCG programs? A) Several lists are available, but not maintained by the EMBOSS team. For example: http://www.biobind.com/faq/emboss/gcg-emboss.html Q) Citation: Is there a reference I can cite for EMBOSS? A) Rice,P. Longden,I. and Bleasby,A. "EMBOSS: The European Molecular Biology Open Software Suite" Trends in Genetics June 2000, vol 16, No 6. pp.276-277 SECTION B - Installation & Compilation ====================================== Q) How do I compile EMBOSS? A) If this is the first time trying to compile all you need to do is: ./configure make The above will produce the EMBOSS programs in the 'emboss' subdirectory and you can set your PATH variable to point there. This method is suitable for EMBOSS developers. For system-wide installations we recommend installing the EMBOSS programs into a different directory from the source code (e.g. in the directory tree /usr/local/emboss). To do this type (e.g.): ./configure --prefix=/usr/local/emboss make [to make sure there are no errors, then] make install [if there are no errors] You should then add (e.g.) /usr/local/emboss/bin to your PATH variable: set path=(/usr/local/emboss/bin $path) [csh/tcsh shells] export PATH="$PATH:/usr/local/emboss/bin" [sh/bash shells] If you wish to re-compile the code at any stage then you should type "make clean" and then configure and make source again as appropriate. Q) I have a Linux system and compilation ends prematurely saying that it can't find the -lX11 libraries ... but I know I have X11 installed. A) This should not happen with versions of EMBOSS later than 6.0.1 as the configuration will inform you of missing files and terminate at that stage. If you have a version of EMBOSS <= 6.0.1 then the problem is that you probably have the X11 server installed but you haven't installed the X11 development files. For example, on RPM distributions, you need to install: xorg-x11-proto-devel (xorg-based X11 distros) or XFree86-devel (XFree86-based X11 distros) After installing those system files you will need to: make clean and re-perform the './configure' command from the top EMBOSS source directory. Q) I'm trying to compile EMBOSS with PNG support A) Your system will need to have zlib (www.zlib.net: current version is 1.2.3), libpng (www.libpng.org: current version is 1.2.35) and gd (www.libgd.org: current version is 2.0.35). The version of GD must be >= 2.0.28 if it is to be used with EMBOSS. Note that the above packages often come with your operating system distribution but may not be installed by default i.e. they are optional packages which you can install at a later date. Also note that, as well as having the above system libraries installed, you must also have installed their associated development files. (these typically have 'devel' in the package names on Linux systems). So, on Linux RPM systems you would need to make sure that packages called names similar to "gd" and "gd-devel" are installed. MacOSX users can often find the above packages available on the MacPorts site (www.macports.org). However, for some operating systems, there may be no freeware sites where you can find pre-compiled versions of zlib/libpng/gd and you may have to compile one or more of them from their source distributions (URLs given above). You can unpack the tar.gz or tar.bz2 files in any directory, and install them in a common area. By default everything (including EMBOSS) installs in /usr/local. To install, pick up the sources and then: gunzip -c zlib-1.2.3.tar.gz | tar xf - gunzip -c libpng-1.2.35.tar.gz | tar xf - gunzip -c gd-2.0.35.tar.gz | tar xf - cd zlib-1.2.3 ./configure make make install ./configure --shared make make install cd .. cd libpng-1.2.35 ./configure make make install cd .. cd gd-2.0.35 ./configure --without-freetype --without-fontconfig make make install cd .. To compile with the local version your EMBOSS ./configure line should now read:- ./configure --with-pngdriver=/usr/local Q) When installing EMBOSS recently I get a load of errors due to libraries not found. The main problem is that I have an old version of libz but no libgd in my system libraries and EMBOSS looks there first to try to locate these libraries. I have the correct versions installed elsewhere. Are there any suggestions for setting the library search path or am I missing something really obvious? A) There are the --without-pngdriver and --with-pngdriver=dir flags. Did you try them? If the libraries are in /opt/png/lib then set "dir" to /opt/png i.e. one level above the "lib" directory. Q) Can I get the latest code via CVS ? A) Yes. Here is the information you will need:- Make sure you have cvs on your system. Then log into the cvs server at 'open-bio.org' as: user 'cvs' with password 'cvs'. cvs -d :pserver:cvs@cvs.open-bio.org:/home/repository/emboss login The password is 'cvs' To checkout the EMBOSS source code tree, put yourself in a local directory just above where you want to see the EMBOSS directory created. For example if you wanted EMBOSS to be seen as /home/joe/src/emboss... then cd into /home/joe/src then checkout the repository by typing: cvs -d :pserver:cvs@cvs.open-bio.org:/home/repository/emboss checkout emboss Or if you want to update a previously checked-out source code tree: cvs -d :pserver:cvs@cvs.open-bio.org:/home/repository/emboss update You can logout from the CVS server with: cvs -d :pserver:cvs@cvs.open-bio.org:/home/repository/emboss logout (this is a read only server). Q) How do I compile the CVS (developers) version? A) You will need automake, autoconf, (GNU) make and libtool for this. The gcc compiler is recommended. The host cc compiler should work. (Note that some non-gcc compilers may need '--include-deps' added to the automake command line.) Then type: autoreconf -fi ./configure # --enable-warnings is a useful developers' switch make For more info on the configurability of the build try ./configure --help Q) Can you give an example of how to install an EMBASSY package? A) Here is how to install PHYLIP given the various ways you can install the main EMBOSS package. a) from the anonymous cvs code. 1) Go to the phylip directory cd embassy/phylipnew 2) make the configuration file autoreconf -fi 3) configure and compile ./configure (use same options as you used to compile emboss, especially the --prefix)) make make install b) from PHYLIP-3.6b.tar.gz available from our FTP server ftp://emboss.open-bio.org/pub/EMBOSS/ in file PHYLIP-3.6b.tar.gz If you have done a full installation of EMBOSS using a 'prefix' e.g. you configured with ./configure --prefix=/usr/local/emboss and followed this with a 'make install' (highly recommended) then: 1) gunzip and untar the file anywhere gunzip PHYLIP-3.6b.tar.gz tar xf PHYLIP-3.6b.tar 2) go into the phylip directory cd PHYLIP-3.6b 3) configure and compile ./configure (use same options as you used to compile emboss, especially the --prefix)) make make install N.B. If you configured without using a prefix but did do a 'make install' (or specified a prefix of /usr/local, which amounts to the same thing) then you must configure using: ./configure --prefix=/usr/local --enable-localforce If, on the other hand, you did not do a 'make install' of EMBOSS then: 1) Go to the emboss directory cd EMBOSS-6.0.1 2) make new directory embassy if it does not exist already. mkdir embassy 3) Go into that directory cd embassy 4) gunzip and untar the file gunzip PHYLIP-3.6b.tar.gz tar xvf PHYLIP-3.6b.tar 5) go into the phylip directory cd PHYLIP-3.6b 6) configure and compile ./configure (use same options as you used to compile emboss) make 7) Set your PATH to include the full path of the 'src' directory Q) Can I alter the location of the ACD files? A) EMBOSS will find the acd files in the install directory or in the original source directory (depending on how you configured it) so there is usually no reason to change this. However, should you wish to do so then it can either be done in the emboss.default (or ~/.embossrc) file: env emboss_acdroot /usr/local/share/EMBOSS/acd or by setting an environment variable on the command line: setenv EMBOSS_ACDROOT /usr/local/share/EMBOSS/acd Q) What benefits do I gain from using the associated (EMBASSY) versions of software. A) a) You can read any sequence type that EMBOSS can handle. b) the associated software will use the EMBOSS acd files so the naming of output/input files is taken care of and will check all values before the program is run. Command line arguments are used instead interactive menu based ones. Q) I have EMBOSS installed on our development server and I'm preparing a dispatch which will send it out to about 20 remote sites. I ran the configure with the --prefix option to install to a private directory. I also collected all the data files (rebase, transfac etc.) to another directory and extracted the information from them with the relevant programs. My intention was to simply transfer the EMBOSS install directory and the Data directory to all sites, using symlinks where necessary so that the directory paths corresponded. However, when testing this I have found a couple of problems; 1) Although the EMBOSS programs work, I can't see any of the extracted data. For instance remap gives the error; EMBOSS An error in remap.c at line 167: Cannot locate enzyme file. Run REBASEEXTRACT This is despite the fact that I have both the EMBOSS install and the Data directories in the same place as on the development machine (which works). 2) The other major problem is that I can no longer see my databases defined in emboss.default. Again, the file exists, and is in the same place as on the development machine, but the box it is transferred to gives an empty list from showdb. Does anyone know where EMBOSS stores the information about the location of these files? It can't have installed anything outside the original installation directory (wasn't installed as root), so I'm guessing that the problem stems from the program resolving symlinks at some point. A) It is inside the binaries ... EMBOSS 'knows' the location of the files because it is picked up during the configure, when you build your copy, and included in the binaries. You can see it during compilation, especially of ajnam.c (where it is used): -DAJAX_FIXED_ROOT=\"/full/source/path\" -DPREFIX=\"/install/prefix/path\" To copy binaries, you need to define environment variable(s) to override the compile-time definitions, unless you can make the path (e.g. /usr/local) the same for the installations at each site. emboss.default can set environment variables too, but you need to tell EMBOSS where to find that file. setenv EMBOSS_ROOT /dir/for/default/file and then, in the emboss.default file you can set: SET EMBOSS_ACDROOT /install/dir/share/EMBOSS/acd or (this overrides it) you can use another environment variable: setenv EMBOSS_ACDROOT /install/dir/share/EMBOSS/acd Q) I have downloaded the EMBOSS source and installed it for use at XYZ University without any difficulty. The administration guide has advice on configuring the software using emboss.default, and has some examples for allowing access to SRS indexes. That appears to be done via the program getz, which is not part of the EMBOSS package. A) If you have SRS installed (so you have local SRS index files) you will have a local copy of the getz program, which is part of SRS. If you do not have SRS, you can build your own index files using dbxflat, dbxgcg (if you have GCG), dbiblast (if you have blast) and dbxfasta. This is the usual solution for sites that have no other database indexing in use. You can also use SRS servers remotely, to get single entries, using their URLs. No extra software is needed (EMBOSS just uses the HTTP protocol). Of course, if you really need to build your own SRS indexes you could install it. SRS is a commercial product, but academic licences are available. Q) I am not getting full static files even when I configure with --disable-shared A) This most often happens when using GNU LD. If both shared and static versions of a library exist then GNU LD will take the shared library as preferred. The root of this problem is libtool. You can, however, force complete static images by adding a definition to your "make" line: make "LDFLAGS=-Wl,-static" SECTION C - Graphics ==================== Q) What Graphics options are available? A) To see what graphics drivers are available type ? at the prompt for the graph type and this will give you a list. Here are some of those:- ps -> Postscript cps -> Colour Postscript x11 -> X display. (also called xterm and xwindows) hpgl -> HP Laserjet III, HPGL emulation mode. png -> PNG (you will need libpng, zlib and gd for this) gif -> GIF (you will need libpng, zlib and gd for this) tek -> Tektronix Terminal none -> None. data -> Writes out points to a file for graphs. meta -> plplot meta file. Q) Plotters and pen colours. A) The hp drivers presume the pens are loaded as:- SP1 Red SP2 Yellow SP3 Green SP4 Blue SP5 Magenta SP6 White/Off SP7 Black SP8 Cyan Otherwise your output will have different colours. Q) Browsing the Gnu site I came across libplot, libxmi and plot utils. Would these be a suitable replacement for PLPLOT? A) So far they are still GPL licensed rather than LGPL. Robert Maier promised a while back to LGPL them but has not yet. A pity ad it makes all the difference for linking in third party applications to EMBOSS. Q) I get error messages when I try to display X11 on my PC. I am running the Hummingbird Exceed X11 emulator. A) This should only affect versions of EMBOSS pre-5.0.0 The Hummingbird Exceed X11 emulator (and maybe other systems) use the 'TrueColor' display by default. You should change the configuration settings so that it uses 'PseudoColor'. In version 6.1 of Hummingbird Exceed, this is done by clicking on the Exceed section of the Windows 98 tool bar at the bottom of the screen. Select 'Tools', then 'Configuration', then Screen Definition. A window will appear. In the 'Server Visual' popup menu on the left, select 'PseudoColor'. Click on 'OK'. SECTION D - Data Files ====================== Q) How do I use my own private data file? A) You may wish to amend one of the standard EMBOSS data files. Some of the data files you might wish to alter are the translation table files. 'transeq' has been written to only read in one of the standard translation files: EGC.0 EGC.1 EGC.2 EGC.3 EGC.4 EGC.5 EGC.6 EGC.9 EGC.10 EGC.12 EGC.11 EGC.13 EGC.14 EGC.15 These files are the only ones that you can specify to 'transeq'. If you wish to create your own specialised translation table, then you should pick one of them to amend. For instance you may decide that you will use the file EGC.15 as you would never want to otherwise use it. Use the program 'embossdata' to get a copy of this file: % embossdata -fetch -filename EGC.15 Finds or fetches the data files read in by the EMBOSS programs File '/fu/bar/emboss/data/EGC.15' has been copied successfully. Edit the file EGC.15 to suit your requirements. Specify '-table 15' when you run 'transeq' to use this altered file. 'transeq' will then look for the file 'EGC.15' and will find it in your current directory before it finds the default one in the EMBOSS_DATA directory. It will therefore use your local copy. You may get confused with many copies of changed files floating about. To check which copy of a file is being used (the default EMBOSS_DATA one or a potential local copy) use 'embossdata': % embossdata -filename EGC.15 Finds or fetches the data files read in by the EMBOSS programs # The following directories can contain EMBOSS data files. # They are searched in the following order until the file is found. # If the directory does not exist, then this is noted below. # '.' is the UNIX name for your current working directory. File ./EGC.15 Exists File .embossdata/EGC.15 Does not exist File /home/joe/EGC.15 Does not exist File /home/joe/.embossdata/EGC.15 Does not exist File /usr/local/emboss/data/EGC.15 Exists This shows that a copy of EGC.15 exists in your current directory and so will be used in preference to the default one in the EMBOSS_DATA directory. SECTION E - Sequence Files and Formats ====================================== Q) How do you write sequences to different files instead of writing them all to one file? A) EMBOSS is not good at writing multiple sequences to different files. You could try using 'nthseq' to pull out one sequence at a time. You should consider using the '-ossingle' qualifier. This writes sequences to separate FASTA files, but the file names depend on the sequence ID. This is rarely used. It is there because -ossingle is the default for GCG output format. The output filename is currently ignored when ossingle is used, and the filename depends on each individual sequence. Q) What sequence formats are supported? A) Tens of them(e.g.): gcg, embl, swissprot, fasta, ncbi, genbank, nbrf, codata, strider, clustal, phylip, acedb, msf, ig, staden, text, raw, asis Q) What is the difference between TEXT and RAW formats? A) TEXT accepts everything in the sequence file as sequence. RAW accepts only alphanumeric and whitespace characters and rejects anything else. Q) What is ASIS format? A) The "filename" is really the sequence. This is a quick and easy way of reading in a short fragment of sequence without having to enter it into a file. For example: % program -seq asis::ATGGTGAGGAGAGTTGTGATGAGA Q) I have some very short protein sequences that EMBOSS thinks are nucleic sequences. How do I force EMBOSS to treat them as nucleic acid sequences? For example: > cat seq1 A > cat seq2 I % water seq1 seq2 -stdout -auto Smith-Waterman local alignment. An error has been found: Sequence is not nucleic Here, 'water' automatically (and wrongly) thinks that A is adenosine instead of alanine and fails when it reads in seq2 and expects to find another nucleic acid sequence - but 'I' is not a valid base and so it fails. A) For many sequence formats there is no way to specify the sequence type in the file, so EMBOSS has to guess. There is a flag that can force EMBOSS programs to treat sequences as nucleic or protein. 'water -help -verbose' shows the full list of sequence qualifiers. If you follow the sequence USA with '-sprotein' EMBOSS will check that it is a valid protein sequence and then treat it as such. If you need to force a sequence to be DNA, the qualifier is '-snucleotide' The qualifier must follow the sequence to apply to one sequence, or can go at the start of the command line to refer to all sequences, for example: 'water -sprotein seq4 seq3 -stdout -auto' You can also use '-sprotein1' anywhere on the command line to refer to the first sequence and '-sprotein2' to refer to the second sequence. Of course, like all EMBOSS qualifiers, you can shorten them so long as they are still unique. In this case, '-sp' and '-sn' will work (or '-sp1' and '-sp2' if you need the numbers). SECTION F - Limits and contraints ================================= Q) Is there a maximum size for sequences? A) The maximum size for any program depends only on how much memory your system has. Of course, some programs (and some program options) can take up too much memory, or simply run very slowly. You might have a constraint imposed on your usage of memory. Try using the Unix command 'limit' to look at such constraints. Try using the Unix command 'unlimit' or 'ulimit' to remove the constraints, eg: % unlimit stacksize % unlimit vmemoryuse Q) GCG has a somewhat arbitrary fragment length limit of 2500 bp for gel*. Is there a similar limit for MSE under EMBOSS? A) No. MSE has no limit, you are only limited by how much memory you have. SECTION G - Running under Web servers and from scripts ====================================================== Q) I am trying to write a web interface for an emboss program and run apache. The program complains that there is no HOME directory set. A) Just put these at the top after your 'use CGI' ( whatever) statements. $ENV{HOME}= i.e. /usr/local/apache $ENV{EMBOSS_DATA}= These two are important, but you can also pass other "constants". SECTION H - Programs and options ================================ Q) Plotting with pepwheel gives interesting output. pepwheel -turns=8 -send=30 sw:p77837 -auto gives a helical wheel plot but the residues are plotted so every two circles are sat on top of one another. A) That is the correct answer. Instead of 3.6 residues per turn, (5 turns in 18 steps) you seem to have a helix with 8 turns in 18 steps (4 in 9). Try -turns=4 -steps=9 ... but only if you are sure that is the way your helix goes. We could play with checking for common factors in pepwheel, but we don't know of any biologically meaningful setting that would cause problems. Q) In prettyplot, how do you specify an output file name for the plot file? A) prettyplot -auto ~/wordtest/globin-nogap.msf -graph ps Creates prettyplot.ps The name is generated automatically. To set this to something more discriptive use -goutfile .i.e prettyplot -auto ~/wordtest/globin-nogap.msf -graph ps -goutfile=hello Creates hello.ps Q) I'm using the editor 'mse', but I don't know how to save my edited sequences at the end of the editing session. A) Use Control-Z to get into command mode. Then use the SAVE command which will prompt for the file name. Q) I would like to know if EMBOSS can perform nucleotide contig assembly similar to the function that GCG gelproject/gelview has. And if yes, is there any size restriction on the number of basepair and the number of contigs? thank you. A) EMBOSS does not cover the sort of contig assembly you describe. We have provided an EMBOSS wrapper for the MIRA package.