The Lat Program

The Lat (Local Alignments as Text) program takes a file of pairwise alignments in lav format (e.g., output from an alignment program such as blastz) and prints out a text representation. It is written in Java and shares some underlying program routines with Laj.


Lat is available for download as a compressed zip archive, . This was created with the Java jar tool, but the format is compatible with PKUnzip and many other unzip programs. Unzipping the archive will produce lat.jar (a jar file containing the program itself) and a docs subdirectory containing some documentation files in HTML format. If your unzipper program does not preserve the directory structure and complete file names from the archive, you may want to move and/or rename the files manually. Note that the lat.jar file does not need a second round of unzipping -- Java will access it "as is".

Since Java programs are not directly executable by themselves, you will also need Java virtual machine software that supports at least Java 1.2, and preferably Java 1.3 or higher. You don't really need a full-fledged Java development kit for this; a simple runtime environment such as Sun's free JRE should be fine. (Much of the information in Installing the Java Plug-in also applies to obtaining the JRE/JDK.) Follow the installation instructions included with the product you choose.

Running Lat

The Java runtime environment does not have its own GUI, so you need to run Lat from a command line (e.g., in the MS-DOS Prompt window on Windows 98). The command to type in looks like this:

    [path1]java -jar [path2]lat.jar [args]
where [path1] is the location of your java program file (perhaps c:\windows\system\ on Win98, or /usr/bin/java/ on a Unix system), [path2] is the location of the lat.jar file that you installed, and [args] are the arguments for the Lat program itself (see below). Note that you can leave off [path1] if you have set up your system command path to include the location of the java program.

If your data file is large, you may need to give Java more memory using the -Xmx switch. For example, the command

    [path1]java -Xmx1000000000 -jar [path2]lat.jar [args]
would run Lat with a memory allowance of ~1GB. At least it would with Sun's Java; this option may not be supported by all vendors. (Tip: if these commands get burdensome to type, you can build a batch file or shell script to handle the parts that don't change from run to run.)


    [path1]java -jar [path2]lat.jar -sinfo -style seqtick 1,2,6-8,12- [alignfile] > [outfile]
where [alignfile] is the name of the alignment file (e.g., from blastz) that you want to display, and [outfile] is where you want the output to be written. Note that Lat will also need access to the original sequence files used to create the alignments; these are named inside the alignment file and should be located in the same directory. The other arguments in this particular example are asking Lat to print sequence information from the alignment file, to use tick marks that are relative to the two sequences rather than to the alignment columns, and to display the local alignments numbered 1, 2, 6 through 8, and 12 through the end. To learn more about the available command-line options, you can run Lat with the -help command line switch.
    [path1]java -jar [path2]lat.jar -help

Cathy Riemer, December 2005