From: Jim Procter Date: Sat, 30 Aug 2008 16:53:09 +0000 (+0000) Subject: final version (draft) for EBI/Enfin Function Prediction Course X-Git-Tag: Version_1.9.2~97 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=48b399d7379c0e95e79a509e15d85d9296fd86f6;p=jalview-manual.git final version (draft) for EBI/Enfin Function Prediction Course --- diff --git a/TheJalviewTutorial.tex b/TheJalviewTutorial.tex index 43b3167..9611495 100644 --- a/TheJalviewTutorial.tex +++ b/TheJalviewTutorial.tex @@ -1,48 +1,119 @@ -\documentclass[a4paper,11pt]{report} +%\documentclass[a4paper,11pt]{report} +\documentclass[a4paper,11pt]{book} +\usepackage{footnote} \usepackage{graphicx} \usepackage{amssymb} \usepackage{epstopdf} \usepackage{hyperref} \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `dirname #1`/`basename #1 .tif`.png} - -\textwidth = 6.5 in \textheight = 9 in \oddsidemargin = 0.0 in \evensidemargin = -0.0 in \topmargin = 0.0 in \headheight = 0.0 in \headsep = 0.0 in \parskip = -0.2in \parindent = 0.0in +\voffset = -0.5 in +\hoffset = -0.85 in +\textwidth = 6.5 in +\textheight = 9.5 in +\oddsidemargin = 1.20 in +\evensidemargin = 0.2 in +\topmargin = 0.0 in +\headheight = 0.35 in +\headsep = 0.4 in +%\headheight = 0.0 in \headsep = 0.0 in +\parskip = 0.2in \parindent = 0.0in \newtheorem{theorem}{Theorem} \newtheorem{corollary}[theorem]{Corollary} \newtheorem{definition}{Definition} + \title{Jalview 2.4: A manual and introductory tutorial } -\author{David Martin, James Procter, Andrew Waterhouse, Geoff Barton} +\author{David Martin, James Procter, Andrew Waterhouse and Geoff Barton} +\date{Manual version 1.1 1st September 2008} + +\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}}\cleardoublepage} + % how the hell do we add another panel with text like : This tutorial introduces % the user to the features of Jalview, a multiple sequence alignment editor and % viewer available from http://www.jalview.org to the title page. % \renewcommand{menustyle}{\tt} %do something more advanced here. -\begin{document} \newcounter{ecount} \newcounter{exstep}[ecount] \renewcommand{\theecount} {\arabic{ecount}} \renewcommand{\theexstep} {\arabic{ecount}.\alph{exstep}} -\newcommand{\exercise}[2] { \refstepcounter{ecount} +\newcommand{\exercise}[2] { +\refstepcounter{ecount} \begin{center} \fbox{\parbox[b][\height]{6in}{ -{\bf Exercise \theecount : #1 } +{\bf +% this doesn't work - page refs are off +% \mbox{\addcontentsline{toc}{subsection}{ Exercise \theecount : #1 } } +Exercise \theecount : #1 } \par #2 }} \end{center} -% this doesn't work - page refs are off \addcontentsline{toc}{subsection}{ Exercise \theecount : #1 } } \newcommand{\exstep}[1]{ \stepcounter{exstep} {\sl \theexstep.} \begin{minipage}[t]{5.5in} #1 \end{minipage} \par \vspace *{1mm} } %%% Remove the % on the next 2 lines to hide tutorials. %\renewcommand{\exercise}[2]{} %\renewcommand{\exstep}[1]{} +\begin{document} + + +\pagenumbering{} + +%\maketitle +% we make our own title because JBP is not clever enough to work out how to do this automatically + +\begin{center} + +{\Huge + +Jalview 2.4 +} +\vspace{0.5in} +{\huge + +A manual and introductory tutorial } + +\vspace{2.5in} + +{\large + +David Martin, James Procter, Andrew Waterhouse and Geoff Barton + +} + +\vspace{1.5in} + +College of Life Sciences, University of Dundee + +Dundee, Scotland DD1 5EH, UK + + +\vspace{2in} + +Manual version 1.1 + +EBI/Enfin Function Prediction Course. 1st September 2008 + + +\end{center} -\maketitle -\tableofcontents +\clearemptydoublepage + +% ($Revision$) 1st September 2008.} + +\pagenumbering{roman} +\setcounter{page}{1} +\tableofcontents +\clearemptydoublepage +% \listoffigures +% \newpage +% \listoftables +% \newpage +\pagenumbering{arabic} +\setcounter{page}{1} \chapter{Basics} +\label{jalviewbasics} \section{Introduction} \subsection{Jalview} Jalview is a sequence multiple alignment viewer, editor and analysis tool. @@ -54,32 +125,34 @@ other data. Jalview can read and write many common sequence formats including FASTA, Clustal, MSF(GCG) and PIR. -There are two types of Jalview program. The Jalview Desktop is a stand alone -application that provides powerful editing, visualization, annotation and -analysis capabilities. The JalviewLite applet has the same core visualization, -editing and analysis capabilities as the desktop, but is designed to be embedded -in a web page, allowing customised integration with alignment databases such as -pFam\footnote{A demonstration version of Jalview (Jalview Micro Edition) also -runs on a mobile phone but the functionality is limited to sequence colouring.}. +There are two types of Jalview program. The {\bf Jalview Desktop} is a stand +alone application that provides powerful editing, visualization, annotation and +analysis capabilities. The {\bf JalviewLite} applet has the same core +visualization, editing and analysis capabilities as the desktop, without the +desktop's webservice and figure generation capabilities. It is designed to be +embedded in a web page\footnote{A demonstration version of Jalview (Jalview Micro +Edition) also runs on a mobile phone but the functionality is limited to sequence +colouring.}, to allow customisable display of alignments for web sites such as +{\bf pfam}\footnote{\url{http://pfam.sanger.ac.uk}}. Jalview 2.4 was released in September 2008. The Jalview Desktop in this version provides access to sequence, alignment and protein structure databases, and alignment and analysis web services, and includes the Jmol\footnote{ Provided -under the LGPL licence at http://www.jmol.org} protein structure viewer. It is +under the LGPL licence at \url{http://www.jmol.org}} protein structure viewer. It is also a Distributed Annotation System (DAS) client\footnote{with thanks to Andreas Prlic} which facilitates the retrieval and display of third party sequence annotation in association with sequences and any associated structure. \subsection{Jalview's Capabilities} % TODO add references to appropriate sections for each capability described here. -Figure \ref{jvcapabilities} gives an overview of the main features of the Jalview desktop application. Its primary function is the editing and visualization of sequence alignments, and their interactive analysis. Tree building, principle components analysis, physico-chemical property conservation and sequence consensus analyses are built in to the program. Web services enable Jalview to access remote alignment and secondary structure prediction services, as well as to retrieve protein and nucleic acid sequences, alignments, protein structures and sequence annotation. Sequences, alignments, trees, structures, features and alignment annotation may also be exchanged with the local filesystem. Multiple visualizations of an alignment may be worked on simultaneously, and the user interface provides a comprehensive set of controls for colouring and layout. Alignment views are dynamically linked with Jmol structure displays, a tree viewer and spatial cluster display, facilitating interactive exploration of alignment structure. Finally, the application provides a Jalview project format enabling the current state of an alignment and analysis windows to be stored, and WYSIWIG style figure generation capabilities for use in publications. +Figure \ref{jvcapabilities} gives an overview of the main features of the Jalview desktop application. Its primary function is the editing and visualization of sequence alignments, and their interactive analysis. Tree building, principal components analysis, physico-chemical property conservation and sequence consensus analyses are built in to the program. Web services enable Jalview to access remote alignment and secondary structure prediction programs, as well as to retrieve protein and nucleic acid sequences, alignments, protein structures and sequence annotation. Sequences, alignments, trees, structures, features and alignment annotation may also be exchanged with the local filesystem. Multiple visualizations of an alignment may be worked on simultaneously, and the user interface provides a comprehensive set of controls for colouring and layout. Alignment views are dynamically linked with Jmol structure displays, a tree viewer and spatial cluster display, facilitating interactive exploration of the alignment's structure. The application provides its own Jalview project file format in order to store the current state of an alignment and analysis windows. Jalview also provides WYSIWIG\footnote{WYSIWIG: What You See Is What You Get.} style figure generation capabilities for the preparation of alignments for publication. \begin{figure}[htbp] \begin{center} -\includegraphics[width=5.5in]{images/jvcapabilities.pdf} \label{jvcapabilities} -\end{center} +\includegraphics[width=5.8in]{images/jvcapabilities.pdf} \caption{{\bf Capabilities of the Jalview Desktop.} The Jalview Desktop Application provides a stable environment for the creation, editing and analysis of alignments and the generation of figures.} +\end{center} \end{figure} \subsubsection{Jalview History} @@ -87,41 +160,44 @@ Jalview was initially developed in 1996 by Michele Clamp, James Cuff, Steve Searle and Geoff Barton at the University of Oxford and then the European Bioinformatics Institute. Development of Jalview 2 was made possible with eScience funding from the BBSRC\footnote{Biotechnology and Biological Sciences -Research Council grant {\sl "VAMSAS: Visualisation and Analysis of Molecules, +Research Council grant {\sl "VAMSAS: Visualization and Analysis of Molecules, Sequence Alignments and Structures"}, a joint project to enable interoperability between Jalview, TOPALi and AstexViewer.} in 2004, enabling Andrew Waterhouse and -Jim Procter to re-engineer the original program to introduce current developments +Jim Procter to re-engineer the original program to introduce contemporary developments in bioinformatics and take advantage of the latest web and Java technology. The -2.4 version released in September 2008 introduces experimental support for a data +2.4 version released in September 2008 introduced experimental support for a data exchange framework developed as part of this project, to enable Jalview to be used in conjunction with other programs for the analysis of sequences, alignments -and structures. Jalview continues to be one of the worlds most -popular\footnote{and in the authors opinion, the best.} sequence alignment and -analysis tools. +and structures. +% Jalview continues to be one of the worlds most popular\footnote{and in the authors opinion, the best.} sequence alignment and analysis tools. \subsubsection{Citing Jalview} If you use Jalview in your work you should cite {\sl "The Jalview Java alignment editor"} Michele Clamp, James Cuff, Stephen M. Searle and Geoffrey J. Barton -(2004) {\sl Bioinformatics} {\bf 20} 426-427. +(2004) {\sl Bioinformatics} {\bf 20} 426-427. + +A further publication that highlights the extensive developments since 2004 is in +preparation. + \subsection{About this tutorial } This tutorial is written in a manual format with short exercises where -appropriate, typically at the end of each section. The first chapter concerns the +appropriate, typically at the end of each section. This chapter concerns the basic operation of Jalview and should be sufficient for those who just want to -open an alignment, perform basic editing and colouring, and produce publication -and presentation quality graphical output. +load Jalview (Section \ref{startingjv}), open an alignment (Section \ref{loadingseqs}), perform basic editing and colouring (Section \ref{selectingandediting} and Section \ref{colours}), and produce publication +and presentation quality graphical output (Section \ref{layoutandoutput}). -The second chapter covers analysis in Jalview, sequence alignment and -visualisation of external features and structural data. +Chapter \ref{analysisannotation} covers the additional visualization and analysis techniques that Jalview provides. This includes working with the embedded PDB structure viewer, building and viewing trees and PCA plots, and using trees for sequence conservation analysis. The use of the Jalview webservices for alignment and secondary structure prediction is described in Section \ref{jvwebservices}. Following this, Section \ref{featannot} details the creation and visualization of sequence and alignment annotation, and the retrieval of sequences and annotation from databases and DAS Servers. Finally, Section \ref{workingwithnuc} discusses specific features of use when working with nucleic acid sequences and protein coding regions. -The third chapter covers the detail of Jalview and is aimed at the user who is -already familiar with Jalview operation but wants to get more out of their -Jalview experience. +%^Chapter \ref{jalviewadvanced} The third chapter covers the detail^ of Jalview and is aimed at the user who is +%already familiar with Jalview operation but wants to get more out of their +%Jalview experience. \subsubsection{Typographic Conventions} -Keystrokes using the special non-symbol keys are represented in the tutorial by enclosing the pressed keys with square brackets ({\em e.g.} [RETURN] or [CTRL]). Keystroke combinations are combined with a '-' symbol ({\em e.g.} [CTRL]-C means press [CTRL] and the 'C' key). Menu options are given as a path from the menu that contains them - for example {\sl File $\Rightarrow$ Input Alignment $\Rightarrow$ From URL} means to select the 'From URL' option from the 'Input Alignment' submenu of a window's 'File' dropdown menu. +Keystrokes using the special non-symbol keys are represented in the tutorial by enclosing the pressed keys with square brackets ({\em e.g.} [RETURN] or [CTRL]). Keystroke combinations are combined with a `-' symbol ({\em e.g.} [CTRL]-C means press [CTRL] and the `C' key). Menu options are given as a path from the menu that contains them - for example {\sl File $\Rightarrow$ Input Alignment $\Rightarrow$ From URL} means to select the `From URL' option from the `Input Alignment' submenu of a window's `File' dropdown menu. \section{Obtaining and starting The Jalview Desktop Application} +\label{startingjv} \begin{figure}[htbp] \begin{center} \includegraphics[width=4.5in]{images/download.pdf} @@ -132,8 +208,7 @@ Keystrokes using the special non-symbol keys are represented in the tutorial by This tutorial is based on the application version of Jalview, the Jalview Desktop. Much of the information will also be useful for users of the JalviewLite -applet. This version of Jalview 2 is designed to be launched from web pages, but -has the same core editing, analysis and visualization capabilities (see the +applet, which has the same core editing, analysis and visualization capabilities (see the \href{http://www.jalview.org/examples/applets.html}{JalviewLite Applet Examples} page for examples). The Jalview Desktop, however, is much more powerful, and includes additional support for interaction with external web services, and @@ -145,13 +220,13 @@ versions are obtained from the Download page at the the Jalview web site (http://www.jalview.org/). Jalview can be started directly with webstart by navigating to the Download page -(via the menu on the left hand side), and clicking the 'Start with Java Webstart' -button. (figure \ref{download}). This will always launch the latest stable +(via the menu on the left hand side), and clicking the `Start with Java Webstart' +button. (Figure \ref{download}). This will always launch the latest stable release of Jalview.\par The application will start automatically though you may be prompted to accept a -security certificate signed by the Barton Group. You can trust us so click trust -or accept as appropriate. The splash screen (figure \ref{splash}) gives +security certificate signed by the Barton Group. You can always trust us, so click trust +or accept as appropriate. The splash screen (Figure \ref{splash}) gives information about the latest version and the paper to cite in your publications. This information is also available on the Jalview web site and from the {\sl Help $\Rightarrow$ About} menu option. @@ -166,8 +241,7 @@ $\Rightarrow$ About} menu option. \end{center} \end{figure} When Jalview starts it will automatically load an example alignment from the -Jalview site. Later in the tutorial we will discover how to alter this behaviour. -This alignment looks like figure \ref{startpage}. +Jalview site. This behaviour can be changed in the Jalview Desktop preferences dialog opened from the Desktop's {\sl Tools $\Rightarrow$ Preferences..} menu. This alignment looks like Figure \ref{startpage}. %[figure 3 ] \begin{figure}[htbp] @@ -181,12 +255,12 @@ This alignment looks like figure \ref{startpage}. \exercise{Starting Jalview}{ \label{start} -\exstep{Point your web browser at the \href{http://www.jalview.org}{Jalview web site} and start Jalview by clicking on the 'Start with Java WebStart' button.} } +\exstep{Point your web browser at the \href{http://www.jalview.org}{Jalview web site} and start Jalview by clicking on the `Start with Java WebStart' button.} } \subsection{Getting Help} - +\label{gettinghelp} \subsubsection{Built in documentation} -Jalview has comprehensive on-line help documentation. Select {\sl Help $\Rightarrow$ Documentation} from the main window menu and a new window will open (Figure \ref{help}). The appropriate topic can then be selected from the navigation panel on the left hand side. To search for a specific topic, click the 'search' tab and enter keywords in the box which appears. +Jalview has comprehensive on-line help documentation. Select {\sl Help $\Rightarrow$ Documentation} from the main window menu and a new window will open (Figure \ref{help}). The appropriate topic can then be selected from the navigation panel on the left hand side. To search for a specific topic, click the `search' tab and enter keywords in the box which appears. \begin{figure}[htbp] @@ -200,8 +274,9 @@ Jalview has comprehensive on-line help documentation. Select {\sl Help $\Righta \subsubsection{Email lists} -The Jalview Discussion list {\tt jalview-discuss@jalview.org} provides a forum for Jalview users and developers to raise problems and exchange ideas. The Jalview developers may also be contacted directly in the case of specific bugs, feature requests and so on via the email address {\tt help@jalview.org}. Finally, the {\tt jalview-announce@jalview.org} list can be subscribed to if you wish to be kept informed of new releases and developments. Archives and mailing list subscription details can be found on the Jalview web site. +The Jalview Discussion list {\tt jalview-discuss@jalview.org} provides a forum for Jalview users and developers to raise problems and exchange ideas - any problems, bugs, and requests for help should be raised here. The {\tt jalview-announce@jalview.org} list can also be subscribed to if you wish to be kept informed of new releases and developments. Archives and mailing list subscription details can be found on the Jalview web site. \section{Navigation} +\lavel{jvnavigation} The major features of the Jalview Desktop are illustrated in Figure \ref{anatomy}. The alignment window is the primary window for editing and visualization, and can contain several independent views of the alignment being worked with. The other windows (Trees, Structures, PCA plots, etc) are linked to a specific alignment view. Each area of the alignment window has a separate context menu accessed by clicking the right mouse button. Jalview has two navigation and editing modes: normal mode, where editing and navigation is performed using the mouse, and cursor mode where editing and navigation are performed using the keyboard. The F2 key is used to switch between these two modes. @@ -216,7 +291,7 @@ The major features of the Jalview Desktop are illustrated in Figure \ref{anatomy \end{figure} \subsection{Navigation in Normal mode} - Jalview always starts up in Normal mode, where the mouse is used to interact with the displayed alignment view. You can move about the alignment by clicking and dragging the ruler scroll bar to move horizontally, or by clicking and dragging the alignment scroll bar to the right of the alignment to move vertically. If all the rows or columns in the alignment are displayed, the scroll bars will not be visible. Each alignment view shown in the alignment window presents a window onto the visible regions of the alignment. This means that with anything more than a few residues or sequences, alignments can become difficult to visualise on the screen because only a small area can be shown at a time. It can help, especially when examining a large alignment, to have an overview of the whole alignment. Select {\sl View $\Rightarrow$ Overview Window} from the window menu (Figure \ref{overview}). %(figure 4) + Jalview always starts up in Normal mode, where the mouse is used to interact with the displayed alignment view. You can move about the alignment by clicking and dragging the ruler scroll bar to move horizontally, or by clicking and dragging the alignment scroll bar to the right of the alignment to move vertically. If all the rows or columns in the alignment are displayed, the scroll bars will not be visible. Each alignment view shown in the alignment window presents a window onto the visible regions of the alignment. This means that with anything more than a few residues or sequences, alignments can become difficult to visualize on the screen because only a small area can be shown at a time. It can help, especially when examining a large alignment, to have an overview of the whole alignment. Select {\sl View $\Rightarrow$ Overview Window} from the window menu (Figure \ref{overview}). %(Figure4) \begin{figure}[htbp] \begin{center} \includegraphics[width=4.5in]{images/overview.pdf} @@ -224,12 +299,12 @@ The major features of the Jalview Desktop are illustrated in Figure \ref{anatomy \label{overview} \end{center} \end{figure} - The red box in the overview window shows the current view in the alignment window. A percent identity histogram is plotted below the alignment overview. Shaded parts indicate rows and columns of the alignment that are hidden (in this case, a single row at the bottom of the alignment). You can navigate around the alignment by dragging the red box. %Try this now and see how the view in the alignment window changes. \parbox[c]{3in}{Alignment and analysis windows are closed by clicking on the usual 'close' icon (indicated by arrows on Mac OS X). If you want to close all the alignments and analysis windows at once, then use the {\sl Window $\Rightarrow$ Close All} option from the Jalview desktop (\em{warning: make sure you have saved your work because this cannot be undone !}). } + The red box in the overview window shows the current view in the alignment window. A percent identity histogram is plotted below the alignment overview. Shaded parts indicate rows and columns of the alignment that are hidden (in this case, a single row at the bottom of the alignment - see Section \ref{hidingregions}). You can navigate around the alignment by dragging the red box. %Try this now and see how the view in the alignment window changes. \parbox[c]{3in}{Alignment and analysis windows are closed by clicking on the usual `close' icon (indicated by arrows on Mac OS X). If you want to close all the alignments and analysis windows at once, then use the {\sl Window $\Rightarrow$ Close All} option from the Jalview desktop (\em{warning: make sure you have saved your work because this cannot be undone !}). } \parbox[c]{3in}{\centerline{\includegraphics[width=2.5in]{images/start_closeall.pdf} }} \subsection{Navigation in Cursor mode} - +\label{cursormode} \parbox[c]{5in}{Cursor mode navigation enables the experienced user to quickly and precisely navigate, select and edit parts of an alignment. On pressing F2 to enter cursor mode the position of the cursor is indicated by a black background and white text. The cursor can be placed using the mouse or moved by pressing the arrow keys ($\uparrow$, $\downarrow$, $\leftarrow$, $\rightarrow$). }\parbox[c]{1.25in}{\centerline{\includegraphics[width=0.8in]{images/cursor1.pdf}}} @@ -251,10 +326,16 @@ Rapid movement to specific positions is accomplished as listed below: Move to sequence 7 by pressing {\sl 7 S}. Move to column 18 by pressing {\sl 1 8 C}. Move to residue 18 by pressing {\sl 1 8 P}. Note that these can be two different positions if gaps are inserted into the sequence. Move to sequence 5, column 13 by typing {\sl 1 3 , 5 [RETURN]}. } } - \section{Loading your own sequences} Jalview provides many ways to load your own sequences. %For this section of the tutorial you will need to download the file http://www.jalview.org/tutorial/alignment.fa to a suitable location on your hard drive. \subsection{Drag and Drop} In some operating systems (Mac OS X, Windows XP) you can just drag a file icon from a file browser window and drop it on an open Jalview application window. The file will then be opened as a new alignment window. %You can try this with the tutorial file you have downloaded. When you have opened the file, close it again by selecting the close control on the window. If you drop an alignment file onto an open alignment window it will be appended to that alignment. % (Figure \ref{drag}) +\subsection{The Find Dialog Box} +\label{searchfunction} +A further option for navigation is to use the {\sl Select $\Rightarrow$ Find\ldots} function. This opens a dialog box into which can be entered regular expressions for searching sequences and sequence IDs, or sequence numbers. Hitting the [Find next] button will highlight the first (or next) occurence of that pattern in the sequence ID panel or the alignemnt, and will adjust the view in order to display the highlighted region. The Jalview help provides comprehensive documentation for this function, and a quick guide to the regular expressions that can be used with it. + +%TODO insert a figure for the Find dialog box + + \section{Loading your own sequences} \label{loadingseqs} Jalview provides many ways to load your own sequences. %For this section of the tutorial you will need to download the file http://www.jalview.org/tutorial/alignment.fa to a suitable location on your hard drive. \subsection{Drag and Drop} In some operating systems (Mac OS X, Windows XP) you can just drag a file icon from a file browser window and drop it on an open Jalview application window. The file will then be opened as a new alignment window. %You can try this with the tutorial file you have downloaded. When you have opened the file, close it again by selecting the close control on the window. If you drop an alignment file onto an open alignment window it will be appended to that alignment. % (Figure \ref{drag}) % %[fig 5] % \begin{figure}[htbp] % \begin{center} % \includegraphics[width=2in]{images/drag2.pdf} % \includegraphics[width=2in]{images/drag3.pdf} % \caption{{\bf An alignment can be opened by dragging the file onto the Jalview window. }} % \label{drag} % \end{center} % \end{figure} % % %\includegraphics[width=2in]{images/drag1.pdf} - \subsection{From a File} Jalview can read sequence alignments from a sequence alignment file. This is a text file, not a word processor document. For entering sequences from a wordprocessor document see Cut and Paste (section \ref{cutpaste}) below. Select {\sl File $\Rightarrow$ Input Alignment $\Rightarrow$ From File} from the main menu (Figure \ref{loadfile}). You will then get a file selection window where you can choose the file to open. Remember to select the appropriate file type. Jalview can automatically identify some sequence file formats. %[fig 6] \begin{figure}[htbp] + \subsection{From a File} Jalview can read sequence alignments from a sequence alignment file. This is a text file, not a word processor document. For entering sequences from a wordprocessor document see Cut and Paste (Section \ref{cutpaste}) below. Select {\sl File $\Rightarrow$ Input Alignment $\Rightarrow$ From File} from the main menu (Figure \ref{loadfile}). You will then get a file selection window where you can choose the file to open. Remember to select the appropriate file type. Jalview can automatically identify some sequence file formats. %[fig 6] \begin{figure}[htbp] \begin{center} \includegraphics[width=2in]{images/loadfilebox.pdf} %\includegraphics[width=2in]{images/loadfilebox2.pdf} @@ -263,7 +344,7 @@ Move to sequence 7 by pressing {\sl 7 S}. Move to column 18 by pressing {\sl 1 8 \label{loadfile} \end{center} \end{figure} - \subsection{From a URL} Jalview can read sequence alignments directly from a URL. Please note that the files must be in a sequence alignment format - a pretty HTML alignment or graphics file cannot be read by Jalview. Select {\sl File $\Rightarrow$ Input Alignment $\Rightarrow$ From URL} from the main menu and a window will appear asking you to enter the URL (figure \ref{loadurl}). Jalview will attempt to automatically discover the file format. %[fig 7] + \subsection{From a URL} Jalview can read sequence alignments directly from a URL. Please note that the files must be in a sequence alignment format - a pretty HTML alignment or graphics file cannot be read by Jalview. Select {\sl File $\Rightarrow$ Input Alignment $\Rightarrow$ From URL} from the main menu and a window will appear asking you to enter the URL (Figure\ref{loadurl}). Jalview will attempt to automatically discover the file format. %[fig 7] \begin{figure}[htbp] \begin{center} \includegraphics[width=2in]{images/menuloadurl.pdf} @@ -293,6 +374,7 @@ Select {\sl File $\Rightarrow$ Fetch Sequence(s) \ldots} from the main menu and \label{loadseq} \end{center} \end{figure} + \exercise{Loading sequences}{ \label{load} @@ -309,9 +391,35 @@ Select {\sl File $\Rightarrow$ Fetch Sequence(s).. } from the main menu. Select } \exstep{Open the URL \textsf{http://www.jalview.org/tutorial/alignment.fa} in a web browser. Select and copy the entire text to the clipboard (usually via the browser's {\sl Edit $\Rightarrow$ Copy} menu option). Ensure Jalview is running and select {\sl File $\Rightarrow$ Input Alignment $\Rightarrow$ From Textbox} . Paste the clipboard into the large window using the {\sl Edit $\Rightarrow$ Paste} text box menu option. Click {\sl Close} and the alignment will be loaded. } -} \section{Writing sequence alignments} \subsection{Saving the alignment} Jalview allows the current sequence alignments to be saved to file so they can be restored at a later date, passed to colleagues or analysed in other programs. From the alignment window menu select {\sl File $\Rightarrow$ Save As} and a dialog box will appear (Figure \ref{savealign}). You can navigate to an appropriate directory in which to save the alignment. Jalview will remember the last filename and format used to save (or load) the alignment, enabling you to quickly update the file after editing by using the {\sl File $\Rightarrow$ Save} entry. +} -Jalview offers several different formats in which an alignment can be saved. The jalview format is the only one which will preserve the colours, groupings and similar information in the alignment. The other formats produce text files containing just the sequences with no visualisation information, although some allow limited annotation and sequence features to be stored (e.g. AMSA). Unfortunately only Jalview can read Jalview files. The {\sl File $\Rightarrow$ Output To Textbox} menu option allows the alignment to be copied and pasted into other documents or web servers. +\subsection{Memory Limits} +\label{memorylimits} +Jalview is a Java program. One unfortunate implication of this is that it does +not allow Jalview to dynamically request additional memory from the operating +system. It is important, therefore, that you ensure that you have allocated +enough memory to work with your data. On most occasions, Jalview will warn you +when you have tried to load an alignment that is too big to fit in to memory (for +instance, some of the PFAM alignments are {\bf very} large). You can find out how +much memory is available to Jalview with the desktop window's {\sl $\Rightarrow$ +Tools $\Rightarrow$ Show Memory Usage} function, which enables the display of the +currently available memory at the bottom left hand side of the Desktop window's +background. Should you need to increase the amount of memory available to +Jalview, full instructions are given in both the built in documentation and on +the JVM memory parameters page (http://www.jalview.org/jvmmemoryparams.html) on +the website. + + \section{Writing sequence alignments} +\label{savingalignments} \subsection{Saving the alignment} Jalview allows the +current sequence alignments to be saved to file so they can be restored at a +later date, passed to colleagues or analysed in other programs. From the +alignment window menu select {\sl File $\Rightarrow$ Save As} and a dialog box +will appear (Figure \ref{savealign}). You can navigate to an appropriate +directory in which to save the alignment. Jalview will remember the last filename +and format used to save (or load) the alignment, enabling you to quickly update +the file after editing by using the {\sl File $\Rightarrow$ Save} entry. + +Jalview offers several different formats in which an alignment can be saved. The jalview format is the only one which will preserve the colours, groupings and similar information in the alignment. The other formats produce text files containing just the sequences with no visualization information, although some allow limited annotation and sequence features to be stored (e.g. AMSA). Unfortunately only Jalview can read Jalview files. The {\sl File $\Rightarrow$ Output To Textbox} menu option allows the alignment to be copied and pasted into other documents or web servers. %[fig 10] \begin{figure}[htbp] \begin{center} @@ -326,7 +434,9 @@ Jalview offers several different formats in which an alignment can be saved. The \end{center} \end{figure} -\subsection{Jalview Projects} \parbox[c]{4in}{If you wish to save the complete Jalview session rather than just one alignment (e.g. because you have calculated trees or multiple different alignments) then your work should be saved as a Jalview Project file. From the main menu select {\sl File $\Rightarrow$ Save Project} and a file save dialog box will appear. Loading a project will restore Jalview to exactly the view at which the file was saved, complete with all alignments, trees, annotation and displayed structures rendered appropriately.} +\subsection{Jalview Projects} \parbox[c]{4in}{If you wish to save the complete Jalview session rather than just one alignment (e.g. because you have calculated trees or multiple different alignments) then your work should be saved as a Jalview Project file\footnote{Tip: Ensure that you have allocated plenty of memory to Jalview when working with large alignments in Jalview projects. See Section \protect \ref{memorylimits} above for how to do this.}. +From the main menu select {\sl File $\Rightarrow$ Save Project} and a file save dialog box will appear. Loading a project will restore Jalview to exactly the view at which the file was saved, complete with all alignments, trees, annotation and displayed structures rendered appropriately. +} \parbox[c]{2in}{ \centerline { \includegraphics[width=1.5in]{images/saveproj.pdf} @@ -345,7 +455,8 @@ Select {\sl File $\Rightarrow$ Save As} from the alignment window menu. Choose a \exstep{Ensure at least one alignment window is shown in Jalview. Open the overview window and scroll to any part of the alignment. Select {\sl File $\Rightarrow$ Save Project} from the main menu and save in a suitable place. Close all windows and then load the project via the {\sl File $\Rightarrow$ Save Project} menu option. Note how all the windows and positions are exactly as they were when they were saved. } } - \section{Selecting and editing sequences} Jalview makes extensive use of selections which are arbitrary regions in an alignment. This section illustrates how to make and use selections and groups. + \section{Selecting and editing sequences} +\label{selectingandediting} Jalview makes extensive use of selections which are arbitrary regions in an alignment. This section illustrates how to make and use selections and groups. \subsection{Selecting parts of an alignment} Selections can be of arbitrary regions in an alignment, one or more complete columns, or one or more complete sequences. @@ -363,12 +474,12 @@ To clear (unselect) the selection press the [ESC] (escape) key. \end{center} \end{figure} -\subsubsection{Selecting columns} To select the same residues in all sequences, click and drag along the alignment ruler. This selects the entire height of the alignment. Ranges of positions can also be selected by clicking on the first position then holding down the [SHIFT] key whilst clicking the other end of the selection. Discontinuous regions can be selected by holding down [CTRL] and clicking on positions to add to the selection. Selected columns are indicated by red highlighting in the ruler bar (Figure \ref{selectcols}). %[fig 13] +\subsubsection{Selecting columns} To select the same residues in all sequences, click and drag along the alignment ruler. This selects the entire height of the alignment. Ranges of positions can also be selected by clicking on the first position then holding down the [SHIFT] key whilst clicking the other end of the selection. Discontinuous regions can be selected by holding down [CTRL] and clicking on positions to add to the column selection. Note that each [CTRL]-Click changes the current selected sequence region to that column, but adds to the column selection. Selected columns are indicated by red highlighting in the ruler bar (Figure \ref{selectcols}). %[fig 13] \begin{figure}[htbp] \begin{center} \includegraphics[width=4in]{images/select2.pdf} -\caption{{\bf Selecting multiple columns in an alignment}} +\caption{{\bf Selecting multiple columns in an alignment.} The red highlightign on the alignment ruler marks the selected columns. Note that only the most recently selected column has a dashed-box around it to indicate a region selection. } \label{selectcols} \end{center} \end{figure} @@ -378,11 +489,11 @@ To clear (unselect) the selection press the [ESC] (escape) key. \begin{figure}[htb] \begin{center} \includegraphics[width=4in]{images/select3.pdf} -\caption{{\bf Selecting multiple sequences in an alignment}} +\caption{{\bf Selecting multiple sequences in an alignment.} Use [CTRL] or [SHIFT] to select many sequences at once.} \label{selectrows} \end{center} \end{figure} - To select multiple complete sequences, click and drag the mouse along the sequence ID panel. Multiple sequences will be selected. The same technique as used for columns above can be used with SHIFT-Click and CTRL-Click to select discontinuous ranges of sequences (Figure \ref{selectrows}). %[fig 14] + To select multiple complete sequences, click and drag the mouse along the sequence ID panel. Multiple sequences will be selected. The same technique as used for columns above can be used with [SHIFT]-Click for continuous and [CTRL]-Click to select discontinuous ranges of sequences (Figure \ref{selectrows}). %[fig 14] \subsubsection{Making selections in Cursor mode} @@ -403,7 +514,7 @@ Navigate to the bottom right corner of the proposed selection and press the [M] \subsubsection{Inverting the current selection} -The current sequence or column selection can be inverted, using {\tr Select $\Rightarrow$ Invert {\bf Sequence/Column} Selection} in the Alignment window. Inverting the selection is particularly useful when hiding regions in a large alignment (see section \ref{hidecol} below). Instead of selecting the columns and rows that are to be hidden, simply select the region that is to be kept visible, and then invert the selection. +The current sequence or column selection can be inverted, using {\tr Select $\Rightarrow$ Invert {\bf Sequence/Column} Selection} in the Alignment window. Inverting the selection is particularly useful when hiding regions in a large alignment (see Section \ref{hidecol} below). Instead of selecting the columns and rows that are to be hidden, simply select the region that is to be kept visible, and then invert the selection. \subsection{Creating groups} Selections are lost as soon as a different region is selected. Groups can be created which are labeled regions of the alignment. To create a group, first select the region which is to comprise the group. Then click the right mouse button on the selection to bring up a context menu. Select {\sl Selection $\Rightarrow$ Group $\Rightarrow$ Group} then enter a name for the group in the dialogue box which appears. \begin{figure}[htbp] @@ -415,7 +526,7 @@ The current sequence or column selection can be inverted, using {\tr Select $\R \end{center} \end{figure} -By default the new group will have a box drawn around it. The appearance of the group can be changed (see section \ref{colours} below). This group will stay defined even when the selection is removed. +By default the new group will have a box drawn around it. The appearance of the group can be changed (see Section \ref{colours} below). This group will stay defined even when the selection is removed. \subsection{Exporting the current selection} @@ -424,7 +535,7 @@ The current selection can be copied to the system clipboard (in PFAM format). It \exercise{Making selections and groups}{ \label{exselect} -\exstep{Close all windows in Jalview and load the ferrodoxin alignment (PFAM ID PF03460). Choose a residue and place the mouse cursor on it. Click and drag the mouse cursor to create a selection. As you drag, a red box will 'rubber band' out to show the extent of the selection. Release the mouse button and a red box should border the selected region. Now press [ESC] to clear the selection.} +\exstep{Close all windows in Jalview and load the ferrodoxin alignment (PFAM ID PF03460). Choose a residue and place the mouse cursor on it. Click and drag the mouse cursor to create a selection. As you drag, a red box will `rubber band' out to show the extent of the selection. Release the mouse button and a red box should border the selected region. Now press [ESC] to clear the selection.} \exstep{ Select one sequence by clicking on the id panel. Note that the sequence ID takes on a highlighted background and a red box appears around the selected sequence. Now hold down [SHIFT] and click another sequence ID a few positions above or below. Note how the selection expands to include all the sequences between the two positions on which you clicked. Now hold down [CTRL] and click on several sequences ID's both selected and unselected. Note how unselected IDs are individually added to the selection and previously selected IDs are individually deselected. @@ -434,8 +545,8 @@ Now hold down [CTRL] and click on several sequences ID's both selected and unsel \exstep{Press [F2] to enter Cursor mode. Navigate to column 59, row 1 by pressing {\sl 5 9 , 1 [RETURN]}. Press {\sl Q} to mark this position. Now navigate to column 65, row 8 by pressing {\sl 6 5 , 8 [RETURN]}. Press {\sl M} to complete the selection.} \exstep{ \label{exselectgrpcolour} -Open the popup menu by right-clicking the selected region with the mouse. Open the {\sl Selection $\Rightarrow$ Group $\Rightarrow$ Group Colour } menu and select 'Percentage Identity'. This will turn the selected region into a group. } -\exstep{Hold down [CTRL] and use the mouse to select and deselect sequences by clicking on their Sequence ID label. Note how the group expands to include newly selected sequences, and the 'Percentage Identity' colouring changes. } +Open the popup menu by right-clicking the selected region with the mouse. Open the {\sl Selection $\Rightarrow$ Group $\Rightarrow$ Group Colour } menu and select `Percentage Identity'. This will turn the selected region into a group. } +\exstep{Hold down [CTRL] and use the mouse to select and deselect sequences by clicking on their Sequence ID label. Note how the group expands to include newly selected sequences, and the `Percentage Identity' colouring changes. } \exstep{ Use the mouse to click and drag the right-hand edge of the selected group. Note again how the group resizes.} @@ -464,7 +575,7 @@ Right click on the text area to open the selection popup-menu. Follow the menus \subsection{Hiding regions} - +\label{hidingregions} It is sometimes convenient to exclude some sequences or residues in the alignment without actually deleting them. Jalview allows sequences or alignment columns within a view to be hidden, and this facility has been used to create several different views of the example alignment in the file that is loaded when Jalview is first started (See Figure \ref{startpage}). To hide a set of sequences, select them and right-click the mouse on the selected sequence IDs to bring up the context menu. Select {\sl Hide Sequences} and the sequences will be concealed, with a small triangle indicating their position (Figure \ref{hideseq}). To unhide (reveal) the sequences, right click on the triangle and select {\sl Reveal Sequences} from the context menu. @@ -482,7 +593,7 @@ To hide a set of sequences, select them and right-click the mouse on the selecte -A similar mechanism applies to columns (Figure \ref{hidecol}). Selected columns (indicated by a red marker) can be hidden and revealed in the same way via the context menu (right click) on the ruler bar. The hidden selection is indicated by a blue triangle in the ruler bar. +A similar mechanism applies to columns (Figure \ref{hidecol}). Selected columns (indicated by a red marker) can be hidden and revealed in the same way via the context menu (right click) on the ruler bar. The hidden column selection is indicated by a blue triangle in the ruler bar. \begin{figure}[htbp] \begin{center} @@ -496,7 +607,7 @@ A similar mechanism applies to columns (Figure \ref{hidecol}). Selected columns \subsubsection{Representing a group with a single sequence} -Instead of hiding a group completely, it is sometimes useful to work with just one representative sequence. The {\sl $\Rightarrow$ Represent group with } option from the sequence ID pop-up menu enables this variant of the hidden groups function. The remaining representative sequence can be visualized and manipulated like any other. However, any alignment edits that affect the sequence will also affect the whole sequence group. +Instead of hiding a group completely, it is sometimes useful to work with just one representative sequence. The {\sl $<$Sequence ID$>$ $\Rightarrow$ Represent group with $<$Sequence ID$>$ } option from the sequence ID pop-up menu enables this variant of the hidden groups function. The remaining representative sequence can be visualized and manipulated like any other. However, any alignment edits that affect the sequence will also affect the whole sequence group. \exercise{Hiding and revealing regions}{ \exstep{Close all windows then open the PFAM accession PF03460. Select a contiguous set of sequences by clicking and dragging on the sequence ID panel. Right click on the selected sequence IDs and select {\sl Hide Sequences}. @@ -509,7 +620,7 @@ Repeat but using a non-contiguous set of sequences. Note that when multiple regi } \exstep{Repeat the above but hiding and revealing columns instead of sequences. } -\exstep{Select some sequences and pick one to represent the rest. Bring up the sequence ID pop-up menu for that sequence and select the {\sl Represent group with } option. Use the pop-up menu again to reveal the hidden sequences that you just picked a representative for.} +\exstep{Select some sequences and pick one to represent the rest. Bring up the sequence ID pop-up menu for that sequence and select the {\sl Represent group with $<$Sequence ID$>$ } option. Use the pop-up menu again to reveal the hidden sequences that you just picked a representative for.} } @@ -517,13 +628,17 @@ Repeat but using a non-contiguous set of sequences. Note that when multiple regi \subsection{Introducing and removing gaps} -Jalview provides interactive editing, allowing sequences to be dragged to create gaps. +The alignment view provides an interactive editing interface, allowing gaps to be inserted or deleted to the left of any position in a sequence or sequence group. Alignment editing can only be performed whilst in keyboard editing mode (entered by pressing [F2]) or by clicking and dragging residues with the mouse when [SHIFT] or [CTRL] is held down (which differs from earlier versions of Jalview). + +\subsubsection{Locked Editing} +\label{lockededits} +The Jalview alignment editing model is different to that used in other alignment editors. Because edits are restricted to the insertion and deletion of gaps to the left of a particular sequence position, editing has the effect of shiting the rest of the sequence(s) being edited down or up-stream with respect to the rest of alignment. The {\sl Edit $\Rightarrow$ Pad Gaps} option can be enabled to eliminate `ragged edges' at the end of the alignment, but does not avoid the `knock-on' effect which is sometimes undesirable. However, its effect can be limited by performing the edit within a selected region. In this case, gaps will only be removed or inserted within the selected region. Edits are similarly constrained when they occur adjacent to a hidden column. \subsubsection{Introducing gaps in a single sequence} To introduce a gap, place the cursor on the residue to the immediate right of where the gap should appear. Hold down the SHIFT key and the left mouse button, then drag the sequence to the right till the required number of gaps has been inserted. -One common error is to forget to hold down [SHIFT]. This results in a selection which is one sequence high and one residue long. Gaps cannot be inserted in such a selection. The selection can be cleared and editing enabled by pressing the [SHIFT] key. +One common error is to forget to hold down [SHIFT]. This results in a selection which is one sequence high and one residue long. Gaps cannot be inserted in such a selection. The selection can be cleared and editing enabled by pressing the [ESC] key. \begin{figure}[htb] \begin{center} @@ -550,12 +665,8 @@ To insert gaps in all sequences in a selection or group, place the mouse cursor Gaps can be removed by dragging the residue to the immediate right of the gap leftwards whilst holding down [SHIFT] (for single sequences) or [CTRL] (for a group of sequences). \subsubsection{Sliding Sequences} -Pressing the [$\Leftarrow$] or [$\Rightarrow$] when one or more sequences are selected will ``slide'' the selected sequences to the left or right (respectively). +Pressing the [$\leftarrow$] or [$\rightarrow$] arrow keys when one or more sequences are selected will ``slide'' the selected sequences to the left or right (respectively). -\subsubsection{Locked Editing} -\label{lockededits} -Normally, when a gap is inserted or removed in the alignment, the whole row is affected. However, if the edit is performed within a selected region, gaps will only be removed or inserted within the selected region. Edits are similarly constrained when they occur adjacent to a hidden column. - \subsubsection{Undoing edits} Jalview supports the undoing of edits via the {\sl Edit $\Rightarrow$ Undo Edit} alignment window menu option. Each editing action is stored and can be reversed in sequence. Colouring of the alignment is not reversible via the {\sl Undo} option. @@ -623,7 +734,7 @@ edits you have made} \subsubsection{Editing in Cursor mode} -Gaps can be inserted in cursor mode by pressing [SPACE]. Gaps will be inserted at the cursor, pushing the residue under the cursor to the right. To insert {\sl n} gaps type {\sl n} and then press [SPACE]. To insert gaps into all sequences of a group, use [CTRL]-[SPACE] or [SHIFT]-[SPACE] (both keys held down together). +Gaps can be be easily inserted when in cursor mode (toggled with [F2]) by pressing [SPACE]. Gaps will be inserted at the cursor, pushing the residue under the cursor to the right. To insert {\sl n} gaps type {\sl n} and then press [SPACE]. To insert gaps into all sequences of a group, use [CTRL]-[SPACE] or [SHIFT]-[SPACE] (both keys held down together). Gaps can be removed in cursor mode by pressing [BACKSPACE]. The gap under the cursor will be removed. To remove {\sl n} gaps, type {\sl n} and then press [BACKSPACE]. Gaps will be deleted up to the number specified. To delete gaps from all sequences of a group, use [CTRL]-[BACKSPACE] or [SHIFT]-[BACKSPACE] (both keys held down together). @@ -641,11 +752,15 @@ Now, enter cursor mode by pressing [F2]} \section{Colouring sequences} \label{colours} -Colouring sequences is a key aspect of alignment presentation. Jalview allows both for colouring of the whole alignment and colouring of selections/groups. There are two main types of colouring styles: simple static residue colourschemes, dynamic schemes which use conservation and consensus analysis to control colouring. A hybrid colouring is also possible, where static residue schemes are modified using a dynamic scheme. The individual schemes are described in section \ref{colscheme} below. +Colouring sequences is a key aspect of alignment presentation. Jalview allows both for colouring of the whole alignment and colouring of selections/groups. + +Under the Jalview 2 display model, all alignment colour schemes are rendered {\sl below} any colours arising from sequence features (which are described in Section \ref{featannot}). Feature display is toggled with {\sl View $\Rightarrow$ Show Features} option. + +There are two main types of colouring styles: simple static residue colourschemes and dynamic schemes which use conservation and consensus analysis to control colouring. A hybrid colouring is also possible, where static residue schemes are modified using a dynamic scheme. The individual schemes are described in Section \ref{colscheme} below. \subsection{Colouring the whole alignment} -\parbox[c]{3.75in}{The alignment can be coloured via the {\sl Colour} menu option in the alignment window. Selecting the colour scheme causes all residues to be coloured. The menu is divided into two three sections. The first section gives options for the behaviour of the menu options, the second lists static and dynamic colourschemes available for selection, and the last gives options for making hybrid colourschemes using conservation shading or colourscheme thresholding. +\parbox[c]{3.75in}{The alignment can be coloured via the {\sl Colour} menu option in the alignment window. Selecting the colour scheme causes all residues to be coloured. The menu is divided into three sections. The first section gives options for the behaviour of the menu options, the second lists static and dynamic colourschemes available for selection. The last gives options for making hybrid colourschemes using conservation shading or colourscheme thresholding. }\parbox[c]{3in}{ \centerline { @@ -655,7 +770,7 @@ Colouring sequences is a key aspect of alignment presentation. Jalview allows bo \subsection{Colouring a group or selection} -Selections or groups can be coloured via two ways. The first is via the alignment Colour menu but ensuring that the Apply to all groups flag is not selected. This will have to be turned off specifically as it is on by default. +Selections or groups can be coloured in two ways. The first is via the Alignment Window's {\sl Colour} menu, after first ensuring that the Apply to all groups flag is not selected. This must be turned off specifically as it is on by default. The second method is to use the {\sl Selection $\Rightarrow$ Group $\Rightarrow$ Group Colour} context menu option obtained by right clicking on the group (Figure \ref{colgrp}). @@ -668,7 +783,7 @@ The second method is to use the {\sl Selection $\Rightarrow$ Group $\Rightarrow \end{figure} \subsection{Shading by conservation} -For many colour schemes, the intensity of the colour in a column can be scaled by the degree of amino acid property conservation. Selecting {\sl Colour $\Rightarrow$ By Conservation} brings up a selection box (the {\sl Conservation Threshold dialog box}) allowing the alignment colouring to be modified. Selecting a higher value limits colouring to higher conserved groups (Figure \ref{colcons}). +For many colour schemes, the intensity of the colour in a column can be scaled by the degree of amino acid property conservation. Selecting {\sl Colour $\Rightarrow$ By Conservation} brings up a selection box (the {\sl Conservation Threshold dialog box}) allowing the alignment colouring to be modified. Selecting a higher value limits colouring to more highly conserved columns (Figure \ref{colcons}). \begin{figure}[htbp] \begin{center} @@ -687,7 +802,7 @@ For many colour schemes, the intensity of the colour in a column can be scaled b \subsection{Colouring by Annotation} \parbox[c]{3in}{ -Any of the quantitative annotation on an alignment can be used to threshold or shade the whole alignment. The {\sl Colour $\Rightarrow$ By Annotation} options opens a dialog which allows you to select which annotation to use, the minimum and maximum shading colours or whether an existing colouring is to be thresholded. +Any of the quantitative annotations shown on an alignment can be used to threshold or shade the whole alignment\footnote{Please remember to turn off Sequence Feature display to see the shading}. The {\sl Colour $\Rightarrow$ By Annotation} options opens a dialog which allows you to select which annotation to use, the minimum and maximum shading colours or whether an existing colouring is to be thresholded. }\parbox[c]{3in}{ \centerline{\includegraphics[width=2.5in]{images/col_byannot.pdf}}} \subsection{Colour schemes} @@ -744,7 +859,7 @@ Residues are coloured according to the hydrophobicity table of Kyte, J., and Doo \subsubsection{Helix Propensity} \parbox[c]{3.5in}{ -The residues are coloured according to their helix propensity. The highest propensity is magenta, the lowest is green. +The residues are coloured according to their Chou-Fasman\footnote{\label{chou-fasman}Chou, PY and Fasman, GD. Annu Rev Biochem. 1978;47:251-76.} helix propensity. The highest propensity is magenta, the lowest is green. } \parbox[c]{3in}{ \includegraphics[width=2.75in]{images/col_helix.pdf} @@ -753,7 +868,7 @@ The residues are coloured according to their helix propensity. The highest prope \subsubsection{Strand Propensity} \parbox[c]{3.5in}{ -The residues are coloured according to their Strand propensity. The highest propensity is Yellow, the lowest is blue. +The residues are coloured according to their Chou-Fasman\textsuperscript{\ref{chou-fasman}} Strand propensity. The highest propensity is Yellow, the lowest is blue. } \parbox[c]{3in}{ \includegraphics[width=2.75in]{images/col_strand.pdf} @@ -763,7 +878,7 @@ The residues are coloured according to their Strand propensity. The highest prop \subsubsection{Turn Propensity} \parbox[c]{3.5in}{ -The residues are coloured according to their turn propensity. The highest propensity is red, the lowest is cyan. +The residues are coloured according to their Chou-Fasman\textsuperscript{\ref{chou-fasman}} turn propensity. The highest propensity is red, the lowest is cyan. } \parbox[c]{3in}{ \includegraphics[width=2.75in]{images/col_turn.pdf} @@ -771,7 +886,7 @@ The residues are coloured according to their turn propensity. The highest propen \subsubsection{Buried Index} \parbox[c]{3.5in}{ -The residues are coloured according to their burial propensity. The highest propensity is blue, the lowest is green. +The residues are coloured according to their Chou-Fasman\textsuperscript{\ref{chou-fasman}} burial propensity. The highest propensity is blue, the lowest is green. } \parbox[c]{3in}{ \includegraphics[width=2.75in]{images/col_buried.pdf} @@ -780,7 +895,7 @@ The residues are coloured according to their burial propensity. The highest prop \subsubsection{Nucleotide} \parbox[c]{3.5in}{ -Residues are coloured with four colours corresponding to the four nucleotide bases. All non ACTG residues are uncoloured. See section \ref{workingwithnuc} for further information about working with nucleic acid sequences and alignments. +Residues are coloured with four colours corresponding to the four nucleotide bases. All non ACTG residues are uncoloured. See Section \ref{workingwithnuc} for further information about working with nucleic acid sequences and alignments. } \parbox[c]{3in}{ \includegraphics[width=2.75in]{images/col_nuc.pdf} @@ -827,14 +942,14 @@ The new colour scheme appears in the list of colour schemes in the {\sl Colour} } } \section{Alignment formatting and graphics output} - +\label{layoutandoutput} Jalview is a WYSIWIG alignment editor. This means that for most kinds of graphics output, the layout that is seen on screen will be the same as what is output in an exported graphics file. It is therefore important to pick the right kind of display layout prior to generating figures. \subsection{Multiple Alignment Views} Jalview is able to create multiple independent visualizations of the same underlying alignment - these are called {\tr Views}. Because each view displays the same underlying data, any edits performed in one view will update the alignment or annotation visible in all views. -\parbox[c]{4in}{Alignment views are created using the {\tr View $\RightArrow$ New View} option of the alignment window. This will create a new view with the same groups, alignment layout and display options as the current one. Views may be gathered (by pressing G) together as named tabs on the alignment window, or displayed simultaneously in their own window (by pressing X).}\parbox[c]{2.75in}{ +\parbox[c]{4in}{Alignment views are created using the {\tr View $\Rightarrow$ New View} option of the alignment window. This will create a new view with the same groups, alignment layout and display options as the current one. Views may be gathered (by pressing G) together as named tabs on the alignment window, or displayed simultaneously in their own window (by pressing X).}\parbox[c]{2.75in}{ \begin{center}\centerline{ \includegraphics[width=2.5in]{images/mulv_tabs.pdf}} \end{center} @@ -843,9 +958,9 @@ Jalview is able to create multiple independent visualizations of the same underl % JBPNote make an excercise on views ? \subsection{Alignment layout} -Jalview provides two screen layout modes, unwrapped (the default) where the alignment is in one long line across the window, and wrapped, where the alignment is on multiple lines, each the width of the window. Most layout options are controlled by the Format menu option in the alignment window. +Jalview provides two screen layout modes, unwrapped (the default) where the alignment is in one long line across the window, and wrapped, where the alignment is on multiple lines, each the width of the window. Most layout options are controlled by the Format menu option in the alignment window, and control the overall look of the alignment in the view (rather than just a selected region). \subsubsection{Wrapped alignments} -Wrapped alignments can be toggled on and off using the {\sl Format $\Rightarrow$ Wrap} menu option (Figure \ref{wrap}). Note that the annotation lines are also wrapped. Wrapped alignments are great for publications and presentations but are of limited use when working with large numbers of sequences. Furthermore, alignment annotation (see section \ref{featannot}) cannot be interactively created or edited in wrapped mode, and selection of large regions is difficult. +Wrapped alignments can be toggled on and off using the {\sl Format $\Rightarrow$ Wrap} menu option (Figure \ref{wrap}). Note that the annotation lines are also wrapped. Wrapped alignments are great for publications and presentations but are of limited use when working with large numbers of sequences. Furthermore, alignment annotation (see Section \ref{featannot}) cannot be interactively created or edited in wrapped mode, and selection of large regions is difficult. \begin{figure}[htbp] \begin{center} % this view still refers to Jalview 2.2 and the menu is missing the Center Columns option @@ -859,13 +974,18 @@ Wrapped alignments can be toggled on and off using the {\sl Format $\Rightarrow$ \subsubsection{Fonts} -\parbox[c]{4in}{Text appearance can be modified via the {\sl Format $\Rightarrow$ Font\ldots} alignment window menu. Additionally, font size and spacing can be adjusted rapidly by clicking the middle mouse button and dragging across the alignment window.} +\parbox[c]{4in}{The text appearance in a view can be modified via the {\sl Format $\Rightarrow$ Font\ldots} alignment window menu. This setting applies for all alignnment and annotation text except for that displayed in tool-tips. Additionally, font size and spacing can be adjusted rapidly by clicking the middle mouse button and dragging across the alignment window.} \parbox[c]{2in}{\centerline{\includegraphics[width=1.75in]{images/font.pdf}}} -\subsubsection{Numbering and annotations} +\subsubsection{Numbering and label justification} +Options in the {\sl Format} menu are provided to control the also provides a range of options to control the display of sequence and alignment numbering, the justification of sequence IDs and annotation row column labels on the annotation rows shown below the alignment. -The {\sl Format} menu also provides options to control the display of numbers and annotations on sequence alignments. -The annotation lines which appear below the sequence alignment can be hidden by toggling the {\sl View $\Rightarrow$ Show Annotations} menu option. Additionally, each annotation line can be hidden and revealed in the same way as sequences via the context menu on the annotation name panel (Figure \ref{annot}). Annotations can be reordered by dragging the annotation line label on the annotation label panel. Placing the mouse over the top annotation label brings up a resize icon. Dragging the top annotation line label up and down alters the relative size of the sequence alignment and annotation alignment panels. +\subsubsection{Alignment and Group colouring and appearance} +The display of hidden row/column markers and gap characters can be turned off with {\sl Format $\Rightarrow$ Hidden Markers} and {\sl Format $\Rightarrow$ Show Gaps}, respectively. The {\sl Text} and {\sl Colour Text} option controls the display of sequence text and the application of alignment and group colouring to it. {\sl Boxes } controls the display of the background area behind each residue that is coloured by the applied coloursheme. + +\subsection{Annotation ordering and display} + +The annotation lines which appear below the sequence alignment are described in detail in Section \ref{annot}. They can be hidden by toggling the {\sl View $\Rightarrow$ Show Annotations} menu option. Additionally, each annotation line can be hidden and revealed in the same way as sequences via the context menu on the annotation name panel (Figure \ref{annot}). Annotations can be reordered by dragging the annotation line label on the annotation label panel. Placing the mouse over the top annotation label brings up a resize icon. When this is displayed, Click-dragging up and down alters the relative size of the sequence alignment and annotation alignment panels. \begin{figure} \begin{center} @@ -881,31 +1001,32 @@ The annotation lines which appear below the sequence alignment can be hidden by \exstep{Start Jalview and open the URL \textsf{http://www.jalview.org/examples/exampleFile.jar}. Select {\sl Format $\Rightarrow$ Wrap} from the alignment window menu. Experiment with the various options from the {\sl Format} menu. to adjust the ruler placement, sequence ID format and so on. } \exstep{Hide all the annotation rows by selecting {\sl View $\Rightarrow$ Show Annotations} from the alignment window menu. Reveal the annotations by selecting the same menu option.} \exstep{Right click on the annotation row labels to bring up the context menu. Select {\sl Hide This Row}. Bring up the context menu again and select {\sl Show All Hidden Rows} to reveal them} -\exstep{Annotations can be reordered by clicking and dragging the row to the desired position. Click on the {\sl Consensus} row and drag it upwards to just above {\sl Quality}. The rows should now be reordered. Features and annotations are covered in more detail in section \ref{featannot} below.} +\exstep{Annotations can be reordered by clicking and dragging the row to the desired position. Click on the {\sl Consensus} row and drag it upwards to just above {\sl Quality}. The rows should now be reordered. Features and annotations are covered in more detail in Section \ref{featannot} below.} \exstep{Move the mouse to the top left hand corner of the Secondary Structure annotation row label - a grey up/down arrow symbol should appear - when this is shown, the height of the {\sl Annotation Area} can be changed by Clicking and dragging the mouse up or down.} } \subsection{Graphical output} - +\label{figuregen} \parbox[c]{4in}{Jalview allows alignments figures to be exported in three different formats, each of which is suited to a particular purpose. Image export is via the {\sl File $\Rightarrow$ Export Image $\Rightarrow$ \ldots } alignment window menu option. } \parbox[c]{2in}{\centerline{\includegraphics[width=1.25in]{images/image.pdf}}} \subsubsection{HTML} -\parbox[c]{3in}{HTML is the format used by web pages. Jalview outputs the alignment as an HTML table with all the colours and fonts as seen. Any additional annotation will also be embedded as sensitive areas on the page, such as URL links for each seuqence's ID label. This file can then be viewed directly with any web browser. Each residue is placed in an individual table cell. Unwrapped alignments will produce a very wide page.} +\parbox[c]{3in}{HTML is the format used by web pages. Jalview outputs the alignment as an HTML table with all the colours and fonts as seen. Any additional annotation will also be embedded as sensitive areas on the page, such as URL links for each sequence's ID label. This file can then be viewed directly with any web browser. Each residue is placed in an individual table cell. Unwrapped alignments will produce a very wide page.} \parbox[c]{3.5in}{\centerline{\includegraphics[width=3in]{images/image_html.pdf}}} \subsubsection{EPS} -\parbox[c]{3in}{EPS is Encapsulated Postscript. It is the format of choice for publication and posters as it gives the highest quality output of any of the image types. It can be scaled indefinitely so will still look good on an A0 poster. This format can be read by most good presentation and graphics packages such as Adobe Illustrator. +\parbox[c]{3in}{EPS is Encapsulated Postscript. It is the format of choice for publication and posters as it gives the highest quality output of any of the image types. It can be scaled indefinitely so will still look good on an A0 poster. This format can be read by most good presentation and graphics packages such as Adobe Illustrator. } \parbox[c]{3.5in}{\centerline{\includegraphics[width=3in]{images/image_eps.pdf}} \par \centerline{Zoom Detail of EPS image.}} \subsubsection{PNG} \parbox[c]{3in}{ -PNG is Portable Network Graphics. This output option produces an image that can be easily included in web pages and incorporated in presentations using e.g. Powerpoint or Open Office. It is a bitmap image so does not scale and is unsuitable for use on posters. +PNG is Portable Network Graphics. This output option produces an image that can be easily included in web pages and incorporated in presentations using e.g. Powerpoint or Open Office. It is a bitmap image so does not scale and is unsuitable for use on posters, or in publications. + +For submission of alignment figures to journals, please use EPS\footnote{If the journal complains, {\em insist}.}. } \parbox[c]{3.5in}{\centerline{\includegraphics[width=3in]{images/image_png.pdf}} \par \centerline{Zoom Detail of PNG image.}} - \exercise{Graphical Output}{ \exstep{Load the example Jalview Jar file in Exercise \ref{exscreen}. Customise it how you wish but leave it unwrapped. Select {\sl File $\Rightarrow$ Export Image $\Rightarrow$ HTML} from the alignment menu. Save the file and open it in your favourite web browser. } \exstep{Now wrap the alignment (Exercise \ref{exscreen}) and export the image to HTML again. Compare the two images. Note that the exported image matches the format displayed in the alignment window but annotations are not exported.} @@ -914,15 +1035,111 @@ PNG is Portable Network Graphics. This output option produces an image that can } \chapter{Analysis and Annotation} +\label{analysisannotation} -\section{Analysis of alignments} -Jalview provides support for sequence analysis in two ways. A number of analytical methods are 'built-in' and run inside Jalview itself and are mostly accessed from the {\sl Calculate} alignment window menu. Computationally intensive analyses are run outside Jalview via web services - these are typically accessed via the {\sl Web Services} menu. +This chapter describes the annotation, analysis, and visualization tasks that the Jalview Desktop can perform. Section \ref{wkwithstructure} introduces the structure visualization capabilities of Jalview. In Section \ref{alignanalysis}, you will find details of the Tree building, viewing and PCA capabilities, alignment redundancy removal, pairwise alignments and alignment conservation analysis. Subsequently, in Section \ref{jvwebservices}, programs available remotely for multiple sequence alignment and secondary structure prediction are described. + +Section \ref{featannot} describes the mechanisms provided by Jalview for interactive creation of sequence and alignment annotation and how they are displayed, imported and exported. Section \ref{featuresfromdb} discusses the retrieval of database references and establishment of sequence coordinate systems for the retrieval and display of features from databases and DAS annotation services. Finally, Section \ref{workingwithnuc} describes functions and visualization techniques relevant to working with nucleotide sequences, coding region annotation and nucleotide sequence alignments. + +\section{Working with structures} +\label{wkwithstructure} +Jalview facilitates the use of protein structures for the analysis of alignments by providing a linked view of structures associated with protein sequences in the alignment. The Java based molecular viewing program Jmol\footnote{See the Jmol homepage \url{http://www.jmol.org} for more information.} has been incorporated\footnote{Earlier versions of Jalview included MCView - a simple main chain structure viewer. Structures are visualized as an alpha carbon trace and can be viewed, rotated and coloured in a structure viewer and the results interpreted on a sequence alignment.} which enables sophisticated molecular visualizations to be prepared and investigated alongside an analysis of associated sequences. +PDB format files can be imported directly or structures can be retrieved from the the Macromolecular Structure Database (MSD) using the Sequence Fetcher (see \ref{fetchseq}). + +\subsection{Automatic association of PDB structures with sequences} +Jalview can automatically determine which structures are associated with a sequence, if that sequence has an ID from a public database such as Uniprot. Right-click on any sequence ID and select {\sl $<$Sequence ID$>$ $\Rightarrow$ Associate Structure with Sequence $\Rightarrow$ Discover PDB IDs } from the context menu (where {\sl $<$Sequence ID$>$} is the ID of the sequence on which you clicked) (Figure \ref{auto}). Jalview will attempt to associate the sequence with a Uniprot sequence and from there discover any associated PDB structures. This takes a few seconds and applies to all sequences in the alignment which have valid Uniprot IDs. On moving the cursor over the sequence ID the tool tip now shows the Uniprot ID and any associated PDB structures. + +\begin{figure}[htbp] +\begin{center} +%TODO fix formatting +\parbox{1.5in}{ +{\centering +\begin{center} +\includegraphics[width=1.5in]{images/auto1.pdf} +\end{center}} +} \parbox{3.25in}{ +{\centering +\begin{center} +\includegraphics[scale=0.5]{images/auto2.pdf} +\end{center} +} +} \parbox{1.5in}{ +{\centering +\begin{center} +\includegraphics[width=1.5in]{images/auto3.pdf} +\end{center} +} +} + +\caption{{\bf Automatic PDB ID discovery.} The tooltip (left) indicates that no PDB structure has been associated with the sequence. After PDB ID discovery (center) the tool tip now indicates the Uniprot ID and any associated PDB structures (right)} +\label{auto} +\end{center} +\end{figure} + +\subsection{Viewing Protein Structures} +The structure viewer can be launched through the sequence ID context menu. Select {\sl Structure $\Rightarrow$ View PDB entry $\Rightarrow$ $<$PDB ID$>$}. The structure will be downloaded or loaded from the local file system, and shown as a ribbon diagram coloured according to the associated sequence in the current alignment view (Figure \ref{structure} (right)). The structure can be rotated by clicking and dragging in the structure window. The structure can be zoomed using the mouse scroll wheel (if available). Moving the mouse cursor over a sequence to which the structure is linked in the alignment panel highlights the respective residue's sidechain atoms. The sidechain highlight may be obscured by other parts of the molecule. Similarly, moving the cursor over the structure shows a tooltip and highlights the corresponding residue in the alignment. Again, the highlight may not be in the visible portion of the current alignment view - you may have to manually move the alignment scroll bars and/or un-hide columns. + +\begin{figure}[htbp] +\begin{center} +\parbox{3in}{ +{\centering +\begin{center} +\includegraphics[scale=0.5]{images/structure1.pdf} +\end{center} +} +} +\parbox{3.2in}{ +{\centering +\begin{center} +\includegraphics[width=3in]{images/structure2.pdf} +\end{center} +} +} +\caption{{\bf Structure visualization} The structure viewer is launched from the sequence ID context menu (left) and allows the structure to be visualized using the embedded Jmol molecular viewer (right). } +\label{structure} +\end{center} +\end{figure} + +\subsubsection{Customising structure display} + +Structure display can be modified using the {\sl Colour} and {\sl View} menus in the structure viewer. The background colour can be modified by selecting the {\sl Colours $\Rightarrow$ Background Colour\ldots} option. + +By default, the structure will be coloured in the same way as the sequence in the associated alignment view. The structure can be coloured independently of the sequence by selecting an appropriate colour scheme from the {\sl Colours} menu. It can be coloured according to the alignment using the {\sl Colours $\Rightarrow$ By Sequence } option. The image in the structure viewer can be output to EPS or PNG format via the {\sl File $\Rightarrow$ Save As $\Rightarrow$ \ldots} submenu. The mapping between the structure and the sequence (How well and which parts of the structure relate to the sequence) can be viewed with the {\sl File $\Rightarrow$ View Mapping} menu option. + +\subsubsection{Using the Jmol visualization interface } + +Jmol has a comprehensive set of selection and visualization functions that are accessed from the Jmol popup menu (by right-clicking in the Jmol window or by clicking the Jmol logo). Molecule colour and rendering style can be manipulated, and distance measurements and molecular surfaces can be added to the view. It also has its own ``Rasmol\footnote{see www.rasmol.org}-like'' scripting language, which is described elsewhere\footnote{Jmol Wiki: \url{http://wiki.jmol.org/index.php/Scripting} + +Jmol Scripting reference: \url{http://www.stolaf.edu/academics/chemapps/jmol/docs/}}. Jalview utilises the scripting language to interact with Jmol and to store the state of a Jmol visualization within Jalview archives, in addition to the PDB data file originally loaded or retrieved by Jalview. To access the Jmol scripting environment directly, use the {\sl Jmol $\Rightarrow$ Console} menu option. + + +\exercise{Viewing Structures}{ +\exstep{Load the alignment at \textsf{http://www.jalview.org/examples/exampleFile.jar}. Right-click on the sequence ID label for any of the sequences (e.g. {\sl FER1\_SPIOL}) to bring up the context menu. Select {\sl FER1\_SPIOL $\Rightarrow$ Associate Structure with Sequence $\Rightarrow$ Discover PDB ids}. Jalview will now attempt to find PDB structures for the sequences in the alignment. +} +\exstep{ +Right-click on the sequence ID for {\sl FER1\_SPIOL}. Select { \sl FER1\_SPIOL $\Rightarrow$ View PDB Entry: 1A70} A structure viewing window appears. Rotate the molecule by clicking and dragging in the structure viewing box. Zoom with the mouse scroll wheel. +} +\exstep{Roll the mouse cursor along the {\sl FER1\_SPIOL} sequence in the alignment. Note that if a residue in the sequence maps to one in the structure, a label will appear next to that residue in the structure viewer. Move the mouse over the structure. Placing the mouse over a part of the structure will bring up a tool tip indicating the name and number of that residue. The corresponding residue in the sequence is highlighted in black. Clicking the alpha carbon toggles the highlight and residue label on and off. Try this by clicking on a set of three or four adjacent residues so that the labels are persistent, then finding where they are in the sequence. +} +\exstep{Select {\sl Colours $\Rightarrow$ Background Colour\ldots} from the structure viewer menu and choose a suitable colour. Press {\sl OK} to apply this. Select {\sl File $\Rightarrow$ Save As $\Rightarrow$ PNG} and save the image. View this with your web browser. +} +\exstep{Select {\sl File $\Rightarrow$ View Mapping} from the structure viewer menu. A new window opens showing the residue by residue alignment between the sequence and the structure.} + +\exstep{Select {\sl File $\Rightarrow$ Save $\Rightarrow$ PDB file} and choose a new filename to save the PDB file. Once the file is saved, open the location in your file browser (or explorer window) and drag the PDB file that you just saved on to the Jalview desktop (or load it from the {\sl Jalview Desktop $\Rightarrow$ Input Alignment $\Rightarrow$ From File } menu). Verify that you can open and view the associated structure from the sequence ID pop-up menu's {\sl Structure } submenu in the new alignment window.} + +\exstep{Right click on the structure to bring up the Jmol window. Explore the menu options. Try to change the style of molecular display - by first using the {\sl Jmol $\Rightarrow$ Select $\Rightarrow$ all} command, and then the {\sl Jmol $\Rightarrow$ Style $\Rightarrow$ Scheme $\Rightarrow$ Ball and stick} command.} +\exstep{Use the {\sl File $\Rightarrow$ Save As .. } function to save the alignment as a Jalview Project. Now close the alignment and the structure view, and load the project file you just saved. -This section describes the built in analyses. Web Services are described in a subsequent section. +Verify that the Jmol display is as it was when you just saved the file.} +} + +\section{Analysis of alignments} +\label{alignanalysis} +Jalview provides support for sequence analysis in two ways. A number of analytical methods are `built-in' and run inside Jalview itself and are mostly accessed from the {\sl Calculate} alignment window menu. Computationally intensive analyses are run outside Jalview via web services - these are typically accessed via the {\sl Web Services} menu, and described in Section \ref{jvwebservices}. In this section, we describe the built-in analysis capabilities common to both the Jalview Desktop and the JalviewLite applet. \subsection{PCA} -This calculation creates a spatial representation of the similarities within the current selection or the whole alignment if no selection has been made. After the calculation finishes, a 3D viewer displays the each sequence as a point in 3D 'similarity space'. Sets of similar sequences tend to lie near each other in this space. -Note: The calculation is computationally expensive, and may fail for very large sets of sequences - because the JVM has run out of memory. See the FAQ on the Jalview web site for instructions on how to increase the memory available to Jalview. +This calculation creates a spatial representation of the similarities within the current selection or the whole alignment if no selection has been made. After the calculation finishes, a 3D viewer displays the each sequence as a point in 3D `similarity space'. Sets of similar sequences tend to lie near each other in this space. +Note: The calculation is computationally expensive, and may fail for very large sets of sequences - because the JVM has run out of memory. Memory issues were discussed in Section \ref{memorylimits}. \subsubsection{What is PCA?} Principal components analysis is a technique for examining the structure of complex data sets. The components are a set of dimensions formed from the measured values in the data set, and the principle component is the one with the greatest magnitude, or length. The sets of measurements that differ the most should lie at either end of this principle axis, and the other axes correspond to less extreme patterns of variation in the data set. @@ -952,6 +1169,7 @@ Click on the tree window. Careful selection of the tree partition location will } \subsection{Trees} +\label{trees} Jalview can calculate and display trees, providing interactive tree-based grouping of sequences though a tree viewer. All trees are calculated via the {\sl Calculate $\Rightarrow$ Calculate Tree $\Rightarrow$ \ldots} submenu. Trees can be calculated from distance matrices determined from \% identity or aggregate BLOSUM 62 score using either average distance (UPGMA) or Neighbour joining algorithms. The input data for a tree calculation is either the visible portions of the current selection, or the whole alignment if no selection is present. On calculating a tree, a new window opens (Figure \ref{trees1}) which contains the tree. Various display options can be found in the tree window {\sl View} menu, and export options in the {\sl File $\Rightarrow$ Save As} submenu. Newick format is a standard file format for trees which allows them to be exported to other programs. Jalview can also read in external trees in Newick format via the {\sl File $\Rightarrow$ Load Associated Tree} menu option. Leaf names on imported trees will be matched to the associated alignment - unmatched leaves will still be displayed, and can be highlighted using the {\sl View $\Rightarrow$ Show Unlinked Leaves }. @@ -968,7 +1186,7 @@ On calculating a tree, a new window opens (Figure \ref{trees1}) which contains t \end{figure} -Clicking on the tree brings up a cursor across the height of the tree. The sequences are automatically partitioned and coloured (Figure \ref{trees2}). To group them together, select the {\sl Calculate $\Rightarrow$ Sort $\Rightarrow$ By Tree Order} alignment window menu option and the correct tree. The sequences will then be sorted to group them together. The coloured background to the sequence IDs can be removed with {\sl Select $\Rightarrow$ Undefine Groups} from the alignment window menu. +Clicking on the tree brings up a cursor across the height of the tree. The sequences are automatically partitioned and coloured (Figure \ref{trees2}). To group them together, select the {\sl Calculate $\Rightarrow$ Sort $\Rightarrow$ By Tree Order} alignment window menu option and the correct tree. The sequences will then be sorted according to the leaf order currently shown in the tree view. The coloured background to the sequence IDs can be removed with {\sl Select $\Rightarrow$ Undefine Groups} from the alignment window menu. \begin{figure} \begin{center} @@ -984,7 +1202,7 @@ Clicking on the tree brings up a cursor across the height of the tree. The seque \subsubsection{Recovering input data for a tree or PCA plot calculation} \parbox[c]{4in}{ -The {\sl File $\RightArrow$ Input Data } option will open a new alignment window containing the original data used to calculate the tree or PCA plot (if available). This function is useful when a tree has been created and then the alignment subsequently changed. +The {\sl File $\Rightarrow$ Input Data } option will open a new alignment window containing the original data used to calculate the tree or PCA plot (if available). This function is useful when a tree has been created and then the alignment subsequently changed. } \parbox[c]{3in}{\centerline{\includegraphics[width=2.75in]{images/pca_vmenu.pdf} }} @@ -1004,9 +1222,9 @@ Comparing the location of individual sequences between the two trees illustrates } \exstep{Recover the input data for the tree you just calculated. Check the {\sl Edit $\Rightarrow$ Pad Gaps } option is not ticked, and insert one gap in the alignment. Now select {\sl Calculate $\Rightarrow$ Calculate Tree $\Rightarrow$ Neighbour Joining Using BLOSUM62}. -A warning dialog box {\bf ``Sequence's must be aligned'' } appears because the sequences input to the tree calculation are of different lengths. } +A warning dialog box {\bf ``Sequences must be aligned'' } appears because the sequences input to the tree calculation are of different lengths. } -\exstep{Now select {\sl Edit $\RightArrow$ Pad Gaps } and try to perform the tree calculation again - this time a new tree should appear. +\exstep{Now select {\sl Edit $\Rightarrow$ Pad Gaps } and try to perform the tree calculation again - this time a new tree should appear. This demonstrates the use of the {\sl Pad Gaps } editing preference, which ensures that all sequences are the same length after editing. } @@ -1025,13 +1243,13 @@ You may find it easier to browse the alignment by if you uncheck the {\sl Show A \subsection{Redundancy Removal} -The redundancy removal dialog box is opened using the {\sl Edit $\Rightarrow$ Remove Redundancy\ldots} option in the alignment menu. As its menu option placement suggests, this is actually an alignment editing function, but it is convenient to describe it here. The redundancy removal dialog box presents a percentage identity slider which sets the redundancy threshold. Aligned sequences which exhibit a percentage identity greater than the current threshold are highlighted in black. The [Remove] button can then be used to eliminate these sequences from the alignment as an edit operation. +The redundancy removal dialog box is opened using the {\sl Edit $\Rightarrow$ Remove Redundancy\ldots} option in the alignment menu. As its menu option placement suggests, this is actually an alignment editing function, but it is convenient to describe it here. The redundancy removal dialog box presents a percentage identity slider which sets the redundancy threshold. Aligned sequences which exhibit a percentage identity greater than the current threshold are highlighted in black. The [Remove] button can then be used to delete these sequences from the alignment as an edit operation\footnote{Which can usually be undone. A future version of Jalview may allow redundant sequences to be hidden, or represented, rather than deleted.}. \begin{figure} \begin{center} \includegraphics[width=5.5in]{images/redundancy.pdf} \end{center} \label{removeredundancydialog} -\caption{The Redundancy Removal dialog box opened from the edit menu. Sequences that exceed the current \%age identity threshold and are to be removed are highlighted in black.} +\caption{The Redundancy Removal dialog box opened from the edit menu. Sequences that exceed the current percentage identity threshold and are to be removed are highlighted in black.} \end{figure} \exercise{Remove redundant sequences}{ @@ -1061,8 +1279,9 @@ Jalview can calculate optimal pairwise alignments between arbitrary sequences vi \end{figure} -\section{Web Services} -Web services are a technology which allows the Jalview application to access databases remotely and offload computationally intensive tasks to High Performacne Computing facilities {\sl via} the internet. Access to remote database resources are described in other sections. They include sequence retrieval (in section \ref{fetchseq}), database reference retrieval (in section \ref{fetchdbrefs}) and sequence feature retrieval with DAS, which is described in \ref{das}. The next few sections describe the computational analysis services available to Jalview. +\section{Webservices} +\label{jvwebservices} +``Webservices'' are a set of technologies based on HTTP\footnote{HTTP: Hyper-Text Transfer Protocol.} which are can be utilised by the Jalview application to access databases remotely and offload computationally intensive tasks to High Performance Computing facilities {\sl via} the internet. Access to remote database resources are described in detail in Section \ref{featuresfromdb}. They include sequence retrieval (in Section \ref{fetchseq}), database reference retrieval (in Section \ref{fetchdbrefs}) and sequence feature retrieval with DAS, which is described in Section \ref{dasfretrieval}. The next few sections describe the computational analysis services available to Jalview. \subsection{Remote Analysis Services} Jalview will construct a job, ask the remote server to run the job, monitor status of the job and, finally, retrieve the results of the job and display them. The Jalview user is kept informed of the progress of the job through a status window. @@ -1071,7 +1290,7 @@ Currently, web service jobs and their status windows are not stored in Jalview P \subsection{Multiple Sequence Alignment} -Sequences can be aligned using any of three algorithms: ClustalW\footnote{{\sl "CLUSTAL W: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position specific gap penalties and weight matrix choice."} Thompson JD, Higgins DG, Gibson TJ (1994) {\sl Nucleic Acids Research} {\bf 22}, 4673-80}, Muscle\footnote{{\sl "MUSCLE: a multiple sequence alignment method with reduced time and space complexity"} Edgar, R.C. (2004) {\sl BMC Bioinformatics} {\bf 5}, 113} or MAFFT\footnote{{\sl "MAFFT: a novel method for rapid multiple sequence alignment based on fast Fourier transform"} Katoh, K., Misawa, K., Kuma, K. and Miyata, T. (2002) {\sl Nucleic Acids Research} {\bf 30}, 3059-3066. and {\sl "MAFFT version 5: improvement in accuracy of multiple sequence alignment"} Katoh, K., Kuma, K., Toh, H. and Miyata, T. (2005) {\sl Nucleic Acids Research} {\bf 33}, 511-518.} Of these, ClustalW is the slowest but is historically widely used. Muscle is fast and probably the most accurate for smaller alignments and MAFFT is probably the best for large alignments. +Sequences can be aligned using any of three algorithms: ClustalW\footnote{{\sl "CLUSTAL W: improving the sensitivity of progressive multiple sequence alignment through sequence weighting, position specific gap penalties and weight matrix choice."} Thompson JD, Higgins DG, Gibson TJ (1994) {\sl Nucleic Acids Research} {\bf 22}, 4673-80}, Muscle\footnote{{\sl "MUSCLE: a multiple sequence alignment method with reduced time and space complexity"} Edgar, R.C. (2004) {\sl BMC Bioinformatics} {\bf 5}, 113} or MAFFT\footnote{{\sl "MAFFT: a novel method for rapid multiple sequence alignment based on fast Fourier transform"} Katoh, K., Misawa, K., Kuma, K. and Miyata, T. (2002) {\sl Nucleic Acids Research} {\bf 30}, 3059-3066. and {\sl "MAFFT version 5: improvement in accuracy of multiple sequence alignment"} Katoh, K., Kuma, K., Toh, H. and Miyata, T. (2005) {\sl Nucleic Acids Research} {\bf 33}, 511-518.} Of these, ClustalW is the slowest but is historically the most widely used. Muscle is fast and probably the most accurate for smaller alignments and MAFFT is probably the best for large alignments. To run an alignment web service, select the appropriate method from the {\sl Web Service $\Rightarrow$ Alignment $\Rightarrow$ \ldots} submenu (Figure \ref{webservices}). A progress window will appear giving information about the job and any errors that occur. After successful completion of the job, a new window is opened with the results, in this case an alignment. @@ -1088,11 +1307,11 @@ To run an alignment web service, select the appropriate method from the {\sl Web \subsubsection{Realignment} -The re-alignment option (only supported by ClustalW currently) submits the current selection to the alignment service complete with existing gaps. Use this option to align additional sequences to an existing alignment (a simple form of profile alignment). +The re-alignment option is currently only supported by ClustalW. When performing a re-alignment, Jalview submits the current selection to the alignment service complete with any existing gaps. This approach is useful when one wishes to align additional sequences to an existing alignment without any further optimisation to the existing alignment. The Re-alignment service provided by ClustalW in this case is effectively a simple form of profile alignment. -\subsubsection{Alignments of sequences including hidden regions} +\subsubsection{Alignments of sequences that include hidden regions} -If the view or selected region that is submitted for alignment contains hidden regions, then only the visible sequences will be submitted to the service. Furthermore, each contiguous segment of sequences will be aligned independently (resulting a number of alignment 'subjobs' appearing in the status window). Finally, the results of each subjob will be concatenated with the hidden regions in the input data prior to their display in a new window. This approach ensures that 1) hidden column boundaries in the input data are preserved in the resulting alignment - in a similar fashion to the constraint that hidden columns place on alignment editing (see section \ref{lockededits}). 2) hidden columns can be used to preserve existing parts of an alignment whilst the visible parts are locally refined. +If the view or selected region that is submitted for alignment contains hidden regions, then only the visible sequences will be submitted to the service. Furthermore, each contiguous segment of sequences will be aligned independently (resulting a number of alignment `subjobs' appearing in the status window). Finally, the results of each subjob will be concatenated with the hidden regions in the input data prior to their display in a new window. This approach ensures that 1) hidden column boundaries in the input data are preserved in the resulting alignment - in a similar fashion to the constraint that hidden columns place on alignment editing (see Section \ref{lockededits}). 2) hidden columns can be used to preserve existing parts of an alignment whilst the visible parts are locally refined. \exercise{Multiple Sequence Alignment}{ \exstep{ Close all windows and open the alignment at {\sf http://www.jalview.org/tutorial/unaligned.fa}. Select {\sl Web Service $\Rightarrow$ Alignment $\Rightarrow$ Muscle Multiple Protein Sequence Alignment}. A window will open giving the job status. After a short time, a second window will open with the results of the alignment.} @@ -1100,21 +1319,28 @@ If the view or selected region that is submitted for alignment contains hidden r } \exstep{Select the last three sequences in the MAFFT alignment, and de-align them with {\sl Edit $\Rightarrow$ Remove All Gaps}. Press [ESC] to deselect them and then submit the view for re-alignment with ClustalW.} \exstep{Use [CTRL]-Z to recover the alignment of the last three sequences in the MAFFT alignment. Once the ClustalW re-alignment has completed, compare the results of re-alignment of the three sequences with their alignment in the original MAFFT result.} -\exstep{Select columns 60 to 125 in the original MAFFT alignment and hide them. Select {\sl Web Services $\RightArrow$ Alignment $\RightArrow$ MAFFT} to submit the visible portion of the alignment to MAFFT. When the web service job pane appears, note that there are now two alignment job status panes shown in the window.} +\exstep{Select columns 60 to 125 in the original MAFFT alignment and hide them. Select {\sl Web Services $\Rightarrow$ Alignment $\Rightarrow$ MAFFT} to submit the visible portion of the alignment to MAFFT. When the web service job pane appears, note that there are now two alignment job status panes shown in the window.} \exstep{When the MAFFT job has finished, compare the alignment of the N-terminal visible region in the result with the corresponding region of the original alignment. If you wish, select and hide a few more columns in the N-terminal region, and submit the alignment to the service again and explore the effect of local alignment on the non-homologous parts of the N-terminal region.} } \subsection{Secondary Structure Prediction} -Secondary structure prediction is performed using the Jpred\footnote{{\sl "Jpred: A Consensus Secondary Structure Prediction Server"} Cuff, J. A., Clamp, M. E., Siddiqui, A. S., Finlay, M. and Barton, G. J. (1998) {\sl Bioinformatics} {\bf 14}, 892-893} server at the University of Dundee\footnote{http://www.compbio.dundee.ac.uk/~www-jpred/}. The behaviour of this calculation depends on the current selection: +Secondary structure prediction is performed using the Jpred\footnote{{\sl ``The Jpred 3 Secondary Structure Prediction Server''} Cole, C., Barber, J. D. and Barton, G. J. (2008) {\sl Nucleic Acids Research} {\bf 36}, (Web Server Issue) W197-W201 + +{\sl ``Jpred: A Consensus Secondary Structure Prediction Server''} Cuff, J. A., Clamp, M. E., Siddiqui, A. S., Finlay, M. and Barton, G. J. (1998) {\sl Bioinformatics} {\bf 14}, 892-893} server at the University of Dundee\footnote{http://www.compbio.dundee.ac.uk/~www-jpred/}. The behaviour of this calculation depends on the current selection: \begin{list}{$\circ$}{} -\item If nothing is selected, and the displayed sequences appear to be aligned, then a JNet prediction will be run for the first sequence in the alignment, using the current alignment. Otherwise the first sequence will be submitted for prediction. +\item If nothing is selected, Jalview will check the length of each alignment row to determine if the visible sequences in the view are aligned. +\begin{list}{-}{} + \item If all rows are the same length (often due to the application of the {\sl Edit $\Rightarrow$ Pad Gaps} option), then a JNet prediction will be run for the first sequence in the alignment, using the current alignment as the profile to use for prediction. + \item Otherwise, just the first sequence will be submitted for a full JNet prediction. +\end{list} + \item If just one sequence (or a region on one sequence) has been selected, it will be submitted to the automatic JNet prediction server for homolog detection and prediction. -\item If a set of sequences are selected, and they appear to be aligned, then the alignment will be used for a Jnet prediction on the first sequence in the set (that is, the one that appears first in the alignment window). +\item If a set of sequences are selected, and they appear to be aligned using the same criteria as above, then the alignment will be used for a Jnet prediction on the first sequence in the set (that is, the one that appears first in the alignment window). \end{list} -Jpred is launched in the same way as the other web services. Select {\sl Web Services $\Rightarrow$ Secondary Structure Prediction $\Rightarrow$ JNet Secondary Structure Prediction} from the alignment window menu (figure \ref{jpred}). A status window opens to inform you of the progress of the job. Upon completion, a new alignment window opens and the Jpred predictions are included as annotations. Consult the Jpred documentation for information on interpreting these results. +Jpred is launched in the same way as the other web services. Select {\sl Web Services $\Rightarrow$ Secondary Structure Prediction $\Rightarrow$ JNet Secondary Structure Prediction} from the alignment window menu (Figure\ref{jpred}). A status window opens to inform you of the progress of the job. Upon completion, a new alignment window opens and the Jpred predictions are included as annotations. Consult the Jpred documentation for information on interpreting these results. \begin{figure}[htbp] \begin{center} @@ -1139,7 +1365,7 @@ Select a different sequence and perform a JNet prediction in the same way. There } \exstep{ Select the second sequence prediction, and copy and paste it into the first prediction window. You can now compare the two predictions. Jnet secondary structure prediction annotation are examples of {\bf sequence associated alignment annotation}. -% which is described in section \ref{seqassocannot} below. +% which is described in Section \ref{seqassocannot} below. } \exstep{ Select and hide some columns in one of the profiles that were returned from the JNet service, and then submit the profile for prediction again. @@ -1156,13 +1382,13 @@ When you get the result, verify that the prediction has not been made for the hi \label{featannot} Features and annotations are additional information that is overlaid on the sequences and the alignment. Generally speaking, annotations are associated with columns in the alignment. Features are associated with specific residues in the sequence. -Annotations are rendered below the alignment, in the annotation panel, and often reflect properties of the alignment as a whole. The conservation, consensus and quality scores are examples of dynamic annotation. As the alignment changes, these annotations will change along with it. Conversely, features are properties of the individual sequences. They do not change with the alignment, but are shown mapped on to specific residues within the alignment. +Annotations are rendered below the alignment, in the annotation panel, and often reflect properties of the alignment as a whole. The conservation, consensus and quality scores are examples of dynamic annotation. As the alignment changes, these annotations will change along with it. Conversely, seqeunce features are properties of the individual sequences. They do not change with the alignment, but are shown mapped on to specific residues within the alignment. Features and annotation can be interactively created, or retrieved from external data sources. DAS (the Distributed Annotation System) is the primary source of sequence features, whilst webservices like JPred (see \ref{jpred} above) can be used to analyse a given sequence or alignment and generate annotation for it. \subsection{Creating sequence features} -Sequence features can be created by simply selecting the area in a sequence (or sequences) to form the feature and selecting {\sl Selection $\Rightarrow$ Create Sequence Feature } from the right-click context menu (Figure \ref{features}). A dialogue box allows the user to customise the feature with respect to name, group, and colour. The feature is then associated with the sequence. Moving the mouse over a residue associated with a feature brings up a tool tip listing all features associated with the residue. +Sequence features can be created simply by selecting the area in a sequence (or sequences) to form the feature and selecting {\sl Selection $\Rightarrow$ Create Sequence Feature } from the right-click context menu (Figure \ref{features}). A dialogue box allows the user to customise the feature with respect to name, group, and colour. The feature is then associated with the sequence. Moving the mouse over a residue associated with a feature brings up a tool tip listing all features associated with the residue. \begin{figure}[htbp] \begin{center} @@ -1183,7 +1409,7 @@ Feature display can be toggled on or off by selecting the {\sl View $\Rightarrow \begin{figure}[htbp] \begin{center} \includegraphics[width=4in]{images/features4.pdf} -\caption{{\bf Multiple sequence features.} An alignment with many sequence features overlaid } +\caption{{\bf Multiple sequence features.} An alignment with JPred secondary structure prediction annotation below it, and many sequence features overlaid onto the aligned sequences. The tooltip lists the features annotating the residue below the mouse-pointer.} \end{center} \end{figure} @@ -1210,7 +1436,7 @@ Add a similar feature to column 102. When the feature dialogue box appears, clic \subsection{Creating user defined annotation} -Annotations are properties that apply to the alignment as a whole and are visualised on rows in the annotation panel. +Annotations are properties that apply to the alignment as a whole and are visualized on rows in the annotation panel. To create a new annotation row, right click on the annotation label panel and select the {\sl Add New Row} menu option (Figure \ref{newannotrow}). A dialogue box appears. Enter the label to use for this row and a new row will appear. \begin{figure}[htbp] @@ -1257,30 +1483,35 @@ The format for this file is given in the Jalview help. Press [F1] to open it, an } \section{Importing features from databases} - -Jalview supports feature retrieval from public databases either directly or {\sl via} the Distributed Annotation System (DAS\footnote{http://www.biodas.org/}). It includes built in parsers for Uniprot and EMBL records retrieved from the EBI. Sequences retrieved from these sources using the sequence fetcher (see section \ref{fetchseq}) will already posess features. +\label{featuresfromdb} +Jalview supports feature retrieval from public databases either directly or {\sl via} the Distributed Annotation System (DAS\footnote{http://www.biodas.org/}). It includes built in parsers for Uniprot and EMBL records retrieved from the EBI. Sequences retrieved from these sources using the sequence fetcher (see Section \ref{fetchseq}) will already posess features. \subsection{Sequence Database Reference Retrieval} \label{fetchdbrefs} -Jalview maintains a list of external database references for each sequence in an alignment. These are listed in a tooltip when the mouse is moved over the sequence ID. Sequences retrieved using the sequence fetcher will always have at least one database reference, but alignments imported from a file, or retrieved from alignment datasources like PFAM, generally have no database references. +Jalview maintains a list of external database references for each sequence in an alignment. These are listed in a tooltip when the mouse is moved over the sequence ID\footnote{Unfortunately, the first release of Jalview 2.4 has no option to control the display of this tooltip text which can become rather large.}. Sequences retrieved using the sequence fetcher will always have at least one database reference, but alignments imported from a file, or retrieved from alignment datasources like PFAM, generally have no database references. \subsubsection{Database References and Sequence Coordinate Systems} -Jalview displays features in the local sequence's coordinate system which is given by its 'start' and 'end'. Any sequence features on the sequence will be rendered relative to the sequence's start position. If the start/end positions do not match the coordinate system from which the features were defined, then the features will be displayed incorrectly. +Jalview displays features in the local sequence's coordinate system which is given by its `start' and `end'. Any sequence features on the sequence will be rendered relative to the sequence's start position. If the start/end positions do not match the coordinate system from which the features were defined, then the features will be displayed incorrectly. \subsubsection{Automatic retrieval of a sequence's database references} -Jalview includes a function to automatically verify and update each sequence's start and end numbering against any of the sequence databases that the {\sl Sequence Fetcher} has access to. This function is accessed by selecting {\sl Webservices $\Rightarrow$ Fetch DB References} from the Alignment window. When selected, Jalview will use the ID string from each sequence in the alignment or in the currently selected set to retrieve records from the external source. Any sequences that are retrieved are matched against the local sequence, and if the local sequence is found to be a sub-sequence of the retrieved sequence then the local sequence's start/end numbering is updated. A new database reference mapping is created mapping the local sequence to the external database, and the local sequence inherits any additional annotation retrieved from the database sequence. +Jalview includes a function to automatically verify and update each sequence's start and end numbering against any of the sequence databases that the {\sl Sequence Fetcher} has access to. This function is accessed by selecting {\sl Webservices $\Rightarrow$ Fetch DB References} from the Alignment window. When selected, Jalview will use the ID string from each sequence in the alignment or in the currently selected set to retrieve records from the external source. Any sequences that are retrieved are matched against the local sequence, and if the local sequence is found to be a sub-sequence of the retrieved sequence then the local sequence's start/end numbering is updated. A new database reference mapping is created, mapping the local sequence to the external database, and the local sequence inherits any additional annotation retrieved from the database sequence. -The database retrieval process terminates when a valid mapping is found for a sequence, or if all database queries failed to retrieve a matching sequence. +The database retrieval process terminates when a valid mapping is found for a sequence, or if all database queries failed to retrieve a matching sequence. Termination is indicated by the disappearance of the moving progress indicator on the alignment window. A dialog box may be shown once it completes which lists sequences for which records were found, but the sequence retrieved from the database did not exactly contain the sequence given in the alignment (the {\sl ``Sequence not 100\% match'' dialog box}). \exercise{Retrieving Database References}{ \exstep{Load the example alignment at http://www.jalview.org/tutorial/alignment.fa} \exstep{Move the mouse over the sequence IDs to verify there are no database references for the sequences.} \exstep{Use the {\sl Webservices $\Rightarrow$ Fetch DB References} menu option to retrieve database IDs for the sequences.} \exstep{Examine the tooltips for each sequence in the alignment as the retrieval progresses - note the appearance of new database references.} +\exstep{Once the process has finished, save the alignment as a Jalview Project. + +Now close all the windows and open the project again, and verify that the database references and sequence features are still present on the alignment} + } \subsection{Retrieving Features {\sl via} DAS} +\label{dasfretrieval} Jalview includes a client to retrieve features from DAS annotation servers. To retrieve features, select {\sl View $\Rightarrow$ Feature Settings\ldots} from the alignment window menu. Select the {\sl DAS Settings} tab in the Feature Settings Window (Figure \ref{das}). A list of DAS sources compiled from the currently configured DAS registry\footnote{By default, this will be the major public DAS server registry maintained by the Sanger Institute: http://www.dasregistry.org} is shown in the left hand pane. Highlighting an entry on the left brings up information about that source in the right hand panel. \begin{figure}[htbp] @@ -1294,14 +1525,14 @@ Jalview includes a client to retrieve features from DAS annotation servers. To r -Select appropriate DAS sources as required then click on {\sl Fetch DAS Features}. If you know of additional sources not listed in the by the configured registry, then you may add them with the {\sl Add Local Source} button. Use the {\sl Authority},{\sl Type}, and {\sl Label} filters to restrict the list of sources to just those that will return features for the sequences in the alignment. +Select appropriate DAS sources as required then click on {\sl Fetch DAS Features}. If you know of additional sources not listed in the configured registry, then you may add them with the {\sl Add Local Source} button. Use the {\sl Authority},{\sl Type}, and {\sl Label} filters to restrict the list of sources to just those that will return features for the sequences in the alignment. Following DAS feature retrieval, the {\sl Feature Settings} panel takes on a slightly different appearance (Figure \ref{das} (right)). Each data source is listed and groups of features from one data source can be selected/deselected by checking the labeled box at the top of the panel. \subsubsection{The Fetch Uniprot IDs dialog box} \label{discoveruniprotids} -If any sources are selected which refer to Uniprot coordinates as their reference system, then you may be asked if you wish to retrieve Uniprot IDs for your sequence. Pressing [OK] instructs Jalview to verify the sequences against Uniprot records retrieved using the sequence's ID string. This operates in much the same way as the {\sl Web Services $\Rightarrow$ Fetch Database References } function described in section \ref{fetchdbrefs}. If a sequence is verified, then the start/end numbering will be adjusted to match the Uniprot record to ensure that features retrieved from the DAS source are rendered at the correct position. +If any sources are selected which refer to Uniprot coordinates as their reference system, then you may be asked if you wish to retrieve Uniprot IDs for your sequence. Pressing [OK] instructs Jalview to verify the sequences against Uniprot records retrieved using the sequence's ID string. This operates in much the same way as the {\sl Web Services $\Rightarrow$ Fetch Database References } function described in Section \ref{fetchdbrefs}. If a sequence is verified, then the start/end numbering will be adjusted to match the Uniprot record to ensure that features retrieved from the DAS source are rendered at the correct position. \subsubsection{Rate of feature retrieval} Feature retrieval can take some time if a large number of sources is selected and if the alignment contains a large number of sequences. This is because Jalview only queries a particular DAS source with one sequence at a time, to avoid overloading it. As features are retrieved, they are immediately added to the current alignment view. The retrieved features are shown on the sequence and can be customised as described previously. @@ -1332,108 +1563,18 @@ Select {\sl View $\Rightarrow$ Feature Settings\ldots} to reopen the Feature Set Jalview supports both GFF and its own Jalview Features file format for the import of sequence annotation. Features and alignment annotation are also extracted from other formats such as Stockholm, and AMSA. URL links may also be attached to features. See the online documentation for more details of the capabilities of the jalview features file. -\section{Working with structures} -Jalview provides integration between protein sequences and protein structures by providing a linked view of structures associated with protein sequences in the alignment. The Java based GPL molecular viewer Jmol\footnote{see the Jmol homepage www.jmol.org for more information.} is incorporated, enabling sophisticated molecular visualization to be prepared and investigated alongside analysis of associated sequences. \footnote{Earlier versions of Jalview included MCView - a simple main chain structure viewer. Structures are visualised as an alpha carbon trace and can be viewed, rotated and coloured in a structure viewer and the results interpreted on a sequence alignment.} - -PDB format files can be imported directly or structures can be retrieved from the the Macromolecular Structure Database (MSD) using the {\sl Sequence Fetcher}. - -\subsection{Automatic association of PDB structures with sequences} -Jalview can automatically determine which structures are associated with a sequence, if that sequence has an ID from a public database such as Uniprot. Right-click on any sequence ID and select {\sl $<$Sequence ID$>$ $\Rightarrow$ Associate Structure with Sequence $\Rightarrow$ Discover PDB IDs } from the context menu (where {\sl $<$Sequence ID$>$} is the ID of the sequence on which you clicked) (Figure \ref{auto}). Jalview will attempt to associate the sequence with a Uniprot sequence and from there discover any associated PDB structures. This takes a few seconds and applies to all sequences in the alignment which have valid Uniprot IDs. On moving the cursor over the sequence ID the tool tip now shows the Uniprot ID and any associated PDB structures. - -\begin{figure}[htbp] -\begin{center} -%TODO fix formatting -\parbox{1.5in}{ -{\centering -\begin{center} -\includegraphics[width=1.5in]{images/auto1.pdf} -\end{center}} -} \parbox{3.25in}{ -{\centering -\begin{center} -\includegraphics[scale=0.5]{images/auto2.pdf} -\end{center} -} -} \parbox{1.5in}{ -{\centering -\begin{center} -\includegraphics[width=1.5in]{images/auto3.pdf} -\end{center} -} -} - -\caption{{\bf Automatic PDB ID discovery.} The tooltip (left) indicates that no PDB structure has been associated with the sequence. After PDB ID discovery (center) the tool tip now indicates the Uniprot ID and any associated PDB structures (right)} -\label{auto} -\end{center} -\end{figure} - -\subsection{Viewing Protein Structures} -The structure viewer can be launched through the sequence ID context menu. Select {\sl Structure $\Rightarrow$ View PDB entry $\Rightarrow$ $<$PDB ID$>$}. The structure will be downloaded or loaded from the local file system, and shown as a ribbon diagram coloured according to the associated sequence in the current alignment view (Figure \ref{structure} (right)). The structure can be rotated by clicking and dragging in the structure window. The structure can be zoomed using the mouse scroll wheel (if available). Moving the mouse cursor over the sequence to which the structure is linked in the alignment panel highlights the respective residue by showing its sidechain. Moving the cursor over the structure shows a tooltip and highlights the corresponding residue in the alignment. - -\begin{figure}[htbp] -\begin{center} -\parbox{3in}{ -{\centering -\begin{center} -\includegraphics[scale=0.5]{images/structure1.pdf} -\end{center} -} -} -\parbox{3.2in}{ -{\centering -\begin{center} -\includegraphics[width=3in]{images/structure2.pdf} -\end{center} -} -} -\caption{{\bf Structure visualisation} The structure viewer is launched from the sequence ID context menu (left) and allows the structure to be visualised using the embedded Jmol molecular viewer (right). } -\label{structure} -\end{center} -\end{figure} - -\subsubsection{Customising structure display} - -Structure display can be modified using the {\sl Colour} and {\sl View} menus in the structure viewer. The background colour can be modified by selecting the {\sl Colours $\Rightarrow$ Background Colour\ldots} option. - -By default, the structure will be coloured in the same way as the sequence in the associated alignment view. The structure can be coloured independently of the sequence by selecting an appropriate colour scheme from the {\sl Colours} menu. It can be coloured according to the alignment using the {\sl Colours $\Rightarrow$ By Sequence } option. The image in the structure viewer can be output to EPS or PNG format via the {\sl File $\Rightarrow$ Save As $\Rightarrow$ \ldots} submenu. The mapping between the structure and the sequence (How well and which parts of the structure relate to the sequence) can be viewed with the {\sl File $\Rightarrow$ View Mapping} menu option. - -\subsubsection{Using the Jmol visualization interface } - -Jmol has a comprehensive set of selection and visualization functions that are accessed from the Jmol popup menu (by right-clicking in the Jmol window or by clicking the Jmol logo). Molecule colour and rendering style can be manipulated, and distance measurements and molecular surfaces can be added to the view. It also has its own Rasmol\footnote{see www.rasmol.org}-like scripting language, and this is used by Jalview to store the state of a Jmol visualization within Jalview archives, in addition to the PDB data file originally loaded or retrieved by Jalview. To access the Jmol scripting environment directly, use the {\sl Jmol $\Rightarrow$ Console} menu option. - - -\exercise{Viewing Structures}{ -\exstep{Load the alignment at \textsf{http://www.jalview.org/examples/exampleFile.jar}. Right-click on the sequence ID label for any of the sequences (e.g. {\sl FER1\_SPIOL}) to bring up the context menu. Select {\sl FER1\_SPIOL $\Rightarrow$ Associate Structure with Sequence $\Rightarrow$ Discover PDB ids}. Jalview will now attempt to find PDB structures for the sequences in the alignment. -} -\exstep{ -Right-click on the sequence ID for {\sl FER1\_SPIOL}. Select { \sl FER1\_SPIOL $\Rightarrow$ View PDB Entry: 1A70} A structure viewing window appears. Rotate the molecule by clicking and dragging in the structure viewing box. Zoom with the mouse scroll wheel. -} -\exstep{Roll the mouse cursor along the {\sl FER1\_SPIOL} sequence in the alignment. Note that if a residue in the sequence maps to one in the structure, a label will appear next to that residue in the structure viewer. Move the mouse over the structure. Placing the mouse over a part of the structure will bring up a tool tip indicating the name and number of that residue. The corresponding residue in the sequence is highlighted in black. Clicking the alpha carbon toggles the highlight and residue label on and off. Try this by clicking on a set of three or four adjacent residues so that the labels are persistent, then finding where they are in the sequence. -} -\exstep{Select {\sl Colours $\Rightarrow$ Background Colour\ldots} from the structure viewer menu and choose a suitable colour. Press {\sl OK} to apply this. Select {\sl File $\Rightarrow$ Save As $\Rightarrow$ PNG} and save the image. View this with your web browser. -} -\exstep{Select {\sl File $\Rightarrow$ View Mapping} from the structure viewer menu. A new window opens showing the residue by residue alignment between the sequence and the structure.} - -\exstep{Select {\sl File $\Rightarrow$ Save $\Rightarrow$ PDB file} and choose a new filename to save the PDB file. Once the file is saved, open the location in your file browser (or explorer window) and drag the PDB file that you just saved on to the Jalview desktop (or load it from the {\sl Jalview Desktop $\Rightarrow$ Input Alignment $\Rightarrow$ From File } menu). Verify that you can open and view the associated structure from the sequence ID pop-up menu's {\sl Structure } submenu in the new alignment window.} - -\exstep{Right click on the structure to bring up the Jmol window. Explore the menu options. Try to change the style of molecular display - by first using the {\sl Jmol $\Rightarrow$ Select $\Rightarrow$ all} command, and then the {\sl Jmol $\Rightarrow$ Style $\Rightarrow$ Scheme $\Rightarrow$ Ball and stick} command.} -\exstep{Use the {\sl File $\Rightarrow$ Save As .. } function to save the alignment as a Jalview Project. Now close the alignment and the structure view, and load the project file you just saved. - -Verify that the Jmol display is as it was when you just saved the file.} -} - \section{Working with DNA} \label{workingwithnuc} -Jalview was originally developed for the analysis of protein sequences, but now includes some specific features for working with nucleic acid sequences and alignments. Nucleotide sequences and alignments are recognised based on the presence the nucleotide symbols [ACGT] of greater than 85\% in the sequences. Built in codon-translation tables can be used to translate ORFs into peptides for further analysis. EMBL records retrieved {\sl via} the sequence fetcher (see section \ref{fetchseq}) are also parsed in order to identify codon regions and extract peptide products. +Jalview was originally developed for the analysis of protein sequences, but now includes some specific features for working with nucleic acid sequences and alignments. Nucleotide sequences and alignments are recognised based on the presence the nucleotide symbols [ACGT] of greater than 85\% in the sequences. Built in codon-translation tables can be used to translate ORFs into peptides for further analysis. EMBL records retrieved {\sl via} the sequence fetcher (see Section \ref{fetchseq}) are also parsed in order to identify codon regions and extract peptide products. Furthermore, Jalview records mappings between protein sequences that are derived from regions of a nucleotide sequence. Mappings are used to to transfer annotation between nucleic acid and protein sequences, and to dynamically highlight regions in one sequence that correspond to the position of the mouse pointer in another. \subsection{Alignment and Colouring} -Jalview provides a simple colourscheme for DNA bases, but does not apply any specific conservation or substitution score model for the shading of nucleotide alignments. However, pairwise alignments performed using the {\sl Alignment Window $\Rightarrow$ Calculations $\Rightarrow$ Pairwise Alignment \ldots} option will utilise an identity score matrix to calculate alignment score when alignment two nucleotide sequences. +Jalview provides a simple colourscheme for DNA bases, but does not apply any specific conservation or substitution score model for the shading of nucleotide alignments. However, pairwise alignments performed using the {\sl Alignment Window $\Rightarrow$ Calculations $\Rightarrow$ Pairwise Alignment \ldots} option will utilise an identity score matrix to calculate alignment score when aligning two nucleotide sequences. \subsubsection{Aligning Nucleic Acid Sequences} -Jalview only has limited knowledge of the capabilities of the programs that are made available to it {\sl via} web services. In particular, only the ClustalW and MAFFT programs will successfuly recognise and align nucleic acid sequences. MAFFT will also choose an appropriate parameter model. Whilst Muscle may appear to align DNA, it simply treats the base symbols as amino-acids, often leading to a poor quality alignment. Furthermore, it will almost certainly fail to align RNA containing Uracil bases, since 'U' is not a valid one-letter amino acid code. +Jalview only has limited knowledge of the capabilities of the programs that are made available to it {\sl via} web services. In particular, only the ClustalW and MAFFT programs will successfuly recognise and align nucleic acid sequences. MAFFT will also choose an appropriate parameter model. Whilst Muscle may appear to align DNA, it simply treats the base symbols as amino-acids, often leading to a poor quality alignment. Furthermore, it will almost certainly fail to align RNA containing Uracil bases, since `U' is not a valid one-letter amino acid code. \subsection{Translate cDNA} @@ -1442,7 +1583,7 @@ The {\sl Calculations $\Leftarrow$ Translate cDNA} function in the alignment win \subsection{Linked DNA and Protein Views} \parbox{3.5in}{ -Views of alignments involving DNA sequences are linked to views of alignments containing their peptide products in a similar way to views of protein sequences and views of their associated structures. Peptides translated from cDNA and extracted from EMBL records for DNA contigs are linked to their 'parent' coding regions. Mousing over a region of the peptide highlights codons in views showing the original coding region. +Views of alignments involving DNA sequences are linked to views of alignments containing their peptide products in a similar way to views of protein sequences and views of their associated structures. Peptides translated from cDNA and extracted from EMBL records for DNA contigs are linked to their `parent' coding regions. Mousing over a region of the peptide highlights codons in views showing the original coding region. }\parbox{3in}{ \begin{center} %\begin{figure}[htbp] @@ -1490,7 +1631,7 @@ The Uniprot cross-references derived from EMBL records can be used by Jalview to % \section{Customising Jalview} % \subsection{Setting preferences} % -% The Jalview Desktop stores configuration and history information in a file stored in the users home directory, called '.jalview\_properties'. Many of the options stored in this file are presented in the {\sl Desktop $\Rightarrow$ Tools $\Rightarrow$ Preferences\ldots} dialog. These preferences include default settings for : {\bf Visual} layout settings for alignment views and controlling the display of the default alignment, {\bf Connection} preferences such as the standard set of URL paths that are available from the links menu and the URL which is opened when a Sequence's ID is double clicked, {\bf Editing} settings like {\sl Pad Gaps} and autocalculation of consensus, {\bf Output} settings control the degree of meta-information written in alignment files and mode of EPS figure generation, and finally the {\bf Das Settings} which allows the default DAS sources to be configured. +% The Jalview Desktop stores configuration and history information in a file stored in the users home directory, called `.jalview\_properties'. Many of the options stored in this file are presented in the {\sl Desktop $\Rightarrow$ Tools $\Rightarrow$ Preferences\ldots} dialog. These preferences include default settings for : {\bf Visual} layout settings for alignment views and controlling the display of the default alignment, {\bf Connection} preferences such as the standard set of URL paths that are available from the links menu and the URL which is opened when a Sequence's ID is double clicked, {\bf Editing} settings like {\sl Pad Gaps} and autocalculation of consensus, {\bf Output} settings control the degree of meta-information written in alignment files and mode of EPS Figuregeneration, and finally the {\bf Das Settings} which allows the default DAS sources to be configured. % % \subsection{Adding your own URL links} % diff --git a/latest/TheJalviewTutorial.pdf b/latest/TheJalviewTutorial.pdf index beec700..62ec23f 100644 Binary files a/latest/TheJalviewTutorial.pdf and b/latest/TheJalviewTutorial.pdf differ