JOY version 5

JOY5 is a new version of  JOY, written from scratch in ANSI C with significantly enhanced functionalities. Most features supported in the previous versions have been implemented now. The IRIX, LINUX and SPARC binaries are available (go to download). If you would like to try it out on other platforms, please contact me.

The following HOWTOs demonstrate various new features:

  1. How to display both structures and sequences
  2. How to display part of an alignment while retaining the original structural environments
  3. How to change fonts and colours
  4. How to display/undisplay various annotations
  5. How to use datafiles (.psa etc) which are not in the current directory
  6. How to truncate very long sequence names
  7. How to edit formatted alignments
  8. Miscellaneous new features
  9. Features yet to be implemented


  1. How to display both structures and sequences
  2. Your input .ali file can include the sequence of proteins both with and without 3D structural information. Each entry begins with the line


    where code is a unique ID for the protein. You can use any number of alpha-numeral characters, hyphens ('-') and underscores ('_'), but at the moment PostScript output uses the fixed-width title field so you may want to avoid very long IDs. More flexible PostScript output will be available soon. The next line is either




    If the word structure appears here, JOY looks for datafiles for structural information and annotates each amino acid residue according to its structural environment. If no structural information is available, simply put the word sequence. The actual amino acid sequence begins from the third line. Thus, this .ali file produces the following output files (HTMLPS).

    By default, the residues of sequence only entries are coloured using the Taylor colours (Protein Eng. 10:743-746 (1997)). This feature helps examine amino acid conservation along with  the structural environments of one or more homologues. Other colours can be chosen by typing:

      --seqcolour=0 (no colour)
      --seqcolour=1 (clutalx colours)
      --seqcolour=2 (Zappo colours)

    For example, typing

    joy --pscolour fn3.ali

    will produce the above output files, while

    joy --seqcolour=0 fn3.ali

    will produce a black and white PS file.

    Sequence only entries are shown in a smaller font. You can increase or decrease the fontsize for sequence by typing:

    joy --seqfontsize=10 --pscolour fn3.ali

    (see output)

    You can also display sequences in lower-case letters:

    joy --lc
  3. How to display part of an alignment while retaining the original structural environments
  4. Compare this with this

    It is now possible to prepare an alignment for parts of the proteins and annotate it as if the residues are in their original structural environments. The .seg file is no longer required. This is useful, for example, when you generate a structure-based alignment for the protomers of olibomeric proteins but want to display the structural information (accessibility, H-bonds, etc) in their original biological units.

    Here is HOW

    1. Prepare an alignment file for the first domains of three proteins 1hsla, 1lst and 1ggga (dom1.ali).
    2. Modify the 'structure' line (the line below >P1;...) so that it looks like:
    3. structureX:1hslad1:   1 :A:  91 :A:undefined:undefined: 1.89:19.90

      The easiest way to produce this is by typing

      atm2seq 1hslad1.atm

      (more info).

    4. Prepare .atm files for the original structures (1hsla.atm, 1lst.atm and 1ggga.atm)
    5. Modify the '>P1' lines in the dom1.ali file (replace 1hsl1d1 with 1hsla, and so on)
    6. Now you have the file dom1full.ali

    7. Type joy --seg dom1full.ali


  5. How to change fonts and colours
  6. You can change font size and alignment width.

    Example 1 (HOW)

    Example 2 (HOW)

    For HTML output, background colour can be changed as well:

    Example 3 (HOW)

    For PS output, you can also use different fonts: try joy --psfont=font

    where font can be times, helvetica or courier. 

  7. How to display/undisplay various annotations
  8. To undisplay 'Key to JOY', type

    joy --nokey

    To undisplay alignment position, type

    joy --noalignment-pos

    Instead, you can add the line '>N1;!code' in your .ali file. This will display the PDB residue numbers of the specified protein at the top of alignment, as well as insertion codes (A, B,...) where gaps occur with respect to this entry.

    To undisplay consensus secondary structure line at the bottom of alignment, type

    joy --noconsensus-ss
  9. How to use datafiles (.psa etc) which are not in the current directory
  10. JOY requires datafiles (.psa, .sst and .hbd files) for all the structures in the alignment, but you don't have to have these files in the current directory. Type

    joy --dir=directory
    and JOY will look for the datafiles in the specified directory rather than the current directory.


  11. How to truncate very long sequence names
  12. By default the sequence names are truncated at the tenth charcter in both HTML and PS output. You can change this number ty typing

    joy --maxcodelen=20
    then the first 20 charcters are retained. To retain all the characters, specify zero or a negative number.
  13. How to edit formatted alignments
  14. Some programs such as CorelDraw and Adobe Illustrator can read in PostScript files. JOY5 now produces a Rich Text Format file (.rtf) which can be read in to Microsoft Word and other software (example). The RTF output, however, is still experimental and not all the features are supported.


  15. Miscellaneous new features

  16. Display domain information (HTML only)

    Example output using the .ali and .dom files (HOW)

    Shading secondary structures in  black and white PostScript output

    Any number of sequences, residues and any number of characters for protein codes

    More efficient and robust HTML and PostScript code (the size of HTML and PS files have been significantly reduced)

    Output different types of structural features

    Simply type joy to display all available options

    The following features, tried in earlier developments, are currently suppressed:

    (Potential covalent bonds to heterogens are still identified by a new version of HBOND. The file .cof (example) will be automatically created.)
    Display residues that are covalently bonded to co-factors
    Overline to represent sidechain-sidechain hydrogen bonds in HTML output


  17. Features yet to be implemented
    1. LATEX output
    2. PS output in landscape (will be supported)
    3. Produce a MNYFIT input file
    4. Efimov output
    5. Various error checks
    6. Config file to allow users to change typesetting conventions (e.g., different colours for secondary structures, select different features to represent)

The annotated alignments in HOMSTRAD are now produced by JOY5. 

NOTE: Many of the new display features above are rendered with HTML4 and at the moment, only a few browsers can display them properly. For example, Netscape (even Communicator 4.6) does not seem to display overlines, but the other features can be shown properly with Navigator 4.08. Microsoft Internet Explorer 4 displays both overlines and background colours.


Kenji Mizuguchi (

Last modified: 01/08/02