% \iffalse % % texshade.dtx % Docstrip archive, to extract documentation run twice through % LaTeX. % To successfully extract the documentation it is necessary to % first run the file `texshade.ins' through LaTeX. This produces % the needed style file `texshade.sty' and the parameter file % `texshade.def' as well as several example files. See the file % `README' for further information! % % % Copyright (C) 1999-2009 Eric Beitz % See the file texshade.txt % % \fi % % \changes{1.0}{1999-5-12}{First release} % \changes{1.1}{1999-5-26}{% % Corrections: `emphregion' is not extending to the next % alignment any more; % `namecolor' & `numbercolor' are now correctly % reordered; % sequence gaps at the beginning or the end are % now treated correctly, i.e. no symbols are shown. % Introduction: `seqlength' % `gapcolors' % `rulersteps' % `hideresidues' % `showresidues' % `fingerprint'.} % \changes{1.2}{1999-6-12}{% % Corrections: functional shading error in funcgroup no. 8. % Introduction: `includeDSSP' % `includeSTRIDE' % `includePHDsec' % `includePHDtopo' % `appearance' % `numcount' % `alphacount' % `Alphacount' % `showonDSSP' % `hideonDSSP' % `showonSTRIDE' % `hideonSTRIDE' % `showonPHDsec' % `hideonPHDsec' % `showonPHDtopo' % `hideonPHDtopo'.} % \changes{1.2a}{1999-6-24}{% % Corrections: `namecolor' & `numbercolor' are now really % correctly reordered; % in sequence names ( and ) are now allowed; % option `case' in `funcshadingstyle' works now.} % \changes{1.3}{2000-3-3}{% % Corrections: features in the ttop row do not produce line % scrambling any more; % `language' replaced by `germanlanguage' % and `englishlanguage' due to % incompatibilities with babel; % incompatibility with amsmath's text command fixed. % Introduction: new feature option `translate' % `codon' % `geneticcode' % `backtranslabel' % `backtranstext' % `romancount' % `Romancount' % TeXtopo compatibility.} % \changes{1.3a}{2000-7-28}{% % Introduction: `showleadinggaps' % `hideleadinggaps' to hide or show gap symbols % before the actual seq start.} % \changes{1.3b}{2000-7-30}{% % Corrections: `showleadinggaps' % `hideleadinggaps' were extended to `ending' gaps; % sequence names input routine now accepts special % characters.} % % \changes{1.4}{2000-9-12}{% % Introduction: `movelegend' allows one to move the legend; % series of sequence numbers, e.g. in `orderseqs', % can now be written with a dash, e.g. {1-3,6-4,7} instead % of {1,2,3,6,5,4,7}.} % % \changes{1.4a}{2000-10-3}{Documentation and FAQ additions} % % \changes{1.5}{2001-02-22}{% % Corrections: `X's in the alignment lead to a run-time error; % Introduction: `ttopspace' % `topspace' % `bottomspace' % `bbottomspace' for controlling vertical space % between feature lines. % `showcaption' for adding a caption to the alignment. % the sequence lengths are now stored in the .aux % in order to have correct gap breaks after the seqs.} % % \changes{1.5a}{2001-03-08}{% % Corrections: Eckhart Guth\"orlein noticed a sorting problem % when in addition some sequences where `killed' and % the consensus was set to a particular sequence. % This update fixes this problem.} % % \changes{1.6}{2002-03-26}{% % Corrections: There is no restriction to `dvips' anymore. One % can add an option to the \usepackage{texshade} % call which is passed to color.sty, e.g. `dvipdf'; % `noblockskip' led to over-printing of lines; % `namecolor' and `numbercolor' did not support % sequence lists - fixed (thanks to Denys Bashtovyy). % Introduction: The FASTA file format is now supported; % references to sequences can be made by name in % addition to number; % sequences can be refered to by their name in % addition to their number in the input file % (suggested by Christoph Gille); % `flexblockspace' optimizes the space between % sequence blocks to be minimal (is % default as before); % `fixblockspace' leads to an equal separation of % sequence blocks independent of % feature lines; % `firstcolumnDSSP' lets you choose the first numbering % column in DSSP input files and % `secondcolumnDSSP' the second column.} % % \changes{1.7}{2004-01-05}{% % Corrections: Several bugs were fixed. % In gaps the wrong character was plotted in `donotshade' % mode. Gaps were colored incorrectly when a single % sequence was set as consensus. (thanks to Jeferson J. % Arenzon). Another `donotshade' problem was solved % which led to a halt of the LaTeX run (thanks go to % Naomi Siew). The gap and match labels in diverse % mode were switched (`-' in gaps; `.' at matching % positions) in order to follow convention. % Introduction: Spanish labels (contributed by Mikel Egana Aranguren); % New feature label `helix'.} % % \changes{1.8}{2004-08-26}{% % Corrections: Minor bugs were fixed. % Introduction: Definition of "light" versions of all colors; % Definition of three color ramps: % Red-Blue, Green-Red and Cold-Hot; % New feature labels `bar' and `color'.} % % \changes{1.9}{2005-02-08}{% % Corrections: Fixed TeXtopo incompatibility introduced with v1.8. % (Thanks to Meike Schmedt) % Introduction: Implementation of HMMTOP topology prediction. % `includeHMMTOP' % `showonHMMTOP' % `hideonHMMTOP' % new `appearance' option {HMMTOP} with {internal} % {external} % {TM}; % new arrow look with scalable line thickness; % new arrow option `ball'; % `frameblock' colored frame around sequence block; % `shortcaption' allows one to define short caption % versions for the List of Figures.} % % \changes{1.10}{2005-03-29}{% % Corrections: Sped up drawing of color scales and bar graphs by % by more than 10fold! % (Thanks, Christoph Gille, for asking for it) % Introduction: Definition of even lighter versions of all colors; % implementation of a new labeling mode 'tint': % `tintregion' % `tintblock' % `tintdefault'; % new `feature' option {restriction} for putting a % triangle label pointing between two residues; % data files for color scales and bar graphs can % now contain 'NaN' (not a number) values % (Also requested by Christoph Gille.)} % % \changes{1.11}{2005-04-13}{% % Corrections: Frames were drawn with the wrong height when % separation lines were used. Fixed. % Spacing between bar graph feature line and % sequence block was wrong after `bargraphstretch'. % Introduction: Additional optional parameter for feature rule % thickness; % additional optional parameters for feature box % frame color and frame thickness; % definition of three more color scales: % {RedBlue}, {RedGreen}, and {HotCold}; % plotting of amino acid features as bar graphs % or color scales: % `hydrophobicity' % `molweight' % `charge'; % plotting of protein sequence conservation as % bar graph or color scale: % `conservation'; % separate command for stretching color scales: % `colorscalestretch'; % color scales on consensus sequence according % to sequence conservation. % } % % \changes{1.12}{2005-09-20}{% % Corrections: Combination of 'setends' with regional labeling % using 'shaderegion', 'frameblock', 'emphregion' % or 'tintregion' produced incorrect output % (thanks to Chris Page). Fixed. % Introduction: Optional colors for `showconsensus' foreground % and background. % } % % \changes{1.13}{2006-02-23}{% % Corrections: Helix symbols in feature lines were not drawn % correctly if the standard Computer Modern Font % was changed to another one, e.g. Palatino (thanks % to Markus Heller). Fixed. % Unintended gaps occurred due to numbers at the % end of lines in Clustal W alignment files. Fixed. % Frames were too tall when sequences were hidden % or killed. Fixed. % The limitations in the number of sequences per % alignment have finally been overcome by a more % restrictive use of counter variables. % Introduction: The numbering can now be displayed on both sides % of the alignment with the optional parameter % {leftright}; % TeXshade tries to guess the sequence type (protein % or nucleotide) if not defined by the user; % Implementation of sequence logos: % `showsequencelogo', `hidesequencelogo', % `namesequencelogo', `logostretch', % `logocolor', `clearlogocolors', % `showlogoscale', `hidelogoscale' % `dofrequencycorrection', `undofrequencycorrection'; % The ruler numbering can now be rotated with % `rotateruler' and back with `unrotateruler', % this way every position can be numbered which is % often wanted when e.g. sequence logos are plotted; % the font family (sf, rm, tt) can be set for the % ruler, e.g. `rulertt' or `setfamily{ruler}{tt}'; % `hideseqs' and `showseqs' in order to hide/show % all sequences, esp. useful with sequence logos; % `allowzero' and `disallowzero' - use (or do not % use) the number `0' in the sequence numbering as % sometimes wanted in sequence logos; % Implementation of a new way to visualize residues % which are characteristic for protein subfamilies, % i.e. subfamily logos: % `showsubfamilylogo', `hidesubfamilylogo', % `namesubfamilylogo', % `setsubfamily', % `shownegatives', `hidenegatives'. % } % % \changes{1.14}{2006-05-11}{% % Introduction: `showrelevance', `hiderelevance', % `relevance': commands to set a bit-value above % which subfamily deviations are considered relevant % and to label such positions in the subfamily logo. % } % % \changes{1.15}{2006-06-27}{% % Correction: Logos can now be plotted with pdflatex; pstricks is % not needed anymore. % } % % \changes{1.16}{2007-02-18}{% % Corrections: TeXshade crashed when doing conservation % calculations with sequences containing untypical % residues symbols, such as X. Fixed. % Shading of the reference sequence in diverse mode % is now achieved with `conservedresidues' and % `allmatchresidues' instead of `nomatchresidues'. % Introduction: `exportconsensus' produces a pymol script for % coloring according to the TeXshade conservation % calculation; % `namerulerpos' allows one to change labels of % the ruler individually; % `hideblock' allows one to hide parts of the % alignment (still in experimental stage!). % New home: TeXshade, TeXtopo, and BioTeX have a new home: % `www.pharmazie.uni-kiel.de/chem/Prof_Beitz/biotex.html' % } % % \changes{1.17}{2007-06-19}{% % Corrections: . % Introduction: `allmatchspecial' now accepts an optional threshold % percentage allowing one to set two levels off % conservation; % the same effect can be achieved by using a % number as an optional parameter in % `shadingmode', % or by setting an additional parameter in % `threshold'; % names can be displayed left or right of feature % lines using: % `showfeaturename', `showfeaturestylename'; % `hidefeaturename', `hidefeaturestylename'; % `hidefeaturenames', `hidefeaturestylenames'; % the color of such names can be changed with % `featurenamescolor' % `featurestylenamescolor' % font styles can be set as usual, e.g. % `setsize{featurenames}{large}' or % `featurestylenamesrm' etc. % } % % % \changes{1.18}{2008-04-15}{% % Corrections: bug fixes (featurenames, ordering, numbering). % Introduction: T-Coffee shading in alignment, consensus and % feature color scales and bar graphs % `shadingmode[ASCII-file]{T-Coffee}' % `includeTCoffee'; % two more feature lines on top and at bottom: % `ttttop', `tttop', `bbbottom', and `bbbbottom'; % fusion of the `startnumber' and `setends' commands % via optional parameters. % } % % \changes{1.19}{2009-03-09}{% % Corrections: horizontal scaling of logo characters with `charstretch'; % further bug fixes. % Introduction: selection of residues depending on PDB file coordinates; % works with `feature', `shaderegion', `shadeblock', % `tintregion', `tintblock', `emphregion', % `emphblock', `frameblock'; % 3D selection possible around a point, along a line, or % within a plane; % list of selected residues printable with `printPDBlist', % or viewable during the TeX run with `messagePDBlist'; % show only selected residues in alignment with `setdomain', % `domaingaprule' sets thickness of a domain separator rule, % `domaingapcolors' sets fg/bg colors for the separator rule, % these commands replace the unstable `hideblock' command. % } % % % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % % \newsavebox{\mybox} % \newenvironment{fmpage}[1][0.975\textwidth]{% % \begin{lrbox}{\mybox}\begin{minipage}{#1}} % {\end{minipage}\end{lrbox}\fbox{\usebox{\mybox}}} % % \parindent0mm % % % \title{The \TeXshade{} package\footnote{Please cite: Eric Beitz (2000), % \TeX{}shade: % shading and labeling multiple sequence alignments using \LaTeXe. % \textit{Bioinformatics}: \textbf{16}, 135--139.}\\[2mm] \large % Typesetting \\ nucleotide and peptide alignments} % \author{Eric Beitz\footnote{University of Kiel, % Pharmaceutical Chemistry, Gutenbergstrasse 8, % D-24118 Kiel, Germany; % send electronic mail to \texttt{ebeitz@pharmazie.uni-kiel.de}; % for further information, updates and on-line documentation % see my homepage at % \texttt{www.pharmazie.uni-kiel.de/chem/Prof\_Beitz/biotex.html} }} % \date{\small v1.19; 2009/03/09\\[2pt] {*** incredible 10 years since first release ***}} % \maketitle % \begin{abstract} % Setting alignments of nucleotides and peptides for publication % or presentation purposes is usually a time consuming two-step process. % First, a scientific software is used for the calculation of the % alignment. This % is done in a few minutes. Then, in order to highlight special sequence % relationships and to label positions and regions of interest a % second software with high quality output capability is needed. % Manipulating sequence alignments with standard word processing % or graphics programs takes its time---often several hours---and % simple layout changes such as % re-breaking lines, say from 50 to 40 residues per line, % elongate the working time considerably. % % \TeXshade{} is an alignment shading software % written in \TeX/\LaTeX{} which can process % multiple sequence alignments in the MSF, ALN % and FASTA file format. % It provides in addition to common shading algorithms special % shading modes featuring functional aspects, e.\,g.\ charge or % hydropathy, and a plenitude of commands for handling % shading colors, text styles, labels, legends and even allows % the user to define completely new shading modes. \TeXshade{} % combines highest flexibility and the habitual \TeX{} output % quality---with reasonable time expenditure. % % \end{abstract} % % \thispagestyle{empty} % % \tableofcontents % \newpage % % \section{Package Overview} % % \label{over} % % After |texshade.ins| is run through \TeX{} the following files % should appear in the directory: % % \begin{tabbing} % \quad|texshade.sty|\quad\= the style file with all \TeXshade{} % commands\\ % \quad|texshade.def|\> an example parameter file with the % standard \\ % \> parameter settings\\ % \quad|AQPDNA.MSF| \> an example nucleotide alignment % (MSF-format)\\ % \quad|AQPpro.MSF| \> an example protein alignment % (MSF-format)\\ % \quad|AQP_TC.asc| \> an example T-Coffee shading file % (|score_ascii|-format)\\ % \quad|AQP2spec.ALN|\> a further protein alignment % (minimal ALN-file)\\ % \quad|AQP1.phd|\> secondary structure information % (PHD-format)\\ % \quad|AQP1.top|\> topology data extracted % from |AQP1.phd|\\ % \quad|AQP1_HMM.sgl|\> topology information (single line, % HMMTOP-format)\\ % \quad|AQP1_HMM.ext|\> topology information (extended, % HMMTOP-format)\\ % \quad|standard.cod|\> standard genetic code definitions\\ % \quad|ciliate.cod|\> ciliate macronuclear genetic code\\ % \end{tabbing} % The alignment file examples as well as the topology data file are % needed for \TeX{}ing this documentation % and can serve as illustrations for the MSF and ALN % file format. % % The following subsections give an overview on the capabilities of % the \TeXshade{} package. All commands are described in detail % later on. % % % \subsection{Version History} % % \textbf{v1.19 2009/03/09} % \medskip % % \emph{Correction:} logo characters are now horizontally % scalable using |\charstretch|. Minor bugs were fixed. % % \emph{Introduction:} % (a) Selection of residue positions was enhanced (\ref{Lshaderegion}) % \TeXshade{} can % now select residues based on their 3D coordinates provided in a % PDB structure file. 3D selection can be due to a certain distance % around a point, along a line, or above and below a plane. It % works with |\feature|, |\shaderegion|, |\shadeblock|, |\tintregion|, % |\tintblock|, |\emphregion|, |\emphblock|, |\frameblock|. % (b) The list of selected residues is printable with |\printPDBlist| or % viewable during the \TeX{} run with |\messagePDBlist|. % (c) |\hideblock| and related commands were replaced by |\setdomain| % (\ref{Lsetdomain}). % This command will display only selected residues in the alignment. % Thickness and colors of a domain separator rule can be set using % |\domaingaprule| and |\domaingapcolors|. % \bigskip % % \textbf{v1.18 2008/04/15} % \medskip % % \emph{Correction:} several bug fixed concerning featurename % display, sequence ordering and numbering. % % \emph{Introduction:} % (a) T-Coffee shading information can be loaded and put on the % alignment.\footnote{Suggestion by Florian Mertes.} % The conservation data can also be displayed in the % consensus as well as feature color scales and bar plots. % (b) Two more feature lines were added on the top and at the % bottom (|ttttop|, |tttop|, |bbbottom|, |bbbbottom|). % (c) The |startnumber| and |setends| commands have been fused; % either command can set both, a new start number as well as % end definitions of the sequence section to be displayed. % \bigskip % % \textbf{v1.17 2007/06/19} % \medskip % % \emph{Introduction:}\footnote{Asked for by Marat Kazanov.} % (a) A second threshold percentage was introduced in order to label % two levels of conservation in `identical' and `similar' mode. This is % achieved by setting an optional parameter in |\threshold| or in % |\allmatchspecial|, or by using a number as an optional parameter in % |\shadingmode|. (b) The feature lines can be additionally labeled with % a name left or right of the feature. This is handled using % |\showfeaturename|, |\showfeaturestylename|, % |\hidefeaturename|, |\hidefeaturestylename|, % |\hidefeaturenames|, |\hidefeaturestylenames|. % The color of such names can be changed with % |\featurenamecolor|, |\featurestylenamecolor|, % |\featurenamescolor|, |\featurestylenamescolor|, % Font styles in feature names can be set as usual, e.g. % |\setsize{featurenames}{large}| or % |\featurestylenamesrm|. % \bigskip % % % \textbf{v1.16 2007/02/18} % \medskip % % \emph{Correction:} \TeXshade{} crashed when calculating conservation % using sequences with untypical residue characters, such as "X". % Fixed. The reference sequence in diverse mode can now be shaded with % |\conservedresidues| and, if active, |\allmatchresidues|.\footnote{For this % and suggesting |namerulerpos| credit to Marco Pasi.} % % \emph{Introduction:}\footnote{Both extensions were suggested by Phillip Hahn.} % (a) A command was introduced, i.e. |\exportconsensus| % which produces a pymol script file for coloring a 3D model according to % \TeXshade{}s conservation calculation. (b) With |namerulerpos| labels of the % ruler can be exchanged by a string. (c) Various parts of the alignment % can now be hidden by |\hideblock|. % % \emph{New home:} \TeXshade, \TeXtopo, and \BioTeX{} have a new home: % |www.pharmazie.uni-kiel.de/chem/Prof_Beitz/biotex.html|. % \bigskip % % % \textbf{v1.15 2006/06/27} % \medskip % % \emph{Correction:} Sequence and subfamily logos can now be plotted % with pdflatex; pstricks is not needed anymore. % \bigskip % % % \textbf{v1.14 2006/05/11} % \medskip % % \emph{Introduction:} In order to better recognize relevant positions % in a subfamily logo [14], a bit-value can now be set by |\relevance| % above which a deviation is considered relevant. Such positions % can be labeled with a symbol by |\showrelevance| and hidden % by |\hiderelevance|. % \bigskip % % % \textbf{v1.13 2006/02/23} % \medskip % % \emph{Corrections:} Helix symbols in feature lines were not drawn % correctly if the standard Computer Modern Font was changed to % another one, e.g. Palatino.\footnote{Thanks to Markus Heller} % Fixed. Unintended gaps occurred due to numbers at the % end of lines in Clustal W alignment files. Fixed. The limitations % in the number of sequences per alignment have finally been overcome % by a more restrictive use of counter variables. % % \emph{Introductions:} (a) The numbering can now be displayed---in % addition to left or right---on both sides of the alignment with % the optional parameter |{leftright}| in the |\shownumbering| % command (p.\pageref{Lshownumbering}). (b) TeXshade tries to guess % the sequence type, i.\,e.\ protein or nucleotide, if not defined % by the user. (c) Plotting of sequence logos has been implemented % (p.\pageref{Lshowsequencelogo}). % Logos can be shown in addition to or together with the consensus, % or alone without any alignment sequences. (d) The ruler numbering % can be rotated in order to make labeling of every position possible. % (e) A new way to visualize subfamily characteristics has been % implemented, i.e. subfamily logos (p.\pageref{Lshowsubfamilylogo}) [14]. % \bigskip % % \newpage % % \textbf{v1.12 2005/09/20} % \medskip % % \emph{Corrections:} When regional labeling with |\shaderegion|, % |\emphregion|, |\tintregion|, or |\frameblock| was combined with % |\setends| incorrect output was produced lacking the % labeling.\footnote{Discovered by Chris Page.} Other minor fixes. % % \emph{Introductions:} An additional optional parameter for setting % consensus colors was implemented in the |\showconsensus| command % (p.\pageref{Lshowconsensus}). This even allows one to use color % scales illustrating sequence conservation in the consensus line. % \bigskip % % \textbf{v1.11 2005/04/13} % \medskip % % \emph{Corrections:} Bounding boxes with |\frameblock| had a wrong % height when |\separationline|s were used. Other minor fixes. % % \emph{Introductions:} (a) An additional parameter for setting % individual bar and arrow thicknesses in feature lines has been % introduced. (b) Additional parameters for setting the frame color % and thickness of boxes in feature lines have been implemented. (c) % Three more color scales have been defined: |RedBlue|, |RedGreen|, % and |HotCold|. (d) Plotting of amino acid features (|hydrophobicity|, % |molweight|, |charge|) as bar graphs or color scales. (e) Plotting % of protein sequence |conservation| as bar graph or color % scale\footnote{Ahmad Mirza asked for (e) and (f), great suggestion!}. % (f) Color scales can be used for shading the consensus sequence % according to protein sequence conservation. % (g) Separate command for stretching color scales |\colorscalestretch|. % \bigskip % % \textbf{v1.10 2005/03/29} % \medskip % % \emph{Corrections:} Plotting of color scales and bar graphs has % been sped up by more than a factor of 10.\footnote{This and (d) % I owe again to Christoph Gille.} % % \emph{Introductions:} (a) More colors have been introduced, i.e. % even lighter versions of the existing PostScript colors % `LightLight' plus color name and `LightLightLight' plus color % name. (b) Sequence stretches and blocks can be tinted for % labeling purposes |\tintreqion|, |\tintblock| and |\tintdefault|. % (c) A new feature label style |{restriction}| has been introduced. % (d) Java-typical `NaN' values are now allowed in data files for % bar graphs and color scales. % \bigskip % % \newpage % % \textbf{v1.9 2005/02/08} % \medskip % % \emph{Corrections:} \TeXshade{} version 1.8 introduced an % incompatibility with \TeXtopo{}. This problem was identified % by Meike Schmedt and has been fixed. % % \emph{Introductions:} (a) A short version of the figure caption % can now be defined for display in the list of figures\footnote{% % Meike, here you go \dots} |\shortcaption{|\meta{text}|}|. (b) A % colored frame can be drawn around a sequence block for labeling % purposes with the command |\frameblock|.\footnote{Alan Robinson, % this is for you.} (c) A new look for feature arrows has been % implemented with scalable line thickness and a new end style % `ball'. (d) HMMTOP topology predictions can % now be included for plotting feature lines with information on % the location of the transmembrane domains.\footnote{Implemented % after a request by Steffen Moeller.} % \bigskip % % \textbf{v1.8 2004/08/26} % \medskip % % \emph{Corrections:} Only minor bugs were fixed. % % \emph{Introductions:} (a) More colors have been designed, i.e. % `light' versions of the existing PostScript colors. (b) % Three color ramps in 5\% steps have been introduced: % i) Blue-Red, ii) Green-Red and iii) Cold-Hot. % (c) Two new feature label styles |bar| and |color| have been % introduced which allow one to display number % values as bar graphs or color scales along the % alignment\footnote{Inspired by Christoph Gille's {\tt STRAP}}. % \bigskip % % % \textbf{v1.7 2004/01/05} % \medskip % % \emph{Corrections:} Several bugs were fixed. % In gaps the wrong character was plotted in `donotshade' % mode. Gaps were colored incorrectly when a single % sequence was set as consensus. Another `donotshade' problem was % solved which led to a halt of the LaTeX % run\footnote{Thanks to Jeferson J.\ Arenzon and Naomi Siew}. % Due to several requests, the gap and match labels in |diverse| % mode were switched (`|-|' in gaps; `|.|' at matching % positions) in order to follow convention. % % \emph{Introduction:} \TeXshade{} speaks spanish (|\spanishlanguage|). % Necessary translations were contributed by Mikel Ega\~na Aranguren. % A new feature label style |helix| has been introduced. % \bigskip % % \newpage % % \textbf{v1.6 2002/03/26} % \medskip % % \emph{Corrections:} The unnecessary restriction to the DVIPS % driver for |color.sty| has been removed\footnote{As suggested by % Eckhart Guth\"ohrlein.}. Any color.sty compatible % driver option can be given with the |\usepackage{texshade}| call % and is then passed to the |color| package. The `|\namecolor|' and % `|\numbercolor|' commands do now support sequence % lists.\footnote{Thanks to Denys Bashtovyy.} % % \emph{Introductions:} (a) The FASTA file format is supported by % \TeXshade{} as alignment inputs. (b) Two commands set the space % between sequence blocks either to be flexible (as so far) % `|\flexblockspace|' or the be fixed `|\fixblockspace|'. (c) One % can now refer to sequences by their name in addition to the number % in the input file. (d) Using % `|\firstcolumnDSSP|' and `|\secondcolumnDSSP|' one can choose % which of the first to columns should refer to the sequence numbering % (the second column remains default setting)\footnote{c and d were % suggested by Christoph Gille.}. % \bigskip % % \textbf{v1.5a 2001/03/08} % \medskip % % \emph{Corrections:} `X's in the alignment file caused a run-time % error. Fixed. % % \emph{Introductions:} (a) The vertical space between feature % lines can be controlled by four new commands: |\ttopspace|, % |\topspace|, |\bottomspace| and % |\bbottomspace|\footnote{Suggested by Ulrike Folkers.}. (b) It is % now easily possible to add a caption to the alignment with % the |\showcaption| command. (c) \TeXshade{} stores the % sequence lengths in the |.aux| file in order to have correct % breaks of the gaps after the sequences. % \bigskip % % % \textbf{v1.4\&4a 2000/9/12 \& 2000/10/3} % \medskip % % \emph{Introductions:} (a) The alignment legend can now be moved % by the command `|\movelegend|'. (b) In commands with parameters % that contain series of sequence numbers, e.\,g. |\orderseqs|, a % dash can be used, e.\,g. |{1-3,6-4,7}| instead of % |{1,2,3,6,5,4,7}|. % \bigskip % % \textbf{v1.3a\&b 2000/7/28 \& 2000/7/30} % \medskip % % \emph{Introductions:} (a) It is now possible to force \TeXshade{} to % display gap symbols before and after the actual sequence % by the commands `|\showleadinggaps|' and `|\hideleadinggaps|' % (\ref{Lshowleadinggaps}). % (b) The sequence names input routine is now more tolerant concerning % special characters. % \bigskip % % \textbf{v1.3 2000/3/3} % \medskip % % \emph{Corrections:} Line scrambling occured when features where % set in the |ttop| row without a feature in the |top| row. Fixed. % The incompatible command `|\language|' with the |babel| package has been % replaced by `|\germanlanguage|' and `|\englishlanguage|'\footnote% % {Thanks to Eckhart Guth\"ohrlein.}. % % \emph{Introductions:} (a) Now, translations of sequence stretches % are possible. Either nucleotide or amino acid sources can be % translated. This is done by the new |{translate}| option for the % feature command. (b) The codons are defined by the new command % `|\codon|'. Complete codon sets can be loaded by `|\geneticcode|'. % (c) Further, the size and style of the nucleotide triplets of % backtranslations can be set by `|\backtranslabel|' and % `|\backtranstext|'. (d) Two more feature counter styles were introduced: % `|\Romancount|' and `|\romancount|'. (e) \TeXshade{} is now % compatible with \TeXtopo, a new \TeX{} software % for drawing and shading topology plots of membrane proteins. % \bigskip % % \textbf{v1.2a 1999/6/24 (not released)} % \medskip % % \emph{Minor corrections:} `|\namecolor|' and `|\numbercolor|' are % now really correctly reordered. Brackets ( and ) are now allowed % in sequence names. The option |{case}| in `|\funcshadingstyle|' % works now. % \bigskip % % \textbf{v1.2 1999/6/12} % \medskip % % \emph{Corrections:} (a) Functional group definitions of more than % seven groups produced an error when displaying group number % eight. These residues where skipped in the alignment. Fixed. % % \emph{Introductions:} (a) Protein secondary structure files in the DSSP, % STRIDE and PHD format can be included and displayed auto\-matically % within the alignment by `|\includeDSSP|' (and similar commands for % STRIDE, PHDsec and PHDtopo, \ref{structure}). % (b) Which types of secondary structures are to be included or % skipped in the alignment is chosen by `|\showonDSSP|' and % `|\hideonDSSP|' (and respective commands for STRIDE, PHDsec and PHDtopo). % (c) The appearance of the labels is defined by `|\appearance|'. % (d) Internal counters for repeatedly occuring structure types % can be activated by `|\numcount|', `|\alphacount|' and % `|\Alphacount|'. All commands are described in \ref{structure}. % \bigskip % % \newpage % % \textbf{v1.1 1999/5/26} % \medskip % % \emph{Corrections:} (a) The activation of `|emphregion|' lead to % an em\-pha\-sized following alignment. This has been % corrected. (b) `|\namecolor|' and `|\numbercolor|' were not % reordered with the command `|orderseqs|'. Fixed. (c) Sequence % gaps at the beginning or the end of a sequence, i.\,e. before % the first and after the last residue where labeled with the % gap symbol. Now these positions are left blank. % % \emph{Introductions:} (a) In order to treat the preceeding and % sequence following gaps correctly, \TeXshade{} needs to know the % length of the sequences. Therefore, the command `|\seqlength|' was % introduced (\ref{seqlines}). (b) With `|\gapcolors|' (also % \ref{seqlines}) the % color selection for gap symbols is independent from non conserved % residues. (c) The divisions of the ruler where so far fixed to % 10. Now, this value is changeable by `|\rulersteps|' (again % \ref{seqlines}). (d) `|\hideresidues|' and `|\showresidues|' turn % off or on the residue names, i.\,e. one can choose between a % display of shaded boxes only or with letters in the boxes % (\ref{kill}). (e) The changes (c) through (d) were necessary % for the introduction of `|\fingerprint|'. This command allows one to % display the complete sequence in one line for an easy survey of % the alignment (\ref{fingerprint}). % \bigskip % % \textbf{v1.0 1999/5/12} % \medskip % % First release. % \bigskip % % % \subsection{\LaTeX{} basics} % % \subsubsection{Typesetting documents using \LaTeX} % % In order to use any of the macros provided by the % \BioTeX-project % (\TeXshade/\TeXtopo) efficiently a basic understanding of the \TeX{} % typesetting system and its usage is required. Several books are % available on this topic, but a rather quick and easy introduction % is the \emph{Not so short introduction to \LaTeX}. This document % is available from all Comprehensive \TeX{} Archive Network % (CTAN) servers, % e.\,g. from |ftp://ftp.dante.de/pub/tex/documentation/lshort/|, % in many different languages and formats besides \LaTeX{}, such % as \textsc{PostScript} and on-line viewable PDF. % I also put a link from the \BioTeX{} (\TeXshade/\TeXtopo) homepage % to the document collection % (|http://pharmazie.uni-kiel.de/chem/Prof_Beitz/BioTeX|). % % % \subsubsection{Memory shortness when using \TeX{}shade} % % If you are using \TeXshade{} to align several large sequences (about 1000 % residues/sequence), LaTeX will probably stop compiling and quit with one % of the following messages: % % |!\ TeX capacity exceeded, sorry [main memory size=384000]| % % or % % |!\ TeX capacity exceeded, sorry [stack size=300]|. % % \TeX{} allocates space for different kinds of internal variables. % Setting alignments needs lots of memory, % usually more than for typesetting plain text. % Thus, the parameter settings of a standard \TeX{} installation might not % be sufficient for certain projects. This manifests % in \TeX{} error messages about insufficient memory % and the setting process is interrupted. There is no reason to be % concerned. The parameters can be set by hand. Unfortunately, % each \TeX{} system hides its default parameter file in a different % place in the system. % % In the following, an excerpt from the FAQ-list to \TeXshade{} is added. % This explains how % to increase the settings in Oz\TeX{} for the Macintosh, Mik\TeX{} % for Windows and te\TeX{} for *NIX \TeX{} distributions. Please contribute % to this list! % % \begin{enumerate} % % \item % % \textbf{Oz\TeX{} 4.0 for the Macintosh:} % % Find the file `OzTeX:TeX:Configs:Default'. This file contains % all memory settings. Look for the section % `\% TeX parameters' and increase the values that \TeX{} complains % about during the run. You will have to restart Oz\TeX{} before the % changes are active. % % For older versions of Oz\TeX{} the configuration file has the % same name but the path is somewhat different. % % % \item % % \textbf{te\TeX{} for *NIX:} (contributed by Joerg Daehn) % % Find the file: `/usr/share/texmf/web2c/texmf.cnf' or use % % |locate texmf.cnf| at the command prompt to find it. % % Login as super user. Backup `texmf.cnf' in case you destroy something and % then open the `texmf.cnf' file in your favorite text editor and use its % search function to locate |main_memory|. This variable is set to 384000. % Change this to some higher value, i.e. 4000000 (works fine for me!). The % total amount of memory should not exceed 8000000, so check the other % values in that section. % % Next, you want to change the stack size. Search for |stack_size|. This % will be set to 300. I changed it to 4000 and it works fine. % % There might be complains by \TeX{} about further specific parameters such % as |stack_size|. You find all those in the same file. % % After this you have to run `texconfig init'. % % Logout as root. % % After this all should be set for large alignments. Happy \TeX{}ing! % % The information on how to achieve this was derived from a mail in the % te\TeX{} mail archive. The original question was posted by Pascal Francq and % answered by Rolf Nieprasch. % % % \item % % \textbf{MiK\TeX{} for Windows:} % % The MiK\TeX{} documentation describes very detailed how the memory % settings can be changed. In brief, you must locate the % configuration file `miktex/config/miktex.ini'. In the [MiKTeX] % section of this file you find all the parameters you need, e.\,g.\ % |mem_min|, |mem_max|, |buf_size|, |stack_size| etc. % % It appears, that the standard settings of MiK\TeX{} are bigger % than that of other \TeX{} installations, so it may not always be necessary % to increase the values. % % % \end{enumerate} % % % % \subsection{System requirements} \label{require} % % \TeXshade{} requires \LaTeXe{} with |color.sty| and |graphics.sty| % for shading. For arrows in the feature line (p.\pageref{Lfeature}) % the AMS Math style is needed. % David Carlisle's |color.sty| is part of the Standard \LaTeX{} % `Graphics Bundle' [1]. This and the other packages can be downloaded % from any \TeX{} archive, e.g.\ |ftp.dante.de|; usually they are % included in a comprehensive \TeX{} installation. % % The |color| style allows one to use several |[|\meta{options}|]|, e.\,g. % |dvips|, |pdftex| or |dviwin|. These provide the commands which % different devices/programs need to display colored output. It is % advisable to make yourself familiar with the |color.sty| manual. % You should define a default driver in the file |color.cfg|. % Since there is no direct call of |color.sty| by the user, the % option can be stated when \TeXshade{} is loaded, see next % subsection. If no option is stated the |DVIPS| driver will be % loaded. % % With the |[dvips]| option the output DVI-file % can be converted to \textsc{PostScript} using the |DVIPS| program % and can later be viewed or printed with the public domain % {\sc GhostView} program which is % available for almost all computer platforms. Further, more and more % standard \TeX{} viewers are to a certain extent \textsc{PostScript} % compatible. % \bigskip % % \subsection{The \texttt{texshade} environment} % % \label{tsenvironment} % % The commands provided by the \TeXshade{} package are enabled by % the following command in the document header section: % \medskip % % \quad |\usepackage[|\meta{option}|]{texshade}| % % \medskip % Make sure that the file `|texshade.sty|' is present in a directory % searched by \TeX{} (see the installation notes in the file % `|texshade.txt|'). % % The \meta{option} given here is passed to |color.sty| which % handles the color commands for a particular output device, see % previous subsection and the |color.sty| manual. % % The \TeXshade{} package provides only one single new environment: % |texshade|. This environment has one mandatory and % one optional argument, both of them designating file names which % must be present in a directory searched by \TeX. The % required file \meta{alignmentfile} contains the aligned nucleotide % or peptide sequences % (see section~\ref{alignfilestruc}). This file is needed, because % \TeXshade{} does no alignment by % itself, it has to take a preprocessed alignment as input. % The optional file is a parameter file (section~\ref{paramfilestruc}) % with definitions for the % customized calculation of the consensus, special sequence features % or labels etc. In this parameter file all \TeXshade{} commands % which are allowed in the |texshade| environment can be used and are % fully functional. % Within the environment further \TeXshade{} commands can be given % to replace or complete settings from the parameter file. % % Thus, setting an alignment with \TeXshade{} is as simple as % this: % % \begin{quote} % |\begin{texshade}[|\meta{parameterfile}|]| % |{|\meta{alignmentfile}|}| % % \quad\emph{further \emph{\TeXshade} commands, if needed} % % |\end{texshade}| % \end{quote} % % \subsection{Shading modes predefined in this package} % % \subsubsection{Identity mode} % % \label{ident} % % This basic type of shading is provided by almost any alignment % program. All identical residues at a position are shaded if the % number of matching residues is higher than a given threshold % (default is 50\%).\medskip % % \begin{texshade}{AQPpro.MSF} % \setends{1}{80..112} % \hideconsensus % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \setends{1}{80..112} % \hideconsensus % \end{texshade} % \end{verbatim} % } % % Quite uncommon for an alignment shading software is the possibility % to display selected residues only, e.\,g.\ to eliminate uninteresting % positions from the output: % \medskip % % \begin{texshade}{AQPpro.MSF} % \setdomain{1}{80..90,100..110,120..130} % \showruler{1}{top} % \hidenumbering % \hideconsensus % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \setdomain{1}{80..90,100..110,120..130} % \showruler{1}{top} % \hidenumbering % \hideconsensus % \end{texshade} % \end{verbatim} % } % % This goes even furher. You can have \TeXshade{} select positions % based on the 3D coordinates provided by a PDB file, e.\,g.\ show % all residues that are within an 8 \AA{} radius around the % $\alpha$-carbon of the residue at position 81: % \bigskip % % \begin{texshade}{AQPpro.MSF} % \setdomain{1}{75..86,103..103,148..148,151..153,155..156,193..195,218..219,222..222} % \showruler{1}{top} \rulersteps{1} % \hidenumbering % \hideconsensus % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \setdomain{1}{point[8]:1J4N.pdb,81[CA]} % \showruler{1}{top} \rulersteps{1} % \hidenumbering % \hideconsensus % \end{texshade} % \end{verbatim} % } % % If you like, positions where conservation is very high (here $\ge$ 80\%) can % be shaded in a special color and the consensus can be shown with % or without shading according to the degree of conservation: % \medskip\label{shadecons} % % \begin{texshade}{AQPpro.MSF} % \threshold[80]{50} % \setends{1}{80..112} % \showconsensus[ColdHot]{bottom} % \defconsensus{.}{lower}{upper} % \showlegend % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \threshold[80]{50} % \setends{1}{80..112} % \showconsensus[ColdHot]{bottom} % \defconsensus{.}{lower}{upper} % \showlegend % \end{texshade} % \end{verbatim}} % % \subsubsection{Similarity mode} % % \label{similar} % % In many cases it is expedient---mostly when comparing protein % sequences---to shade also residues % which are not identical but similar to the consensus sequence. % Consider a position where three out of five residues are basic % arginines and two more residues are also basic but lysines. % In similarity mode \TeXshade{} shades similar residues in a different % color to distinguish them from the consensus residue. Even when % none of the residues alone reaches the % threshold but a group of similar residues does these are shaded % in the `similarity' color. This case is given for instance % when at a position in a five sequence alignment two aliphatic % valines and two also aliphatic isoleucins are present and the % threshold is set to 50\%. Neither residue exceeds this percentage % but as a group of similars they do. % % In grayscale printouts some colors of the following alignment may appear % undistinguishable. Don't worry if you usually use grayscale---all % colors/grays can be selected freely (see \ref{colors}). % \medskip % % \begin{texshade}{AQPpro.MSF} % \shadingmode{similar} % \threshold[80]{50} % \setends{1}{80..112} % \hideconsensus % \feature{top}{1}{93..93}{fill:$\downarrow$}{first case (see text)} % \feature{bottom}{1}{98..98}{fill:$\uparrow$}{second case (see text)} % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode{similar} % \threshold[80]{50} % \setends{1}{80..112} % \hideconsensus % \feature{top}{1}{93..93}{fill:$\downarrow$}{first case (see text)} % \feature{bottom}{1}{98..98}{fill:$\uparrow$}{second case (see text)} % \end{texshade} % \end{verbatim}} % % Probably you know % this kind of shading from the public domain program % |BoxShade| % by \textsc{Kay Hofmann} or from the Macintosh version % |MacBoxShade| by \textsc{Michael D. Barron}. \TeXshade{} % provides the same functionality---and goes truly beyond---for the % \TeX{} community. % % % \subsubsection{T-Coffee shading} % % \label{TCoffee} % % \TeXshade{}'s capabilities of calculating alignment shadings are % limited. |T-Coffee| (|www.tcoffee.org|) is a sophisticated alignment/shading % software. You can apply shading from |T-Coffee| in \TeXshade{} % by loading the shading information file (|score_ascii|) generated by % |T-Coffee|. % \medskip % % % \begin{texshade}{AQPpro.MSF} % \shadingmode[AQP_TC.asc]{T-Coffee} % \setends{1}{30..63} % \feature{top}{1}{30..63}{color:conservation[T-Coffee]}{} % \showfeaturestylename{top}{feat-cons} % \showconsensus{bottom} % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[AQP_TC.asc]{T-Coffee} % \setends{1}{30..63} % \feature{top}{1}{30..63}{color:conservation[T-Coffee]}{} % \showfeaturestylename{top}{feat-cons} % \showconsensus{bottom} % \end{texshade} % \end{verbatim}} % % % % % % % % \subsubsection{Diversity mode} % % \label{diverse} % % Contrary to the above described modes this shading style displays % sequence differences. Thus, it is most suitable for comparing very % similar sequences, e.\,g.\ species variants of a protein. % % One sequence is used as consensus. % Matching residues in other sequences are blanked out, % mismatches are shown in lowercase. % \medskip % % \begin{texshade}{AQP2spec.ALN} % \shadingmode{diverse} % \setends{1}{77..109} \residuesperline*{33} % \featureslarge % \feature{top}{1}{77..109}{}{AQP2 species variants} % \namesrm\namessl % \hidenumbering % \showruler{top}{1} % \shownames{left} % \nameseq{1}{Bos taurus} % \nameseq{2}{Canis familiaris} % \nameseq{3}{Dugong dugong} % \nameseq{4}{Equus caballus} % \nameseq{5}{Elephas maximus} % \frameblock{1}{82..82,106..106}{Red[1pt]} % \end{texshade}\label{frame} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQP2spec.ALN} % \shadingmode{diverse} % \setends{1}{77..109} % \featureslarge % \feature{top}{1}{77..109}{}{AQP2 species variants} % \namesrm\namessl % \hidenumbering\showruler{top}{1} % \shownames{left} % \nameseq{1}{Bos taurus} % \nameseq{2}{Canis familiaris} % \nameseq{3}{Dugong dugong} % \nameseq{4}{Equus caballus} % \nameseq{5}{Elephas maximus} % \frameblock{1}{82..82,106..106}{Red[1pt]} % \end{texshade}\label{frame} % \end{verbatim}} % % % \subsubsection{Functionality modes} % % \label{func} % % Displaying functional peptide similarities is one of \TeXshade's % strong capabilities. Six functional shading modes are predefined; % further user specific modes can easily be created. The examples % may not look very impressive when printed in grayscale. Enjoy % them on your screen or use color printouts. As mentioned before, % all colors can be changed to others or to grays without restrictions % (see chapter \ref{colors}). % % \begin{itemize} % \item [\textbf{charge}:] residues which are charged at physiological pH % (7.4) are shaded if their number at a position % is higher than the threshold \label{charge} % % \begin{texshade}{AQPpro.MSF} % \shadingmode[charge]{functional} % \setends{1}{138..170} % \feature{top}{3}{153..165}{bar[-50,50]:-50,-45,% % -40,-30,-20,-10,0,10,20,30,40,45,50}{} % \feature{top}{3}{167..186}{color:5,10,15,20,25,30,35,% % 40,45,50,55,60,65,70,75,80,85,90,95,100[ColdHot]}{} % \showlegend % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[charge]{functional} % \setends{1}{138..170} % \feature{top}{3}{153..165}{bar[-50,50]:-50,-45,% % -40,-30,-20,-10,0,10,20,30,40,45,50}{} % \feature{top}{3}{167..186}{color:5,10,15,20,25,30,35,% % 40,45,50,55,60,65,70,75,80,85,90,95,100[ColdHot]}{} % \showlegend % \end{texshade} % \end{verbatim}} % % \item [\textbf{hydropathy}:] discrimination between acidic and % basic, polar uncharged and hydrophobic nonpolar residues % \label{hydro} % % \begin{texshade}{AQPpro.MSF} % \shadingmode[hydropathy]{functional} % \feature{top}{1}{158..163}{brace}{tinted} % \tintblock{1}{158..163} % \setends{1}{138..170} % \showlegend % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[hydropathy]{functional} % \feature{top}{1}{158..163}{brace}{tinted} % \tintblock{1}{158..163} % \setends{1}{138..170} % \showlegend % \end{texshade} % \end{verbatim}} % % % \item [\textbf{structure}:] displays the potential % localization within the tertiary structure of % the protein \label{struc} % % \begin{texshade}{AQPpro.MSF} % \shadingmode[structure]{functional} % \setends{1}{138..170} % \feature{top}{1}{138..157}{box[Blue,Red][0.5pt]: % % $\alpha$-helix[Yellow]}{transmembrane domain 4} % \feature{top}{1}{158..163}{translate[Blue]}{} % \backtranslabel{oblique} % \feature{bottom}{1}{158..163}{brace[Blue]}{loop D [Blue]} % \feature{top}{1}{164..170}{o->[Red]}{trans. dom. 5} % \showlegend % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[structure]{functional} % \setends{1}{138..170} % \feature{top}{1}{138..157}{box[Blue,Red][0.5pt]: % % $\alpha$-helix[Yellow]}{transmembrane domain 4} % \feature{top}{1}{158..163}{translate[Blue]}{} % \backtranslabel{oblique} % \feature{bottom}{1}{158..163}{brace[Blue]}{loop D [Blue]} % \feature{top}{1}{164..170}{o->[Red]}{trans. dom. 5} % \showlegend % \end{texshade} % \end{verbatim}} % % % \item [\textbf{chemical}:] residues are shaded due to chemical % properties of % their functional groups \label{chem} % % \begin{texshade}{AQPpro.MSF} % \shadingmode[chemical]{functional} % \setends{1}{138..170} % \showlegend % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[chemical]{functional} % \setends{1}{138..170} % \showlegend % \end{texshade} % \end{verbatim}} % % With |\shadeallresidues| the threshold is ignored and % all residues are shaded due to their group assignment. % This is \emph{not} identical to a threshold of 0\% % where only the majority group would be shaded. See the % difference: % % \begin{texshade}{AQPpro.MSF} % \shadingmode[chemical]{functional} % \setends{1}{138..170} % \shadeallresidues % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[chemical]{functional} % \setends{1}{138..170} % \shadeallresidues % \end{texshade} % \end{verbatim}} % % % \item [\textbf{rasmol}:] similar to |[chemical]| but with % shading following the rasmol % color scheme \label{ras} % \bigskip % % \bigskip % % \begin{texshade}{AQPpro.MSF} % \shadingmode[rasmol]{functional} % \setends{1}{138..170} % \showruler{top}{1} % \rulersteps{1} % \namerulerpos{150}{site A[Red]} % \namerulerpos{155}{site B[Green]} % \shadeallresidues % \showlegend % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[rasmol]{functional} % \setends{1}{138..170} % \showruler{bottom}{1} % \rulersteps{1} % \namerulerpos{150}{site A[Red]} % \namerulerpos{155}{site B[Green]} % \shadeallresidues % \showlegend % \end{texshade} % \end{verbatim}} % % % % \item [\textbf{standard area}:] this shading displays the % differences in the surface % area \label{starea} % of the different amino acid's sidechains % % \begin{texshade}{AQPpro.MSF} % \shadingmode[standard area]{functional} % \setends{1}{138..170} % \showlegend % \shadeallresidues % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[standard area]{functional} % \setends{1}{138..170} % \showlegend % \shadeallresidues % \end{texshade} % \end{verbatim}} % % \item [\textbf{accessible area}:] \label{accarea} % here, the surface area which can % be accessed by solvent molecules is used as a % basis for shading; low accessibility means % hydrophobic (i.\,e.\ strongly buried % residues), whereas highly accessible % sidechains are hydrophilic (compare to % \textbf{hydropathy} and \textbf{structure}) % % \begin{texshade}{AQPpro.MSF} % \shadingmode[accessible area]{functional} % \setends{1}{138..170} % \showlegend % \feature{top}{1}{138..157,164..170}{helix}{membr.} % \feature{top}{1}{158..163}{---}{loop} % \featurerule{1mm} % \shadeallresidues % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[accessible area]{functional} % \setends{1}{138..170} % \showlegend % \feature{top}{1}{138..157,164..170}{helix}{membr.} % \feature{top}{1}{158..163}{---}{loop} % \featurerule{1mm} % \shadeallresidues % \end{texshade} % \end{verbatim}} % % \end{itemize} % % % % \subsection{Bar graphs and color scales} % % \label{graphs} % % Amino acid properties, such as hydrophobicity, molecular weight, % or charge can be shown as bar graphs or color scales along the % alignment. Further, the degree of protein sequence conservation % can be indicated. As an example, in the following % aquaporin alignment plots of residue conservation (bars, top), % are shown as well as properties of the AQP1 sequence: charge (scale, top), % molecular weight are shown (scale, bottom), and hydrophobicity (bars, bottom). % % % \begin{texshade}{AQPpro.MSF} % \setends{1}{138..170} % \feature{ttop}{1}{138..170}{bar:conservation}{} % \showfeaturestylename{ttop}{conserv.} % \ttopspace{-\baselineskip} % \feature{top}{1}{138..170}{color:charge}{} % \showfeaturestylename{top}{charge} % \feature{bottom}{1}{138..170}{color:molweight[ColdHot]}{} % \showfeaturestylename{bottom}{weight} % \bbottomspace{-\baselineskip} % \feature{bbottom}{1}{138..170}{bar:hydrophobicity[Red,Gray10]}{} % \showfeaturestylename{bbottom}{hydrophob.} % \featurestylenamescolor{Red} % \featurestylenamesrm % \featurestylenamesit % \hideconsensus % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \setends{1}{138..170} % \feature{ttop}{1}{138..170}{bar:conservation}{} % \showfeaturestylename{ttop}{conserv.} % \ttopspace{-\baselineskip} % \feature{top}{1}{138..170}{color:charge}{} % \showfeaturestylename{top}{charge} % \feature{bottom}{1}{138..170}{color:molweight[ColdHot]}{} % \showfeaturestylename{bottom}{weight} % \bbottomspace{-\baselineskip} % \feature{bbottom}{1}{138..170}{bar:hydrophobicity[Red,Gray10]}{} % \showfeaturestylename{bbottom}{hydrophob.} % \featurestylenamescolor{Red} % \featurestylenamesrm % \featurestylenamesit % \hideconsensus % \end{texshade} % \end{verbatim}} % % % % \subsection{Secondary structures} % % \label{sec} % % Predicted protein secondary structures in the DSSP, STRIDE % PHD or HMMTOP file format can be included and displayed in the % alignment. As an example, the following few commands show an % aquaporin alignment with the PHD topology data for aquaporin % type 1 (top sequence). % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[allmatchspecial]{similar} % \includePHDtopo{1}{AQP1.phd} % \end{texshade} % \end{verbatim} % } % % Abbr.: \emph{int.} -- internal; \emph{ext.} -- external; \emph{TM} -- % transmembrane domain % % \begin{texshade}{AQPpro.MSF} % \shadingmode[allmatchspecial]{similar} % \includePHDtopo{1}{AQP1.phd} % \end{texshade} % % \subsection{Sequence fingerprints} % % \label{finger} % % To gain a quick overview of sequence similarities or properties % the |\fingerprint| command has been implemented. It can depict the % complete sequence in one single line. The residues are presented % as colored vertical lines. The implementation of this kind of output % was inspired by a publication by \textsc{Kai-Uwe Fr\"ohlich} [6]. % \medskip % % \begin{texshade}{AQPpro.MSF} % \shadingmode[allmatchspecial]{similar} % \shadingcolors{grays} % \fingerprint{360} % \showlegend % \feature{top}{1}{13..36,51..68,94..112,138..156,% % 165..185,211..232}{,-,}{TM} % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[allmatchspecial]{similar} % \shadingcolors{grays} % \fingerprint{360} % \showlegend % \feature{top}{1}{13..36,51..68,94..112,138..156,% % 165..185,211..232}{,-,}{TM} % \end{texshade} % \end{verbatim}} % % The higher the similarity the darker the vertical lines. In this % overview it becomes obvious that the transmembrane regions of the % aquaporin isoforms are most conserved. % \medskip % % A fingerprint of charge distribution on different aquaporins is shown. % below. Sequence gaps can be left blank (example above) or drawn as lines % between the sequence blocks. % % \begin{texshade}{AQPpro.MSF} % \shadingmode[charge]{functional} % \shadeallresidues % \fingerprint{360} % \gapchar{rule} % \showlegend % \end{texshade} % % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \shadingmode[charge]{functional} % \shadeallresidues % \fingerprint{360} % \gapchar{rule} % \showlegend % \end{texshade} % \end{verbatim}} % % % \subsection{Sequence logos} % % \label{logo} % % Sequence logos represent the information content of the aligned % sequences at a position in bit (max.\ 2 bit for DNA, i.\,e. % log$_2$4, and 4.322 bit for proteins, i.\,e. log$_2$20) and the % relative frequency of a base or amino acid at this % position [7]. Thus, more information is contained in logos than in % a standard consensus sequence. % The example below shows a DNA sequence alignment with the logo on the % top. % % It must be remarked that a logo from only five sequences does not % produce meaningful results - it rather illustrates the technique. % % \medskip % % \begin{texshade}{AQPDNA.MSF} % \setends{1}{414..443} % \showsequencelogo{top} % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPDNA.MSF} % \setends{1}{414..443} % \showsequencelogo{top} % \end{texshade} % \end{verbatim}} % % % Next, only the logo of a protein alignment is displayed plus the % degree of sequence conservation as a color scale in the consensus % line. Note, that the full functionality of the feature lines remains. % \medskip % % \begin{texshade}{AQPpro.MSF} % \setends{AQP3.PRO}{203..235} % \showsequencelogo{top} \showlogoscale{leftright} % \hideseqs % \residuesperline*{33} % \defconsensus{{$\bullet$}}{{$\bullet$}}{{$\bullet$}} % \showconsensus[ColdHot]{bottom} % \nameconsensus{conservation} \namessf\namessl % \showruler{bottom}{AQP3.PRO} \rulersteps{1} % \feature{top}{AQP3.PRO}{208..210}{---}{NPA} % \feature{top}{AQP3.PRO}{211..219}{helix}{} % \feature{top}{AQP3.PRO}{220..232}{brace}{loop E} % \feature{top}{AQP3.PRO}{233..235}{helix}{TM6} % \feature{bottom}{AQP3.PRO}{203..235}{brace}{1-step numbering} % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \setends{AQP3.PRO}{203..235} % \showsequencelogo{top} \showlogoscale{leftright} % \hideseqs % \residuesperline*{33} % \defconsensus{{$\bullet$}}{{$\bullet$}}{{$\bullet$}} % \showconsensus[ColdHot]{bottom} % \nameconsensus{conservation} \namessf\namessl % \showruler{bottom}{AQP3.PRO} \rulersteps{1} % \feature{top}{AQP3.PRO}{208..210}{---}{NPA} % \feature{top}{AQP3.PRO}{211..219}{helix}{} % \feature{top}{AQP3.PRO}{220..232}{brace}{loop E} % \feature{top}{AQP3.PRO}{233..235}{helix}{TM6} % \feature{bottom}{AQP3.PRO}{203..235}{brace}{1-step numbering} % \end{texshade} % \end{verbatim}} % % The same logo is shown below but with frequence correction turned % on (|\dofrequencycorrection|), see p.\pageref{Lshowsequencelogo}. % This takes into account the difference between the amino acid % distribution in the alignment and the equal distribution of % 5\% for each residue. % \medskip % % \begin{texshade}{AQPpro.MSF} % \setends{AQP3.PRO}{203..235} % \showsequencelogo{top} \showlogoscale{leftright} % \hideseqs % \residuesperline*{33} % \defconsensus{{$\bullet$}}{{$\bullet$}}{{$\bullet$}} % \showconsensus[ColdHot]{bottom} % \nameconsensus{conservation} \namessf\namessl % \showruler{bottom}{AQP3.PRO} \rulersteps{1} % \feature{top}{AQP3.PRO}{208..210}{---}{NPA} % \feature{top}{AQP3.PRO}{211..219}{helix}{} % \feature{top}{AQP3.PRO}{220..232}{brace}{loop E} % \feature{top}{AQP3.PRO}{233..235}{helix}{TM6} % \feature{bottom}{AQP3.PRO}{203..235}{brace}{1-step numbering} % \dofrequencycorrection % \end{texshade} % % % \subsection{Subfamily logos} % % \label{sublogo} % % The following output is derived from the calculation of a % subfamily logo [14]. Such logos display relevant deviations of a % subfamily compared to the remaining set of sequences. Here, % typical residues of AQP3 are shown (upright) which deviate % from the remaining four aquaporins of this alignment (upside-down). % The output can be directly compared to the sequence logo above, % which displays the same section of the alignment. % Note, that five sequences are far too few to obtain meaningful % results with this method. This is just to illustrate the % approach. % \medskip % % \begin{texshade}{AQPpro.MSF} % \setends{AQP3.PRO}{203..235} % \residuesperline*{33} % \setsubfamily{3} % \showsubfamilylogo{top} \showlogoscale{leftright} % \namesubfamilylogo[others]{AQP3} % \namessf \namessl % \showruler{bottom}{AQP3.PRO} \rulersteps{1} % \hideseqs % \hideconsensus % \dofrequencycorrection % \end{texshade} % % Code:\medskip % % \vbox{% % \begin{verbatim} % \begin{texshade}{AQPpro.MSF} % \setends{AQP3.PRO}{203..235} % \residuesperline*{33} % \setsubfamily{3} % \showsubfamilylogo{top} \showlogoscale{leftright} % \namesubfamilylogo[others]{AQP3} % \namessf \namessl % \showruler{bottom}{AQP3.PRO} \rulersteps{1} % \hideseqs % \hideconsensus % \dofrequencycorrection % \end{texshade} % \end{verbatim}} % % % % % \subsection{Customization of the alignment output} % % Extensive possibilities are given to the user to customize % the final output of an alignment. Thus, all parameters defining the % appearance of letters can be changed individually for sequence % residues, names and numbering or the describing feature texts. % Additional manual shading can be applied to any region or % block of residues. Sequences are easily re-ordered, separated, hidden % or blanked out without recalculation of the entire alignment; % sections of the alignment can also be shown. % Numbering and rulers can be displayed and set to any value. % A powerful tool is the |\feature| % command which allows one to label stretches of residues with bars, % arrows, braces or any fill character and describing text. % Legends are set automatically if desired, but user commands % are also provided to build individual legends. % % % \newpage % \section{Format of alignment input files} % % \label{alignfilestruc} % % \TeXshade{} can handle two common alignment input formats, i.\,e.\ % the MSF format (\underline{m}ultiple \underline{s}equence % \underline{f}ormat) and the ALN format % (\underline{al}ig\underline{n}ment format). The MSF % format is used by |PILEUP| of the Unix GCG sequence % analysis package\footnote{For a description see % |http://gene.md.huji.ac.il/Computer/GCG9doc|}. Files in the % ALN format are produced by |CLUSTAL| which is % available for free for Unix, DOS and Macintosh. Further, upon % request, the FASTA format is supported since version 1.6. % In addition to the mentioned software many alignment programs have % export filters for the MSF, ALN or FASTA % format, e.\,g.\ |MACAW| produces ALN files. If % you are not sure whether your favorite sequence aligner % produces one of the required formats compare its output to % the following examples. \TeXshade{} determines the format from % the internal file structure, thus extensions like MSF, ALN % or FASTA % are not required. If you can choose the alignment format % MSF is recommended, because this format gives information % about the sequence type, i.\,e.\ peptide or nucleotide sequences, % and length (for the correct setting of gaps at the sequence end). % % \subsection{The MSF file format} % Files of this type are divided into a header section and the % multiple sequence alignment. The header may contain the % following components: % % % \begin{itemize} % \item[\textbf{File Type}:] (optional) The first header line % reads for nucleic acids alignments % |!!NA_MULTIPLE_ALIGNMENT 1.0| and for amino acid sequences % |!!AA_MULTIPLE_ALIGNMENT 1.0| (all uppercase). % \item[\textbf{Description}:] (optional) Informative text % describing what is in the file. % \item[\textbf{Dividing line}:] (required!) Must include the % following attributes: % \begin{itemize} % \item[|MSF|:] Displays the number of bases or residues in % the multiple sequence alignment. % \item[|Type|:] Displays the sequence type, `P' for a peptide % and `N' for a nucleotide alignment. % \item[|Checksum|:] Displays an integer value that % characterizes the contents of the file. % \item[|..|] The two periods act as a divider between the % descriptive information and the following % sequence information. % \end{itemize} % \item[\textbf{Name/Weight}:] (required!) Must include the name of % each sequence included in the alignment, as well as its % length, checksum and weight. % \item[\textbf{Two slashes} (|//|):] (required!) This separating % line divides the name/weight information from the % sequence alignment % \end{itemize} % % The alignment section consists of sequence blocks divided by an % empty line. Each sequence line starts out with the sequence name. % An example file is shown here: % \medskip % % \parindent-1mm % \begin{fmpage} % \begin{verbatim} % % AQP.MSF MSF: 87 Type: P May 1st, 1998 Check: 2586 .. % Name: AQP1.PRO Len: 66 Check: 1367 Weight: 1.00 % Name: AQP2.PRO Len: 58 Check: 2176 Weight: 1.00 % Name: AQP3.PRO Len: 83 Check: 1893 Weight: 1.00 % Name: AQP4.PRO Len: 63 Check: 3737 Weight: 1.00 % Name: AQP5.PRO Len: 59 Check: 3413 Weight: 1.00 % // % 1 45 % AQP1.PRO MAS........................EIKKKLFWRAVVAEFLAM % AQP2.PRO MW.........................ELRSIAFSRAVLAEFLAT % AQP3.PRO M.........NRCG.....EMLHIRYR......LLRQALAECLGT % AQP4.PRO MSDGAAARRWGKCGPPCSRESIMVAFKGVWTQAFWKAVTAEFLAM % AQP5.PRO MK........................KEVCSLAFFKAVFAEFLAT % % 45 87 % AQP1.PRO TLFVFISIGSALGFNYPLERNQTLVQDNVKVSLAFGLSIATL % AQP2.PRO LLFVFFGLGSALQWA...SS....PPSVLQIAVAFGLGIGIL % AQP3.PRO LILVMFGCGSVAQVVLSRGTHGGF....LTINLAFGFAVTLA % AQP4.PRO LIFVLLSVGSTINWG...GSENPLPVDMVLISLCFGLSIATM % AQP5.PRO LIFVFFGLGSALKWP...SA....LPTILQISIAFGLAIGTL % \end{verbatim} % \end{fmpage} % \bigskip % % \parindent0mm % \TeXshade{} extracts only the information from the file it % really needs. So, do not mind all the checksums listed % in the file---\TeXshade{} does not either. The same is true % for |Weight|. Required are the string |MSF:| % for the identification of the file format and |Type:| for the % determination of the sequence type (both in the dividing line), % further all |Name:| definitions and finally |//|. The MSF format % allows one to comment out sequences. This is done % by putting an exclamation point directly infront of the respective % |Name|. These sequences are neither displayed nor used for the % calculation of the consensus. This works for \TeXshade, too. % To comment out sequences without changing % the input file use the \TeXshade{} command % |\killseq{|\meta{seqref}|}| (\ref{kill}). % \medskip % % \parindent-1mm % \begin{fmpage}\label{commout} % \begin{verbatim} % % AQP.MSF MSF: 87 Type: P May 1st, 1998 Check: 2586 .. % Name: AQP1.PRO Len: 66 Check: 1367 Weight: 1.00 % !Name: AQP2.PRO Len: 58 Check: 2176 Weight: 1.00 % !Name: AQP3.PRO Len: 83 Check: 1893 Weight: 1.00 % Name: AQP4.PRO Len: 63 Check: 3737 Weight: 1.00 % Name: AQP5.PRO Len: 59 Check: 3413 Weight: 1.00 % // % 1 45 % AQP1.PRO MAS........................EIKKKLFWRAVVAEFLAM % AQP2.PRO MW.........................ELRSIAFSRAVLAEFLAT % AQP3.PRO M.........NRCG.....EMLHIRYR......LLRQALAECLGT % AQP4.PRO MSDGAAARRWGKCGPPCSRESIMVAFKGVWTQAFWKAVTAEFLAM % AQP5.PRO MK........................KEVCSLAFFKAVFAEFLAT % % 45 87 % AQP1.PRO TLFVFISIGSALGFNYPLERNQTLVQDNVKVSLAFGLSIATL % AQP2.PRO LLFVFFGLGSALQWA...SS....PPSVLQIAVAFGLGIGIL % AQP3.PRO LILVMFGCGSVAQVVLSRGTHGGF....LTINLAFGFAVTLA % AQP4.PRO LIFVLLSVGSTINWG...GSENPLPVDMVLISLCFGLSIATM % AQP5.PRO LIFVFFGLGSALKWP...SA....LPTILQISIAFGLAIGTL % \end{verbatim} % \end{fmpage} % \parindent0mm % \bigskip % % The sequence lengths given after |Len:| are not used by % \TeXshade. Due to the fact that most alignment programms calculate the % sequence length by summing up residues and additionally gaps which % is not really correct. In order to have the sequence break right % after the last residue without printing further gap symbols % \TeXshade{} counts the number of residues by itself. You can % also use the command |\seqlength| in the \TeXshade{} % environment to set the values manually if you do not trust a machine. % % \subsection{The ALN file format} % ALN files are quite similar to the above described MSF files. % They simply lack a defined header section. Nevertheless, % describing text is allowed before the alignment part. \TeXshade{} % determines the number of sequences and their names from the last % sequence block---so, no further text lines are allowed after this block! % Due to a lacking declaration in the file the sequence type has % to be set in the |texshade| environment by |\seqtype{|\meta{type}|}| % \label{Lseqtype} with `P' for peptide and `N' for nucleotide sequences; % for the example below: |\seqtype{P}|. If no |\seqtype| command % is used \TeXshade{} assumes a nucleotide sequence. % \bigskip % % \parindent-1mm % \begin{fmpage} % \begin{verbatim} % % profalign May 1st, 1998, 16:58 % % of AQPpro.MSF{} % % Muliple alignment parameter: % % Gap Penalty (fixed): 10.00 % Gap Penalty (varying): .05 % Gap separation penalty range: 8 % Percent. identity for delay: 0% % List of hydrophilic residue: GPSNDQEKRH % Protein Weight Matrix: blosom % % 10 20 30 40 % . . . . % AQP1.PRO MAS........................EIKKKLFWRAVVAEFLAM % AQP2.PRO MW.........................ELRSIAFSRAVLAEFLAT % AQP3.PRO M.........NRCG.....EMLHIRYR......LLRQALAECLGT % AQP4.PRO MSDGAAARRWGKCGPPCSRESIMVAFKGVWTQAFWKAVTAEFLAM % AQP5.PRO MK........................KEVCSLAFFKAVFAEFLAT % * . ** *. % % AQP1.PRO TLFVFISIGSALGFNYPLERNQTLVQDNVKVSLAFGLSIATL % AQP2.PRO LLFVFFGLGSALQWA...SS....PPSVLQIAVAFGLGIGIL % AQP3.PRO LILVMFGCGSVAQVVLSRGTHGGF....LTINLAFGFAVTLA % AQP4.PRO LIFVLLSVGSTINWG...GSENPLPVDMVLISLCFGLSIATM % AQP5.PRO LIFVFFGLGSALKWP...SA....LPTILQISIAFGLAIGTL % .. * .** . ** . % \end{verbatim} % \end{fmpage} % \bigskip % % The minimal contents of an ALN file are shown below; this % is fully sufficient. Many sequence alignment programs can % produce such an output. Have a look at |seqpup| by % \textsc{Don Gilbert} if you need a comprehensive conversion % program\footnote{Sorry, |seqpup| is much more!}. % \bigskip % % \parindent-1mm % \begin{fmpage} % \begin{verbatim} % % AQP1.PRO MAS........................EIKKKLFWRAVVAEFLAM % AQP2.PRO MW.........................ELRSIAFSRAVLAEFLAT % AQP3.PRO M.........NRCG.....EMLHIRYR......LLRQALAECLGT % AQP4.PRO MSDGAAARRWGKCGPPCSRESIMVAFKGVWTQAFWKAVTAEFLAM % AQP5.PRO MK........................KEVCSLAFFKAVFAEFLAT % % AQP1.PRO TLFVFISIGSALGFNYPLERNQTLVQDNVKVSLAFGLSIATL % AQP2.PRO LLFVFFGLGSALQWA...SS....PPSVLQIAVAFGLGIGIL % AQP3.PRO LILVMFGCGSVAQVVLSRGTHGGF....LTINLAFGFAVTLA % AQP4.PRO LIFVLLSVGSTINWG...GSENPLPVDMVLISLCFGLSIATM % AQP5.PRO LIFVFFGLGSALKWP...SA....LPTILQISIAFGLAIGTL % \end{verbatim} % \end{fmpage} % \bigskip % % \subsection{The FASTA file format} % In FASTA files each sequence is led % by a single description line starting with a `|>|'. \TeXshade{} uses % the first word delimited by the leading `|>|' and a space as % the sequence name. If no descriptive text is present \TeXshade{} % generates a sequence name consisting of `|seq|' plus a consecutive % number. The lines following the description line % contain the sequence. % \bigskip % % \begin{fmpage} % \begin{verbatim} % % >AQP1.PRO % MAS........................EIKKKLFWRAVVAEFLAM % TLFVFISIGSALGFNYPLERNQTLVQDNVKVSLAFGLSIATL % % >AQP2.PRO % MW.........................ELRSIAFSRAVLAEFLAT % LLFVFFGLGSALQWA...SS....PPSVLQIAVAFGLGIGIL % % >AQP3.PRO % M.........NRCG.....EMLHIRYR......LLRQALAECLGT % LILVMFGCGSVAQVVLSRGTHGGF....LTINLAFGFAVTLA % % >AQP4.PRO % MSDGAAARRWGKCGPPCSRESIMVAFKGVWTQAFWKAVTAEFLAM % LIFVLLSVGSTINWG...GSENPLPVDMVLISLCFGLSIATM % % >AQP5.PRO % MK........................KEVCSLAFFKAVFAEFLAT % LIFVFFGLGSALKWP...SA....LPTILQISIAFGLAIGTL % \end{verbatim} % \end{fmpage} % \bigskip % % % \parindent0mm % \newpage % \section{Use of a \TeX{}shade parameter file} % % \label{paramfilestruc} % % Using predefined parameter files for repeatedly occuring situations % can save a lot of typing and makes the output throughout the % publication or presentation more consistent. Further, such % files are an easy way to exchange self-defined shading % modes or new color schemes (i.\,e.\ for a satisfying grayscale output) % with other users. If you have created a % parameter file, which you think is of interest for others, please % submit it to me\footnote{|ebeitz@pharmazie.uni-kiel.de|} as an e-mail % attachment together with a short % description. I will take care of those files and post them---with % a reference to the author---together with the next \TeXshade{} % distribution to make them available for all interested users. % % No special file format is required for parameter % files. \TeXshade{} simply calls the file using the |\input| % command right after resetting all parameters to default. An % example parameter file is present containing the standard % parameters of \TeXshade{} called |texshade.def|. This file can be % changed freely and can be used as a template for the creation of % personal parameter files. % % Five steps are executed by \TeXshade{} when % processing the |texshade| environment: % % \bigskip % \begin{minipage}{12cm} % |\begin{texshade}[|\meta{parameterfile}|]{|\meta{alignmentfile}|}| % % \begin{enumerate} % \item Analysis of the \meta{alignmentfile}; determination of % the number of sequences and sequence names % % \item Setting parameters to default % % \item Setting parameters to the definitions of the % \meta{parameterfile}, if existent % % \item Execution of further \TeXshade{} commands within the % evironment, if existent % % \parindent-1cm % \medskip % |\end{texshade}| % % \parindent0cm % \item Loading and setting the alignment on a line by line basis % \end{enumerate} % \end{minipage} % % \newpage % \section{\texttt{texshade} user commands} % % The \TeXshade{} package must be loaded by the |\usepackage| % command in the document header section. % \medskip % % \quad|\usepackage[|\meta{option}|]{texshade}| % \medskip % % Then, the |texshade| environment is ready to use as described % in \ref{tsenvironment}. See also section \ref{paramfilestruc} for % a description of the optional parameter file. All other % commands provided by \TeXshade{} (except |\molweight|, % |\charge| [\ref{molcharge}] and |\shadebox| [\ref{Lshadebox}]) must % be used within the |texshade| environment. % % % % \subsection{Using predefined shading modes} % % \label{predef} % % \label{Lshadingmode} % If no |\shadingmode| command is given in the |texshade| % environment the default shading mode (\emph{identical}, see % \ref{ident}) is active. For the selection of one of the other % predefined shading modes the following command is provided. % \bigskip % % \quad |\shadingmode[|\meta{option}|]{|\meta{mode}|}| % \bigskip % % You can choose from four shading modes and declare one option % which depends on the selected mode. % % \begin{enumerate} % % \item |\shadingmode[|\meta{allmatchspecial/number}|]{identical}| % % There is not much to explain here (see \ref{ident}). Use the % option |allmatchspecial| to shade positions with a special color % where all residues are identical. Or use a percentage number % (0--100) as an option to set an additional threshold for highly % conserved residues, e.\,g.\ |\shadingmode[90]{identical}|. % \label{Lallmatchspecial}|\allmatchspecial| can also be % used as a command with or without an optional parameter for % setting the high conservation threshold. As both, option or command, % |allmatchspecial| is only active in the \emph{identical} and % \emph{similar} shading modes. % % \label{Lshadingcolors} % One can choose from five predefined shading color schemes with % the command % |\shadingcolors{|\meta{scheme}|}|. The sets are named `blues' % (used in the example, \ref{ident}), `reds', `greens', % `grays' and `black'. Default is |\shadingcolors{blues}|. Further, the colors % for the non matching, the % conserved and all matching (or highly conserved) residues can be set individually % plus the letter case (lower or upper) or any character % can be chosen: \label{Lnomatchresidues} % \label{Lconservedresidues} % \label{Lallmatchresidues} % \bigskip % % |\nomatchresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| % % |\conservedresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| % % |\allmatchresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| % \bigskip % % For how to handle colors for the foreground \meta{res.col.} and % the background \meta{shad.col.} see section \ref{colors}. % The third parameter \meta{case} tells \TeXshade{} to print the % corresponding residue as a lowercase or an uppercase letter or % even to print any other character. Finally, the \meta{style} % parameter tells \TeXshade{} which shape to use for the letters. % Use one of the following styles % for \meta{style}. % % \begin{center} % \begin{tabular}{cl} % \meta{style} & \emph{effect} \\ \hline % |bf| & bold face series\\ % |md| & normal series \\ % |up| & upright shape (normal shape)\\ % |it| & italics shape \\ % |sl| & slanted shape \\ % |rm| & modern roman family \\ % |sf| & sans serif family \\ % |tt| & typewriter family \\ % \end{tabular} % \end{center} % \medskip % % In order to change only some % of the parameters it is sufficient to declare these % and use empty braces for the others. Examples: % \bigskip % % \quad|\conservedresidues{White}{Blue}{upper}{bf}|: the conserved % residues are printed as bold face white uppercase letters on blue. % \bigskip % % \quad|\nomatchresidues{}{}{{$\bullet$}}{}|: instead of the non % matching residues a `$\bullet$' is printed. The colors and style % are not changed. % Note the double curly braces which make \TeXshade{} % interpret this complex symbol description as one single % character. % \bigskip % % % \item |\shadingmode[|\meta{allmatchspecial/number}|]{similar}| % % \label{Lsimilarresidues} % See \ref{similar} for an example output and an explanation % of the shading. In addition to the described commands % for changing shading colors this shading mode provides % the command |\similarresidues|. % Use it in analogy to the commands above. % % \label{Lpepsims}\label{Lpepgroups} % \label{LDNAsims}\label{LDNAgroups} % How does \TeXshade{} know which residues are % considered to be similar? These definitions are set by two command % couples, i.\,e.\ % |\pepsims|,|\pepgroups| for peptides and % |\DNAsims|,|\DNAgroups| for nucleotides. With |\pepsims| and % |\DNAsims| residues are defined which are similar to the % consensus residue. Examples: % % \quad |\pepsims{S}{TA}|\quad If a serine is the consensus % residue then all threonins and alanines at this % position are shaded in the color for similars. This % definition does \emph{not} imply that threonine and % alanine are similar to each other! This becomes % obvious when you inspect the next definition: % % \quad |\pepsims{T}{S}|\quad Serine but not alanine is declared % to be similar to threonine. % % What happens if there is no consensus residue? How does % \TeXshade{} decide if a group of similars is greater than % the threshold? For this groups are pre-defined: % % \quad |\pepgroups{FYW,ILVM,RK,DE,GA,ST,NQ}| This command allows % one to set up to nine groups of similars, separated by commas. % Each residue can belong to only one group. If one residue % is assigned to several groups only the last assignment is % carried out. % % \quad |\DNAgroups{GAR,CTY}| This command is used in analogy to % the amino acid groups. Here, two ambiguity codes (`R' for % pu\underline{r}ine base and `Y' for p\underline{y}rimidine % base) are assigned in addition. % % Residues which do not appear in any of the four commands are % considered not to belong to a group. The default % settings for similars are listed below: % \bigskip % % \begin{verbatim} % \pepgroups{FYW,ILVM,RK,DE,GA,ST,NQ} % % \pepsims{F}{YW} % Y and W are similar to F % \pepsims{Y}{WF} % W and F are similar to Y % \pepsims{W}{YF} % Y and F are similar to W % % \pepsims{I}{LVM} % L, V and M are similar to I % \pepsims{L}{VMI} % V, M and I are similar to L % \pepsims{V}{MIL} % M, I and L are similar to V % % \pepsims{R}{KH} % K and H are similar to R % \pepsims{K}{HR} % H and R are similar to K % \pepsims{H}{RK} % R and K are similar to H % % \pepsims{A}{GS} % G and S are similar to A % \pepsims{G}{A} % A (but not S) is similar to G % % \pepsims{S}{TA} % T and A are similar to S % \pepsims{T}{S} % S (but not A) is similar to T % % \pepsims{D}{EN} % E and N (but not Q) are similar to D % \pepsims{E}{DQ} % D and Q (but not N) are similar to E % \pepsims{N}{QD} % Q and D (but not E) are similar to N % \pepsims{Q}{NE} % N and E (but not D) are similar to Q % % \DNAgroups{GAR,CTY} % % \DNAsims{A}{GR} % G and R are similar to A % \DNAsims{G}{AR} % A and R are similar to G % \DNAsims{R}{AG} % A and G are similar to R % % \DNAsims{C}{TY} % T and Y are similar to C % \DNAsims{T}{CY} % C and Y are similar to T % \DNAsims{Y}{CT} % C and T are similar to Y % \end{verbatim} % % % \item |\shadingmode[|\meta{filename}|]{T-Coffee}| % % Enter a \meta{filename} to load the shading % information from a |T-Coffee| |score_ascii| file (|www.tcoffee.org|); % see example in \ref{TCoffee}. Make sure % that the alignment file specified in the |\texshade| command % and this shading file correspond to each other. % % If you do not enter a \meta{filename} here, a separate % command |\includeTCoffee{|\meta{filename}|}| must be used. % % |T-Coffee| shading can also be used in the consensus % p.\,\pageref{Lshowconsensus} and in the feature lines, % in particular color scales and bar plots p.\,\pageref{Lgraphs}, % for the display of shading information. % % % \item |\shadingmode[|\meta{seqref}|]{diverse}| % % \ref{diverse} depicts an example alignment. Choose the % number or the name of the sequence \meta{seqref} which will be treated % as the consensus and to which the other sequences are compared. % If no \meta{seqref} is declared the first sequence is set as % consensus (\meta{seqref} = 1). % % Standard definitions for |diverse| % mode are: % % \begin{verbatim} % \nomatchresidues{Black}{White}{lower}{up} % \similarresidues{Black}{White}{lower}{up} % \conservedresidues{Black}{White}{{.}}{up} % \allmatchresidues{Black}{White}{{.}}{up} % \gapchar{-} % \end{verbatim} % % After calling |\shadingmode{diverse}| these commands can be % used to redefine the |diverse| mode settings (mind the double % curly braces around the dot-symbol!). % % \item |\shadingmode[|\meta{type}|]{functional}|\label{funcdef} % There are seven different functional shading modes available for % peptide sequences; nucleotide sequences can not be shaded due % to functional aspects. Five of \TeXshade's functional modes % correspond to the four `alphabets' employed by \textsc{Karlin} % and \textsc{Ghandour} for peptide alignments [2] or by the % rasmol software. Additional % `alphabets' to the standard 20-letter array of amino acids % can highlight peptide similarities which were otherwise not visible. % For the `alphabet' definitions see below: % % \begin{itemize} % \item \meta{type} = |charge|\quad Acidic (D, E) and basic (H, % K, R). % % \item \meta{type} = |hydropathy|\quad Acidic and basic (as % above), polar uncharged (C, G, N, Q, S, % T, Y) and hydrophobic nonpolar (A, F, I, L, M, % P, V, W), see also \textsc{Kyte} and % \textsc{Doolittle} [3]. % % \item \meta{type} = |structure|\quad External (D, E, H, K, N, Q, R), % internal (F, I, L, M, V) and ambivalent (A, C, % G, P, S, T, W, Y). % % \item \meta{type} = |chemical|\quad Acidic (D, E), aliphatic % (I, L, V), aliphatic (small) (A, G), % amide (N, Q), aromatic % (F, W, Y), basic (H, K, R), hydroxyl % (S, T), imino (P) and sulfur (C, M). % % \item \meta{type} = |rasmol|\quad (D, E), (K, R, H), (F, Y, W), % (A, G), (C, M), (S, T), (N, Q), (I, L, V), % (P). % % \end{itemize} % % The two modes described below highlight sidechain sizes and % hydrophobicity, respectively, according to \textsc{Rose} % \emph{et al.}\ [4,5]. Standard area stands for the surface area % of the residue in \AA$^2$, i.\,e. it is a measure for the size % of a residue's sidechain. The accessible area value (also in % \AA$^2$) gives information about the size of the surface area % which is accessible by solvent molecules within the folded % protein. A very small area means that the residue is % strongly buried and is thus very hydrophobic. Hydrophilic % residues in turn possess large accessible areas due % to their prefered location at the protein surface. Therefore, % this kind of shading provides another method, in addition % to |hydropathy| and |structure|, for the % visualization of structural protein properties. % % \begin{itemize} % % \item \meta{type} = |standard area|\quad for the area values % see legend of the alignment in \ref{starea} % % \item \meta{type} = |accessible area|\quad for values see % \ref{accarea} % % \end{itemize} % % \label{Lclearfuncgroups} % If no \meta{type} or an unknown \meta{type} is designated as option % all functional groups and shading colors are cleared. This is % also achieved by the command % |\clearfuncgroups|. With all groups cleared one can start to % build new shading modes from scratch. How to do this is explained % in the next section. % % \label{Lfuncshadingstyle} % In order to exchange the colors but to keep the group definitions % and descriptions the command % |\funcshadingstyle| can be % employed. Usage: % \medskip % % \quad|\funcshadingstyle{|\meta{residue}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % % \hfill|{|\meta{case}|}{|\meta{style}|}| % \medskip % % \meta{residue} is one representative of the whole amino acid group. The % colors which are declared by the next four parameters are used % for all residues in this group. \meta{case} and \meta{style} are % as described for example in |\nomatchresidues|. % \end{enumerate} % % With |\shadeallresidues| \label{Lshadeallresidues} the % threshold is ignored and % all residues are shaded due to their group assignment. % % \subsection{Creating new functional shading modes} % % The grouping of amino acids due to other properties can make sense as % suggested by \textsc{Karlin} and \textsc{Ghandour} [2], e.\,g.\ % physical properties (molecular weight, shape), kinetic properties % (reaction velocity, Michaelis-Menton constant), or structure % ($\alpha$-helices, $\beta$-sheets, turns). % % \label{Lfuncgroup} % New amino acid groups are defined with the % |\funcgroup| command. This command needs six parameters: % \medskip % % \quad|\funcgroup{|\meta{descr}|}{|\meta{residues}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % % \hfill|{|\meta{case}|}{|\meta{style}|}| % \medskip % % \meta{descr} contains descriptive text which is displayed in the legend. % The second parameter \meta{residues} holds the amino acids to be % grouped. The colors for the foreground and background are set % with the following two parameters, the case and style is declared by the % last parameters. The example below defines a % funcional group named `acidic ($-$)' containing the amino acids % aspartic and glutamic acid with white letters on a red background: % \bigskip % % \quad|\funcgroup{acidic ($-$)}{DE}{White}{Red}{upper}{up}| % \bigskip % % For the usage of colors see section \ref{colors}. Up to nine % individual groups can be defined. New groups are simply added to the % already existing groups, i.\,e.\ if an extension of the group % definitions of an existing shading mode is desired there is % no need to clear these groups und re-define them again. Just % add the new groups with the |\funcgroup| command. To create % completely new modes use the command % |\shadingmode{functional}| without an option % \emph{before} setting the new groups. The new definitions are active % only in the functional shading mode---so be sure to % have it switched on before setting the new groups. % Remember, |\shadingmode{functional}| without an optional parameter % clears all groups defined before, see above. The following example % shows the definitions needed to produce an output which is identical % to the functional mode `charge': % \bigskip % % \quad|\begin{texshade}{|\meta{alignmentfile}|}| % \medskip % % \quad\quad |\shadingmode{functional}| % % \quad\quad |\funcgroup{acidic ($-$)}{DE}{White}{Red}{upper}{up}| % % \quad\quad |\funcgroup{basic ($+$)}{HKR}{White}{Blue}{upper}{up}| % \medskip % % \quad|\end{texshade}| % % % \subsection{Appearance of the consensus line} % % \label{Lthreshold} % An important parameter for the calculation of the consensus is the % threshold percentage. Default setting is 50\%, i.\,e.\ to become % the consensus residue more than half of the residues at this % position must be identical or similar, depending on the shading % mode. Any percentage between 0 and 100 is allowed and can be % set with % |\threshold{|\meta{percentage}|}|, e.\,g.\ |\threshold{50}|. % % Additionally, an optional parameter can be set, e.\,g.\, % |\threshold[90]{50}|, to label residues that are highly conserved % in a special color (see example on page \pageref{ident}). % % \label{Lconstosingleseq} % Another possibility is to set one sequence of the alignment % as consensus and % compare the other sequences to this one. Therefore, the % command % |\constosingleseq{|\meta{seqref}|}| is provided. The % \meta{seqref} selects the sequence to be used as consensus % (numbering according to the appearance in the alignment file; % top sequence is number~1, or use the sequence name). % Nevertheless, the threshold percentage is also taken into % account, i.\,e.\ with a threshold of 50\% half % of the sequences must be identical or similar compared to the % specified consensus sequence in order to be shaded. % \label{Lconstoallseqs} With |\constoallseqs| the % consensus is calculated considering all sequences (the case % described in the paragraph above). % % \label{Lshowconsensus}\label{Lhideconsensus} % \label{Lnameconsensus} % Consensus lines are displayed either on the top or at the bottom % of the alignment by calling % \medskip % % |\showconsensus[|\meta{color/scale}|[,|\meta{color/scale}|]]{|\meta{position}|}| % \medskip % % with % \meta{scale} |Gray|, |BlueRed|, |RedBlue|, |GreenRed|, |RedGreen|, % |ColdHot| (recommended), |HotCold|, or |T-Coffee| \ref{TCoffee}, and \meta{position} |top| % or |bottom|. % % The first color defines the foreground, i.e. the letters, the % second color---if specified---defines the background. % If a color scale is named the consensus will be shaded according % to the level of sequence conservation. For an example see page % \pageref{shadecons}. You can find more information on color scales % on page \pageref{Lgraphs}. These scales can be exported as a Pymol % [8] \label{Lexportconsensus} % script by |\exportconsensus[|\meta{filename}|]{|\meta{seqref}|}|. % If no \meta{filename} is specified |export.txt| will be used. The % generated file can be opened in Pymol in order to shade a 3D model % of the sequence \meta{seqref}. % % To hide the consensus use % |\hideconsensus|. The consensus % line is named `consensus' in english texts, `consenso' in spanish % or `Konsensus' if the |german.sty| is used. With % |\nameconsensus{|\meta{name}|}| any name can be set. % % \label{Ldefconsensus} % You can tell \TeXshade{} which symbols or letters to use in % the consensus line for different matching qualities by % \bigskip % % \quad|\defconsensus{|\meta{symbol1}|}{|\meta{symbol2}|}{|\meta{symbol3}|}|. % \bigskip % % The following parameters are allowed for symobols 1--3: % % \begin{enumerate} % % \item \meta{symbol1} = no match symbol (if below threshold) % % \begin{itemize} % \item any character or letter % \item |{}| (empty braces) for blank space % \end{itemize} % % \item \meta{symbol2} = conserved symbol (if threshold is exceeded) % % \begin{itemize} % \item |upper| (prints the consensus residue in uppercase) % \item |lower| (prints the consensus residue in lowercase) % \item any character or letter % \item |{}| (empty braces) for blank space % \end{itemize} % % \item \meta{symbol3} = highly conserved symbol (if % % \hfill|\allmatchspecial| is active) % % \begin{itemize} % \item see \meta{symbol2} % \end{itemize} % % \end{enumerate} % % Example: |\defconsensus{{}}{*}{upper}| does not show non matching % residues in the consensus line, marks conserved residues % with `|*|', and displays the uppercase letter of the consensus % residue at positions with high conservation. % % % \label{Lconsensuscolors} % Finally, the colors of the above defined symbols are adjustable % by the command: % % \begin{tabbing} % \quad|\consensuscolors|\=|{|\meta{res.col.1}|}{|\meta{shad.col.1}|}|\\ % % \>|{|\meta{res.col.2}|}{|\meta{shad.col.2}|}|\\ % % \>|{|\meta{res.col.3}|}{|\meta{shad.col.3}|}|\\ % \end{tabbing} % % The color definitions are in the same order as in the % |\defconsensus| command: % % \begin{enumerate} % % \item \meta{res.col.1} = no match residue color (if below threshold) % % \meta{shad.col.1} = no match background color % % \item \meta{res.col.2} = conserved residue color (if threshold is exceeded) % % \meta{shad.col.2} = conserved background color % % \item \meta{res.col.3} = highly conserved residue color (if % % \hfill|\allmatchspecial| is active) % % \meta{shad.col.3} = highly conserved background color % % \end{enumerate} % % For colors which are not to be changed empty braces can be used. % % Example:\medskip % % \quad|\consensuscolors{}{}{Blue}{White}{Red}{Green}| % \medskip % % Non matching symbol colors are not changed, % conserved residues are displayed blue on white and highly conserved residues % appear as red symbols on a green background in the % consensus line. % % \subsection{Display of logos} % % \subsubsection{Sequence logos} % % \label{Lshowsequencelogo}\label{Lhidesequencelogo} % In a sequence logo [7], the information content $I(P_i)$ of % each alignment position $i$ is defined as % % \[ % I(P_i) = \log_2 \vert\Sigma\vert + \sum P_{ij} \cdot \log_2 P_{ij} % \] % % \noindent % with $\vert\Sigma\vert$ being the cardinality of the used alphabet, % i.\,e. 4 for DNA and 20 for protein sequences, and $P_{ij}$ % being the frequency of residue $j$ at this position. Each position % is displayed as a stack of residue symbols whose heights % represent their proportion of the information content (example on % p.\pageref{logo}). % % The display of sequence logos can be either on the top or at the bottom % of a nucleotide or protein alignment. Logos will be shown after the % command: |\showsequencelogo[|\meta{colorset}|]{|\meta{top/bottom}|}|. If no optional % \meta{colorset} is selected the residues will be shaded as follows:\medskip % % \begin{itemize} % \item Nucleotide sequences % % \begin{itemize} % \item[G]: Black % \item[A]: Green % \item[T,U]: Red % \item[C]: Blue % \end{itemize} % % % \item Protein sequences (similar to rasmol) % % \begin{itemize} % \item[D,E]: Red % \item[C,M]: Yellow % \item[K,R]: Blue % \item[S,T]: Orange % \item[F,Y]: MidnightBlue % \item[N,Q]: Cyan % \item[G]: LightGray % \item[L,V,I]: Green % \item[A]: DarkGray % \item[W]: CarnationPink % \item[H]: CornflowerBlue % \item[P]: Apricot % \item[B,Z]: LightMagenta % \end{itemize} % \end{itemize} % % Optional color sets correspond to the functional shading modes % |chemical|, |rasmol|, |hydropathy|, |structure|, |standard area|, % |accessible area| (see p.\pageref{funcdef}). The |\showsequencelogo| % command can be reversed by |\hidesequencelogo|. % % \label{Llogocolor}\label{Lclearlogocolors} % Logo colors can be turned to `Black' with the command % |\clearlogocolors[|\meta{color}|}| with the optional parameter % not set. The optional parameter can be used to set all % residue colors to \meta{color}, e.g.\ |\clearlogocolors[Blue]|. % User specific logo color sets are defined by using % |\logocolor{|\meta{residues}|}{|\meta{color}|}|, e.g.\ % |\logocolor{DE}{Red} \logocolor{CM}{Yellow}| etc. % % \label{Ldofrequencycorrection}\label{Lundofrequencycorrection} % It is common practice for protein sequence logos to correct % amino acid frequencies to the background frequency in the % alignment, which usually differs from the equal distribution % of 5\% for each residue. Frequency correction can be turned on % by |\dofrequencycorrection| and off by |\undofrequencycorrection|. % % \label{Llogostretch}The vertical extent of the logo can be changed by % |\logostretch{|\meta{factor}|}|, e.g.\ |\logostretch{1.5}|. % The width of the logo characters is dependent on the character % width set for the alignment, see |\charstretch| on p.\pageref{Lcharstretch}. % % \label{Lshowlogoscale}\label{Lhidelogoscale}Finally, the bit-scale % can be turned off and on using |\hidelogoscale| and % |\showlogoscale[|\meta{color}|]{|\meta{position}|}|, respectively, with % \meta{position} |left|, |right|, or |leftright| and an optional % \meta{color}. % \label{Lnamesequencelogo} % A name for the sequence logo can be set, which is displayed % next to the scale by |\namesequencelogo{|\meta{name}|}|. % % % \subsubsection{Subfamily logos} % % Subfamily logos provide a novel tool to visualize % subfamily-specific sequence deviations at alignment positions with % a high information content in an intuitive way [14]. % % This is achieved by subtracting from the frequency of a residue within % a pre-defined subset of sequences, i.\,e. a subfamily, the frequency of % this residue in the remaining set of sequences. The difference is then % weighted by the information content, see above section on sequence logos. % An example is shown on p.\pageref{sublogo}. % % Subtraction of frequencies produces values from $-1$ to $1$. Positive % values correspond to residues which are characteristic for the subfamily % (shown upright in the output), negative values to those that are typical % for the remaining sequences (shown upside-down). Positions with an equal % distribution of the residue result in a zero value. % % \label{Lshowsubfamilylogo}\label{Lhidesubfamilylogo}\label{Lsetsubfamily} % Subfamily logos are displayed analogous to sequence logos by the command % |\showsubfamilylogo[|\meta{colorset}|]{|\meta{top/bottom}|}| and hidden by % |\hidesubfamilylogo|. To calculate a subfamily logo, it is further required % to define a subfamily within the alignment by % |\setsubfamily{|\meta{seqrefs}|}|, e.g. |\setsubfamily{1-10,20,AQP3}|. % % For coloring residues, display/stretching of the scales, and frequency % correction the same commands as for sequence logos apply with two exceptions. % \label{Lshownegatives}\label{Lhidenegatives} % First, subfamily logos contain negative values, which can be displayed % |\shownegatives[|\meta{weak, medium, strong}|]| or hidden % |\hidenegatives|. Without the optional parameter negative residues will % be tinted by 50\%, i.e. |medium|. This greatly improves readability. % \label{Lnamesubfamilylogo} % Second, a name for the subfamily logo is set by % |\namesubfamilylogo[|\meta{neg.name}|]{|\meta{pos.name}|}| with a required % name for the positive part of the logo and an optional name for the negative % part. % % \label{Lrelevance}\label{Lshowrelevance}\label{Lhiderelevance} % In order to better recognize relevant positions in the subfamily logo, a % bit-value can be set above which the deviation is considered relevant % by the command |\relevance{|\meta{bit-value}|}|. If this command is % not given 2.321\,bit is assumed for proteins, i.\,e. % $\log_2 5$, and 1\,bit for DNA, i.\,e. $\log_2 2$. Such positions will % be labeled by % |\showrelevance[|\meta{color}|]{|\meta{symbol}|}|, e.\,g. % |\showrelevance[Blue]{$\nabla$}|. The symbol will be hidden with % |\hiderelevance|. % % \subsection{Appearance of the sequence lines} % % \label{seqlines} % % \subsubsection{Names, numbers and gaps} % \label{Lshownames}\label{Lshownumbering} % Many parameters that influence the appearance of the actual sequence % lines can be changed for customization. % Thus, the sequence names can be shown colored via \meta{color} % either left or right by % \medskip % % \quad|\shownames[|\meta{color}|]{|\meta{position}|}| % \medskip % % with \meta{position} set to |left| or |right|. The numbering can be % displayed either left or right and even on both sides by % \medskip % % \quad|\shownumbering[|\meta{color}|]{|\meta{position}|}| % \medskip % % with \meta{position} |left|, |right| or |leftright|. Both, % names and numbering can be displayed on the same side. % \label{Lnamescolor}\label{Lnumberingcolor} % The colors can also be set with |\namescolor{|\meta{color}|}| and % |\numberingcolor{|\meta{color}|}|, respectively. % % \label{Lnameseq} % \TeXshade{} uses the sequence names from the % alignment input file. This can cause some % problems during the \TeX-run when special characters are present % in those names! \TeXshade{} does not accept the following characters % in sequence names: |\ { } @| spaces and the tilde. Those have to be replaced in % the input file. The characters |#| and |%| can only be used with a % leading backslash, e.\,g. |\#|. This must also be changed in the % input file. All other special characters should be displayed % properly. % % Sequence names that are accepted by \TeXshade{} can further be % changed in the |texshade| environment: % \medskip % % \quad|\nameseq{|\meta{seqref}|}{|\meta{name}|}| % \medskip % % \meta{seqref} selects the sequence whose name is to be changed. % The basis for the \meta{seqref} is the appearance in % the alignment input file with the top sequence = 1, or the old % name. % \label{Lnamecolor}\label{Lnumbercolor} % In order to change the colors only of some sequence names or numbers % the commands % |\namecolor{|\meta{seq1}|, ... ,|\meta{seq n}|}{|\meta{color}|}| and % |\numbercolor{|\meta{seq1}|, ... ,|\meta{seq n}|}{|\meta{color}|}| % are provided. % % \label{Lhidenames}\label{Lhidename} % \label{Lhidenumbering}\label{Lhidenumber} % In order to hide all names or the numbering use the command % |\hidenames| or |\hidenumbering|. If only the names or numbers of % some sequences should be hidden apply % % |\hidename{|\meta{seq1}|, ... ,|\meta{seq n}|}| or % % |\hidenumber{|\meta{seq1}|, ... ,|\meta{seq n}|}|, respectively. % % \label{Lstartnumber} \label{Lallowzero} \label{Ldisallowzero} % In some situations, e.\,g.\ when only sections of sequences are % displayed, one % may not want to have the residue numbering start out with number~1. % The command % |\startnumber[|\meta{start..stop}|]{|\meta{seqref}|}{|\meta{startnumber}|}| % allows one to set the starting number of any sequence to any value % incl.\ negative values but except `0' which is not usually used in % sequence numbering (the transition from negative to positive % values is like this: \ldots\ $-2$, $-1$, 1, 2 \ldots). If, however, % the use of the number `0' is wanted as sometimes in sequence logos % this can be turned on by |\allowzero| and off with |\disallowzero|. % The optional parameter can be used to truncate the sequence display % to a certain section (see also |\setends| below). % % \label{Lseqlength} % \TeXshade{} needs to know the correct length of the sequences % to be able to break them right after the last residue. If % MSF files are used as an input the length is already given % but the calculation is usually wrong because the gaps are % also counted. Thus, \TeXshade{} counts the number of residues % during each run by itself and stores the values in the |.aux| file. That % means that it needs two runs to get the numbers right. Again, % this is only important if the gap symbol after the sequence end % should be suppressed, see below (|\hideleadinggaps|). % % If you know the correct length of the sequences you can use the % command % \medskip % % \quad|\seqlength{|\meta{seqref}|}{|\meta{length}|}| % \medskip % % in order to set the values by hand and have the gaps break % properly already in the first \TeX{} run. % \medskip % % Example: |\seqlength{1}{346}| means that sequence no.~1 is 346 % residues long. % % % \label{Lshowruler}\label{Lhideruler} % \label{Lrulersteps}\label{Lrulercolor} % \label{Lrotateruler}\label{Lunrotateruler} % \label{Lnamerulerpos} % Another possibility to label sequence positions is to switch % on a ruler on the top or at the bottom of the sequence block % using \label{ruler} % |\showruler[|\meta{color}|]{|\meta{position}|}{|\meta{seqref}|}|. % The residue ruler of one sequence \meta{seqref} or the consensus % (declare `|consensus|' as \meta{seqref}) can be % displayed at \meta{position} |top| or |bottom|. % The ruler is hidden with |\hideruler|. The steps between two % numbers are set by |\rulersteps{|\meta{number}|}|. If the steps % are set to be very close ($< 4$) or when every position is numbered, the % numbering is automatically rotated by 90$^\circ$. Using |\rotateruler| % and |\unrotateruler| this can be done and undone manually. % In order to change the % ruler color use the optional parameter or the command % |\rulercolor{|\meta{color}|}|. Also, the label and its color at individual % ruler positions can be changed by the user to a string using % |\namerulerpos{|\meta{number}|}{|\meta{text}|[|\meta{color}|]}| % (see example on p.\ \pageref{ras}). % % \label{Lgapchar}\label{Lgaprule} % \label{Lgapcolors}\label{gapchar} % Further, the symbol which is displayed in sequence gaps is freely % selectable with % |\gapchar{|\meta{symbol}|}|. \meta{symbol} can be any character % or symbol. If math symbols are to be used math mode must be % activated by |$| characters, i.\,e. |\gapchar{{$\triangle$}}|. % Note the double curly braces in the last command. Everytime a % `complex' character is used, i.\,e. a character definition consisting % of more than one letter, it must be braced in order to be interpreted as one % character. One exception is |\gapchar{rule}|; with this % parameter lines are drawn in the sequence gaps with a certain % thickness defined by |\gaprule{|\meta{thickness}|}|, e.\,g. % |\gaprule{1.5pt}|. The colors of the gaps and gap symbols are set by % |\gapcolors{|\meta{symbol color}|}{|\meta{background color}|}|. % % There are some discussions whether or not to display gap symbols before % and after the actual sequence. Since v1.3a one can control the % appearance of those gap symbols by the commands % \label{Lshowleadinggaps} \label{Lhideleadinggaps} % |\showleadinggaps| and |\hideleadinggaps|. By default, leading % gaps are indicated by symbols despite my personal % thinking that it could suggest that % there are some not displayed residues upstream resp.\ downstream of the % gap. % % % \subsubsection{Displaying selected residues in the alignment} % % \label{Lsetends} % \TeXshade{} can display a section of the complete alignment % without the need to edit the alignment input file or even % to re-calculate % the entire alignment. This allows one to use one single % alignment of the full length proteins or open reading frames for % multiple visualizations of different sections in a document as % done in this manual. Thus, the file |AQPpro.MSF| contains % the full-length multiple protein alignment of five aquaporins but % only sections are displayed as examples in % \ref{ident} through \ref{accarea}. The definition of a section % is done by % \medskip % % \quad|\setends[|\meta{startnumber}|]{|\meta{seqref}|}{|\meta{start..stop}|}|. % \medskip % % Again, \meta{seqref} is the sequence number based on the % appearance in the alignment file, or the name; further, in order to use % the consensus as a measure for the sequence section the % string `|consensus|' as \meta{seqref} is accepted. The % specified sequence is truncated at % positions \meta{start} and \meta{stop}. All other % sequences are cut accordingly. If the number of the first % residue in the sequence is set to a new value with the % |\startnumber| command (s.\,a.) this is taken into account. The % \meta{startnumber} can be set as an optional parameter directly % in the |\setends| command as well. % \medskip % % Some examples: % \medskip % % \quad a) |\setends{1}{21..100}| % \medskip % % \quad b) |\startnumber{1}{101} \setends{1}{121..200}| % \medskip % % Both commands select the same sequence section from the alignment but % numbering for sequence 1 starts at position~21 in the first example and at % position~121 in the latter. % \medskip % % \quad c) |\setends[101]{1}{121..200}| equals example b. % \medskip % % \medskip % % \quad d) |\startnumber[121..200]{1}{101}| also equals example b. % \medskip % % \medskip % % \quad e) |\setends{consensus}{21..100}| % \medskip % % This may describe a very different section of the multiple % sequence alignment because the consensus counts every position % including gaps. % % \label{Lsetdomain} % The output can be even further restricted to % individually selected residues, e.g.\ to eliminate uninteresting alignment stretches or % to condense the output, by: % \medskip % % \quad|\setdomain{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % % Here, \meta{seqref} denotes the reference sequence by its number or name. % This sequence is used to define the alignment positions \meta{selection} % to be shown. % \meta{selection} can have two different formats % depending on whether (a) the user wants to select the positions manually % or (b) \TeXshade{} is supposed to select the residues based on 3D % coordinates provided by a PDB file. % % To select the residues manually, the user provides a position list of % the following format: % \medskip % % \quad|{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,|\ldots|,|\meta{start n}..\meta{stop n}|}| % \medskip % % For how to select positions by 3D coordinates % provided by a PDB file, see \ref{Lshaderegion}. % \medskip % % Examples (see also p.\,\pageref{ident}ff): % % \quad|\setdomain{1}{20..80}| % % \quad|\setdomain{consensus}{20..80,100..150,200..220}| % % \quad|\setdomain{AQP1}{point[6]:1FX8.pdb,173[side]}| % % \quad|\setdomain{3}{plane[0.5]:1JN4.pdb,66[CA],73[side],199[CA]}| % \medskip % % % It is helpful to show a ruler (probably single-stepped, see p.\,\pageref{Lshowruler}) to % label the residue positions. % % The resulting gaps between sequence stretches are marked by a vertical rule, which % can be changed in thickness by % \medskip % % \quad|\domaingaprule{|\meta{thickness}|}|, e.\,g.\ % |\domaingaprule{1pt}|. \label{Ldomaingaprule} % \medskip % % Also, the colors can be set by % \medskip % % \quad|\domaingapcolors{|\meta{foreground}|}{|\meta{background}|}| \label{Ldomaingapcolors} % \medskip % % e.\,g.\ |\domaingapcolors{Blue}{Yellow}|. % % % \subsubsection{Hiding, killing, separating and ordering} % % \label{kill} % % \label{Lhideseq}\label{Lhideseqs}\label{Lshowseqs}\label{Lkillseq} % If one or more sequences from the alignment input file should be used for % the calculation of the consensus but it is desired not to % display these sequences in the final output use the command % |\hideseq{|\meta{seq1}|,|\meta{seq2}|,|\ldots|,|\meta{seq n}|}|. % For consecutive sequence numbers a dash can be used, e.\,g. % |\hideseq{1-3}| instead of |\hideseq{1,2,3}|. Decending series % are also permitted, e.\,g. |\hideseq{3-1}|. % This command allows one for example to hide % the sequence which has been defined as the consensus sequence % with |\constosingleseq|. When all sequences should be hidden, e.g. to % show a sequence logo alone, one can simply say |\hideseqs|. This % command is reversed by |\showseqs|. % % In order to completely exclude sequences the command % |\killseq{|\meta{seq1}|,|\meta{seq2}|,|\ldots|,|\meta{seq n}|}| is % provided. Again, for number series the dash can be used (s.\,a.). The % designated sequences are neither displayed nor % considered for the calculation of the consensus. This is % another possibility to comment out sequences in addition % to the use of an exclamation point infront of the |Name:| % definition in an MSF-file (see figure on page \pageref{commout}). % % \label{Ldonotshade} % The command % |\donotshade{|\meta{seq1}|,|\meta{seq2}\ldots|,|\meta{seq n}|}| % makes % one or more sequences (remember the dash, s.\,a.) appear unshaded % in black letters on white background. % This does not influence any other sequences or the consensus % calculation. % % \label{Lhideresidues}\label{Lshowresidues} % If a very graphical output of the sequences is desired, the % residue symbols or letters can be blanked out by % |\hideresidues|. Now, only the shaded boxes are printed. % In combination with |\gapchar{rule}| one obtains alignments % in a style \`a la Mondrian. % The residues reappear with |\showresidues|. % % \label{Lseparationline}\label{Lsmallsep} % \label{Lmedsep}\label{Lbigsep} % \label{Lvsepspace} % If an alignment contains members of several subgroups of a % protein or a gene family it may be rather helpful to visualize the group % divisions by a separation line. Therefore, the command % |\separationline{|\meta{seqref}|}| is applicable. This % command inserts vertical space after the sequence which is % refered to by \meta{seqref}. How much space is inserted % is defined by one of the following commands: % |\smallsep|, |\medsep| (default) or |\bigsep|. These lengths % correspond to the known |\small|-, |\med|- and |\bigskip| commands. % With |\vsepspace{|\meta{length}|}| any length with any % \TeX{} unit can be assigned, e.\,g. |\vsepspace{2mm}|. % % \label{Lorderseqs} % The sequence order given by the alignment input file is easily % reorganized by % |\orderseqs{|\meta{seq1}|,|\meta{seq2}|,|\ldots|,|\meta{seq n}|}| % without the need for editing the alignment input file (which % would be a big copy'n'paste job). % Make sure that all sequences are assigned in this % command. If there are more sequences present than numbers or names in the % command an error message will occur. Here also, the dash can be % used for sequence number series. Example: |\orderseqs{1-3,6-4,7}| % is equivalent to |\orderseqs{1,2,3,6,5,4,7}|. % Reordering of sequences only changes the output; all commands using % the parameter \meta{seqref} are not influenced, because \meta{seqref} % always corresponds to the appearance in the alignment file. Thus, % to completely reverse the order of a five sequence alignment simply type % |\orderseqs{5-1}|. % % % \subsubsection{Residues per line and further settings} % % \label{Lresiduesperline}\label{Lresiduesperline*} % By default \TeXshade{} puts the highest possible by five % divisible number of residues in one line depending on the % |\textwidth|. With |\residuesperline{|\meta{number}|}| a new % value can be set. If this value exceeds the highest possible % number of residues per line it is ignored; lower values are % accepted of course. But also in the latter case the number % of residues printed per line is rounded such to be divisible by five. % To force \TeXshade{} % to set lines with exactly the desired number of residues use % the asterisk-extended command |\residuesperline*{|\meta{number}|}|. % Expect multiple % \emph{overfull hbox} errors after this command, because in this % mode \TeXshade{} does not check the length of the lines any % more. % % \label{Lcharstretch}\label{Llinestretch} % \TeXshade{} calculates the dimensions of a shaded box from % the width and height of the uppercase letter `M' and the depth of % the lowercase `g'. Depending on the font used for the % sequence residues the box dimensions might not be fully % satisfactory. With |\charstretch{|\meta{factor}|}| and % |\linestretch{|\meta{factor}|}| the width and height/depth, % respectively, of the boxes can be multiplied individually by a % \meta{factor} to stretch ($>1$) or shrink ($<1$) the dimensions. % % \label{Lnumberingwidth} % The reserved space for the sequence numbering is set by the % command |\numberingwidth{|\meta{n digits}|}|. Here, the default setting % is four-digit numbering, i.\,e.\ $-999$ through 9999. If this range % is to be changed assign the desired number as parameter % \meta{n digits}, e.\,g.\ |\numberingwidth{111111}| reserves % space for 6 digit numbering. % % The vertical space between the sequence blocks can be controlled % by the commands |\smallblockskip|, |\medblockskip| (default % setting), % \label{Lsmallblockskip}\label{Lmedblockskip} % \label{Lbigblockskip}\label{Lnoblockskip} % \label{Lvblockspace} % |\bigblockskip| or |\noblockskip|. Further, the command % |\vblockspace{|\meta{length}|}| allows one to set a defined space % length using any \TeX{} unit, e.\,g.\ |\vblockspace{0.4in}|. % % Two more commands set the space between the sequence blocks to be % \label{Lflexblockspace}\label{Lfixblockspace} % flexible (|\flexblockspace|) (default) or fixed (|\fixblockspace|). % Flexible means, that only the vertical white space between the % blocks is kept to the settings by % e.\,g. |\medblockskip|. This results in flexible space between % the actual blocks depending on the presence of feature lines. When % switching to fixed space the distance of the blocks is kept constant % by using more white space between blocks without feature lines. % Thus, a difference between flexible and fixed space will only be % noticeable when features are used. % % \label{Lalignment} % The position of the output can be aligned left, right % or centered on the page by |\alignment{|\meta{position}|}| % with the \meta{position} parameter |left|, |center| or % |right|. % % % % \subsubsection{Fingerprinting} % % \label{fingerprint} % % \label{Lfingerprint} % An easy way to gain an overview on complete alignments is % provided by displaying a so called alignment `fingerprint'. % In this style the whole sequence can be shown in one line. Due to % the lacking space the residue names are hidden and the shaded % boxes are reduced to thin vertical colored lines. The command % |\fingerprint{|\meta{res. per line}|}| takes one argument stating % the desired number of residues per line, e.\,g. |\fingerprint{1000}|. % All \TeXshade{} commands are compatible with |\fingerprint|, % i.\,e. all shading modes are applicable for displaying overviews % on similarity or every functional aspect. Also, all kinds of % labeling---as described in the following---work with this % command. % % % \subsection{Individual shading and labeling of sequence stretches} % % Computer calculated conservation shading is informative---but % even more information can be visualized by additional labeling % of positions and regions of interest with different colors, % text styles or graphical marks and descriptive text. All this % is provided by easy to handle \TeXshade{} commands. % % % \subsubsection{Shading of regions and blocks} % \label{shaderegion} % % \label{Lshaderegion} % Besides the shading calculated by \TeXshade{} any region can be % additionally shaded with a color specified by the user. This is very % useful to highlight secondary protein modification % sites such as phosphorylation or glycosylation sites, or longer % motifs for example protein/protein interaction sites or protein domains. % This is done with the following command: % \medskip % % \quad|\shaderegion{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % \medskip % % Here, \meta{seqref} refers to the sequence by its name or number % within the alignment. The % foreground and background colors can be set with the last two % parameters. % \meta{selection} can have two different formats % depending on whether (a) the user wants to select the positions manually % or (b) \TeXshade{} is supposed to select the residues based on 3D % coordinates provided by a PDB file. % % To select the residues manually, the user provides a position list of % the following format: % \medskip % % \quad|{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,|\ldots|,|\meta{start n}..\meta{stop n}|}| % \medskip % % Example: in order to shade residue number 13 and the region % 20--30 of sequence number 1 in red letters on green ground % type the following command: % \medskip % % \quad|\shaderegion{1}{13..13,20..30}{Red}{Green}| % \medskip % % If the consensus is to be shaded use |consensus| as % \meta{seqref}. % \medskip % % In order to select positions based on the 3D structure a PDB % structure file is required. \TeXshade{} can select residues within % a given distance in \AA{} around a point, along a line, or above and % below a plane, which are defined by one to three residues. The points % can be further specified to be the $\alpha$-carbon atom, i.\,e.\ the % protein backbone, or the most distant atom of the sidechain. Accordingly, % \meta{selection} has one of the formats: % \medskip % % \quad|{point[|\meta{dist}|]:|\meta{file}|,|\meta{num}|[CA/side]}| % \medskip % % \quad|{line[|\meta{dist}|]:|\meta{file}|,|\meta{num1}|[CA/side],|\meta{num2}|[CA/side]}| % \medskip % % \vbox{% % \quad|{plane[|\meta{dist}|]:|\meta{file}|,|\meta{num1}|[CA/side],|\meta{num2}|[CA/side],| % \medskip % % \hfill\meta{num3}|[CA/side]}| % } % \medskip % % % Example: in order to select and shade as above all residues that are within an 8\ \AA{} % sphere around the $\alpha$-carbon of residue 81 and the data are % provided in the PDB file |1J4N.pdb|, type: % \medskip % % \quad|\shaderegion{1}{point[8]:1J4N.pdb,81[CA]}{Red}{Green}| % \medskip % % Example: two points denote a line, hence, give two residues to select % everything within 1\ \AA{} along the line between the $\alpha$-carbon of % residue 81 and the sidechain of residue 168 with: % \medskip % % \quad|\shaderegion{1}{line[1]:1J4N.pdb,81[CA],168[side]}| % \medskip % % \hfill|{Red}{Green}| % \medskip % % Definition of a plane follows the same format but requires three points. % If the optional parameters |[\meta{dist}]| and |[CA/side]| are not given, % \TeXshade{} assumes |[1]| and |[side]|, respectively. % % In case one needs the position numbers of the selected residues for usage % in other applications, those can be either printed in the \TeX{} document with % |\printPDBlist{|\meta{selection}|}| or shown during the \TeX{} run with % |\messagePDBlist{|\meta{selection}|}|. The commands can be used outside of the % \TeXshade{} environment. \label{LprintPDBlist}\label{LmessagePDBlist} % % Both selection formats, i.\,e. a manually given list and the 3D selection, % can be used with |\shadeblock| (see below), % |\tintregion|, |\tintblock|, |\emphregion|, |\emphblock|, % |\frameblock| (all in \ref{Lframeblock}), and |\feature| (\ref{Lfeature}). % % % \label{Lshadeblock} % In analogy to |\shaderegion| which is restricted to a single % sequence, |\shadeblock| shades the corresponding region in all % other sequences as well % except the consensus. If also the consensus is to be shaded % define the region using |consensus| as \meta{seqref}. % \medskip % % \quad|\shadeblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % \medskip % % % \subsubsection{Emphasizing, tinting, and framing} % % \label{Lemphregion}\label{Lemphblock} % If it is prefered to keep the calculated shading colors % but distinct regions or blocks are yet to be emphasized one % can use the following commands to change the font style of % such regions: % \medskip % % \quad|\emphregion{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % % and % \medskip % % \quad|\emphblock{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % % For the format possibilities of the \meta{selection} parameter please see \ref{Lshaderegion}. % % \label{Lemphdefault} % Which style \TeXshade{} uses for emphasizing regions is defined by % |\emphdefault{|\meta{style}|}|. Default setting is the % \emph{italics} font shape (set by |\emphdefault{it}|). In order to change % this setting choose one of the styles |bf, md, up, it, sl, rm, sf, tt|. % % Example: |\emphdefault{bf}| % \medskip % % \label{Ltintregion}\label{Ltintblock} % Further, it is possible to tint the region or block in question % by using the commands (for example see hydropathy-figure on page % \pageref{hydro}): % \medskip % % \quad|\tintregion{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % % and % \medskip % % \quad|\tintblock{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % % \label{Ltintdefault} % The level of tinting in the region in question can be set by % |\tintdefault{|\meta{level}|}| with |weak|, |normal|, and % |strong| as possible \meta{level}s. % % Another option is to draw a bounding box around the sequence block % in question (for an example see diversity mode-figure on page % \pageref{frame}) with the % command:\footnote{Thanks to Alan Robinson for inspiration.} % \medskip\label{Lframeblock} % % \quad|\frameblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{color}|[|\meta{length}|]}| % \medskip % % With the optional parameter the default line thickness of the frame can % be changed, example: |\frameblock{1}{10..20,50..70}{Red[2pt]}| % % % % % \subsubsection{Graphical labeling of sequence features} % % \label{feature} % % \label{Lfeature} % The |\feature| command is designed to fulfill most needs for the % graphical labeling of sequence stretches and the setting of descriptive % text. It needs five parameters: % \medskip % % \quad|\feature{|\meta{position}|}{|\meta{seqref}|}{|\meta{selection}|}{|\meta{labelstyle}|}{|\meta{text}|}| % \medskip % % In the following paragraphs all possible parameter settings of % this rather complex but mighty command are discussed in detail. % The parameter \meta{position} tells \TeXshade{} where to display % the feature label, i.\,e. on the top of the alignment (|top|), % or at the bottom (|bottom|). Further, there can be three more feature lines % ontop of the top feature line (|ttop|, |tttop|, and |ttttop|) or below the bottom % feature line (|bbottom|, |bbbottom|, |bbbbottom|). Thus, up to eight features % overlapping in eight different lines may be displayed. % Depending on the content of the feature lines the gaps between % them might be not satisfactory. % \label{Ltopspace}\label{Lttopspace} % \label{Ltttopspace}\label{Lttttopspace} % \label{Lbottomspace}\label{Lbbottomspace} % \label{Lbbbottomspace}\label{Lbbbbottomspace} % Therefore, eight separate commands can be employed to change the % space below |ttttop|, |tttop|, |ttop|, or |top| % (|\topspace{|\meta{length}|}| etc.), and above % |bottom|, |bbottom|, |bbbottom|, or |bbbbottom| % (|\bottomspace{|\meta{length}|}| etc.). Use positive % values to further separate the lines, e.\,g. % |\ttopspace{3mm}| or negative values to reduce the space, e.\,g. % |\bottomspace{-0.1in}|. % % The argument \meta{seqref} and the third % parameter containing the selection of the specified residues % are identical to the ones described before in several commands, e.\,g. % |\ruler| (\ref{ruler}) or |\shaderegion| (\ref{shaderegion}). % % New is the fourth parameter for the definition of the label style. % There are many possibilities like braces, helices, boxes, arrows, bars, any % fill character, bar graphs, color scales or even translations of the % specified regions. % \medskip % % \textbf{Braces:}\\ % In order to display an over- or underbrace as % a label use the parameter |{brace}|. Depending on the % \meta{position} (|ttttop|, |tttop|, |ttop|, |top|, |bottom|, % |bbottom|, |bbbottom|, or |bbbbottom|) the respective brace is % displayed. The standard color of braces is % black. It can be changed by an optional parameter directly after % the definition of the symbol, e.\,g. |{brace[Red]}|. % \medskip % % \textbf{Protein $\alpha$-Helices:}\\ % The parameter |{helix}| will plot a symbolized $\alpha$-helix % as a label. The standard color of the helix spiral is % black. It can be changed by an optional parameter directly after % the definition of the symbol, e.\,g. |{helix[Red]}|. % \medskip % % \textbf{Filling a stretch with a symbol:}\\ % A region can be filled with any character for % labeling purposes using the parameter |{fill:|\meta{symbol}|}|. % The \meta{symbol} is freely selectable; the usage is like % in |\gapchar| (\ref{gapchar}). Do not use spaces before or after % the expression \meta{symbol}; this will shift the symbols to the % respective direction. The standard color of the fill symbol is % black. It can be changed by an optional parameter directly after % the definition of the symbol, e.\,g. |{fill:$\bullet$[Red]}|. % % The |\feature| command does not like special characters in % text mode, e.\,g. |\dag|. One has to use the math version of % those symbols between |$|-signs. The following quite common % text symbols have also a math equivalent\footnote{Thanks to % Darrell Conklin for reporting this problem}: % % \begin{center} % \begin{tabular}{cll} % \emph{symbol} & \emph{command} & \emph{description} \\ \hline % $\dagger$ & |$\dagger$| & dagger\\ % $\ddagger$ & |$\ddagger$| & double dagger\\ % $\mathparagraph$ & |$\mathparagraph$| & paragraph mark\\ % $\mathsection$ & |$\mathsection$| & section mark\\ % $\mathdollar$ & |$\mathdollar$| & dollar\\ % $\lbrace$ & |$\lbrace$| & left brace\\ % $\rbrace$ & |$\rbrace$| & right brace\\ % \end{tabular} % \end{center} % \medskip % % \textbf{Labeling restriction or protease cutting sites:}\\ % If a label is needed that points between two residues, e.\,g. % for showing restriction sites, simply use the feature style % |{restriction[|\meta{color}|]}|. This will show a filled % triangle with the tip right between the residues to be labeled, % e.\,g. |\feature{top}{1}{25..26}{restriction[Blue]}{EcoR I}|. % % \medskip % % \textbf{Boxes:}\\ % Boxed text is printed using the parameter |{box:|\meta{text}|}|. % By default black letters in a white framed box are displayed. In % order to change these colors optional parameters can be included % in the argument: % \medskip % % \quad|{box[|\meta{framecolor,boxcolor}|][|\meta{length}|]:|\meta{text}|[|\meta{textcolor}|]}|. % \medskip % % If the box frame and fill colors are the same it is sufficient to % use only this one color as an argument in the command. The optional % parameter \meta{length} defines the thickness of the box frame. If % this parameter is not set in the command the value from the % |\featurerule{|\meta{length}|}| command (see below) is used. % \medskip % % Examples: % \medskip % % \quad|{box[Blue]:$\alpha$~helix[Yellow]}| % \smallskip % % \quad|{box[Blue,Red]:$\alpha$~helix[Yellow]}| % \smallskip % % \quad|{box[Blue,Red][2pt]:$\alpha$~helix[Yellow]}| % \medskip % % \medskip % % \textbf{Horizontal bars and arrows:}\\ % For displaying bars and arrows a simple selection scheme % consisting of three consecutive characters is % used as the \meta{labelstyle} parameter. Each bar or arrow is % defined by its left end, the middle part, and the right end. % The following table gives some examples for the construction % of arrows and bars. % % \begin{center} % \begin{tabular}{cl} % middle & \\ % \hbox to 1.6cm{\hss left end} \raisebox{1mm}{$\downarrow$} \hbox to 1.6cm{right end} & \\ \hline % |---|& plain bar \\ % |===|& double bar \\ % |-->|& right arrow \\ % |'->|& right arrow with up hook \\ % |<-|$\vert$ & left \emph{maps to} arrow \\ % |<-o| & left arrow with ball at right end\\ % |<=>|& double arrow, two heads \\ % |,-,|& plain bar with down hooks\\ % $\vert$|=|$\vert$ & double bar with vertical ends\\ % \end{tabular} % \end{center} % % All combinations of the left-end-characters % (|-=<',|$\vert$o), the middle-characters (|-=|), % and the right-end-characters (|-=>',|$\vert$o) are % allowed and produce the desired arrow or bar. % The color is changed as described above. % \label{Lfeaturerule} The thickness can be generally % set by the separate command |\featurerule{|\meta{length}|}| % with any \TeX{} measure as \meta{length}, e.\,g.\ |\featurerule{3pt}|. % This value is then used for all arrows, bars, and boxes (see above) % throughout the alignment. If an individual thickness for a % particular arrow should be set one can add an optional % parameter to the \meta{labelstyle} parameter, e.g. % |{o->[Red][1mm]}|. Similar to the boxes described above, a text can be put on % the arrow or bar, e.\,g.\ |{<->[Red][1mm]:$\beta$-sheet[Blue]}|. % % % In \TeXshade{} versions before v1.9, the original \LaTeX{}-arrows % were used. These have now been replaced by more modern looking % arrows with scalable line thickness. If the classical look is % requested, use |v| instead of |<| or |>| in the arrow definition, % e.\,g.\ |{--v}|, to get them back. The new arrow style makes use of % of the AMS math symbol font (amssymb.sty). Thus, in order to % display the arrow heads correctly make sure that this style is % present on your system (usually it is in a common \LaTeX{} installation). % \medskip % % \textbf{Sequence translations:}\\ % With the option |{translate}|, sequence stretches can be % translated from nucleotide to peptide sequences as well as % backtranslations from peptide to nucleotide sequences are % possible. Default setting for the translations is the standard % genetic code. Of course, the codons can be re-defined by the % user. The command \label{Lcodon} % |\codon{|\meta{amino acid}|}{|\meta{triplet1, \ldots, triplet n}|}| % has been implemented for this issue. The usage is simple. Replace % \meta{amino acid} by the single letter code of the amino acid % to be defined and add a list of triplets for this residue. % Example definition for the amino acid \emph{alanine}: % \medskip % % \quad |\codon{A}{GCA,GCG,GCC,GCT,GCU,GCN}| % \medskip % % Note the last triplet in the list. It contains an ambiguity code % |N| which stands for \emph{any} nucleotide. This triplet has been % added at the last position because the last triplet is used % for the generation of the backtranslated nucleotide sequence from % a peptide. Two files are included in the \TeXshade{} % distribution as examples (|standard.cod, ciliate.cod|). If you % want to define a new genetic code store your commands in a file % like the examples. Such files with the suffix |.cod| can be % loaded in the \TeXshade{} environment by \label{Lgeneticcode} % |\geneticcode{|\meta{filename}|}|, e.\,g. |\geneticcode{ciliate}|. % Do not designate the suffix |.cod| in \meta{filename}. Please % note, when inspecting the example files, that only the exchanges % compared to the standard code need to be defined in a new genetic code file. % % When DNA sequences are translated to protein the resulting amino % acids are aligned to the second nucleotide of each triplet. % It is more difficult to produce a satisfactory display of % backtranslated nucleotide sequences due to the lack of space. % You need thrice as much space than the original peptide sequence, % because single letter amino acid code is translated to a triplet % code. Therefore, the user can choose from five display styles % for backtranslations depending on personal preferences: % \medskip\label{Lbacktranslabel} % % \quad |\backtranslabel[|\meta{size}|]{|\meta{style}|}|, with % \medskip % % \begin{tabbing} % \qquad\qquad|{|\meta{style}|}|\ \= = |{horizontal}|\\ % \> = |{alternating}|\\ % \> = |{zigzag}|\\ % \> = |{oblique}|\\ % \> = |{vertical}| % \end{tabbing} % % \meta{size} can be any \TeX{} size from |tiny| up to |Huge|, but % |tiny| is recommended (and default setting). Translations % can be colored as all other labels, see above. % \medskip % % \textbf{Bar graphs and color scales:}\label{Lgraphs}\\ % Sequence related numeral data, such as hydropathy or solvent % accessibility data etc., can be shown in a feature line as bar graphs % or color scales. The data are (a) pre-defined or calculated by % \TeXshade{} due to amino acid properties or conservation, (b) are % provided in a separate file or (c) may be entered by hand in the % |\feature| command. % % (a) Currently, three different % properties can be plotted, i.e. |hydrophobicity|, |molweight|, and % |charge|. Further, the level of sequence conservation at the given % protein sequence stretch can be shown (|conservation|). % % (b) The format of a data file is simple: every value must % appear in a separate line. Numbers and the Java-typical `NaN' for % `Not a Number' are permitted. Comments are allowed, because \TeXshade{} % ignores all lines starting with a letter except `NaN' lines (avoid % `|-|' as the first % character of a comment line as this is interpreted as a negative number). % Make sure that there are as many values as positions defined as the % sequence stretch in the feature command. % \TeXshade{} will read this file and determine the minimal and maximal % values. These data are then normalized for plotting. % Due to \TeX's limited calculation capabilities no values above 10\,737 % are allowed and the difference between minimum and maximum must not % exceed this very number. Values below 0.001 may be susceptible to major % rounding errors. Thus, try to provide your data already normalized to % moderate scales, e.g. 0.0\,--\,1.0 or -100\,--\,100. % (c) Data which is % directly entered in the |\feature| command must be normalized to integer % values with a maximal difference of 100 between the highest and lowest % value, e.g. -50\,--\,50 or 0\,--\,100. % % For (b) and (c), the range to be plotted can be set by hand as an optional parameter % in the |\feature| command. This can be necessary when the data file % contains values between e.g. $-0.44$ and $0.87$. Without help \TeXshade{} % will assume $-0.44$ as minimum and $0.87$ as maximum. But if the actual % range to be plotted should be $-1.0$\,--\,$1.0$ this needs to be set % manually, see examples below. Be aware of the fact, that if you % define a scale by hand, which is more narrow than the values of the % input, this will stretch the bars accordingly. It is NOT recommended % to use this method for stretching bars vertically. Instead another % command has been introduced. % \label{Lbargraphstretch}\label{Lcolorscalestretch} % The plotted bars can be stretched by a factor if the appearance is % not as desired: |\bargraphstretch{|\meta{factor}|}|. Here, the factor % is multiplied with the bar length, e.g |\bargraphstretch{2}| will double % the bar height, |\bargraphstretch{0.5}| will make them half as high. % Similarly, color scales can be stretched vertically with % |\colorscalestretch{|\meta{factor}|}|. % % The default color of bar graphs is gray and can be changed by an % optional parameter at the end of the |label| definition. Further, an optional % background color can be chosen for the bars. Doing so will visualize % the maximal bar extension. % % Default for % color scales is a 5\% gray scale from very light gray to black (|Gray|). % More colorful scales have been implemented, i.e. |BlueRed|, |RedBlue|, |GreenRed|, % |RedGreen|, |ColdHot| and |HotCold|, the latter two being particularly % useful for ranges from negative to positive values. Further, a scale called |T-Coffee| % is available if |T-Coffee| shading information has been imported as the % |\shadindmode| \ref{Lshadingmode}. % % % % The general format of this feature label definition for bar graphs is: % \medskip % % \quad |{bar[|\meta{min}|,|\meta{max}|]:|\meta{properties/file/data}|[|\meta{color(,bgcolor)}|]}| % \medskip % % and for color scales: % \medskip % % \quad|{color[|\meta{min}|,|\meta{max}|]:|\meta{properties/file/data}|[|\meta{scale}|]}| % \medskip % % Some examples: % \medskip % % \qquad |{bar:conservation}| % \medskip % % \qquad |{bar:conservation[T-Coffee]}| % \medskip % % \qquad |{bar:hydrophobicity}| % \medskip % % \qquad |{bar:charge[Red]}| % \medskip % % \qquad |{bar:molweight[Red,Gray10]}| % \medskip % % \qquad |{bar:10,20,30,40,50[Red]}| % \medskip % % \qquad |{bar[-20,40]:-10,0,10,20,30[Red,Gray10]}| % \medskip % % \qquad |{bar:data.txt}| % \medskip % % \qquad |{bar[-10,10]:data.txt[Red,Gray10]}| % \medskip % % \qquad |{color:conservation[BlueRed]}| % \medskip % % \qquad |{color:conservation[T-Coffee]}| % \medskip % % \qquad |{color:hydrophobicity[GreenRed]}| % \medskip % % \qquad |{color:charge}| % \medskip % % \qquad |{color:molweight}| % \medskip % % \qquad |{color[-10,10]:data.txt[ColdHot]}| % \medskip % % \qquad |{color[-0.1,0.1]:otherdata.txt[ColdHot]}| % \medskip % % See also the example output in section \ref{graphs} on page % \pageref{graphs}. % % \medskip % % \textbf{No graphical label, only text:}\\ % If no graphical label is % wanted the fourth parameter of |\feature| can be empty % braces. % \medskip % % Finally, the fifth parameter of the |\feature| command contains % the descriptive text % for the labeled region. Type whatever you want incl. symbols and % math chars. The text field can also contain sequence translations. % In this case just set \meta{text} = |{translate}|. There is a % command for setting the size and style of backtranslated sequences % in the feature \meta{text} which corresponds to the one % described above: \label{Lbacktranstext} % \medskip % % \quad |\backtranstext[|\meta{size}|]{|\meta{style}|}| % \medskip % % Again, the color can be set by an % optional parameter appended to the text. For how to change the % font size of text or symbols in the feature style line % (|featurestyles|) or the in descriptive text line (|features|) % see section \ref{Lsetsize}, page \pageref{Lsetsize}. % % Another set of commands can be used to set a name for a feature % line, which is printed together with the sequence names at the % left or right side of the alignment, i.\,e.\ % \medskip % % \label{Lshowfeaturename} \label{Lshowfeaturestylename} % \label{Lhidefeaturename} \label{Lhidefeaturestylename} % \label{Lhidefeaturenames} \label{Lhidefeaturestylenames} % \quad |\showfeaturename{|\meta{ttttop...bbbbottom}|}{|\meta{name}|}|, % \medskip % % \quad |\showfeaturestylename{|\meta{ttttop...bbbbottom}|}{|\meta{name}|}| % \medskip % % \quad |\hidefeaturename{|\meta{ttttop...bbbbottom}|}| % \medskip % % \quad |\hidefeaturestylename{|\meta{ttttop...bbbbottom}|}| % \medskip % % \quad |\hidefeaturenames|, and |\hidefeaturestylenames|. % \medskip % % Using |\showfeaturename| will print the name in the same line as % the descriptive text of the feature whereas | \showfeaturestylename| % will put the name in the same line as the feature symbols. % % The color of such names can be generally changed with \label{Lfeaturenamescolor} % \medskip % % \quad |\featurenamescolor{|\meta{color}|}| and \label{Lfeaturestylenamescolor} % \medskip % % \quad |\featurestylenamescolor{|\meta{color}|}| % \medskip % % or individually with \label{Lfeaturenamecolor} % \medskip % % \quad |\featurenamecolor{|\meta{ttttop...bbbbottom}|}{|\meta{color}|}| and \label{Lfeaturestylenamecolor} % \medskip % % \quad |\featurestylenamecolor{|\meta{ttttop...bbbbottom}|}{|\meta{color}|}| % \medskip % % See section \ref{colors} for how to select colors in \TeX{}shade. % % Font styles can be set as usual, e.\,g.\ |\setsize{featurenames}{large}| or % |\featurestylenamesrm| etc. (see section \ref{Lsetfamily}). % % % Examples for the appearance of features are given in the % overview section (\ref{over}), see: % \medskip % % \emph{similarity mode} (\ref{similar}): fill-character; here, only % one position is labeled. It is also possible to label a longer % stretch, then, the character is printed several times to % fill the specified region. % % \quad|\feature{top}{1}{93..93}{fill:$\downarrow$}{first...}| % % \quad|\feature{bottom}{1}{98..98}{fill:$\uparrow$}{second...}| % \medskip % % \emph{T-Coffee mode} (\ref{TCoffee}): |T-Coffee| color scale % % \quad|\feature{top}{1}{30..63}{color:conservation[T-Coffee]}{}| % % \quad|\showfeaturestylename{bottom}{cons}| % \medskip % % \emph{diversity mode} (\ref{diverse}): frames, text only % % \quad|\feature{top}{1}{77..109}{}{AQP2 species variants}| % % \quad|\frameblock{1}{82..82,106..106}{Red[1pt]}| % \medskip % % \emph{functional mode} (\ref{func}): bar graph, color scale, tinting, box, arrow, % translation, brace, helix % % \quad|\feature{top}{3}{153..165}| % % \quad\quad\quad\quad\quad|{bar[-50,50]:-50,-45,-40,...,40,45,50}{}| % \medskip % % \quad|\feature{top}{3}{167..186}| % % \quad\quad\quad\quad\quad|{color:5,10,15,...,90,95,100[ColdHot]}{}| % \medskip % % \quad |\feature{top}{1}{158..163}{brace}{tinted}| % % \quad|\tintblock{1}{158..163}| % \medskip % % \quad|\feature{top}{1}{138..157}| % % \quad\quad\quad\quad\quad|{box[Blue,Red][0.5pt]:$\alpha$~helix[Yellow]}| % % \quad\quad\quad\quad\quad|{transmembrane domain 4}| % % \quad|\feature{top}{1}{164..170}{o->[Red]}{trans. dom. 5}| % % \quad|\feature{top}{1}{158..163}{translate[Blue]}{}| % % \quad|\backtranslabel{oblique}| % % \quad|\feature{bottom}{1}{158..163}| % % \quad\quad\quad\quad\quad|{brace[Blue]}{loop D[Blue]}| % \medskip % % \quad|\feature{top}{1}{138..157,164..170}{helix}{membr.}| % % \quad|\feature{top}{1}{158..163}{---}{loop}| % % \quad|\featurerule{1mm}| % \medskip % % \emph{bar graphs and color scales} (\ref{graphs}): sequence conservation, % charge, molecular weight, hydrophobicity % % \quad|\feature{ttop}{1}{138..170}{bar:conservation}{}| % % \quad|\feature{top}{1}{138..170}{color:charge}{}| % % \quad|\feature{bottom}{1}{138..170}| % % \quad\quad\quad\quad\quad|{color:molweight[ColdHot]}{}| % % \quad|\feature{bbottom}{1}{138..170}| % % \quad\quad\quad\quad\quad|{bar:hydrophobicity[Red,Gray10]}{}| % \medskip % % \subsubsection{Including secondary structure information} % % \label{structure} % % \label{LincludeDSSP} % \label{LincludeSTRIDE} % \label{LincludePHDsec} % \label{LincludePHDtopo} % \label{LincludeHMMTOP} % The DSSP [9], STRIDE [10], PHD [11] and HMMTOP [12] algorithms produce % secondary protein structure predictions. PHD files contain both, % secondary structure information and topology data. This information can be % displayed in an alignment by one of the commands: % \bigskip % % \begin{tabular}{ll} % |\includeDSSP| & sec. structure calculated by DSSP\\ % % |\includeSTRIDE| & sec. structure calculated by STRIDE \\ % % |\includePHDsec| & sec. structure calculated by PHD \\ % % |\includePHDtopo| & topology data calculated by PHD \\ % % |\includeHMMTOP| & topology data calculated by HMMTOP \\ % \end{tabular} % \bigskip % % The syntax is |\includeDSSP{|\meta{seqref}|}{|\meta{filename}|}|, % with |seqref| indicating the number or name of the sequence for which % the secondary structure data is calculated and |filename| designating the % corresponding structure file to be included. % % Several types of secondary structures are predicted by these % programs; in order to designate them in \TeXshade{} use the names % from the right column: % % \begin{center} % \begin{tabular}{ll} % secondary structure & designation\\[3mm] % \emph{DSSP and STRIDE} & \\[2mm] % 4-helix ($\alpha$-helix) & |alpha| \\ % isolated $\beta$-bridge & |bridge| \\ % extended strand ($\beta$-strand) & |beta| \\ % 3-helix (3$_{10}$-helix) & |3-10| \\ % 5-helix ($\pi$-helix) & |pi| \\ % H-bonded turn & |turn| \\[3mm] % \emph{PHDsec} & \\[2mm] % helix & |alpha| \\ % sheet & |beta| \\[3mm] % \emph{PHDtopo and HMMTOP} & \\[2mm] % internal region & |internal| \\ % external region & |external| \\ % transmembrane domain & |TM| \\ % \end{tabular} % \end{center} % % \label{LshowonDSSP} % \label{LshowonSTRIDE} % \label{LshowonPHDsec} % \label{LshowonPHDtopo} % \label{LshowonHMMTOP} % \label{LhideonDSSP} % \label{LhideonSTRIDE} % \label{LhideonPHDsec} % \label{LhideonPHDtopo} % \label{LhideonHMMTOP} % By default all three types of helices and the strands are % displayed whereas turns and bridges are skipped. If it is % desired to shown them as well, call for example |\shownonDSSP{bridge,turn}|. % In analogy to this example all structure features can be activated % in DSSP, STRIDE, PHDsec, PHDtopo and HMMTOP. In order to hide % certain structure types use for example |\hideonDSSP{3-10,pi}|. % % The DSSP format has two columns of sequence numberings. The first % column is consecutive, whereas the second column contains the % actual sequence numbering. This can be different from the first % column when sequence parts are missing in the DSSP file. One can % choose which column will be read by \TeXshade{} by % \label{LfirstcolumnDSSP} \label{LsecondcolumnDSSP} % `|\firstcolumnDSSP|' and |\secondcolumnDSSP|'. The second column % is still default. % % The HMMTOP algorithm can present its results as plain text or % as HTML---plain text needs to be selected here. Further, the % output can be formatted in a single line or in an extended form % (see the HMMTOP documentation). Both can be read and interpreted % by \TeXshade{}. Importantly, HMMTOP files can contain topology % predictions of multiple sequences. \TeXshade{} tries to find % the correct data based on the respective sequence name. If the % sequence name is not found in the file, the first topology data % is used. Using an optional parameter (number of the prediction % in the file or name) one can define which data from the file is % to be used: % \medskip % % |\includeHMMTOP{|\meta{seqref in texshade}|[|\meta{seqref in file}|]}{|\meta{filename}|}| % \medskip % % PHD predictions: when starting the PHD software do not % restrict the prediction to secondary structure or topology alone. % This leads to changes in the PHD output file which are not % correctly interpretable by \TeXshade{} due to ambiguities. There % is no way around it---thus, run the full prediction. % % Now, some information on how \TeXshade{} extracts and displays % secondary structure features. In short, it is a two step process. % First, \TeXshade{} analyzes the secondary structure file and % extracts all necessary data. This data is converted into a % format which is readable and processable by \TeXshade{} using the % |feature| command (see \ref{feature}). This command allows one to % label sequence stretches graphically. For a detailed explanation % see the indicated reference. A list of feature commands is saved % in a file with the ending `|.sec|' for DSSP, STRIDE and PHDsec % or `|.top|' for PHDtopo. Then, in a second step, this file is loaded % again and executed. When \TeXshade{} encouters this file a % second time, i.\,e. in a second \TeX{} run, it uses the already % existing file for the output. The great advantage of this method % is its flexibility. Due to the simple reason that the feature % file can be edited in the meantime. Thus, the user has the % ability to change the computer generated file according to his % personal needs. On the other hand, one can force \TeXshade{} to % write a new file every time by the optional argument |[make new]| in the % include command, e.\,g. |\includePHDsec[make new]{1}{AQP.phd}|. % % \label{Lappearance} % Finally, the appearance of the feature labels can be assigned by % the command % % |\appearance{|\meta{filetype}|}{|\meta{type}|}{|\meta{position}|}{|\meta{labelstyle}|}{|\meta{text}|}|. % % Here, \meta{filetype} stands for one of the following secondary structure % file types: |DSSP|, |STRIDE|, |PHDsec|, |PHDtopo| or |HMMTOP| and % \meta{type} designates the secondary structure type as shown in % the right column of the table above. The other % arguments \meta{position}, \meta{labelstyle} and \meta{text} % are almost as described in \ref{feature}. % \label{Lnumcount} % \label{Lalphacount} % \label{LAlphacount} % \label{Lromancount} % \label{LRomancount} % One further possibility % is to include internal counters for each secondary structure type. % Just add one of the following commands % to the text in the feature description. % % \begin{center} % \begin{tabular}{ll} % \emph{counter} & \emph{display} \\[2mm] % |\numcount| & 1, 2, 3 \ldots \\ % |\alphacount| & a, b, c \ldots \\ % |\Alphacount| & A, B, C \ldots \\ % |\romancount| & i, ii, iii \ldots \\ % |\Romancount| & I, II, III \ldots \\ % \end{tabular} % \end{center} % % Examples: % % \quad|\appearance{DSSP}{alpha}{ttop}| % % \quad\quad\quad\quad\quad\quad\quad|{-->}{$\alpha$-helix~\Alphacount}| % % \quad|\appearance{PHDtopo}{TM}{bottom}| % % \quad\quad\quad\quad\quad\quad\quad|{box[Blue]:TM\numcount[Yellow]}{}| % % % \subsection{Displaying and building legends} % % \label{Lshowlegend}\label{Lhidelegend}\label{Lmovelegend} % \label{Lgermanlanguage}\label{Lenglishlanguage}\label{Llegendcolor} % \label{Lspanishlanguage} % For each predefined shading mode \TeXshade{} can print an appropriate % legend to explain the used % shading colors. The commands |\showlegend| and |\hidelegend| % display or clear the legend at the end of the alignment. % The legend is displayed by default beneath the first residue % of the last alignment line. The location can be changed by % |\movelegend{|\meta{x-offset}|}{|\meta{y-offset}|}|. Both % parameters require a \TeX{} length, e.\,g. |\movelegend{5cm}{-2cm}| % moves the legend 5\,cm to the right and 2\,cm up. % % The language for the descriptions is english by default; % if the |\german.sty| package is active legend texts are in % german. So far, german, spanish and english are implemented. With the % commands |\germanlanguage|, |\spanishlanguage| and |\englishlanguage| % switching between the languages % is made possible. For the addition of other languages contact me. % Finally, the color of the describing legend texts can be set % with the command |\legendcolor{|\meta{color}|}|. % % User defined legends are easily built with the following command % \label{Lshadebox}|\shadebox{|\meta{color}|}|. Use this command outside % the \TeXshade{} environment, e.\,g. in the text or in the caption. As % \meta{color} any color can be designated (see section \ref{colors}) or % one of the following parameters: % % \begin{itemize} % \item |nomatch| = the color used for nonmatching residues % % \item |similar| = the color used for similar residues % % \item |conserved| = the color used for conserved residues % % \item |allmatch| = the color used for highly conserved residues % (if |\allmatchspecial| is active) % % \end{itemize} % % The command simply prints a shaded box in the specified color % then a describing text can be appended. Examples: % \medskip % % \quad|\shadebox{nomatch}---nonmatching residues| % % \quad|\shadebox{similar}: similar residues| % % \quad|\shadebox{conserved}~conserved residues| % % \quad|\shadebox{Yellow}\quad PKA phosphorylation sites| % % % % \subsection{Adding captions to the alignment} % % Since \TeXshade{} v1.5 captions can be added to the alignment. % So far, captions were difficult to use when the alignment was % bigger than one page and therefore did not fit into a % figure environment. The \TeXshade{} captions behave exactly as % normal figure captions. They % adopt their style, use the figure counter number and appear in % the list of figures as any other figure. % % The usage is slightly different from normal captions but % intuitive: \label{Lshowcaption} % \medskip % % \quad |\showcaption[|\meta{position}|]{|\meta{text}|}| % \medskip % % The optional \meta{position} tells \TeXshade{} to put the caption on % |top| or at the |bottom| of the alignment. If nothing is stated here % the caption will appear at the bottom. The parameter % \meta{text} just holds the caption text as in the normal |\caption|. % The command can be used at any position within the |texshade| % environment. A simple example would be: % \medskip % % \quad |\showcaption{A beautiful \TeXshade{} alignment.}| % \medskip % % \label{Lshortcaption} % In order to show a short version of the caption in the % "List of Figures" the |\shortcaption{|\meta{short caption text}|}| % command can be used. % % \subsection{Font handling} % % \subsubsection{Changing font styles} % % \label{Lsetfamily}\label{Lsetseries} % \label{Lsetshape}\label{Lsetsize} % The font styles for the numbering, the sequence names, % the sequence residues, the descriptive feature texts % and the legends can be changed by several commands. % \medskip % % \quad|\setfamily{|\meta{text}|}{|\meta{family}|}| % % \quad|\setseries{|\meta{text}|}{|\meta{series}|}| % % \quad|\setshape{|\meta{text}|}{|\meta{shape}|}| % % \quad|\setsize{|\meta{text}|}{|\meta{size}|}| % \medskip % % The first parameter selects the text whose style is to be % changed. Possible first parameters are % |numbering|, |names|, |residues|, |features|, |featurestyles|, % |hideblock|, and |legend|. % \medskip % % The style is set by the second parameter: % % \begin{center} % \begin{tabular}{lll} % command & \meta{2. parameter} & \\ % \hline % |\setfamily| & |rm| & modern roman font family \\ % & |sf| & sans serif font family \\ % & |tt| & typewriter font family \\ \hline % |\setseries| & |bf| & bold face series \\ % & |md| & normal series \\ \hline % |\setshape| & |it| & italics shape \\ % & |sl| & slanted shape \\ % & |sc| & small capitals shape \\ % & |up| & upright shape \\ \hline % |\setsize| & |tiny| & the known \TeX{} sizes \\ % & |scriptsize| & \\ % & |footnotesize| & \\ % & |small| & \\ % & |normalsize| & \\ % & |large| & \\ % & |Large| & \\ % & |LARGE| & \\ % & |huge| & \\ % & |Huge| & \\ \hline % \end{tabular} % \end{center} % % Example: |\setfamily{features}{it} \setseries{features}{bf}| % \medskip % % \label{Lsetfont} % With the command % \medskip % % \quad|\setfont{|\meta{text}|}{|\meta{family}|}{|\meta{series}|}{|\meta{shape}|}{|\meta{size}|}| % \medskip % % all four font attributes of one \meta{text} can be changed % simultaneously. The order of the parameters is as indicated. % \medskip % % Example: |\setfont{features}{rm}{it}{bf}{normalsize}| % \medskip % % Further, short commands are provided to change single font % attributes quickly. The following commands set attributes % of feature texts. % \medskip % \enlargethispage{\baselineskip} % % \quad |\featuresrm| \quad |\featurestiny| \label{Lfeaturesrm} % % \quad |\featuressf| \quad |\featuresscriptsize| % % \quad |\featurestt| \quad |\featuresfootnotesize| % % \quad |\featuresbf| \quad |\featuressmall| % % \quad |\featuresmd| \quad |\featuresnormalsize| % % \quad |\featuresit| \quad |\featureslarge| % % \quad |\featuressl| \quad |\featuresLarge| % % \quad |\featuressc| \quad |\featuresLARGE| % % \quad |\featuresup| \quad |\featureshuge| % % \quad | | \quad |\featuresHuge| % \medskip % % Corresponding sets are provided for the % numbering (|\numberingrm| etc.), % featurestyles (|featurestylesrm| etc.), names (|\namesrm| etc.), % featurenames (|\featurenamesrm| etc.), % featurestylenames (|\featurestylenames| etc.), % residues (|\residuesrm| etc.), % hideblock labels (|hideblockrm| etc.), and % legend texts (|legendrm| etc.). % % % \subsubsection{Using PostScript fonts} % % As already mentioned \TeXshade{} makes intensive use of % \textsc{PostScript} for shading. Now, that % \textsc{PostScript} output is active anyway, including \textsc{PostScript} % fonts is very easy. Just declare in the document header % \medskip % % \quad |\usepackage{|\meta{PS-font}|}|. % \medskip % % % The typewriter font of \TeX{} is always a topic of discussions. % By including the package |\usepackage{courier}| \TeX's % typewriter font is replaced by the widely accepted \textsc{Courier}. % Have a look into the directory |..texinputs:latex:psnfss|; there, % some styles are located which exchange the common \TeX{} fonts by % \textsc{PostScript} fonts, e.\,g.\ |avant.sty|, |bookman.sty|, % |chancery.sty|, |courier.sty|, |helvet.sty| or |utopia.sty|. % Depending on the style used the |\rmdefault|-, |\sfdefault|-, % and |\ttdefault| fonts are substituted partly or completely. % Thus, |courier.sty| for instance exchanges only the typewriter font, % whereas |bookman.sty| sets \textsc{Bookman} as |\rmdefault|, % \textsc{Avantgarde} as |\sfdefault| and \textsc{Courier} as % |\ttdefault|. % % For further information see \textsc{Tomas Rokicki}'s % |dvips| manual [13]. % % % % % \subsection{Goodies---molweight and charge} % % \label{molcharge} % % \label{Lmolweight}\label{Lcharge} % During the process of sequence setting \TeXshade{} % sums up the molecular weight and charge of the % aligned proteins. This data can be accessed by the % following two commands. % \medskip % % \quad|\molweight{|\meta{seqref}|}{|\meta{Da/kDa}|}| % % \quad|\charge{|\meta{seqref}|}{|\meta{i/o/N/C}|}| % \medskip % % The first parameter \meta{seqref} selects the sequence. The % second parameter in the |\molweight| command allows one to % switch the units between Dalton (|Da|) and kilo-Dalton % (|kDa|). The |\charge| command needs the second parameter % for the correct consideration of the charged protein termini. % Thus, `|i|' refers to internal sequences, `|o|' to the % overall charge, `|N|' to N-terminal sequence parts, and % `|C|' to the C-terminal end of a protein. % \medskip % % Example: \quad Charge: |\charge{1}{o}|; Weight: |\molweight{1}{Da}| % % % \newpage % \section{The PostScript color selection scheme} % % \label{colors} % % \textsc{PostScript} provides 64 standard colors. All these % colors are predefined in the |color.sty|. Each color % has a pictorial name such as |Bittersweet| and a distinct % composition, e.\,g.\ 0\% cyan + 75\% magenta + 100\% yellow + % 24\% black---the so-called CMYK scheme. \TeXshade{} enhances this % color scheme by gray scales in 5\% steps. % The following colors and grays can be used in \TeXshade{} by % simply declaring the name of the color in the respective % command, e.\,g.\ |\consensuscolors|: % % % \begin{footnotesize} % \begin{tabbing} % \emph{name}\hspace{2.5cm}\= \emph{CMYK}\hspace{1.8cm} % \=\emph{name}\hspace{2.5cm}\= \emph{CMYK}\\ % % GreenYellow \>{0.15,0,0.69,0}\>Yellow \>{0,0,1,0}\\ % Goldenrod \>{0,0.10,0.84,0}\>Dandelion \>{0,0.29,0.84,0}\\ % Apricot \>{0,0.32,0.52,0}\> Peach \>{0,0.50,0.70,0}\\ % Melon \>{0,0.46,0.50,0}\> YellowOrange \>{0,0.42,1,0}\\ % Orange \>{0,0.61,0.87,0}\>BurntOrange \>{0,0.51,1,0}\\ % Bittersweet \>{0,0.75,1,0.24}\> RedOrange \>{0,0.77,0.87,0}\\ % Mahagony \>{0,0.85,0.87,0.35}\>Maroon \>{0,0.87,0.68,0.32}\\ % BrickRed \>{0,0.89,0.94,0.28}\> Red \>{0,1,1,0}\\ % OrangeRed \>{0,1,0.50,0}\> RubineRed \>{0,1,0.13,0}\\ % WildStrawberry\>{0,0.96,0.39,0}\> Salmon \>{0,0.53,0.38,0}\\ % CarnationPink \>{0,0.63,0,0}\> Magenta \>{0,1,0,0}\\ % VioletRed \>{0,0.81,0,0}\> Rhodamine \>{0,0.82,0,0}\\ % Mulberry \>{0.34,0.90,0,0.02}\> RedViolet \>{0.07,0.90,0,0.34}\\ % Fuchsia \>{0.47,0.91,0,0.08}\>Lavender \>{0,0.48,0,0}\\ % Thistle \>{0.12,0.59,0,0}\>Orchid \>{0.32,0.64,0,0}\\ % DarkOrchid \>{0.40,0.80,0.20,0}\> Purple \>{0.45,0.86,0,0}\\ % Plum \>{0.50,1,0,0}\>Violet \>{0.79,0.88,0,0}\\ % RoyalPurple \>{0.75,0.90,0,0}\>BlueViolet \>{0.86,0.91,0,0.04}\\ % Periwinkle \>{0.57,0.55,0,0}\> CadetBlue \>{0.62,0.57,0.23,0}\\ % CornflowerBlue\>{0.65,0.13,0,0}\>MidnightBlue \>{0.98,0.13,0,0.43}\\ % NavyBlue \>{0.94,0.54,0,0}\>RoyalBlue \>{1,0.50,0,0}\\ % Blue \>{1,1,0,0}\>Cerulean \>{0.94,0.11,0,0}\\ % Cyan \>{1,0,0,0}\> ProcessBlue \>{0.96,0,0,0}\\ % SkyBlue \>{0.62,0,0.12,0}\>Turquoise \>{0.85,0,0.20,0}\\ % TealBlue \>{0.86,0,0.34,0.02}\>Aquamarine \>{0.82,0,0.30,0}\\ % BlueGreen \>{0.85,0,0.33,0}\> Emerald \>{1,0,0.50,0}\\ % JungleGreen \>{0.99,0,0.52,0}\>SeaGreen \>{0.69,0,0.50,0}\\ % Green \>{1,0,1,0}\>ForestGreen \>{0.91,0,0.88,0.12}\\ % PineGreen \>{0.92,0,0.59,0.25}\> LimeGreen \>{0.50,0,1,0}\\ % YellowGreen \>{0.44,0,0.74,0}\>SpringGreen \>{0.26,0,0.76,0}\\ % OliveGreen \>{0.64,0,0.95,0.40}\>RawSienna \>{0,0.72,1,0.45}\\ % Sepia \>{0,0.83,1,0.70}\>Brown \>{0,0.81,1,0.60}\\ % Tan \>{0.14,0.42,0.56,0}\>\>\\ % White (Gray0) \>{0,0,0,0}\>Black (Gray100) \>{0,0,0,1}\\ % Gray5 \>{0,0,0,0.05}\>Gray10 \>{0,0,0,0.10}\\ % Gray15 \>{0,0,0,0.15}\>Gray20 \>{0,0,0,0.20}\\ % Gray25 \>{0,0,0,0.25}\> Gray30 \>{0,0,0,0.30}\\ % LightGray \>{0,0,0,0.33}\> Gray35 \>{0,0,0,0.35}\\ % Gray40 \>{0,0,0,0.40}\>Gray45 \>{0,0,0,0.45}\\ % Gray50 \>{0,0,0,0.50}\> Gray \>{0,0,0,0.50}\\ % Gray55 \>{0,0,0,0.55}\> Gray60 \>{0,0,0,0.60}\\ % Gray65 \>{0,0,0,0.65}\> DarkGray \>{0,0,0,0.66}\\ % Gray70 \>{0,0,0,0.70}\> Gray75 \>{0,0,0,0.75}\\ % Gray80 \>{0,0,0,0.80}\>Gray85 \>{0,0,0,0.85}\\ % Gray90 \>{0,0,0,0.90}\> Gray95 \>{0,0,0,0.95}\\ % LightGreenYellow\>{0.08,0,0.35,0}\> LightYellow \>{0,0,0.50,0}\\ % LightGoldenrod \>{0,0.05,0.42,0}\> LightDandelion\> {0,0.15,0.42,0}\\ % LightApricot \>{0,0.16,0.26,0}\> LightPeach \>{0,0.25,0.35,0}\\ % LightMelon \>{0,0.23,0.25,0}\> LightYellowOrange \>{0,0.21,0.50,0}\\ % LightOrange \>{0,0.31,0.44,0}\> LightBurntOrange \>{0,0.26,0.50,0}\\ % LightBittersweet\>{0,0.38,0.50,0.12}\> LightRedOrange\>{0,0.39,0.44,0}\\ % LightMahagony \>{0,0.43,0.44,0.18}\> LightMaroon \>{0,0.44,0.34,0.16}\\ % LightBrickRed \>{0,0.45,0.47,0.14}\> LightRed \>{0,0.50,0.50,0}\\ % LightOrangeRed \>{0,0.50,0.25,0}\> LightRubineRed \>{0,0.50,0.07,0}\\ % LightWildStrawberry\>{0,0.48,0.20,0}\> LightSalmon \>{0,0.27,0.19,0}\\ % LightCarnationPink \>{0,0.32,0,0} \> LightMagenta \>{0,0.50,0,0}\\ % LightVioletRed \>{0,0.40,0,0} \> LightRhodamine \>{0,0.41,0,0}\\ % LightMulberry \>{0.17,0.45,0,0.01}\> LightRedViolet \>{0.04,0.45,0,0.17}\\ % LightFuchsia \>{0.24,0.46,0,0.04}\> LightLavender \> {0,0.24,0,0}\\ % LightThistle \>{0.06,0.30,0,0} \> LightOrchid \>{0.16,0.32,0,0}\\ % LightDarkOrchid \>{0.20,0.40,0.10,0}\> LightPurple \>{0.23,0.43,0,0}\\ % LightPlum \>{0.25,0.50,0,0} \> LightViolet \>{0.40,0.44,0,0}\\ % LightRoyalPurple\>{0.38,0.45,0,0} \> LightBlueViolet \>{0.43,0.46,0,0.02}\\ % LightPeriwinkle \>{0.29,0.28,0,0} \> LightCadetBlue \> {0.31,0.29,0.12,0}\\ % LightCornflowerBlue\>{0.33,0.07,0,0}\>LightMidnightBlue\>{0.49,0.07,0,0.22}\\ % LightNavyBlue \>{0.47,0.27,0,0} \> LightRoyalBlue \> {0.50,0.25,0,0}\\ % LightBlue \>{0.50,0.50,0,0} \> LightCerulean \> {0.47,0.06,0,0}\\ % LightCyan \>{0.50,0,0,0} \> LightProcessBlue \> {0.48,0,0,0}\\ % LightSkyBlue \>{0.31,0,0.06,0} \> LightTurquoise \>{0.43,0,0.10,0}\\ % LightTealBlue \>{0.43,0,0.17,0.01}\> LightAquamarine \>{0.41,0,0.15,0}\\ % LightBlueGreen \>{0.43,0,0.17,0}\> LightEmerald \>{0.50,0,0.25,0}\\ % LightJungleGreen\>{0.50,0,0.26,0} \> LightSeaGreen \>{0.35,0,0.25,0}\\ % LightGreen \>{0.50,0,0.50,0} \> LightForestGreen\>{0.46,0,0.44,0.06}\\ % LightPineGreen \>{0.46,0,0.30,0.13}\> LightLimeGreen\>{0.25,0,0.50,0}\\ % LightYellowGreen\>{0.22,0,0.37,0} \> LightSpringGreen \>{0.13,0,0.38,0}\\ % LightOliveGreen \>{0.32,0,0.48,0.20} \> LightRawSienna\>{0,0.36,0.50,0.23}\\ % LightSepia \>{0,0.44,0.50,0.35} \> LightBrown \>{0,0.41,0.50,0.30}\\ % LightTan \>{0.07,0.21,0.28,0}\\ % LightLight- and LightLightLight-versions were derived by dividing all values\\ % from Light-color definitions by 2 and 4, respectively. % \end{tabbing} % % \begin{tabbing} % \emph{name}\hspace{2.5cm}\= \emph{RGB\quad}\hspace{1.8cm} % \=\emph{name}\hspace{2.5cm}\= \emph{RGB\quad}\\ % % BlueRed5 \>{0.15,0.17,0.55} \> BlueRed10 \> {0.20,0.23,0.57}\\ % BlueRed15 \> {0.24,0.29,0.60} \>BlueRed20 \> {0.33,0.35,0.64}\\ % BlueRed25 \> {0.43,0.43,0.68} \>BlueRed30 \> {0.52,0.52,0.73}\\ % BlueRed35 \> {0.60,0.60,0.78} \>BlueRed40 \> {0.70,0.70,0.84}\\ % BlueRed45 \> {0.80,0.80,0.85} \>BlueRed50 \> {0.86,0.82,0.82}\\ % BlueRed55 \> {0.87,0.73,0.73} \>BlueRed60 \> {0.89,0.64,0.64}\\ % BlueRed65 \> {0.90,0.55,0.55} \>BlueRed70 \> {0.91,0.47,0.46}\\ % BlueRed75 \> {0.91,0.39,0.37} \>BlueRed80 \> {0.90,0.33,0.28}\\ % BlueRed85 \> {0.89,0.25,0.20} \>BlueRed90 \> {0.88,0.23,0.14}\\ % BlueRed95 \> {0.87,0.21,0.09} \>BlueRed100\> {0.87,0.16,0.04}\\ % GreenRed5 \> {0,1,0} \>GreenRed10\> {0.05,0.95,0}\\ % GreenRed15 \> {0.10,0.90,0} \>GreenRed20\> {0.15,0.85,0}\\ % GreenRed25 \> {0.20,0.80,0} \>GreenRed30\> {0.25,0.75,0}\\ % GreenRed35 \> {0.30,0.70,0} \>GreenRed40\> {0.35,0.65,0}\\ % GreenRed45 \> {0.40,0.60,0} \>GreenRed50\> {0.45,0.55,0}\\ % GreenRed55 \> {0.50,0.50,0} \>GreenRed60\> {0.55,0.45,0}\\ % GreenRed65 \> {0.60,0.40,0} \>GreenRed70\> {0.65,0.35,0}\\ % GreenRed75 \> {0.70,0.30,0} \>GreenRed80\> {0.75,0.25,0}\\ % GreenRed85 \> {0.80,0.20,0} \>GreenRed90\> {0.85,0.15,0}\\ % GreenRed95 \> {0.90,0.10,0} \>GreenRed100\> {0.95,0.05,0}\\ % ColdHot5 \> {0,0.08,1} \>ColdHot10 \> {0,0.29,1}\\ % ColdHot15 \> {0,0.49,1} \>ColdHot20 \> {0,0.70,1}\\ % ColdHot25 \> {0,0.90,1} \>ColdHot30 \> {0,1,0.87}\\ % ColdHot35 \> {0,1,0.68} \>ColdHot40 \> {0,1,0.46}\\ % ColdHot45 \> {0,1,0.25} \>ColdHot50 \> {0,1,0.04}\\ % ColdHot55 \> {0.16,1,0} \>ColdHot60 \> {0.35,1,0}\\ % ColdHot65 \> {0.56,1,0} \>ColdHot70 \> {0.79,1,0}\\ % ColdHot75 \> {0.98,1,0} \>ColdHot80 \> {1,0.82,0}\\ % ColdHot85 \> {1,0.60,0} \>ColdHot90 \> {1,0.40,0}\\ % ColdHot95 \> {1,0.20,0} \>ColdHot100\> {0.91,0,0}\\ % and reverse definitions: |RedBlue|, |RedGreen|, |HotCold|.\\ % \end{tabbing} % \end{footnotesize} % % Type the color names with the upper case letters exactly as described above. % For the definition of new colors use one of the |color.sty| commands: % \medskip % % \quad|\definecolor{|\meta{name}|}{cmyk}{|\meta{C,M,Y,K}|}| % \medskip % % \quad|\definecolor{|\meta{name}|}{rgb}{|\meta{R,G,B}|}| % \medskip % % The \meta{name} can be chosen freely, the values for the color % composition must be in the range 0--1, i\,e.\ 0--100\% of the % respective component (`C' -- cyan, `M' -- magenta, `Y' -- yellow, % `K' -- black; or `R' -- red, `G' -- green, `Blue' -- blue) separated by % commas. % \medskip % % Examples: % \medskip % % |\definecolor{Salmon}{cmyk}{0,0.53,0.38,0}| % \medskip % % |\definecolor{ColdHot15}{rgb}{0,0.49,1}| % \medskip % % \newpage % \section{Listing of the \texttt{texshade} default settings} % % \subsection{Standard definitions} % % The file |texshade.def| mirrors all commands which are % carried out at the beginning of the |texshade| environment. % Short comments are also included, thus, it is refered to % this file for further information. % % \subsection{Colors used in the different shading modes} % % \vspace{5mm} % % Color scheme \emph{blues}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Black \> Magenta \> similar \\ % \>White \> RoyalBlue \> identical \\ % \>Goldenrod \> RoyalPurple \> all match\\ % \end{tabbing} % \medskip % % Color scheme \emph{greens}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Black \> GreenYellow \> similar \\ % \>White \> PineGreen \> identical \\ % \>YellowOrange \> OliveGreen \> all match\\ % \end{tabbing} % \medskip % % Color scheme \emph{reds}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Black \> YellowOrange \> similar \\ % \>White \> BrickRed \> identical \\ % \>YellowGreen \> Mahagony \> all match\\ % \end{tabbing} % \medskip % % \newpage % Color scheme \emph{grays}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Black \> LightGray \> similar \\ % \>White \> DarkGray \> identical \\ % \>White \> Black \> all match\\ % \end{tabbing} % \medskip % % Color scheme \emph{black}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Black \> White \> similar \\ % \>White \> Black \> identical \\ % \>White \> Black \> all match\\ % \end{tabbing} % \medskip % % Functional mode \emph{charge}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>White \> Red \> acidic \\ % \>White \> Blue \> basic \\ % \end{tabbing} % \medskip % % Functional mode \emph{hydropathy}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>White \> Red \> acidic \\ % \>White \> Blue \> basic \\ % \>Black \> Yellow \> polar uncharged \\ % \>White \> Green \> hydrophobic nonpolar \\ % \end{tabbing} % \medskip % % \newpage % Functional mode \emph{chemical}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>White \> Red \> acidic \\ % \>White \> Black \> aliphatic \\ % \>White \> Gray \> aliphatic (small) \\ % \>White \> Green \> amide \\ % \>White \> Brown \> aromatic \\ % \>White \> Blue \> basic \\ % \>Black \> Magenta \> hydroxyl \\ % \>Black \> Orange \> imino \\ % \>Black \> Yellow \> sulfur \\ % \end{tabbing} % \medskip % % Functional mode \emph{rasmol}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Red \> White \> Asp, Glu \\ % \>Blue \> White \> Arg, Lys, His \\ % \>MidnightBlue \> White \> Phe, Tyr, Trp \\ % \>Gray \> White \> Ala, Gly \\ % \>Yellow \> White \> Cys, Met \\ % \>Orange \> White \> Ser, Thr \\ % \>Cyan \> White \> Asn, Gln \\ % \>Gree \> White \> Leu, Val, Ile \\ % \>Apricot \> White \> Pro \\ % \end{tabbing} % \medskip % % Functional mode \emph{structure}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Black \> Orange \> external \\ % \>Black \> Yellow \> ambivalent \\ % \>White \> Green \> internal \\ % \end{tabbing} % \medskip % % \newpage % Functional mode \emph{standard area}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Black \> BrickRed \> G\\ % \>Black \> Orange \> A, S\\ % \>Black \> Yellow \> C, P \\ % \>Black \> YellowGreen \> T, D, V, N \\ % \>White \> PineGreen \> I, E \\ % \>Black \> SkyBlue \> L, Q, H, M \\ % \>White \> RoyalPurple \> F, K \\ % \>White \> RedViolet \> Y \\ % \>White \> Black \> R, W \\ % \end{tabbing} % \medskip % % Functional mode \emph{accessible area}: % \medskip % % \begin{tabbing} % \hspace{1cm}\=\emph{res.color}\hspace{1.5cm}\=\emph{shad.color}\hspace{1.5cm} \= \emph{residues} \\ % \>Black \> White \> no match \\ % \>Black \> BrickRed \> C \\ % \>Black \> Orange \> I, V, G \\ % \>Black \> Yellow \> F, L, M, A \\ % \>Black \> YellowGreen \> W, S, T, H \\ % \>White \> PineGreen \> P \\ % \>Black \> SkyBlue \> Y, D, N \\ % \>White \> RoyalPurple \> E, Q \\ % \>White \> RedViolet \> R \\ % \>White \> Black \> K \\ % \end{tabbing} % \medskip % % \newpage % \section{Quick Reference} % % \textbf{The \TeXshade{} logo} % \medskip % % \quad |\TeXshade| % % \vspace{1.5\baselineskip} % % \textbf{The \TeXshade{} environment} (\pageref{tsenvironment}\,ff.) % \medskip % % \begin{quote} % |\begin{texshade}[|\meta{parameterfile}|]| % |{|\meta{alignmentfile}|}| % % \quad\emph{further \emph{\TeXshade} commands, if needed} % % |\end{texshade}| % \end{quote} % \bigskip % % \textbf{Predefined shading modes} % \medskip % % \quad|\seqtype{|\meta{type}|}| % \hfill(|P| -- peptide, |N| -- nucleotide) \hfill[\pageref{Lseqtype}] % % \medskip % % \quad|\shadingmode[|\meta{option}|]{|\meta{mode}|}| % \hfill[\pageref{Lshadingmode}] % % \medskip % % \begin{center} % \begin{tabular}{lll} % \meta{mode} & \meta{option} &\\ \hline % |identical| & |allmatchspecial/number| &\\ % |similar| & |allmatchspecial/number| &\\ % |T-Coffee| & \meta{filename} &\\ % |diverse| & \meta{seqref} &\\ % |functional|& \meta{type} & |charge| \\ % & & |hydropathy| \\ % & & |structure| \\ % & & |chemical| \\ % & & |rasmol| \\ % & & |standard area| \\ % & & |accessible area| \\ \hline % \end{tabular} % \end{center} % \medskip % % \quad|\allmatchspecial[|\meta{percentage}|]| % \hfill[\pageref{Lallmatchspecial}] % % \quad|\shadeallresidues| % \hfill[\pageref{Lshadeallresidues}] % % \vspace{1.5\baselineskip} % % \textbf{Shading colors} (\pageref{Lshadingcolors}\,ff.) % \medskip % % \quad|\shadingcolors{|\meta{scheme}|}| \,\, (|blues|, |reds|, % |greens|, |grays|, |black|) % % \quad|\nomatchresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| % % \quad|\similarresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| % % \quad|\conservedresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| % % \quad|\allmatchresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| % \newpage % % \quad|\funcshadingstyle{|\meta{residue}|}{|\meta{res.col.}|}{|\meta{shad.color}|}| % % \hfill|{|\meta{case}|}{|\meta{style}|}| [\pageref{Lfuncshadingstyle}] % % \vspace{1.5\baselineskip} % % \textbf{Residue grouping} % \medskip % % \quad|\pepsims{|\meta{residue}|}{|\meta{similars}|}| % \hfill[\pageref{Lpepsims}] % % \quad|\pepgroups{|\meta{group1}|,|\meta{group2}|, ... , |\meta{groupn}|}| % \hfill[\pageref{Lpepgroups}] % % \quad|\DNAsims{|\meta{residue}|}{|\meta{similars}|}| % \hfill[\pageref{LDNAsims}] % % \quad|\DNAgroups{|\meta{group1}|,|\meta{group2}|, ... , |\meta{groupn}|}| % \hfill[\pageref{LDNAgroups}] % % \vspace{1.5\baselineskip} % % \textbf{Definition of new functional shading modes} % \medskip % % \quad|\clearfuncgroups| \hfill [\pageref{Lclearfuncgroups}] % % \quad|\funcgroup{|\meta{descr}|}{|\meta{residues}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % % \hfill|{|\meta{case}|}{|\meta{style}|}| % \hfill[\pageref{Lfuncgroup}] % % \vspace{1.5\baselineskip} % % \textbf{Appearance of the consensus line} % \medskip % % \quad|\threshold[|\meta{percentage}|]{|\meta{percentage}|}| % \hfill[\pageref{Lthreshold}] % % \quad|\constosingleseq{|\meta{seqref}|}| % \hfill[\pageref{Lconstosingleseq}] % % \quad|\showconsensus[|\meta{color/scale}|[,|\meta{color/scale}|]]{|\meta{top/bot.}|}| % \hfill[\pageref{Lshowconsensus}] % % \quad|\exportconsensus[|\meta{filename}|]{|\meta{seqref}|}| % \hfill[\pageref{Lexportconsensus}] % % \quad|\hideconsensus| % \hfill[\pageref{Lhideconsensus}] % % \quad|\nameconsensus{|\meta{name}|}| % \hfill[\pageref{Lnameconsensus}] % % \quad|\defconsensus{|\meta{symbol1}|}{|\meta{symbol2}|}{|\meta{symbol3}|}| % \hfill[\pageref{Ldefconsensus}] % % \vspace*{-0.5\baselineskip} % % \begin{tabbing} % \quad|\consensuscolors|\=|{|\meta{res.col.1}|}{|\meta{shad.col.1}|}|\\ % % \>|{|\meta{res.col.2}|}{|\meta{shad.col.2}|}|\\ % % \>|{|\meta{res.col.3}|}{|\meta{shad.col.3}|}| % \hspace{1.2in}[\pageref{Lconsensuscolors}]\\ % \end{tabbing} % % \textbf{Sequence logos} % \medskip % % \quad|\showsequencelogo[|\meta{colorset}|]{|\meta{top/bottom}|}| % \hfill[\pageref{Lshowsequencelogo}] % % \quad|\hidesequencelogo| % \hfill[\pageref{Lhidesequencelogo}] % % \quad|\clearlogocolors[|\meta{color}|]| % \hfill[\pageref{Lclearlogocolors}] % % \quad|\logocolor{|\meta{residues}|}{|\meta{color}|}| % \hfill[\pageref{Llogocolor}] % % \quad|\showlogoscale[|\meta{color}|]{|\meta{left/right/leftright}|}| % \hfill[\pageref{Lshowlogoscale}] % % \quad|\hidelogoscale| % \hfill[\pageref{Lhidelogoscale}] % % \quad|\logostretch{|\meta{factor}|}| % \hfill[\pageref{Llogostretch}] % % \quad|\namesequencelogo{|\meta{name}|}| % \hfill[\pageref{Lnamesequencelogo}] % % \quad|\dofrequencycorrection| % \hfill[\pageref{Ldofrequencycorrection}] % % \quad|\undofrequencycorrection| % \hfill[\pageref{Lundofrequencycorrection}] % % \vspace{1.5\baselineskip} % % \textbf{Subfamily logos} % \medskip % % \quad|\showsubfamilylogo[|\meta{colorset}|]{|\meta{top/bottom}|}| % \hfill[\pageref{Lshowsubfamilylogo}] % % \quad|\hidesubfamilylogo| % \hfill[\pageref{Lhidesubfamilylogo}] % % \quad|\setsubfamily{|\meta{seqrefs}|}| % \hfill[\pageref{Lsetsubfamily}] % % \quad|\shownegatives[|\meta{weak, medium, strong}|]| % \hfill[\pageref{Lshownegatives}] % % \quad|\hidenegatives| % \hfill[\pageref{Lhidenegatives}] % % \quad|\namesubfamilylogo[|\meta{neg.name}|]{|\meta{name}|}| % \hfill[\pageref{Lnamesubfamilylogo}] % % \quad|\relevance{|\meta{bit-value}|}| % \hfill[\pageref{Lrelevance}] % % \quad|\showrelevance[|\meta{color}|]{|\meta{symbol}|}| % \hfill[\pageref{Lshowrelevance}] % % \quad|\hiderelevance| % \hfill[\pageref{Lhiderelevance}] % % % \vspace{1.5\baselineskip} % % \textbf{Appearance of the sequence lines} % \medskip % % \quad|\shownames[|\meta{color}|]{|\meta{left/right}|}| % \hfill[\pageref{Lshownames}] % % \quad|\shownumbering[|\meta{color}|]{|\meta{left/right/leftright}|}| % \hfill[\pageref{Lshownumbering}] % % \quad|\nameseq{|\meta{seqref}|}{|\meta{name}|}| % \hfill[\pageref{Lnameseq}] % % \quad|\namescolor{|\meta{color}|}| % \hfill[\pageref{Lnamescolor}] % % \quad|\namecolor{|\meta{seq1}|, ... ,|\meta{seq n}|}{|\meta{color}|}| % \hfill[\pageref{Lnamecolor}] % % \quad|\hidenames| % \hfill[\pageref{Lhidenames}] % % \quad|\hidename{|\meta{seq1}|, ... ,|\meta{seq n}|}| % \hfill[\pageref{Lhidename}] % % \quad|\numberingcolor{|\meta{color}|}| % \hfill[\pageref{Lnumberingcolor}] % % \quad|\numbercolor{|\meta{seq1}|, ... ,|\meta{seq n}|}{|\meta{color}|}| % \hfill[\pageref{Lnumbercolor}] % % \quad|\hidenumbering| % \hfill[\pageref{Lhidenumbering}] % % \quad|\hidenumber{|\meta{seq1}|, ... ,|\meta{seq n}|}| % \hfill[\pageref{Lhidenumber}] % % \quad|\hideresidues| % \hfill[\pageref{Lhideresidues}] % % \quad|\showresidues| % \hfill[\pageref{Lshowresidues}] % % \quad|\startnumber[|\meta{start..stop}|]{|\meta{seqref}|}{|\meta{startnumber}|}| % \hfill[\pageref{Lstartnumber}] % % \quad|\allowzero| % \hfill[\pageref{Lallowzero}] % % \quad|\disallowzero| % \hfill[\pageref{Lallowzero}] % % \quad|\seqlength{|\meta{seqref}|}{|\meta{length}|}| % \hfill[\pageref{Lseqlength}] % % \quad|\showruler[|\meta{color}|]{|\meta{top/bottom}|}{|\meta{seqref}|}| % \hfill[\pageref{Lshowruler}] % % \quad|\rulersteps{|\meta{number}|}| % \hfill[\pageref{Lrulersteps}] % % \quad|\rulercolor{|\meta{color}|}| % \hfill[\pageref{Lrulercolor}] % % \quad|\hideruler| % \hfill[\pageref{Lhideruler}] % % \quad|\rotateruler| % \hfill[\pageref{Lrotateruler}] % % \quad|\unrotateruler| % \hfill[\pageref{Lunrotateruler}] % % \quad|\namerulerpos{|\meta{number}|}{|\meta{text}|[|\meta{color}|]}| % \hfill[\pageref{Lnamerulerpos}] % % \quad|\gapchar{|\meta{symbol}|}| % \qquad (incl. |rule|) \hfill [\pageref{Lgapchar}] % % \quad|\gapcolors{|\meta{symbol color}|}{|\meta{background color}|}| % \hfill[\pageref{Lgapcolors}] % % \quad|\showleadinggaps| % \hfill[\pageref{Lshowleadinggaps}] % % \quad|\hideleadinggaps| % \hfill[\pageref{Lhideleadinggaps}] % % \quad|\fingerprint{|\meta{res. per line}|}| % \hfill[\pageref{Lfingerprint}] % % \vspace{1.5\baselineskip} % % \textbf{Displaying selected residues in the alignment} % \medskip % % \quad|\setends[|\meta{startnumber}|]{|\meta{seqref}|}{|\meta{start..stop}|}| % \hfill[\pageref{Lsetends}] % % \quad|\setdomain{|\meta{seqref}|}{|\meta{selection}|}| (see |\shaderegion| p.\,\pageref{Lshaderegion}) % \hfill[\pageref{Lsetdomain}] % % \quad|\domaingaprule{|\meta{thickness}|}| % \hfill[\pageref{Lsetdomain}] % % \quad|\domaingapcolors{|\meta{foreground}|}{|\meta{background}|}| % \hfill[\pageref{Lsetdomain}] % % \vspace{1.5\baselineskip} % % \textbf{Hiding, killing, separating and ordering} % \medskip % % \quad|\hideseq{|\meta{seq1}|,|\meta{seq2}|,|\ldots|,|\meta{seq n}|}| % \hfill[\pageref{Lhideseq}] % % \quad|\hideseqs| % \hfill[\pageref{Lhideseqs}] % % \quad|\showseqs| % \hfill[\pageref{Lshowseqs}] % % \quad|\killseq{|\meta{seq1}|,|\meta{seq2}|,|\ldots|,|\meta{seq n}|}| % \hfill[\pageref{Lkillseq}] % % \quad|\donotshade{|\meta{seq1}|,|\meta{seq2},\ldots|,|\meta{seq n}|}| % \hfill[\pageref{Ldonotshade}] % % \quad|\separationline{|\meta{seqref}|}| % \hfill[\pageref{Lseparationline}] % % \quad|\smallsep| % \hfill[\pageref{Lsmallsep}] % % \quad|\medsep| % \hfill[\pageref{Lmedsep}] % % \quad|\bigsep| % \hfill[\pageref{Lbigsep}] % % \quad|\vsepspace{|\meta{length}|}| % \hfill[\pageref{Lvsepspace}] % % \quad|\orderseqs{|\meta{seq1}|,|\meta{seq2}|,|\ldots|,|\meta{seq n}|}| % \hfill[\pageref{Lorderseqs}] % % \vspace{1.5\baselineskip} % % \textbf{Residues per line and further settings} % \medskip % % \quad|\residuesperline{|\meta{number}|}| % \hfill[\pageref{Lresiduesperline}] % % \quad|\residuesperline*{|\meta{number}|}| % \hfill[\pageref{Lresiduesperline*}] % % \quad|\charstretch{|\meta{factor}|}| % \hfill[\pageref{Lcharstretch}] % % \quad|\linestretch{|\meta{factor}|}| % \hfill[\pageref{Llinestretch}] % % \quad|\numberingwidth{|\meta{n digits}|}| % \hfill[\pageref{Lnumberingwidth}] % % \quad|\smallblockskip| % \hfill[\pageref{Lsmallblockskip}] % % \quad|\medblockskip| % \hfill[\pageref{Lmedblockskip}] % % \quad|\bigblockskip| % \hfill[\pageref{Lbigblockskip}] % % \quad|\noblockskip| % \hfill[\pageref{Lnoblockskip}] % % \quad|\vblockspace{|\meta{length}|}| % \hfill[\pageref{Lvblockspace}] % % \quad|\flexblockspace| % \hfill[\pageref{Lflexblockspace}] % % \quad|\fixblockspace| % \hfill[\pageref{Lfixblockspace}] % % \quad|\alignment{|\meta{left/center/right}|}| % \hfill[\pageref{Lalignment}] % % \vspace{1.5\baselineskip} % % \newpage % % % \textbf{Individual shading and labeling of sequence stretches} % \medskip % % \quad|\shaderegion{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % \hfill[\pageref{Lshaderegion}] % % \medskip % % \quad |{|\meta{selection}|}| = % \medskip% % % \quad\quad|{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,|\ldots|,|\meta{start n}..\meta{stop n}|}| % \medskip % % \quad\quad|{point[|\meta{dist}|]:|\meta{file}|,|\meta{num}|[CA/side]}| % \medskip % % \quad\quad|{line[|\meta{dist}|]:|\meta{file}|,|\meta{num1}|[CA/side],|\meta{num2}|[CA/side]}| % \medskip % % \quad\quad|{plane[|\meta{dist}|]:|\meta{file}|,|\meta{num1}|[CA/side],|\meta{num2}|[CA/side],| % \medskip % % \hfill\meta{num3}|[CA/side]}| % \medskip % % % \quad|\printPDBlist{|\meta{selection}|}| \quad|\messagePDBlist{|\meta{selection}|}| % \hfill[\pageref{LprintPDBlist}] % % \quad|\shadeblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % \hfill[\pageref{Lshadeblock}] % % \quad|\shadeblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % \hfill[\pageref{Lshadeblock}] % % \quad|\emphregion{|\meta{seqref}|}{|\meta{selection}|}| % \hfill[\pageref{Lemphregion}] % % \quad|\emphblock{|\meta{seqref}|}{|\meta{selection}|}| % \hfill[\pageref{Lemphblock}] % % \quad|\emphdefault{|\meta{style}|}| % \hfill[\pageref{Lemphdefault}] % % \quad|\tintregion{|\meta{seqref}|}{|\meta{selection}|}| % \hfill[\pageref{Ltintregion}] % % \quad|\tintblock{|\meta{seqref}|}{|\meta{selection}|}| % \hfill[\pageref{Ltintblock}] % % \quad|\tintdefault{|\meta{effect}|}| \qquad\qquad|weak, normal, strong| % \hfill[\pageref{Ltintdefault}] % % \quad|\frameblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{color}|[|\meta{length}|]}| % \hfill[\pageref{Lframeblock}] % % \quad|\feature{|\meta{position}|}{|\meta{seqref}|}{|\meta{selection}|}| % % \hfill |{|\meta{labelstyle}|}{|\meta{text}|}| [\pageref{Lfeature}] % % \begin{tabbing} % \quad\quad\quad|{|\meta{labelstyle}|}|\ \= = |{brace[|\meta{color}|]}|\\ % \> = |{fill:|\meta{symbol}|[|\meta{textcolor}|]}|\\ % \> = |{restriction[|\meta{color}|]}|\\ % \> = |{helix[|\meta{helixcolor}|]}|\\ % \> = |{box[|\meta{framecolor,boxcolor}|][|\meta{length}|]:|\\ % \hspace{8.7cm}\meta{text}|[|\meta{textcolor}|]}|\\ % \> = arrows and bars (|-=<',|$\vert$|o|)(|-=|)(|-=>',|$\vert$|o|)\\ % \> = |{translate[|\meta{color}|]}|\\ % \> = |{bar[|\meta{min}|,|\meta{max}|]:|\\ % \hspace{5cm}\meta{properties/file/data}|[|\meta{color(,bgcolor)}|]}|\\ % \> = |{color[|\meta{min}|,|\meta{max}|]:|\\ % \hspace{5cm}\meta{properties/file/data}|[|\meta{scale}|]}|\\ % \hspace{5cm}\meta{properties}: |hydrophobicity|, |charge|,\\ % \hspace{7.4cm}|molweight|, |conservation|\\ % \hspace{5cm}\meta{scale}: |Gray|, |BlueRed|, |RedBlue|,\\ % \hspace{6.5cm}|GreenRed|, |RedGreen|, |ColdHot|,\\ % \hspace{6.5cm}|HotCold|, |T-Coffee|\\ % \end{tabbing} % % \quad|\ttopspace{|\meta{length}|}| % \hfill[\pageref{Lttopspace}] % % \quad|\topspace{|\meta{length}|}| % \hfill[\pageref{Ltopspace}] % % \quad|\bottomspace{|\meta{length}|}| % \hfill[\pageref{Lbottomspace}] % % \quad|\bbottomspace{|\meta{length}|}| % \hfill[\pageref{Lbottomspace}] % % \quad|\featurerule{|\meta{length}|}| % \hfill[\pageref{Lfeaturerule}] % % \quad|\bargraphstretch{|\meta{factor}|}| % \hfill[\pageref{Lbargraphstretch}] % % \quad|\colorscalestretch{|\meta{factor}|}| % \hfill[\pageref{Lcolorscalestretch}] % % \quad|\codon{|\meta{amino acid}|}{|\meta{triplet1,\ldots, triplet n}|}| % \hfill[\pageref{Lcodon}] % % \quad|\geneticcode{|\meta{filename}|}| % \hfill[\pageref{Lgeneticcode}] % % \quad|\backtranslabel[|\meta{size}|]{|\meta{style}|}| % \hfill[\pageref{Lbacktranslabel}] % % \quad|\backtranstext[|\meta{size}|]{|\meta{style}|}| % \hfill[\pageref{Lbacktranstext}] % % \begin{tabbing} % \quad\quad\quad|{|\meta{style}|}|\ \= = |{horizontal}|\\ % \> = |{alternating}|\\ % \> = |{zigzag}|\\ % \> = |{oblique}|\\ % \> = |{vertical}| % \end{tabbing} % % \quad |\showfeaturename{|\meta{ttttop...bbbbottom}|}{|\meta{name}|}| % \hfill[\pageref{Lshowfeaturename}] % % \quad |\showfeaturestylename{|\meta{ttttop...bbbbottom}|}{|\meta{name}|}| % \hfill[\pageref{Lshowfeaturestylename}] % % \quad |\hidefeaturename{|\meta{ttttop...bbbbottom}|}| % \hfill[\pageref{Lhidefeaturename}] % % \quad |\hidefeaturestylename{|\meta{ttttop...bbbbottom}|}| % \hfill[\pageref{Lhidefeaturestylename}] % % \quad |\hidefeaturenames| % \hfill[\pageref{Lhidefeaturenames}] % % \quad|\hidefeaturestylenames| % \hfill[\pageref{Lhidefeaturestylenames}] % % \quad |\featurenamescolor{|\meta{color}|}| % \hfill[\pageref{Lfeaturenamescolor}] % % \quad |\featurestylenamescolor{|\meta{color}|}| % \hfill[\pageref{Lfeaturestylenamescolor}] % % \quad |\featurenamecolor{|\meta{ttttop...bbbbottom}|}{|\meta{color}|}| % \hfill[\pageref{Lfeaturenamecolor}] % % \quad |\featurestylenamecolor{|\meta{ttttop...bbbbottom}|}{|\meta{color}|}| % \hfill[\pageref{Lfeaturestylenamecolor}] % % \vspace{1.5\baselineskip} % % % \textbf{Including secondary structure information} % \medskip % % \quad|\includeDSSP[make new]{|\meta{seqref}|}{|\meta{filename}|}| % \hfill[\pageref{LincludeDSSP}] % % \quad|\includeSTRIDE[make new]{|\meta{seqref}|}{|\meta{filename}|}| % \hfill[\pageref{LincludeSTRIDE}] % % \quad|\includePHDsec[make new]{|\meta{seqref}|}{|\meta{filename}|}| % \hfill[\pageref{LincludePHDsec}] % % \quad|\includePHDtopo[make new]{|\meta{seqref}|}{|\meta{filename}|}| % \hfill[\pageref{LincludePHDtopo}] % % \quad|\includeHMMTOP[make new]{|\meta{seqref}|[|\meta{seqref}|]}{|\meta{filename}|}| % \hfill[\pageref{LincludeHMMTOP}] % % \quad|\showonDSSP{|\meta{structures}|}| % \hfill[\pageref{LshowonDSSP}] % % \quad|\showonSTRIDE{|\meta{structures}|}| % \hfill[\pageref{LshowonSTRIDE}] % % \quad|\showonPHDsec{|\meta{structures}|}| % \hfill[\pageref{LshowonPHDsec}] % % \quad|\showonPHDtopo{|\meta{structures}|}| % \hfill[\pageref{LshowonPHDtopo}] % % \quad|\showonHMMTOP{|\meta{structures}|}| % \hfill[\pageref{LshowonHMMTOP}] % % \quad|\hideonDSSP{|\meta{structures}|}| % \hfill[\pageref{LhideonDSSP}] % % \quad|\hideonSTRIDE{|\meta{structures}|}| % \hfill[\pageref{LhideonSTRIDE}] % % \quad|\hideonPHDsec{|\meta{structures}|}| % \hfill[\pageref{LhideonPHDsec}] % % \quad|\hideonPHDtopo{|\meta{structures}|}| % \hfill[\pageref{LhideonPHDtopo}] % % \quad|\hideonHMMTOP{|\meta{structures}|}| % \hfill[\pageref{LhideonHMMTOP}] % % \quad|\appearance{|\meta{type}|}{|\meta{position}|}{|\meta{labelstyle}|}{|\meta{text}|}| % \hfill[\pageref{Lappearance}] % % \quad|\numcount| % \hfill[\pageref{Lnumcount}] % % \quad|\alphacount| % \hfill[\pageref{Lalphacount}] % % \quad|\Alphacount| % \hfill[\pageref{LAlphacount}] % % \quad|\romancount| % \hfill[\pageref{Lromancount}] % % \quad|\Romancount| % \hfill[\pageref{LRomancount}] % % \quad|\firstcolumnDSSP| % \hfill[\pageref{LfirstcolumnDSSP}] % % \quad|\secondcolumnDSSP| % \hfill[\pageref{LsecondcolumnDSSP}] % % \vspace{1.5\baselineskip} % % % \textbf{Displaying and building legends} % \medskip % % \quad|\showlegend| % \hfill[\pageref{Lshowlegend}] % % \quad|\hidelegend| % \hfill[\pageref{Lhidelegend}] % % \quad|\movelegend{|\meta{x-offset}|}{|\meta{y-offset}|}| % \hfill[\pageref{Lmovelegend}] % % \quad|\germanlanguage|, |\spanishlanguage|, |\englishlanguage| % \hfill[\pageref{Lgermanlanguage}] % % \quad|\legendcolor{|\meta{color}|}| % \hfill[\pageref{Llegendcolor}] % % \quad|\shadebox{|\meta{color}|}| % \hfill[\pageref{Lshadebox}] % % \vspace{1.5\baselineskip} % % % \textbf{Adding captions to the alignment} % \medskip % % \quad|\showcaption[|\meta{top/bottom}|]{|\meta{text}|}| % \hfill[\pageref{Lshowcaption}] % % \quad|\shortcaption{|\meta{text}|}| % \hfill[\pageref{Lshortcaption}] % % \vspace{1.5\baselineskip} % % \textbf{Font handling} % \medskip % % \quad|\setfamily{|\meta{text}|}{|\meta{family}|}| % \hfill[\pageref{Lsetfamily}] % % \quad|\setseries{|\meta{text}|}{|\meta{series}|}| % \hfill[\pageref{Lsetseries}] % % \quad|\setshape{|\meta{text}|}{|\meta{shape}|}| % \hfill[\pageref{Lsetshape}] % % \quad|\setsize{|\meta{text}|}{|\meta{size}|}| % \hfill[\pageref{Lsetsize}] % % \quad|\setfont{|\meta{text}|}{|\meta{family}|}{|\meta{series}|}{|\meta{shape}|}{|\meta{size}|}| % \hfill[\pageref{Lsetfont}] % % \medskip % % \quad |\featuresrm| \quad |\featurestiny| \hfill[\pageref{Lfeaturesrm}] % % \quad |\featuressf| \quad |\featuresscriptsize| % % \quad |\featurestt| \quad |\featuresfootnotesize| % % \quad |\featuresbf| \quad |\featuressmall| % % \quad |\featuresmd| \quad |\featuresnormalsize| % % \quad |\featuresit| \quad |\featureslarge| % % \quad |\featuressl| \quad |\featuresLarge| % % \quad |\featuressc| \quad |\featuresLARGE| % % \quad |\featuresup| \quad |\featureshuge| % % \quad | | \quad |\featuresHuge| % \medskip % % Corresponding sets are provided for the % numbering (|\numberingrm| etc.), % featurestyles (|featurestylesrm| etc.), names (|\namesrm| etc.), % featurenames (|\featurenamesrm| etc.), % featurestylenames (|\featurestylenames| etc.), % residues (|\residuesrm| etc.), % hideblock labels (|hideblockrm| etc.), and % legend texts (|legendrm| etc.). % \bigskip % % % \textbf{Goodies---molweight and charge} % \medskip % % \quad|\molweight{|\meta{seqref}|}{|\meta{Da/kDa}|}| % \hfill[\pageref{Lmolweight}] % % \quad|\charge{|\meta{seqref}|}{|\meta{i/o/N/C}|}| % \hfill[\pageref{Lcharge}] % % % \StopEventually{% % \newpage % \section{References} % [1] \textsc{Carlisle, D.} The Standard \LaTeX{} `Graphics % Bundle', |color.sty|. % % [2] \textsc{Karlin, S.; Ghandour, G.} (1985) Multiple-alphabet % amino acid sequence comparisons of the immunoglobulin % $\kappa$-chain constant domain. % \newblock \textit{Proc. Natl. Acad. Sci. USA}: \textbf{82}, % 8597--8601. % % [3] \textsc{Kyte, J.; Doolittle, R. F.} (1982) A simple % method for displaying the hydropathic character of a % protein. % \newblock \textit{J. Mol. Biol.}: \textbf{157}, 105--132. % % [4] \textsc{Rose, G. D.; Geselowitz, A. R.; Lesser, G. J.; % Lee, R. H.; Zehfus, M. H.} (1985) Hydrophobicity of amino % acid residues in globular proteins. % \newblock \textit{Science}: \textbf{229}, 835--838. % % [5] \textsc{Lesser, G. J.; Rose, G. D.} (1990) Hydrophobicity % of amino acid subgroups in proteins. % \newblock \textit{Proteins: structure, function and % genetics}: \textbf{8}, 6--13. % % [6] \textsc{Fr\"ohlich, K.-U.} (1994) Sequence similarity % presenter: a tool for the graphic display of similarities % of long sequences for use in presentations. % \newblock \textit{Comput. Applic. Biosci.}: % \textbf{10}, 179--183. % % [7] \textsc{Schneider, T.D.; Stephens, R.M.} (1990) Sequence logos: % a new way to display consensus % \newblock \textit{Nucleic Acid Res.}: \textbf{18}, 6097--6100. % % [8] DeLano Scientific LLC `www.pymol.org' % % [9] \textsc{Kabsch, W.; Sander, C.} (1983) Dictionary of % protein secondary structure: pattern recognition of % hydrogen-bonded and geometrical features. % \newblock \textit{Biopolymers}: \textbf{22}, 2577--2637. % % [10] \textsc{Frishman, D.; Argos, P.} (1995) Knowledge-based % protein secondary structure assignment. % \newblock \textit{Proteins: structure, function and % genetics}: \textbf{23}, 566--579. % % [11] \textsc{Rost, B.; Sander, C.} (1994) % Combining evolutionary information and neural networks to predict % protein secondary structure. % \newblock \textit{Proteins: structure, function and % genetics}: \textbf{19}, 55--72. % % [12] \textsc{Tusnady, G.E.; Simon, I.} (2001) % The HMMTOP transmembrane topology prediction server. % \newblock \textit{Bioinformatics}: \textbf{17}, 849-850. % % [13] \textsc{Rokicki, T.} DVIPS: A \TeX{} driver. % % [14] \textsc{Beitz, E.} (2006) Subfamily logos: visualization of sequence % deviations at alignment positions with high information content. % \newblock \textit{BMC Bioinformatics}: \textbf{7}:313. % % } % \section{Implementation} % \subsection{Documentation Driver} % \begin{macrocode} %<*driver> \documentclass[12pt,a4paper]{ltxdoc} \usepackage[dvips]{texshade} \openin\structurefile = hyperref.sty \ifeof\structurefile \else \usepackage[dvips,colorlinks]{hyperref} \fi \closein\structurefile \DisableCrossrefs \sloppy \def\BioTeX{\textsc{Bio}\kern-0.5ex\TeX} \def\TeXtopo{\mbox{\TeX\textsf{topo}}} \begin{document} \OnlyDescription \DocInput{texshade.dtx} \end{document} % % \end{macrocode} % \subsection{\texttt{texshade.sty}---no comments} % \begin{macrocode} %<*texshade> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{texshade}[2009/03/09 LaTeX TeXshade (v1.19)] \message{Package `texshade', Version 1.19 of 2009/03/09.} \PassOptionsToPackage{dvips}{color} \PassOptionsToPackage{dvips}{graphicx} \DeclareOption*{% \PassOptionsToPackage{\CurrentOption}{color}% \PassOptionsToPackage{\CurrentOption}{graphicx}% } \ProcessOptions \RequirePackage{color,graphics} \expandafter\ifx\csname TeXshade\endcsname\relax \else \endinput \fi \expandafter\ifx\csname TeXtopo\endcsname\relax \else \PackageError{TeXtopo} {TeXtopo loaded before TeXshade} {\MessageBreak For the proper function of the TeXtopo/TeXshade combo the \MessageBreak TeXshade package must be loaded before the TeXtopo package.\MessageBreak Please change the order of the \noexpand\usepackage commands in your \MessageBreak document header section or use the `biotex.sty'.\MessageBreak\MessageBreak Quit here by typing \space X . \MessageBreak } \fi \catcode`\@11 \def\rotopo#1{% \Grot@setangle{#1}% \setbox\z@\hbox\bgroup\ignorespaces} \def\endrotopo{% \unskip\egroup \Grot@x\z@ \Grot@y\z@ \wd0\z@\dp0\z@\ht0\z@ \Grot@box } \newread\structurefile \newwrite\featurefile \newread\alignfile \newread\sublogofile \newwrite\exp@rtfile \expandafter\ifx\csname blacktriangleright\endcsname\relax \openin\structurefile = amssymb.sty \ifeof\structurefile \message{} \def\blacktriangleright{% \rule[\width@tmp]{0.65ex}{\temp@@length}\kern-0.55ex\ensuremath{\bullet}% } \def\blacktriangleleft{% \ensuremath{\bullet}\kern-0.55ex\rule[\width@tmp]{0.65ex}{\temp@@length}% } \else \RequirePackage[]{amssymb} \fi \closein\structurefile \fi \DeclareSymbolFont{alphahelix}{OML}{cmm}{m}{it} \DeclareMathSymbol{\helixhook}{\mathrel}{alphahelix}{"5E} \newcount\loopcount \newcount\innerloopcount \newcount\outerloopcount \newcount\seq@count \newcount\killseq@count \newcount\seq@percent \newcount\res@count \newcount\seq@pointer \newcount\pos@count \newcount\res@perline \newcount\end@count \newcount\cons@count \newcount\total@count \newcount\temp@count \newcount\triple@count \newcount\pos@sum \newlength\box@width \newlength\name@width \newlength\box@depth \newlength\width@tmp \newlength\box@height \newlength\number@width \newlength\line@stretch \newlength\center@fill \newlength\arrow@width \newlength\arrow@height \newlength\rule@thick \newlength\arrow@thick \newlength\logo@height \newlength\equal@width \newlength\equal@tmp \newlength\equal@height \newlength\temp@@length \newlength\vspace@legend \newlength\hspace@legend \newif\ifletter \newif\ifnumber \newif\ifnewres \newif\ifall@shade \newif\ifnames@right \newif\ifnumbers@left \newif\ifnumbers@right \newif\ifhide@cons \newif\ifshow@cons \newif\iffuncmode \newif\iflegend@ \newif\ifT@coffee \newif\ifnumbers@ \newif\ifnames@ \newif\ifgerm@n \newif\ifsp@nish \newif\ifrpl@fix \newif\ifnosh@de \newif\ifregionalshade \newif\ifstart@ \newif\ifstop@ \newif\iftopfeature \newif\ifbottomfeature \newif\ifttopfeature \newif\ifbbottomfeature \newif\iftttopfeature \newif\ifbbbottomfeature \newif\ifttttopfeature\newif\ifbbbbottomfeature \newif\ifall@fshade \newif\ifregionalemph \newif\ifframe@ \newif\ifregionaltint \newif\ifshow@logo \newif\ifshow@sublogo \newif\ifhidechar \newif\ifsh@wg@ps \newif\ifsimmode \newif\ifregionaltintnow \newif\ifregionalemphnow \newif\ifregionalshadenow \newif\iftopfeaturenow \newif\ifttopfeaturenow \newif\iftttopfeaturenow \newif\ifttttopfeaturenow \newif\ifbottomfeaturenow \newif\ifbbottomfeaturenow \newif\ifbbbottomfeaturenow \newif\ifbbbbottomfeaturenow \newif\ifframenow \newif\iffix@ \expandafter\ifx\csname mdqon\endcsname\relax \germ@nfalse \sp@nishfalse \def\cons@name{consensus} \else \germ@ntrue \sp@nishfalse \def\cons@name{Konsensus} \fi \def\n@me{Name:} \def\@msf{MSF:} \def\he@derend{//} \def\ampers@nd{&} \def\comm@{,} \def\@loc{LOC} \def\@asg{ASG} \def\@t{@} \def\@HP{>HP:} \def\gre@ter{>} \def\sm@ller{<} \def\N@{N} \def\equ@l{=} \def\H@{H} \def\gap@char{.} \def\dom@char{{\dom@rule}} \def\yes{yes} \def\y@{y} \def\n@{n} \def\o@{o} \def\d@t{.} \def\@TOM{ATOM} \def\C@lpha{CA} \def\@point@{point} \def\@line@{line} \def\@plane@{plane} \def\gap@rule{\rule[0.3\box@height]{\box@width}{\gap@rulethick}} \def\dom@rule{\vrule depth\box@depth height\box@height width\domgap@rulethick} \def\fgroup@num{0} \def\max@seqnumber{0} \def\@lign@count{0} \def\resn@m@tch{upper} \def\ressimm@tch{upper} \def\resm@tch{upper} \def\res@llm@tch{upper} \def\tr@ns{translate} \def\gr@ydef@ult{GrayDefault} \xdef\par@{\expandafter\string\par} \expandafter\def\csname fg@textcolor/\endcsname{White} \expandafter\def\csname fg@color/\endcsname{White} \expandafter\def\csname func@style/\endcsname{\csname textup\endcsname} \expandafter\def\csname func@style*\endcsname{\csname textup\endcsname} \expandafter\def\csname funcm@tch/\endcsname{upper} \expandafter\def\csname funcm@tch*\endcsname{upper} \setlength\hspace@legend{0pt} \setlength\vspace@legend{0pt} \expandafter\xdef\csname log2@1\endcsname{0} \expandafter\xdef\csname log2@2\endcsname{1000} \expandafter\xdef\csname log2@3\endcsname{1585} \expandafter\xdef\csname log2@4\endcsname{2000} \expandafter\xdef\csname log2@5\endcsname{2322} \expandafter\xdef\csname log2@6\endcsname{2585} \expandafter\xdef\csname log2@7\endcsname{2807} \expandafter\xdef\csname log2@8\endcsname{3000} \expandafter\xdef\csname log2@9\endcsname{3170} \expandafter\xdef\csname log2@10\endcsname{3322} \expandafter\xdef\csname log2@11\endcsname{3459} \expandafter\xdef\csname log2@12\endcsname{3585} \expandafter\xdef\csname log2@13\endcsname{3700} \expandafter\xdef\csname log2@14\endcsname{3807} \expandafter\xdef\csname log2@15\endcsname{3907} \expandafter\xdef\csname log2@16\endcsname{4000} \expandafter\xdef\csname log2@17\endcsname{4087} \expandafter\xdef\csname log2@18\endcsname{4170} \expandafter\xdef\csname log2@19\endcsname{4248} \expandafter\xdef\csname log2@20\endcsname{4322} \expandafter\xdef\csname log2@21\endcsname{4392} \expandafter\xdef\csname log2@22\endcsname{4459} \expandafter\xdef\csname log2@23\endcsname{4524} \expandafter\xdef\csname log2@24\endcsname{4585} \expandafter\xdef\csname log2@25\endcsname{4644} \expandafter\xdef\csname log2@26\endcsname{4700} \expandafter\xdef\csname log2@27\endcsname{4755} \expandafter\xdef\csname log2@28\endcsname{4807} \expandafter\xdef\csname log2@29\endcsname{4858} \expandafter\xdef\csname log2@30\endcsname{4907} \expandafter\xdef\csname log2@31\endcsname{4954} \expandafter\xdef\csname log2@32\endcsname{5000} \expandafter\xdef\csname log2@33\endcsname{5044} \expandafter\xdef\csname log2@34\endcsname{5087} \expandafter\xdef\csname log2@35\endcsname{5129} \expandafter\xdef\csname log2@36\endcsname{5170} \expandafter\xdef\csname log2@37\endcsname{5209} \expandafter\xdef\csname log2@38\endcsname{5248} \expandafter\xdef\csname log2@39\endcsname{5285} \expandafter\xdef\csname log2@40\endcsname{5322} \expandafter\xdef\csname log2@41\endcsname{5358} \expandafter\xdef\csname log2@42\endcsname{5392} \expandafter\xdef\csname log2@43\endcsname{5426} \expandafter\xdef\csname log2@44\endcsname{5459} \expandafter\xdef\csname log2@45\endcsname{5492} \expandafter\xdef\csname log2@46\endcsname{5524} \expandafter\xdef\csname log2@47\endcsname{5555} \expandafter\xdef\csname log2@48\endcsname{5585} \expandafter\xdef\csname log2@49\endcsname{5615} \expandafter\xdef\csname log2@50\endcsname{5644} \expandafter\xdef\csname log2@51\endcsname{5672} \expandafter\xdef\csname log2@52\endcsname{5700} \expandafter\xdef\csname log2@53\endcsname{5728} \expandafter\xdef\csname log2@54\endcsname{5755} \expandafter\xdef\csname log2@55\endcsname{5781} \expandafter\xdef\csname log2@56\endcsname{5807} \expandafter\xdef\csname log2@57\endcsname{5833} \expandafter\xdef\csname log2@58\endcsname{5858} \expandafter\xdef\csname log2@59\endcsname{5883} \expandafter\xdef\csname log2@60\endcsname{5907} \expandafter\xdef\csname log2@61\endcsname{5931} \expandafter\xdef\csname log2@62\endcsname{5954} \expandafter\xdef\csname log2@63\endcsname{5977} \expandafter\xdef\csname log2@64\endcsname{6000} \expandafter\xdef\csname log2@65\endcsname{6022} \expandafter\xdef\csname log2@66\endcsname{6044} \expandafter\xdef\csname log2@67\endcsname{6066} \expandafter\xdef\csname log2@68\endcsname{6087} \expandafter\xdef\csname log2@69\endcsname{6109} \expandafter\xdef\csname log2@70\endcsname{6129} \expandafter\xdef\csname log2@71\endcsname{6149} \expandafter\xdef\csname log2@72\endcsname{6170} \expandafter\xdef\csname log2@73\endcsname{6190} \expandafter\xdef\csname log2@74\endcsname{6209} \expandafter\xdef\csname log2@75\endcsname{6229} \expandafter\xdef\csname log2@76\endcsname{6248} \expandafter\xdef\csname log2@77\endcsname{6267} \expandafter\xdef\csname log2@78\endcsname{6285} \expandafter\xdef\csname log2@79\endcsname{6304} \expandafter\xdef\csname log2@80\endcsname{6322} \expandafter\xdef\csname log2@81\endcsname{6340} \expandafter\xdef\csname log2@82\endcsname{6358} \expandafter\xdef\csname log2@83\endcsname{6375} \expandafter\xdef\csname log2@84\endcsname{6392} \expandafter\xdef\csname log2@85\endcsname{6409} \expandafter\xdef\csname log2@86\endcsname{6426} \expandafter\xdef\csname log2@87\endcsname{6443} \expandafter\xdef\csname log2@88\endcsname{6459} \expandafter\xdef\csname log2@89\endcsname{6476} \expandafter\xdef\csname log2@90\endcsname{6492} \expandafter\xdef\csname log2@91\endcsname{6508} \expandafter\xdef\csname log2@92\endcsname{6524} \expandafter\xdef\csname log2@93\endcsname{6539} \expandafter\xdef\csname log2@94\endcsname{6555} \expandafter\xdef\csname log2@95\endcsname{6570} \expandafter\xdef\csname log2@96\endcsname{6585} \expandafter\xdef\csname log2@97\endcsname{6600} \expandafter\xdef\csname log2@98\endcsname{6615} \expandafter\xdef\csname log2@99\endcsname{6629} \expandafter\xdef\csname log2@100\endcsname{6644} \expandafter\xdef\csname log2@101\endcsname{6658} \expandafter\xdef\csname log2@102\endcsname{6672} \expandafter\xdef\csname log2@103\endcsname{6687} \expandafter\xdef\csname log2@104\endcsname{6700} \expandafter\xdef\csname log2@105\endcsname{6714} \expandafter\xdef\csname log2@106\endcsname{6728} \expandafter\xdef\csname log2@107\endcsname{6741} \expandafter\xdef\csname log2@108\endcsname{6755} \expandafter\xdef\csname log2@109\endcsname{6768} \expandafter\xdef\csname log2@110\endcsname{6781} \expandafter\xdef\csname log2@111\endcsname{6794} \expandafter\xdef\csname log2@112\endcsname{6807} \expandafter\xdef\csname log2@113\endcsname{6820} \expandafter\xdef\csname log2@114\endcsname{6833} \expandafter\xdef\csname log2@115\endcsname{6845} \expandafter\xdef\csname log2@116\endcsname{6858} \expandafter\xdef\csname log2@117\endcsname{6870} \expandafter\xdef\csname log2@118\endcsname{6883} \expandafter\xdef\csname log2@119\endcsname{6895} \expandafter\xdef\csname log2@120\endcsname{6907} \expandafter\xdef\csname log2@121\endcsname{6919} \expandafter\xdef\csname log2@122\endcsname{6931} \expandafter\xdef\csname log2@123\endcsname{6943} \expandafter\xdef\csname log2@124\endcsname{6954} \expandafter\xdef\csname log2@125\endcsname{6966} \expandafter\xdef\csname log2@126\endcsname{6977} \expandafter\xdef\csname log2@127\endcsname{6989} \expandafter\xdef\csname log2@128\endcsname{7000} \expandafter\xdef\csname log2@129\endcsname{7011} \expandafter\xdef\csname log2@130\endcsname{7022} \expandafter\xdef\csname log2@131\endcsname{7033} \expandafter\xdef\csname log2@132\endcsname{7044} \expandafter\xdef\csname log2@133\endcsname{7055} \expandafter\xdef\csname log2@134\endcsname{7066} \expandafter\xdef\csname log2@135\endcsname{7077} \expandafter\xdef\csname log2@136\endcsname{7088} \expandafter\xdef\csname log2@137\endcsname{7098} \expandafter\xdef\csname log2@138\endcsname{7108} \expandafter\xdef\csname log2@139\endcsname{7119} \expandafter\xdef\csname log2@140\endcsname{7129} \expandafter\xdef\csname log2@141\endcsname{7140} \expandafter\xdef\csname log2@142\endcsname{7150} \expandafter\xdef\csname log2@143\endcsname{7160} \expandafter\xdef\csname log2@144\endcsname{7170} \expandafter\xdef\csname log2@145\endcsname{7180} \expandafter\xdef\csname log2@146\endcsname{7190} \expandafter\xdef\csname log2@147\endcsname{7200} \expandafter\xdef\csname log2@148\endcsname{7209} \expandafter\xdef\csname log2@149\endcsname{7219} \expandafter\xdef\csname log2@150\endcsname{7229} \expandafter\xdef\csname log2@151\endcsname{7238} \expandafter\xdef\csname log2@152\endcsname{7248} \expandafter\xdef\csname log2@153\endcsname{7257} \expandafter\xdef\csname log2@154\endcsname{7267} \expandafter\xdef\csname log2@155\endcsname{7276} \expandafter\xdef\csname log2@156\endcsname{7285} \expandafter\xdef\csname log2@157\endcsname{7295} \expandafter\xdef\csname log2@158\endcsname{7304} \expandafter\xdef\csname log2@159\endcsname{7313} \expandafter\xdef\csname log2@160\endcsname{7323} \expandafter\xdef\csname log2@161\endcsname{7331} \expandafter\xdef\csname log2@162\endcsname{7340} \expandafter\xdef\csname log2@163\endcsname{7349} \expandafter\xdef\csname log2@164\endcsname{7358} \expandafter\xdef\csname log2@165\endcsname{7366} \expandafter\xdef\csname log2@166\endcsname{7375} \expandafter\xdef\csname log2@167\endcsname{7374} \expandafter\xdef\csname log2@168\endcsname{7392} \expandafter\xdef\csname log2@169\endcsname{7401} \expandafter\xdef\csname log2@170\endcsname{7409} \expandafter\xdef\csname log2@171\endcsname{7418} \expandafter\xdef\csname log2@172\endcsname{7463} \expandafter\xdef\csname log2@173\endcsname{7435} \expandafter\xdef\csname log2@174\endcsname{7443} \expandafter\xdef\csname log2@175\endcsname{7451} \expandafter\xdef\csname log2@176\endcsname{7460} \expandafter\xdef\csname log2@177\endcsname{7468} \expandafter\xdef\csname log2@178\endcsname{7476} \expandafter\xdef\csname log2@179\endcsname{7484} \expandafter\xdef\csname log2@180\endcsname{7492} \expandafter\xdef\csname log2@181\endcsname{7500} \expandafter\xdef\csname log2@182\endcsname{7508} \expandafter\xdef\csname log2@183\endcsname{7516} \expandafter\xdef\csname log2@184\endcsname{7524} \expandafter\xdef\csname log2@185\endcsname{7531} \expandafter\xdef\csname log2@186\endcsname{7539} \expandafter\xdef\csname log2@187\endcsname{7547} \expandafter\xdef\csname log2@188\endcsname{7555} \expandafter\xdef\csname log2@189\endcsname{7562} \expandafter\xdef\csname log2@190\endcsname{7570} \expandafter\xdef\csname log2@191\endcsname{7577} \expandafter\xdef\csname log2@192\endcsname{7585} \expandafter\xdef\csname log2@193\endcsname{7592} \expandafter\xdef\csname log2@194\endcsname{7600} \expandafter\xdef\csname log2@195\endcsname{7607} \expandafter\xdef\csname log2@196\endcsname{7615} \expandafter\xdef\csname log2@197\endcsname{7622} \expandafter\xdef\csname log2@198\endcsname{7629} \expandafter\xdef\csname log2@199\endcsname{7637} \expandafter\xdef\csname log2@200\endcsname{7644} \expandafter\xdef\csname log2@201\endcsname{7651} \expandafter\xdef\csname log2@202\endcsname{7658} \expandafter\xdef\csname log2@203\endcsname{7665} \expandafter\xdef\csname log2@204\endcsname{7672} \expandafter\xdef\csname log2@205\endcsname{7679} \expandafter\xdef\csname log2@206\endcsname{7687} \expandafter\xdef\csname log2@207\endcsname{7693} \expandafter\xdef\csname log2@208\endcsname{7700} \expandafter\xdef\csname log2@209\endcsname{7707} \expandafter\xdef\csname log2@210\endcsname{7714} \expandafter\xdef\csname log2@211\endcsname{7721} \expandafter\xdef\csname log2@212\endcsname{7728} \expandafter\xdef\csname log2@213\endcsname{7735} \expandafter\xdef\csname log2@214\endcsname{7741} \expandafter\xdef\csname log2@215\endcsname{7748} \expandafter\xdef\csname log2@216\endcsname{7755} \expandafter\xdef\csname log2@217\endcsname{7761} \expandafter\xdef\csname log2@218\endcsname{7768} \expandafter\xdef\csname log2@219\endcsname{7775} \expandafter\xdef\csname log2@220\endcsname{7781} \expandafter\xdef\csname ch@r@65\endcsname{A} \expandafter\xdef\csname ch@r@66\endcsname{B} \expandafter\xdef\csname ch@r@67\endcsname{C} \expandafter\xdef\csname ch@r@68\endcsname{D} \expandafter\xdef\csname ch@r@69\endcsname{E} \expandafter\xdef\csname ch@r@70\endcsname{F} \expandafter\xdef\csname ch@r@71\endcsname{G} \expandafter\xdef\csname ch@r@72\endcsname{H} \expandafter\xdef\csname ch@r@73\endcsname{I} \expandafter\xdef\csname ch@r@74\endcsname{J} \expandafter\xdef\csname ch@r@75\endcsname{K} \expandafter\xdef\csname ch@r@76\endcsname{L} \expandafter\xdef\csname ch@r@77\endcsname{M} \expandafter\xdef\csname ch@r@78\endcsname{N} \expandafter\xdef\csname ch@r@79\endcsname{O} \expandafter\xdef\csname ch@r@80\endcsname{P} \expandafter\xdef\csname ch@r@81\endcsname{Q} \expandafter\xdef\csname ch@r@82\endcsname{R} \expandafter\xdef\csname ch@r@83\endcsname{S} \expandafter\xdef\csname ch@r@84\endcsname{T} \expandafter\xdef\csname ch@r@85\endcsname{U} \expandafter\xdef\csname ch@r@86\endcsname{V} \expandafter\xdef\csname ch@r@87\endcsname{W} \expandafter\xdef\csname ch@r@88\endcsname{X} \expandafter\xdef\csname ch@r@89\endcsname{Y} \expandafter\xdef\csname ch@r@90\endcsname{Z} \def\clear@sims{% \expandafter\xdef\csname \prfx simA\endcsname{(1)A} \expandafter\xdef\csname \prfx simB\endcsname{(1)B} \expandafter\xdef\csname \prfx simC\endcsname{(1)C} \expandafter\xdef\csname \prfx simD\endcsname{(1)D} \expandafter\xdef\csname \prfx simE\endcsname{(1)E} \expandafter\xdef\csname \prfx simF\endcsname{(1)F} \expandafter\xdef\csname \prfx simG\endcsname{(1)G} \expandafter\xdef\csname \prfx simH\endcsname{(1)H} \expandafter\xdef\csname \prfx simI\endcsname{(1)I} \expandafter\xdef\csname \prfx simJ\endcsname{(1)J} \expandafter\xdef\csname \prfx simK\endcsname{(1)K} \expandafter\xdef\csname \prfx simL\endcsname{(1)L} \expandafter\xdef\csname \prfx simM\endcsname{(1)M} \expandafter\xdef\csname \prfx simN\endcsname{(1)N} \expandafter\xdef\csname \prfx simO\endcsname{(1)O} \expandafter\xdef\csname \prfx simP\endcsname{(1)P} \expandafter\xdef\csname \prfx simQ\endcsname{(1)Q} \expandafter\xdef\csname \prfx simR\endcsname{(1)R} \expandafter\xdef\csname \prfx simS\endcsname{(1)S} \expandafter\xdef\csname \prfx simT\endcsname{(1)T} \expandafter\xdef\csname \prfx simU\endcsname{(1)U} \expandafter\xdef\csname \prfx simV\endcsname{(1)V} \expandafter\xdef\csname \prfx simW\endcsname{(1)W} \expandafter\xdef\csname \prfx simX\endcsname{(1)X} \expandafter\xdef\csname \prfx simY\endcsname{(1)Y} \expandafter\xdef\csname \prfx simZ\endcsname{(1)Z} } \xdef\pepmwA{711} \xdef\pepmwB{1146} \xdef\pepmwC{1032} \xdef\pepmwD{1151} \xdef\pepmwE{1291} \xdef\pepmwF{1472} \xdef\pepmwG{571} \xdef\pepmwH{1372} \xdef\pepmwI{1132} \xdef\pepmwJ{0} \xdef\pepmwK{1282} \xdef\pepmwL{1132} \xdef\pepmwM{1312} \xdef\pepmwN{1141} \xdef\pepmwO{0} \xdef\pepmwP{971} \xdef\pepmwQ{1281} \xdef\pepmwR{1562} \xdef\pepmwS{871} \xdef\pepmwT{1011} \xdef\pepmwU{0} \xdef\pepmwV{991} \xdef\pepmwW{1862} \xdef\pepmwX{1282} \xdef\pepmwY{1632} \xdef\pepmwZ{1286} \xdef\DNAmwA{3462} \xdef\DNAmwB{0} \xdef\DNAmwC{3222} \xdef\DNAmwD{0} \xdef\DNAmwE{0} \xdef\DNAmwF{0} \xdef\DNAmwG{3622} \xdef\DNAmwH{0} \xdef\DNAmwI{0} \xdef\DNAmwJ{0} \xdef\DNAmwK{0} \xdef\DNAmwL{0} \xdef\DNAmwM{0} \xdef\DNAmwN{0} \xdef\DNAmwO{0} \xdef\DNAmwP{0} \xdef\DNAmwQ{0} \xdef\DNAmwR{0} \xdef\DNAmwS{0} \xdef\DNAmwT{3372} \xdef\DNAmwU{3232} \xdef\DNAmwV{0} \xdef\DNAmwW{0} \xdef\DNAmwX{0} \xdef\DNAmwY{0} \xdef\DNAmwZ{0} \xdef\pepchargeA{0} \xdef\pepchargeB{0} \xdef\pepchargeC{-30} \xdef\pepchargeD{-1000} \xdef\pepchargeE{-1000} \xdef\pepchargeF{0} \xdef\pepchargeG{0} \xdef\pepchargeH{165} \xdef\pepchargeI{0} \xdef\pepchargeJ{0} \xdef\pepchargeK{1000} \xdef\pepchargeL{0} \xdef\pepchargeM{0} \xdef\pepchargeN{0} \xdef\pepchargeO{0} \xdef\pepchargeP{0} \xdef\pepchargeQ{0} \xdef\pepchargeR{1000} \xdef\pepchargeS{0} \xdef\pepchargeT{0} \xdef\pepchargeU{0} \xdef\pepchargeV{0} \xdef\pepchargeW{0} \xdef\pepchargeX{0} \xdef\pepchargeY{0} \xdef\pepchargeZ{0} \xdef\chargeNterm{910} \xdef\chargeCterm{-1000} \xdef\chargeA{0} \xdef\chargeB{0} \xdef\chargeC{0} \xdef\chargeD{-50} \xdef\chargeE{-50} \xdef\chargeF{0} \xdef\chargeG{0} \xdef\chargeH{30} \xdef\chargeI{0} \xdef\chargeJ{0} \xdef\chargeK{50} \xdef\chargeL{0} \xdef\chargeM{0} \xdef\chargeN{0} \xdef\chargeO{0} \xdef\chargeP{0} \xdef\chargeQ{0} \xdef\chargeR{50} \xdef\chargeS{0} \xdef\chargeT{0} \xdef\chargeU{0} \xdef\chargeV{0} \xdef\chargeW{0} \xdef\chargeX{0} \xdef\chargeY{0} \xdef\chargeZ{0} \xdef\molwA{11} \xdef\molwB{45} \xdef\molwC{36} \xdef\molwD{45} \xdef\molwE{66} \xdef\molwF{70} \xdef\molwG{1} \xdef\molwH{62} \xdef\molwI{44} \xdef\molwJ{N} \xdef\molwK{55} \xdef\molwL{44} \xdef\molwM{58} \xdef\molwN{44} \xdef\molwO{N} \xdef\molwP{31} \xdef\molwQ{55} \xdef\molwR{77} \xdef\molwS{19} \xdef\molwT{34} \xdef\molwU{N} \xdef\molwV{33} \xdef\molwW{100} \xdef\molwX{55} \xdef\molwY{82} \xdef\molwZ{66} \xdef\HydroA{21} \xdef\HydroB{N} \xdef\HydroC{10} \xdef\HydroD{-31} \xdef\HydroE{-25} \xdef\HydroF{41} \xdef\HydroG{16} \xdef\HydroH{-14} \xdef\HydroI{47} \xdef\HydroJ{N} \xdef\HydroK{-52} \xdef\HydroL{36} \xdef\HydroM{22} \xdef\HydroN{-27} \xdef\HydroO{N} \xdef\HydroP{4} \xdef\HydroQ{-29} \xdef\HydroR{-53} \xdef\HydroS{-6} \xdef\HydroT{-2} \xdef\HydroU{N} \xdef\HydroV{37} \xdef\HydroW{28} \xdef\HydroX{N} \xdef\HydroY{9} \xdef\HydroZ{N} \xdef\consCC{100} \xdef\consCS{67} \xdef\consCT{33} \xdef\consCP{33} \xdef\consCA{33} \xdef\consCG{50} \xdef\consCN{33} \xdef\consCD{17} \xdef\consCE{0} \xdef\consCQ{17} \xdef\consCH{33} \xdef\consCR{33} \xdef\consCK{0} \xdef\consCM{33} \xdef\consCI{33} \xdef\consCL{33} \xdef\consCV{33} \xdef\consCF{50} \xdef\consCY{50} \xdef\consCW{50} \xdef\consCB{0} \xdef\consCJ{0} \xdef\consCO{0} \xdef\consCU{0} \xdef\consCX{0} \xdef\consCZ{0} \expandafter\xdef\csname consC.\endcsname{0} \xdef\consSC{67} \xdef\consSS{100} \xdef\consST{83} \xdef\consSP{67} \xdef\consSA{83} \xdef\consSG{83} \xdef\consSN{83} \xdef\consSD{67} \xdef\consSE{50} \xdef\consSQ{50} \xdef\consSH{50} \xdef\consSR{50} \xdef\consSK{50} \xdef\consSM{33} \xdef\consSI{33} \xdef\consSL{33} \xdef\consSV{67} \xdef\consSF{50} \xdef\consSY{50} \xdef\consSW{33} \xdef\consSB{0} \xdef\consSJ{0} \xdef\consSO{0} \xdef\consSU{0} \xdef\consSX{0} \xdef\consSZ{0} \expandafter\xdef\csname consS.\endcsname{0} \xdef\consTC{33} \xdef\consTS{83} \xdef\consTT{100} \xdef\consTP{67} \xdef\consTA{83} \xdef\consTG{67} \xdef\consTN{67} \xdef\consTD{50} \xdef\consTE{50} \xdef\consTQ{50} \xdef\consTH{33} \xdef\consTR{50} \xdef\consTK{67} \xdef\consTM{50} \xdef\consTI{50} \xdef\consTL{33} \xdef\consTV{67} \xdef\consTF{33} \xdef\consTY{33} \xdef\consTW{17} \xdef\consTB{0} \xdef\consTJ{0} \xdef\consTO{0} \xdef\consTU{0} \xdef\consTX{0} \xdef\consTZ{0} \expandafter\xdef\csname consT.\endcsname{0} \xdef\consPC{33} \xdef\consPS{67} \xdef\consPT{67} \xdef\consPP{100} \xdef\consPA{83} \xdef\consPG{67} \xdef\consPN{33} \xdef\consPD{50} \xdef\consPE{50} \xdef\consPQ{50} \xdef\consPH{50} \xdef\consPR{50} \xdef\consPK{33} \xdef\consPM{33} \xdef\consPI{33} \xdef\consPL{50} \xdef\consPV{67} \xdef\consPF{50} \xdef\consPY{33} \xdef\consPW{33} \xdef\consPB{0} \xdef\consPJ{0} \xdef\consPO{0} \xdef\consPU{0} \xdef\consPX{0} \xdef\consPZ{0} \expandafter\xdef\csname consP.\endcsname{0} \xdef\consAC{33} \xdef\consAS{83} \xdef\consAT{83} \xdef\consAP{83} \xdef\consAA{100} \xdef\consAG{83} \xdef\consAN{50} \xdef\consAD{67} \xdef\consAE{67} \xdef\consAQ{50} \xdef\consAH{33} \xdef\consAR{33} \xdef\consAK{50} \xdef\consAM{50} \xdef\consAI{33} \xdef\consAL{33} \xdef\consAV{83} \xdef\consAF{50} \xdef\consAY{33} \xdef\consAW{33} \xdef\consAB{0} \xdef\consAJ{0} \xdef\consAO{0} \xdef\consAU{0} \xdef\consAX{0} \xdef\consAZ{0} \expandafter\xdef\csname consA.\endcsname{0} \xdef\consGC{50} \xdef\consGS{83} \xdef\consGT{67} \xdef\consGP{67} \xdef\consGA{83} \xdef\consGG{100} \xdef\consGN{50} \xdef\consGD{67} \xdef\consGE{67} \xdef\consGQ{33} \xdef\consGH{17} \xdef\consGR{50} \xdef\consGK{33} \xdef\consGM{17} \xdef\consGI{33} \xdef\consGL{33} \xdef\consGV{67} \xdef\consGF{33} \xdef\consGY{33} \xdef\consGW{50} \xdef\consGB{0} \xdef\consGJ{0} \xdef\consGO{0} \xdef\consGU{0} \xdef\consGX{0} \xdef\consGZ{0} \expandafter\xdef\csname consG.\endcsname{0} \xdef\consNC{33} \xdef\consNS{83} \xdef\consNT{67} \xdef\consNP{33} \xdef\consNA{50} \xdef\consNG{50} \xdef\consNN{100} \xdef\consND{83} \xdef\consNE{67} \xdef\consNQ{50} \xdef\consNH{67} \xdef\consNR{50} \xdef\consNK{67} \xdef\consNM{17} \xdef\consNI{33} \xdef\consNL{17} \xdef\consNV{33} \xdef\consNF{33} \xdef\consNY{50} \xdef\consNW{0} \xdef\consNB{0} \xdef\consNJ{0} \xdef\consNO{0} \xdef\consNU{0} \xdef\consNX{0} \xdef\consNZ{0} \expandafter\xdef\csname consN.\endcsname{0} \xdef\consDC{17} \xdef\consDS{67} \xdef\consDT{50} \xdef\consDP{50} \xdef\consDA{67} \xdef\consDG{67} \xdef\consDN{83} \xdef\consDD{100} \xdef\consDE{83} \xdef\consDQ{67} \xdef\consDH{50} \xdef\consDR{33} \xdef\consDK{50} \xdef\consDM{33} \xdef\consDI{17} \xdef\consDL{17} \xdef\consDV{50} \xdef\consDF{17} \xdef\consDY{33} \xdef\consDW{0} \xdef\consDB{0} \xdef\consDJ{0} \xdef\consDO{0} \xdef\consDU{0} \xdef\consDX{0} \xdef\consDZ{0} \expandafter\xdef\csname consD.\endcsname{0} \xdef\consEC{0} \xdef\consES{50} \xdef\consET{50} \xdef\consEP{50} \xdef\consEA{67} \xdef\consEG{67} \xdef\consEN{67} \xdef\consED{83} \xdef\consEE{100} \xdef\consEQ{67} \xdef\consEH{33} \xdef\consER{50} \xdef\consEK{67} \xdef\consEM{33} \xdef\consEI{17} \xdef\consEL{17} \xdef\consEV{67} \xdef\consEF{33} \xdef\consEY{17} \xdef\consEW{17} \xdef\consEB{0} \xdef\consEJ{0} \xdef\consEO{0} \xdef\consEU{0} \xdef\consEX{0} \xdef\consEZ{0} \expandafter\xdef\csname consE.\endcsname{0} \xdef\consQC{17} \xdef\consQS{50} \xdef\consQT{50} \xdef\consQP{50} \xdef\consQA{50} \xdef\consQG{33} \xdef\consQN{50} \xdef\consQD{67} \xdef\consQE{67} \xdef\consQQ{100} \xdef\consQH{67} \xdef\consQR{50} \xdef\consQK{67} \xdef\consQM{33} \xdef\consQI{17} \xdef\consQL{33} \xdef\consQV{33} \xdef\consQF{17} \xdef\consQY{33} \xdef\consQW{17} \xdef\consQB{0} \xdef\consQJ{0} \xdef\consQO{0} \xdef\consQU{0} \xdef\consQX{0} \xdef\consQZ{0} \expandafter\xdef\csname consQ.\endcsname{0} \xdef\consHC{33} \xdef\consHS{50} \xdef\consHT{33} \xdef\consHP{50} \xdef\consHA{33} \xdef\consHG{17} \xdef\consHN{67} \xdef\consHD{50} \xdef\consHE{33} \xdef\consHQ{67} \xdef\consHH{100} \xdef\consHR{67} \xdef\consHK{50} \xdef\consHM{33} \xdef\consHI{33} \xdef\consHL{50} \xdef\consHV{17} \xdef\consHF{33} \xdef\consHY{50} \xdef\consHW{17} \xdef\consHB{0} \xdef\consHJ{0} \xdef\consHO{0} \xdef\consHU{0} \xdef\consHX{0} \xdef\consHZ{0} \expandafter\xdef\csname consH.\endcsname{0} \xdef\consRC{33} \xdef\consRS{50} \xdef\consRT{50} \xdef\consRP{50} \xdef\consRA{33} \xdef\consRG{50} \xdef\consRN{50} \xdef\consRD{33} \xdef\consRE{50} \xdef\consRQ{50} \xdef\consRH{67} \xdef\consRR{100} \xdef\consRK{83} \xdef\consRM{33} \xdef\consRI{33} \xdef\consRL{33} \xdef\consRV{33} \xdef\consRF{17} \xdef\consRY{17} \xdef\consRW{33} \xdef\consRB{0} \xdef\consRJ{0} \xdef\consRO{0} \xdef\consRU{0} \xdef\consRX{0} \xdef\consRZ{0} \expandafter\xdef\csname consR.\endcsname{0} \xdef\consKC{0} \xdef\consKS{50} \xdef\consKT{67} \xdef\consKP{33} \xdef\consKA{50} \xdef\consKG{33} \xdef\consKN{67} \xdef\consKD{50} \xdef\consKE{67} \xdef\consKQ{67} \xdef\consKH{50} \xdef\consKR{83} \xdef\consKK{100} \xdef\consKM{33} \xdef\consKI{33} \xdef\consKL{33} \xdef\consKV{50} \xdef\consKF{17} \xdef\consKY{17} \xdef\consKW{17} \xdef\consKB{0} \xdef\consKJ{0} \xdef\consKO{0} \xdef\consKU{0} \xdef\consKX{0} \xdef\consKZ{0} \expandafter\xdef\csname consK.\endcsname{0} \xdef\consMC{33} \xdef\consMS{50} \xdef\consMT{50} \xdef\consMP{33} \xdef\consMA{50} \xdef\consMG{17} \xdef\consMN{17} \xdef\consMD{33} \xdef\consME{33} \xdef\consMQ{33} \xdef\consMH{33} \xdef\consMR{33} \xdef\consMK{33} \xdef\consMM{100} \xdef\consMI{67} \xdef\consML{83} \xdef\consMV{67} \xdef\consMF{50} \xdef\consMY{33} \xdef\consMW{50} \xdef\consMB{0} \xdef\consMJ{0} \xdef\consMO{0} \xdef\consMU{0} \xdef\consMX{0} \xdef\consMZ{0} \expandafter\xdef\csname consM.\endcsname{0} \xdef\consIC{33} \xdef\consIS{33} \xdef\consIT{50} \xdef\consIP{33} \xdef\consIA{33} \xdef\consIG{33} \xdef\consIN{33} \xdef\consID{17} \xdef\consIE{17} \xdef\consIQ{17} \xdef\consIH{33} \xdef\consIR{33} \xdef\consIK{33} \xdef\consIM{67} \xdef\consII{100} \xdef\consIL{83} \xdef\consIV{33} \xdef\consIF{67} \xdef\consIY{50} \xdef\consIW{50} \xdef\consIB{0} \xdef\consIJ{0} \xdef\consIO{0} \xdef\consIU{0} \xdef\consIX{0} \xdef\consIZ{0} \expandafter\xdef\csname consI.\endcsname{0} \xdef\consLC{33} \xdef\consLS{33} \xdef\consLT{33} \xdef\consLP{50} \xdef\consLA{33} \xdef\consLG{33} \xdef\consLN{17} \xdef\consLD{17} \xdef\consLE{17} \xdef\consLQ{33} \xdef\consLH{50} \xdef\consLR{33} \xdef\consLK{33} \xdef\consLM{83} \xdef\consLI{83} \xdef\consLL{100} \xdef\consLV{33} \xdef\consLF{67} \xdef\consLY{50} \xdef\consLW{67} \xdef\consLB{0} \xdef\consLJ{0} \xdef\consLO{0} \xdef\consLU{0} \xdef\consLX{0} \xdef\consLZ{0} \expandafter\xdef\csname consL.\endcsname{0} \xdef\consVC{33} \xdef\consVS{67} \xdef\consVT{67} \xdef\consVP{67} \xdef\consVA{83} \xdef\consVG{67} \xdef\consVN{33} \xdef\consVD{50} \xdef\consVE{67} \xdef\consVQ{33} \xdef\consVH{17} \xdef\consVR{33} \xdef\consVK{50} \xdef\consVM{67} \xdef\consVI{33} \xdef\consVL{33} \xdef\consVV{100} \xdef\consVF{67} \xdef\consVY{50} \xdef\consVW{50} \xdef\consVB{0} \xdef\consVJ{0} \xdef\consVO{0} \xdef\consVU{0} \xdef\consVX{0} \xdef\consVZ{0} \expandafter\xdef\csname consV.\endcsname{0} \xdef\consFC{50} \xdef\consFS{50} \xdef\consFT{33} \xdef\consFP{50} \xdef\consFA{50} \xdef\consFG{33} \xdef\consFN{33} \xdef\consFD{17} \xdef\consFE{33} \xdef\consFQ{17} \xdef\consFH{33} \xdef\consFR{17} \xdef\consFK{17} \xdef\consFM{50} \xdef\consFI{67} \xdef\consFL{67} \xdef\consFV{67} \xdef\consFF{100} \xdef\consFY{83} \xdef\consFW{50} \xdef\consFB{0} \xdef\consFJ{0} \xdef\consFO{0} \xdef\consFU{0} \xdef\consFX{0} \xdef\consFZ{0} \expandafter\xdef\csname consF.\endcsname{0} \xdef\consYC{50} \xdef\consYS{50} \xdef\consYT{33} \xdef\consYP{33} \xdef\consYA{33} \xdef\consYG{33} \xdef\consYN{50} \xdef\consYD{33} \xdef\consYE{17} \xdef\consYQ{33} \xdef\consYH{50} \xdef\consYR{17} \xdef\consYK{17} \xdef\consYM{33} \xdef\consYI{50} \xdef\consYL{50} \xdef\consYV{50} \xdef\consYF{83} \xdef\consYY{100} \xdef\consYW{50} \xdef\consYB{0} \xdef\consYJ{0} \xdef\consYO{0} \xdef\consYU{0} \xdef\consYX{0} \xdef\consYZ{0} \expandafter\xdef\csname consY.\endcsname{0} \xdef\consWC{50} \xdef\consWS{33} \xdef\consWT{17} \xdef\consWP{33} \xdef\consWA{33} \xdef\consWG{50} \xdef\consWN{0} \xdef\consWD{0} \xdef\consWE{17} \xdef\consWQ{17} \xdef\consWH{17} \xdef\consWR{33} \xdef\consWK{17} \xdef\consWM{50} \xdef\consWI{50} \xdef\consWL{67} \xdef\consWV{50} \xdef\consWF{50} \xdef\consWY{50} \xdef\consWW{100} \xdef\consWB{0} \xdef\consWJ{0} \xdef\consWO{0} \xdef\consWU{0} \xdef\consWX{0} \xdef\consWZ{0} \expandafter\xdef\csname consW.\endcsname{0} \xdef\consBC{0} \xdef\consBS{0} \xdef\consBT{0} \xdef\consBP{0} \xdef\consBA{0} \xdef\consBG{0} \xdef\consBN{0} \xdef\consBD{0} \xdef\consBE{0} \xdef\consBQ{0} \xdef\consBH{0} \xdef\consBR{0} \xdef\consBK{0} \xdef\consBM{0} \xdef\consBI{0} \xdef\consBL{0} \xdef\consBV{0} \xdef\consBF{0} \xdef\consBY{0} \xdef\consBW{0} \xdef\consBB{100} \xdef\consBJ{0} \xdef\consBO{0} \xdef\consBU{0} \xdef\consBX{0} \xdef\consBZ{0} \expandafter\xdef\csname consB.\endcsname{0} \xdef\consJC{0} \xdef\consJS{0} \xdef\consJT{0} \xdef\consJP{0} \xdef\consJA{0} \xdef\consJG{0} \xdef\consJN{0} \xdef\consJD{0} \xdef\consJE{0} \xdef\consJQ{0} \xdef\consJH{0} \xdef\consJR{0} \xdef\consJK{0} \xdef\consJM{0} \xdef\consJI{0} \xdef\consJL{0} \xdef\consJV{0} \xdef\consJF{0} \xdef\consJY{0} \xdef\consJW{0} \xdef\consJB{0} \xdef\consJJ{100} \xdef\consJO{0} \xdef\consJU{0} \xdef\consJX{0} \xdef\consJZ{0} \expandafter\xdef\csname consJ.\endcsname{0} \xdef\consOC{0} \xdef\consOS{0} \xdef\consOT{0} \xdef\consOP{0} \xdef\consOA{0} \xdef\consOG{0} \xdef\consON{0} \xdef\consOD{0} \xdef\consOE{0} \xdef\consOQ{0} \xdef\consOH{0} \xdef\consOR{0} \xdef\consOK{0} \xdef\consOM{0} \xdef\consOI{0} \xdef\consOL{0} \xdef\consOV{0} \xdef\consOF{0} \xdef\consOY{0} \xdef\consOW{0} \xdef\consOB{0} \xdef\consOJ{0} \xdef\consOO{100} \xdef\consOU{0} \xdef\consOX{0} \xdef\consOZ{0} \expandafter\xdef\csname consO.\endcsname{0} \xdef\consUC{0} \xdef\consUS{0} \xdef\consUT{0} \xdef\consUP{0} \xdef\consUA{0} \xdef\consUG{0} \xdef\consUN{0} \xdef\consUD{0} \xdef\consUE{0} \xdef\consUQ{0} \xdef\consUH{0} \xdef\consUR{0} \xdef\consUK{0} \xdef\consUM{0} \xdef\consUI{0} \xdef\consUL{0} \xdef\consUV{0} \xdef\consUF{0} \xdef\consUY{0} \xdef\consUW{0} \xdef\consUB{0} \xdef\consUJ{0} \xdef\consUO{0} \xdef\consUU{100} \xdef\consUX{0} \xdef\consUZ{0} \expandafter\xdef\csname consU.\endcsname{0} \xdef\consXC{0} \xdef\consXS{0} \xdef\consXT{0} \xdef\consXP{0} \xdef\consXA{0} \xdef\consXG{0} \xdef\consXN{0} \xdef\consXD{0} \xdef\consXE{0} \xdef\consXQ{0} \xdef\consXH{0} \xdef\consXR{0} \xdef\consXK{0} \xdef\consXM{0} \xdef\consXI{0} \xdef\consXL{0} \xdef\consXV{0} \xdef\consXF{0} \xdef\consXY{0} \xdef\consXW{0} \xdef\consXB{0} \xdef\consXJ{0} \xdef\consXO{0} \xdef\consXU{0} \xdef\consXX{100} \xdef\consXZ{0} \expandafter\xdef\csname consX.\endcsname{0} \xdef\consZC{0} \xdef\consZS{0} \xdef\consZT{0} \xdef\consZP{0} \xdef\consZA{0} \xdef\consZG{0} \xdef\consZN{0} \xdef\consZD{0} \xdef\consZE{0} \xdef\consZQ{0} \xdef\consZH{0} \xdef\consZR{0} \xdef\consZK{0} \xdef\consZM{0} \xdef\consZI{0} \xdef\consZL{0} \xdef\consZV{0} \xdef\consZF{0} \xdef\consZY{0} \xdef\consZW{0} \xdef\consZB{0} \xdef\consZJ{0} \xdef\consZO{0} \xdef\consZU{0} \xdef\consZX{0} \xdef\consZZ{100} \expandafter\xdef\csname consZ.\endcsname{0} \expandafter\xdef\csname cons.C\endcsname{0} \expandafter\xdef\csname cons.S\endcsname{0} \expandafter\xdef\csname cons.T\endcsname{0} \expandafter\xdef\csname cons.P\endcsname{0} \expandafter\xdef\csname cons.A\endcsname{0} \expandafter\xdef\csname cons.G\endcsname{0} \expandafter\xdef\csname cons.N\endcsname{0} \expandafter\xdef\csname cons.D\endcsname{0} \expandafter\xdef\csname cons.E\endcsname{0} \expandafter\xdef\csname cons.Q\endcsname{0} \expandafter\xdef\csname cons.H\endcsname{0} \expandafter\xdef\csname cons.R\endcsname{0} \expandafter\xdef\csname cons.K\endcsname{0} \expandafter\xdef\csname cons.M\endcsname{0} \expandafter\xdef\csname cons.I\endcsname{0} \expandafter\xdef\csname cons.L\endcsname{0} \expandafter\xdef\csname cons.V\endcsname{0} \expandafter\xdef\csname cons.F\endcsname{0} \expandafter\xdef\csname cons.Y\endcsname{0} \expandafter\xdef\csname cons.W\endcsname{0} \expandafter\xdef\csname cons.B\endcsname{0} \expandafter\xdef\csname cons.J\endcsname{0} \expandafter\xdef\csname cons.O\endcsname{0} \expandafter\xdef\csname cons.U\endcsname{0} \expandafter\xdef\csname cons.X\endcsname{0} \expandafter\xdef\csname cons.Z\endcsname{0} \expandafter\xdef\csname cons..\endcsname{0} \expandafter\xdef\csname cons==\endcsname{0} \def\c@d@ns{% \codon{A}{GCA,GCG,GCC,GCT,GCU,GCN} \codon{B}{---} \codon{C}{TGC,TGT,UGC,UGU,TGY} \codon{D}{GAC,GAT,GAU,GAY} \codon{E}{GAA,GAG,GAR} \codon{F}{TTC,TTT,UUC,UUU,TTY} \codon{G}{GGA,GGG,GGC,GGT,GGU,GGN} \codon{H}{CAC,CAT,CAY} \codon{I}{ATA,ATC,ATT,AUA,AUC,AUU,ATH} \codon{J}{---} \codon{K}{AAA,AAG,AAG,AAR} \codon{L}{CTA,CTG,CTC,CTT,TTA,TTG,CUG,CUG,CUC,CUU,UUA,UUG,YTN} \codon{M}{ATG,AUG,ATG} \codon{N}{AAC,AAT,AAU,AAY} \codon{O}{---} \codon{P}{CCA,CCG,CCC,CCT,CCU,CCN} \codon{Q}{CAA,CAG,CAR} \codon{R}{AGA,AGG,CGA,CGG,CGC,CGT,CGU,MGN} \codon{S}{TCT,TCC,TCG,TCA,AGT,AGC,UCU,UCC,UCG,UCA,AGU,WSN} \codon{T}{ACT,ACC,ACG,ACA,ACU,ACN} \codon{U}{---} \codon{V}{GTA,GTG,GTC,GTT,GUA,GUG,GUC,GUU,GTN} \codon{W}{TGG,UGG,TGG} \codon{X}{---} \codon{Y}{TAC,TAT,UAC,UAU,TAY} \codon{Z}{---} \codon{.}{TAA,TAG,TGA,UAA,UAG,UGA,TRR} } \definecolor{GreenYellow} {cmyk}{0.15,0,0.69,0} \definecolor{Yellow} {cmyk}{0,0,1,0} \definecolor{Goldenrod} {cmyk}{0,0.10,0.84,0} \definecolor{Dandelion} {cmyk}{0,0.29,0.84,0} \definecolor{Apricot} {cmyk}{0,0.32,0.52,0} \definecolor{Peach} {cmyk}{0,0.50,0.70,0} \definecolor{Melon} {cmyk}{0,0.46,0.50,0} \definecolor{YellowOrange} {cmyk}{0,0.42,1,0} \definecolor{Orange} {cmyk}{0,0.61,0.87,0} \definecolor{BurntOrange} {cmyk}{0,0.51,1,0} \definecolor{Bittersweet} {cmyk}{0,0.75,1,0.24} \definecolor{RedOrange} {cmyk}{0,0.77,0.87,0} \definecolor{Mahagony} {cmyk}{0,0.85,0.87,0.35} \definecolor{Maroon} {cmyk}{0,0.87,0.68,0.32} \definecolor{BrickRed} {cmyk}{0,0.89,0.94,0.28} \definecolor{Red} {cmyk}{0,1,1,0} \definecolor{OrangeRed} {cmyk}{0,1,0.50,0} \definecolor{RubineRed} {cmyk}{0,1,0.13,0} \definecolor{WildStrawberry}{cmyk}{0,0.96,0.39,0} \definecolor{Salmon} {cmyk}{0,0.53,0.38,0} \definecolor{CarnationPink} {cmyk}{0,0.63,0,0} \definecolor{Magenta} {cmyk}{0,1,0,0} \definecolor{VioletRed} {cmyk}{0,0.81,0,0} \definecolor{Rhodamine} {cmyk}{0,0.82,0,0} \definecolor{Mulberry} {cmyk}{0.34,0.90,0,0.02} \definecolor{RedViolet} {cmyk}{0.07,0.90,0,0.34} \definecolor{Fuchsia} {cmyk}{0.47,0.91,0,0.08} \definecolor{Lavender} {cmyk}{0,0.48,0,0} \definecolor{Thistle} {cmyk}{0.12,0.59,0,0} \definecolor{Orchid} {cmyk}{0.32,0.64,0,0} \definecolor{DarkOrchid} {cmyk}{0.40,0.80,0.20,0} \definecolor{Purple} {cmyk}{0.45,0.86,0,0} \definecolor{Plum} {cmyk}{0.50,1,0,0} \definecolor{Violet} {cmyk}{0.79,0.88,0,0} \definecolor{RoyalPurple} {cmyk}{0.75,0.90,0,0} \definecolor{BlueViolet} {cmyk}{0.86,0.91,0,0.04} \definecolor{Periwinkle} {cmyk}{0.57,0.55,0,0} \definecolor{CadetBlue} {cmyk}{0.62,0.57,0.23,0} \definecolor{CornflowerBlue}{cmyk}{0.65,0.13,0,0} \definecolor{MidnightBlue} {cmyk}{0.98,0.13,0,0.43} \definecolor{NavyBlue} {cmyk}{0.94,0.54,0,0} \definecolor{RoyalBlue} {cmyk}{1,0.50,0,0} \definecolor{Blue} {cmyk}{1,1,0,0} \definecolor{Cerulean} {cmyk}{0.94,0.11,0,0} \definecolor{Cyan} {cmyk}{1,0,0,0} \definecolor{ProcessBlue} {cmyk}{0.96,0,0,0} \definecolor{SkyBlue} {cmyk}{0.62,0,0.12,0} \definecolor{TurquoisQ} {cmyk}{0.85,0,0.20,0} \definecolor{TealBlue} {cmyk}{0.86,0,0.34,0.02} \definecolor{Aquamarine} {cmyk}{0.82,0,0.30,0} \definecolor{BlueGreen} {cmyk}{0.85,0,0.33,0} \definecolor{Emerald} {cmyk}{1,0,0.50,0} \definecolor{JungleGreen} {cmyk}{0.99,0,0.52,0} \definecolor{SeaGreen} {cmyk}{0.69,0,0.50,0} \definecolor{Green} {cmyk}{1,0,1,0} \definecolor{ForestGreen} {cmyk}{0.91,0,0.88,0.12} \definecolor{PineGreen} {cmyk}{0.92,0,0.59,0.25} \definecolor{LimeGreen} {cmyk}{0.50,0,1,0} \definecolor{YellowGreen} {cmyk}{0.44,0,0.74,0} \definecolor{SpringGreen} {cmyk}{0.26,0,0.76,0} \definecolor{OliveGreen} {cmyk}{0.64,0,0.95,0.40} \definecolor{RawSienna} {cmyk}{0,0.72,1,0.45} \definecolor{Sepia} {cmyk}{0,0.83,1,0.70} \definecolor{Brown} {cmyk}{0,0.81,1,0.60} \definecolor{Tan} {cmyk}{0.14,0.42,0.56,0} \definecolor{White} {cmyk}{0,0,0,0} \definecolor{Gray0} {cmyk}{0,0,0,0} \definecolor{Gray5} {cmyk}{0,0,0,0.05} \definecolor{Gray10} {cmyk}{0,0,0,0.10} \definecolor{Gray15} {cmyk}{0,0,0,0.15} \definecolor{Gray20} {cmyk}{0,0,0,0.20} \definecolor{Gray25} {cmyk}{0,0,0,0.25} \definecolor{Gray30} {cmyk}{0,0,0,0.30} \definecolor{LightGray} {cmyk}{0,0,0,0.33} \definecolor{Gray35} {cmyk}{0,0,0,0.35} \definecolor{Gray40} {cmyk}{0,0,0,0.40} \definecolor{Gray45} {cmyk}{0,0,0,0.45} \definecolor{Gray50} {cmyk}{0,0,0,0.50} \definecolor{Gray} {cmyk}{0,0,0,0.50} \definecolor{GrayDefault} {cmyk}{0,0,0,0.50} \definecolor{Gray55} {cmyk}{0,0,0,0.55} \definecolor{Gray60} {cmyk}{0,0,0,0.60} \definecolor{Gray65} {cmyk}{0,0,0,0.65} \definecolor{DarkGray} {cmyk}{0,0,0,0.66} \definecolor{Gray70} {cmyk}{0,0,0,0.70} \definecolor{Gray75} {cmyk}{0,0,0,0.75} \definecolor{Gray80} {cmyk}{0,0,0,0.80} \definecolor{Gray85} {cmyk}{0,0,0,0.85} \definecolor{Gray90} {cmyk}{0,0,0,0.90} \definecolor{Gray95} {cmyk}{0,0,0,0.95} \definecolor{Black} {cmyk}{0,0,0,1} \definecolor{Gray100} {cmyk}{0,0,0,1} \definecolor{TC0} {cmyk}{0.4,0.4,0,0} \definecolor{TC1} {cmyk}{0.6,0,0.7,0} \definecolor{TC2} {cmyk}{0.4,0,0.7,0} \definecolor{TC3} {cmyk}{0.2,0,1,0} \definecolor{TC4} {cmyk}{0,0,1,0} \definecolor{TC5} {cmyk}{0,0.2,1,0} \definecolor{TC6} {cmyk}{0,0.4,1,0} \definecolor{TC7} {cmyk}{0,0.6,1,0} \definecolor{TC8} {cmyk}{0,0.8,1,0} \definecolor{TC9} {cmyk}{0,0.875,1,0} \definecolor{TC99} {cmyk}{0,0,0,0} \definecolor{LightGreenYellow} {cmyk}{0.08,0,0.35,0} \definecolor{LightYellow} {cmyk}{0,0,0.50,0} \definecolor{LightGoldenrod} {cmyk}{0,0.05,0.42,0} \definecolor{LightDandelion} {cmyk}{0,0.15,0.42,0} \definecolor{LightApricot} {cmyk}{0,0.16,0.26,0} \definecolor{LightPeach} {cmyk}{0,0.25,0.35,0} \definecolor{LightMelon} {cmyk}{0,0.23,0.25,0} \definecolor{LightYellowOrange} {cmyk}{0,0.21,0.50,0} \definecolor{LightOrange} {cmyk}{0,0.31,0.44,0} \definecolor{LightBurntOrange} {cmyk}{0,0.26,0.50,0} \definecolor{LightBittersweet} {cmyk}{0,0.38,0.50,0.12} \definecolor{LightRedOrange} {cmyk}{0,0.39,0.44,0} \definecolor{LightMahagony} {cmyk}{0,0.43,0.44,0.18} \definecolor{LightMaroon} {cmyk}{0,0.44,0.34,0.16} \definecolor{LightBrickRed} {cmyk}{0,0.45,0.47,0.14} \definecolor{LightRed} {cmyk}{0,0.50,0.50,0} \definecolor{LightOrangeRed} {cmyk}{0,0.50,0.25,0} \definecolor{LightRubineRed} {cmyk}{0,0.50,0.07,0} \definecolor{LightWildStrawberry}{cmyk}{0,0.48,0.20,0} \definecolor{LightSalmon} {cmyk}{0,0.27,0.19,0} \definecolor{LightCarnationPink} {cmyk}{0,0.32,0,0} \definecolor{LightMagenta} {cmyk}{0,0.50,0,0} \definecolor{LightVioletRed} {cmyk}{0,0.40,0,0} \definecolor{LightRhodamine} {cmyk}{0,0.41,0,0} \definecolor{LightMulberry} {cmyk}{0.17,0.45,0,0.01} \definecolor{LightRedViolet} {cmyk}{0.04,0.45,0,0.17} \definecolor{LightFuchsia} {cmyk}{0.24,0.46,0,0.04} \definecolor{LightLavender} {cmyk}{0,0.24,0,0} \definecolor{LightThistle} {cmyk}{0.06,0.30,0,0} \definecolor{LightOrchid} {cmyk}{0.16,0.32,0,0} \definecolor{LightDarkOrchid} {cmyk}{0.20,0.40,0.10,0} \definecolor{LightPurple} {cmyk}{0.23,0.43,0,0} \definecolor{LightPlum} {cmyk}{0.25,0.50,0,0} \definecolor{LightViolet} {cmyk}{0.40,0.44,0,0} \definecolor{LightRoyalPurple} {cmyk}{0.38,0.45,0,0} \definecolor{LightBlueViolet} {cmyk}{0.43,0.46,0,0.02} \definecolor{LightPeriwinkle} {cmyk}{0.29,0.28,0,0} \definecolor{LightCadetBlue} {cmyk}{0.31,0.29,0.12,0} \definecolor{LightCornflowerBlue}{cmyk}{0.33,0.07,0,0} \definecolor{LightMidnightBlue} {cmyk}{0.49,0.07,0,0.22} \definecolor{LightNavyBlue} {cmyk}{0.47,0.27,0,0} \definecolor{LightRoyalBlue} {cmyk}{0.50,0.25,0,0} \definecolor{LightBlue} {cmyk}{0.50,0.50,0,0} \definecolor{LightCerulean} {cmyk}{0.47,0.06,0,0} \definecolor{LightCyan} {cmyk}{0.50,0,0,0} \definecolor{LightProcessBlue} {cmyk}{0.48,0,0,0} \definecolor{LightSkyBlue} {cmyk}{0.31,0,0.06,0} \definecolor{LightTurquoise} {cmyk}{0.43,0,0.10,0} \definecolor{LightTealBlue} {cmyk}{0.43,0,0.17,0.01} \definecolor{LightAquamarine} {cmyk}{0.41,0,0.15,0} \definecolor{LightBlueGreen} {cmyk}{0.43,0,0.17,0} \definecolor{LightEmerald} {cmyk}{0.50,0,0.25,0} \definecolor{LightJungleGreen} {cmyk}{0.50,0,0.26,0} \definecolor{LightSeaGreen} {cmyk}{0.35,0,0.25,0} \definecolor{LightGreen} {cmyk}{0.50,0,0.50,0} \definecolor{LightForestGreen} {cmyk}{0.46,0,0.44,0.06} \definecolor{LightPineGreen} {cmyk}{0.46,0,0.30,0.13} \definecolor{LightLimeGreen} {cmyk}{0.25,0,0.50,0} \definecolor{LightYellowGreen} {cmyk}{0.22,0,0.37,0} \definecolor{LightSpringGreen} {cmyk}{0.13,0,0.38,0} \definecolor{LightOliveGreen} {cmyk}{0.32,0,0.48,0.20} \definecolor{LightRawSienna} {cmyk}{0,0.36,0.50,0.23} \definecolor{LightSepia} {cmyk}{0,0.44,0.50,0.35} \definecolor{LightBrown} {cmyk}{0,0.41,0.50,0.30} \definecolor{LightTan} {cmyk}{0.07,0.21,0.28,0} \definecolor{LightWhite} {cmyk}{0,0,0,0} \definecolor{LightGray0} {cmyk}{0,0,0,0} \definecolor{LightGray5} {cmyk}{0,0,0,0.02} \definecolor{LightGray10} {cmyk}{0,0,0,0.05} \definecolor{LightGray15} {cmyk}{0,0,0,0.07} \definecolor{LightGray20} {cmyk}{0,0,0,0.10} \definecolor{LightGray25} {cmyk}{0,0,0,0.12} \definecolor{LightGray30} {cmyk}{0,0,0,0.15} \definecolor{LightLightGray} {cmyk}{0,0,0,0.16} \definecolor{LightGray35} {cmyk}{0,0,0,0.17} \definecolor{LightGray40} {cmyk}{0,0,0,0.20} \definecolor{LightGray45} {cmyk}{0,0,0,0.22} \definecolor{LightGray50} {cmyk}{0,0,0,0.25} \definecolor{LightGray} {cmyk}{0,0,0,0.25} \definecolor{LightGray55} {cmyk}{0,0,0,0.27} \definecolor{LightGray60} {cmyk}{0,0,0,0.30} \definecolor{LightGray65} {cmyk}{0,0,0,0.32} \definecolor{LightDarkGray} {cmyk}{0,0,0,0.33} \definecolor{LightGray70} {cmyk}{0,0,0,0.35} \definecolor{LightGray75} {cmyk}{0,0,0,0.37} \definecolor{LightGray80} {cmyk}{0,0,0,0.40} \definecolor{LightGray85} {cmyk}{0,0,0,0.42} \definecolor{LightGray90} {cmyk}{0,0,0,0.45} \definecolor{LightGray95} {cmyk}{0,0,0,0.47} \definecolor{LightBlack} {cmyk}{0,0,0,0.50} \definecolor{LightGray100} {cmyk}{0,0,0,0.50} \definecolor{LightTC0} {cmyk}{0.2,0.2,0,0} \definecolor{LightTC1} {cmyk}{0.3,0,0.35,0} \definecolor{LightTC2} {cmyk}{0.2,0,0.35,0} \definecolor{LightTC3} {cmyk}{0.1,0,0.5,0} \definecolor{LightTC4} {cmyk}{0,0,0.5,0} \definecolor{LightTC5} {cmyk}{0,0.1,0.5,0} \definecolor{LightTC6} {cmyk}{0,0.2,0.5,0} \definecolor{LightTC7} {cmyk}{0,0.3,0.5,0} \definecolor{LightTC8} {cmyk}{0,0.4,0.5,0} \definecolor{LightTC99} {cmyk}{0,0,0,0} \definecolor{LightLightGreenYellow} {cmyk}{0.04,0,0.17,0} \definecolor{LightLightYellow} {cmyk}{0,0,0.25,0} \definecolor{LightLightGoldenrod} {cmyk}{0,0.02,0.21,0} \definecolor{LightLightDandelion} {cmyk}{0,0.07,0.21,0} \definecolor{LightLightApricot} {cmyk}{0,0.08,0.13,0} \definecolor{LightLightPeach} {cmyk}{0,0.12,0.17,0} \definecolor{LightLightMelon} {cmyk}{0,0.11,0.12,0} \definecolor{LightLightYellowOrange} {cmyk}{0,0.10,0.25,0} \definecolor{LightLightOrange} {cmyk}{0,0.15,0.22,0} \definecolor{LightLightBurntOrange} {cmyk}{0,0.13,0.25,0} \definecolor{LightLightBittersweet} {cmyk}{0,0.19,0.25,0.06} \definecolor{LightLightRedOrange} {cmyk}{0,0.14,0.22,0} \definecolor{LightLightMahagony} {cmyk}{0,0.21,0.22,0.09} \definecolor{LightLightMaroon} {cmyk}{0,0.22,0.17,0.08} \definecolor{LightLightBrickRed} {cmyk}{0,0.22,0.23,0.07} \definecolor{LightLightRed} {cmyk}{0,0.25,0.25,0} \definecolor{LightLightOrangeRed} {cmyk}{0,0.25,0.12,0} \definecolor{LightLightRubineRed} {cmyk}{0,0.25,0.03,0} \definecolor{LightLightWildStrawberry}{cmyk}{0,0.24,0.10,0} \definecolor{LightLightSalmon} {cmyk}{0,0.13,0.09,0} \definecolor{LightLightCarnationPink} {cmyk}{0,0.16,0,0} \definecolor{LightLightMagenta} {cmyk}{0,0.25,0,0} \definecolor{LightLightVioletRed} {cmyk}{0,0.20,0,0} \definecolor{LightLightRhodamine} {cmyk}{0,0.20,0,0} \definecolor{LightLightMulberry} {cmyk}{0.08,0.22,0,0.005} \definecolor{LightLightRedViolet} {cmyk}{0.02,0.22,0,0.08} \definecolor{LightLightFuchsia} {cmyk}{0.12,0.23,0,0.02} \definecolor{LightLightLavender} {cmyk}{0,0.12,0,0} \definecolor{LightLightThistle} {cmyk}{0.03,0.15,0,0} \definecolor{LightLightOrchid} {cmyk}{0.08,0.16,0,0} \definecolor{LightLightDarkOrchid} {cmyk}{0.10,0.20,0.05,0} \definecolor{LightLightPurple} {cmyk}{0.11,0.21,0,0} \definecolor{LightLightPlum} {cmyk}{0.12,0.25,0,0} \definecolor{LightLightViolet} {cmyk}{0.20,0.22,0,0} \definecolor{LightLightRoyalPurple} {cmyk}{0.19,0.22,0,0} \definecolor{LightLightBlueViolet} {cmyk}{0.21,0.23,0,0.01} \definecolor{LightLightPeriwinkle} {cmyk}{0.14,0.14,0,0} \definecolor{LightLightCadetBlue} {cmyk}{0.15,0.14,0.06,0} \definecolor{LightLightCornflowerBlue}{cmyk}{0.16,0.03,0,0} \definecolor{LightLightMidnightBlue} {cmyk}{0.24,0.03,0,0.11} \definecolor{LightLightNavyBlue} {cmyk}{0.23,0.13,0,0} \definecolor{LightLightRoyalBlue} {cmyk}{0.25,0.12,0,0} \definecolor{LightLightBlue} {cmyk}{0.25,0.25,0,0} \definecolor{LightLightCerulean} {cmyk}{0.23,0.03,0,0} \definecolor{LightLightCyan} {cmyk}{0.25,0,0,0} \definecolor{LightLightProcessBlue} {cmyk}{0.24,0,0,0} \definecolor{LightLightSkyBlue} {cmyk}{0.15,0,0.03,0} \definecolor{LightLightTurquoise} {cmyk}{0.21,0,0.05,0} \definecolor{LightLightTealBlue} {cmyk}{0.21,0,0.08,0.005} \definecolor{LightLightAquamarine} {cmyk}{0.20,0,0.07,0} \definecolor{LightLightBlueGreen} {cmyk}{0.21,0,0.08,0} \definecolor{LightLightEmerald} {cmyk}{0.25,0,0.12,0} \definecolor{LightLightJungleGreen} {cmyk}{0.25,0,0.13,0} \definecolor{LightLightSeaGreen} {cmyk}{0.17,0,0.12,0} \definecolor{LightLightGreen} {cmyk}{0.25,0,0.25,0} \definecolor{LightLightForestGreen} {cmyk}{0.23,0,0.22,0.03} \definecolor{LightLightPineGreen} {cmyk}{0.23,0,0.15,0.06} \definecolor{LightLightLimeGreen} {cmyk}{0.12,0,0.25,0} \definecolor{LightLightYellowGreen} {cmyk}{0.11,0,0.18,0} \definecolor{LightLightSpringGreen} {cmyk}{0.06,0,0.19,0} \definecolor{LightLightOliveGreen} {cmyk}{0.16,0,0.24,0.10} \definecolor{LightLightRawSienna} {cmyk}{0,0.18,0.25,0.11} \definecolor{LightLightSepia} {cmyk}{0,0.22,0.25,0.17} \definecolor{LightLightBrown} {cmyk}{0,0.20,0.25,0.15} \definecolor{LightLightTan} {cmyk}{0.03,0.10,0.14,0} \definecolor{LightLightWhite} {cmyk}{0,0,0,0} \definecolor{LightLightGray0} {cmyk}{0,0,0,0} \definecolor{LightLightGray5} {cmyk}{0,0,0,0.01} \definecolor{LightLightGray10} {cmyk}{0,0,0,0.02} \definecolor{LightLightGray15} {cmyk}{0,0,0,0.03} \definecolor{LightLightGray20} {cmyk}{0,0,0,0.05} \definecolor{LightLightGray25} {cmyk}{0,0,0,0.06} \definecolor{LightLightGray30} {cmyk}{0,0,0,0.07} \definecolor{LightLightLightGray} {cmyk}{0,0,0,0.08} \definecolor{LightLightGray35} {cmyk}{0,0,0,0.09} \definecolor{LightLightGray40} {cmyk}{0,0,0,0.10} \definecolor{LightLightGray45} {cmyk}{0,0,0,0.11} \definecolor{LightLightGray50} {cmyk}{0,0,0,0.12} \definecolor{LightLightGray} {cmyk}{0,0,0,0.13} \definecolor{LightLightGray55} {cmyk}{0,0,0,0.14} \definecolor{LightLightGray60} {cmyk}{0,0,0,0.15} \definecolor{LightLightGray65} {cmyk}{0,0,0,0.16} \definecolor{LightLightDarkGray} {cmyk}{0,0,0,0.17} \definecolor{LightLightGray70} {cmyk}{0,0,0,0.18} \definecolor{LightLightGray75} {cmyk}{0,0,0,0.19} \definecolor{LightLightGray80} {cmyk}{0,0,0,0.20} \definecolor{LightLightGray85} {cmyk}{0,0,0,0.21} \definecolor{LightLightGray90} {cmyk}{0,0,0,0.22} \definecolor{LightLightGray95} {cmyk}{0,0,0,0.23} \definecolor{LightLightBlack} {cmyk}{0,0,0,0.25} \definecolor{LightLightGray100} {cmyk}{0,0,0,0.25} \definecolor{LightLightTC0} {cmyk}{0.1,0.1,0,0} \definecolor{LightLightTC1} {cmyk}{0.15,0,0.175,0} \definecolor{LightLightTC2} {cmyk}{0.1,0,0.175,0} \definecolor{LightLightTC3} {cmyk}{0.05,0,0.25,0} \definecolor{LightLightTC4} {cmyk}{0,0,0.25,0} \definecolor{LightLightTC5} {cmyk}{0,0.05,0.25,0} \definecolor{LightLightTC6} {cmyk}{0,0.1,0.25,0} \definecolor{LightLightTC7} {cmyk}{0,0.15,0.25,0} \definecolor{LightLightTC8} {cmyk}{0,0.2,0.25,0} \definecolor{LightLightTC99} {cmyk}{0,0,0,0} \definecolor{LightLightLightGreenYellow} {cmyk}{0.02,0,0.08,0} \definecolor{LightLightLightYellow} {cmyk}{0,0,0.12,0} \definecolor{LightLightLightGoldenrod} {cmyk}{0,0.01,0.10,0} \definecolor{LightLightLightDandelion} {cmyk}{0,0.03,0.10,0} \definecolor{LightLightLightApricot} {cmyk}{0,0.04,0.06,0} \definecolor{LightLightLightPeach} {cmyk}{0,0.06,0.08,0} \definecolor{LightLightLightMelon} {cmyk}{0,0.05,0.06,0} \definecolor{LightLightLightYellowOrange} {cmyk}{0,0.05,0.12,0} \definecolor{LightLightLightOrange} {cmyk}{0,0.07,0.11,0} \definecolor{LightLightLightBurntOrange} {cmyk}{0,0.06,0.12,0} \definecolor{LightLightLightBittersweet} {cmyk}{0,0.09,0.12,0.03} \definecolor{LightLightLightRedOrange} {cmyk}{0,0.07,0.11,0} \definecolor{LightLightLightMahagony} {cmyk}{0,0.10,0.11,0.04} \definecolor{LightLightLightMaroon} {cmyk}{0,0.11,0.08,0.04} \definecolor{LightLightLightBrickRed} {cmyk}{0,0.11,0.11,0.03} \definecolor{LightLightLightRed} {cmyk}{0,0.12,0.12,0} \definecolor{LightLightLightOrangeRed} {cmyk}{0,0.12,0.06,0} \definecolor{LightLightLightRubineRed} {cmyk}{0,0.12,0.01,0} \definecolor{LightLightLightWildStrawberry}{cmyk}{0,0.12,0.05,0} \definecolor{LightLightLightSalmon} {cmyk}{0,0.06,0.04,0} \definecolor{LightLightLightCarnationPink} {cmyk}{0,0.08,0,0} \definecolor{LightLightLightMagenta} {cmyk}{0,0.12,0,0} \definecolor{LightLightLightLightMagenta} {cmyk}{0,0.06,0,0} \definecolor{LightLightLightVioletRed} {cmyk}{0,0.10,0,0} \definecolor{LightLightLightRhodamine} {cmyk}{0,0.10,0,0} \definecolor{LightLightLightMulberry} {cmyk}{0.04,0.11,0,0.002} \definecolor{LightLightLightRedViolet} {cmyk}{0.01,0.11,0,0.04} \definecolor{LightLightLightFuchsia} {cmyk}{0.06,0.11,0,0.01} \definecolor{LightLightLightLavender} {cmyk}{0,0.06,0,0} \definecolor{LightLightLightThistle} {cmyk}{0.01,0.07,0,0} \definecolor{LightLightLightOrchid} {cmyk}{0.04,0.08,0,0} \definecolor{LightLightLightDarkOrchid} {cmyk}{0.05,0.10,0.02,0} \definecolor{LightLightLightPurple} {cmyk}{0.05,0.10,0,0} \definecolor{LightLightLightPlum} {cmyk}{0.06,0.12,0,0} \definecolor{LightLightLightViolet} {cmyk}{0.10,0.11,0,0} \definecolor{LightLightLightRoyalPurple} {cmyk}{0.09,0.11,0,0} \definecolor{LightLightLightBlueViolet} {cmyk}{0.10,0.11,0,0.005} \definecolor{LightLightLightPeriwinkle} {cmyk}{0.07,0.07,0,0} \definecolor{LightLightLightCadetBlue} {cmyk}{0.07,0.07,0.03,0} \definecolor{LightLightLightCornflowerBlue}{cmyk}{0.08,0.01,0,0} \definecolor{LightLightLightMidnightBlue} {cmyk}{0.12,0.01,0,0.05} \definecolor{LightLightLightNavyBlue} {cmyk}{0.11,0.06,0,0} \definecolor{LightLightLightRoyalBlue} {cmyk}{0.12,0.06,0,0} \definecolor{LightLightLightBlue} {cmyk}{0.12,0.12,0,0} \definecolor{LightLightLightCerulean} {cmyk}{0.11,0.01,0,0} \definecolor{LightLightLightCyan} {cmyk}{0.12,0,0,0} \definecolor{LightLightLightProcessBlue} {cmyk}{0.12,0,0,0} \definecolor{LightLightLightSkyBlue} {cmyk}{0.07,0,0.01,0} \definecolor{LightLightLightTurquoise} {cmyk}{0.10,0,0.02,0} \definecolor{LightLightLightTealBlue} {cmyk}{0.10,0,0.04,0.002} \definecolor{LightLightLightAquamarine} {cmyk}{0.10,0,0.03,0} \definecolor{LightLightLightBlueGreen} {cmyk}{0.10,0,0.04,0} \definecolor{LightLightLightEmerald} {cmyk}{0.12,0,0.06,0} \definecolor{LightLightLightJungleGreen} {cmyk}{0.12,0,0.06,0} \definecolor{LightLightLightSeaGreen} {cmyk}{0.08,0,0.06,0} \definecolor{LightLightLightGreen} {cmyk}{0.12,0,0.12,0} \definecolor{LightLightLightForestGreen} {cmyk}{0.11,0,0.11,0.01} \definecolor{LightLightLightPineGreen} {cmyk}{0.11,0,0.07,0.03} \definecolor{LightLightLightLimeGreen} {cmyk}{0.06,0,0.12,0} \definecolor{LightLightLightYellowGreen} {cmyk}{0.05,0,0.09,0} \definecolor{LightLightLightSpringGreen} {cmyk}{0.03,0,0.09,0} \definecolor{LightLightLightOliveGreen} {cmyk}{0.08,0,0.12,0.05} \definecolor{LightLightLightRawSienna} {cmyk}{0,0.09,0.12,0.05} \definecolor{LightLightLightSepia} {cmyk}{0,0.11,0.12,0.06} \definecolor{LightLightLightBrown} {cmyk}{0,0.10,0.12,0.07} \definecolor{LightLightLightTan} {cmyk}{0.01,0.05,0.07,0} \definecolor{LightLightLightWhite} {cmyk}{0,0,0,0} \definecolor{LightLightLightGray0} {cmyk}{0,0,0,0} \definecolor{LightLightLightGray5} {cmyk}{0,0,0,0.005} \definecolor{LightLightLightGray10} {cmyk}{0,0,0,0.01} \definecolor{LightLightLightGray15} {cmyk}{0,0,0,0.015} \definecolor{LightLightLightGray20} {cmyk}{0,0,0,0.025} \definecolor{LightLightLightGray25} {cmyk}{0,0,0,0.03} \definecolor{LightLightLightGray30} {cmyk}{0,0,0,0.035} \definecolor{LightLightLightLightGray} {cmyk}{0,0,0,0.04} \definecolor{LightLightLightGray35} {cmyk}{0,0,0,0.045} \definecolor{LightLightLightGray40} {cmyk}{0,0,0,0.05} \definecolor{LightLightLightGray45} {cmyk}{0,0,0,0.055} \definecolor{LightLightLightGray50} {cmyk}{0,0,0,0.06} \definecolor{LightLightLightGray} {cmyk}{0,0,0,0.065} \definecolor{LightLightLightGray55} {cmyk}{0,0,0,0.07} \definecolor{LightLightLightGray60} {cmyk}{0,0,0,0.075} \definecolor{LightLightLightGray65} {cmyk}{0,0,0,0.08} \definecolor{LightLightLightDarkGray} {cmyk}{0,0,0,0.085} \definecolor{LightLightLightGray70} {cmyk}{0,0,0,0.09} \definecolor{LightLightLightGray75} {cmyk}{0,0,0,0.095} \definecolor{LightLightLightGray80} {cmyk}{0,0,0,0.10} \definecolor{LightLightLightGray85} {cmyk}{0,0,0,0.105} \definecolor{LightLightLightGray90} {cmyk}{0,0,0,0.11} \definecolor{LightLightLightGray95} {cmyk}{0,0,0,0.115} \definecolor{LightLightLightBlack} {cmyk}{0,0,0,0.12} \definecolor{LightLightLightGray100} {cmyk}{0,0,0,0.125} \definecolor{LightLightLightTC0} {cmyk}{0.05,0.05,0,0} \definecolor{LightLightLightTC1} {cmyk}{0.075,0,0.086,0} \definecolor{LightLightLightTC2} {cmyk}{0.05,0,0.086,0} \definecolor{LightLightLightTC3} {cmyk}{0.025,0,0.125,0} \definecolor{LightLightLightTC4} {cmyk}{0,0,0.125,0} \definecolor{LightLightLightTC5} {cmyk}{0,0.025,0.125,0} \definecolor{LightLightLightTC6} {cmyk}{0,0.05,0.125,0} \definecolor{LightLightLightTC7} {cmyk}{0,0.0175,0.125,0} \definecolor{LightLightLightTC8} {cmyk}{0,0.1,0.125,0} \definecolor{LightLightLightTC99} {cmyk}{0,0,0,0} \definecolor{BlueRed5} {rgb} {0.15,0.17,0.55} \definecolor{BlueRed10} {rgb} {0.20,0.23,0.57} \definecolor{BlueRed15} {rgb} {0.24,0.29,0.60} \definecolor{BlueRed20} {rgb} {0.33,0.35,0.64} \definecolor{BlueRed25} {rgb} {0.43,0.43,0.68} \definecolor{BlueRed30} {rgb} {0.52,0.52,0.73} \definecolor{BlueRed35} {rgb} {0.60,0.60,0.78} \definecolor{BlueRed40} {rgb} {0.70,0.70,0.84} \definecolor{BlueRed45} {rgb} {0.80,0.80,0.85} \definecolor{BlueRed50} {rgb} {0.86,0.82,0.82} \definecolor{BlueRed55} {rgb} {0.87,0.73,0.73} \definecolor{BlueRed60} {rgb} {0.89,0.64,0.64} \definecolor{BlueRed65} {rgb} {0.90,0.55,0.55} \definecolor{BlueRed70} {rgb} {0.91,0.47,0.46} \definecolor{BlueRed75} {rgb} {0.91,0.39,0.37} \definecolor{BlueRed80} {rgb} {0.90,0.33,0.28} \definecolor{BlueRed85} {rgb} {0.89,0.25,0.20} \definecolor{BlueRed90} {rgb} {0.88,0.23,0.14} \definecolor{BlueRed95} {rgb} {0.87,0.21,0.09} \definecolor{BlueRed100} {rgb} {0.87,0.16,0.04} \definecolor{RedBlue100} {rgb} {0.15,0.17,0.55} \definecolor{RedBlue95} {rgb} {0.15,0.17,0.55} \definecolor{RedBlue90} {rgb} {0.20,0.23,0.57} \definecolor{RedBlue85} {rgb} {0.24,0.29,0.60} \definecolor{RedBlue80} {rgb} {0.33,0.35,0.64} \definecolor{RedBlue75} {rgb} {0.43,0.43,0.68} \definecolor{RedBlue70} {rgb} {0.52,0.52,0.73} \definecolor{RedBlue65} {rgb} {0.60,0.60,0.78} \definecolor{RedBlue60} {rgb} {0.70,0.70,0.84} \definecolor{RedBlue55} {rgb} {0.80,0.80,0.85} \definecolor{RedBlue50} {rgb} {0.86,0.82,0.82} \definecolor{RedBlue45} {rgb} {0.87,0.73,0.73} \definecolor{RedBlue40} {rgb} {0.89,0.64,0.64} \definecolor{RedBlue35} {rgb} {0.90,0.55,0.55} \definecolor{RedBlue30} {rgb} {0.91,0.47,0.46} \definecolor{RedBlue25} {rgb} {0.91,0.39,0.37} \definecolor{RedBlue20} {rgb} {0.90,0.33,0.28} \definecolor{RedBlue15} {rgb} {0.89,0.25,0.20} \definecolor{RedBlue10} {rgb} {0.88,0.23,0.14} \definecolor{RedBlue5} {rgb} {0.87,0.21,0.09} \definecolor{GreenRed5} {rgb} {0,1,0} \definecolor{GreenRed10} {rgb} {0.05,0.95,0} \definecolor{GreenRed15} {rgb} {0.10,0.90,0} \definecolor{GreenRed20} {rgb} {0.15,0.85,0} \definecolor{GreenRed25} {rgb} {0.20,0.80,0} \definecolor{GreenRed30} {rgb} {0.25,0.75,0} \definecolor{GreenRed35} {rgb} {0.30,0.70,0} \definecolor{GreenRed40} {rgb} {0.35,0.65,0} \definecolor{GreenRed45} {rgb} {0.40,0.60,0} \definecolor{GreenRed50} {rgb} {0.45,0.55,0} \definecolor{GreenRed55} {rgb} {0.50,0.50,0} \definecolor{GreenRed60} {rgb} {0.55,0.45,0} \definecolor{GreenRed65} {rgb} {0.60,0.40,0} \definecolor{GreenRed70} {rgb} {0.65,0.35,0} \definecolor{GreenRed75} {rgb} {0.70,0.30,0} \definecolor{GreenRed80} {rgb} {0.75,0.25,0} \definecolor{GreenRed85} {rgb} {0.80,0.20,0} \definecolor{GreenRed90} {rgb} {0.85,0.15,0} \definecolor{GreenRed95} {rgb} {0.90,0.10,0} \definecolor{GreenRed100} {rgb} {0.95,0.05,0} \definecolor{RedGreen100} {rgb} {0.05,0.95,0} \definecolor{RedGreen95} {rgb} {0.10,0.90,0} \definecolor{RedGreen90} {rgb} {0.15,0.85,0} \definecolor{RedGreen85} {rgb} {0.20,0.80,0} \definecolor{RedGreen80} {rgb} {0.25,0.75,0} \definecolor{RedGreen75} {rgb} {0.30,0.70,0} \definecolor{RedGreen70} {rgb} {0.35,0.65,0} \definecolor{RedGreen65} {rgb} {0.40,0.60,0} \definecolor{RedGreen60} {rgb} {0.45,0.55,0} \definecolor{RedGreen55} {rgb} {0.50,0.50,0} \definecolor{RedGreen50} {rgb} {0.55,0.45,0} \definecolor{RedGreen45} {rgb} {0.60,0.40,0} \definecolor{RedGreen40} {rgb} {0.65,0.35,0} \definecolor{RedGreen35} {rgb} {0.70,0.30,0} \definecolor{RedGreen30} {rgb} {0.75,0.25,0} \definecolor{RedGreen25} {rgb} {0.80,0.20,0} \definecolor{RedGreen20} {rgb} {0.85,0.15,0} \definecolor{RedGreen15} {rgb} {0.90,0.10,0} \definecolor{RedGreen10} {rgb} {0.95,0.05,0} \definecolor{RedGreen5} {rgb} {1,0,0} \definecolor{ColdHot5} {rgb} {0,0.08,1} \definecolor{ColdHot10} {rgb} {0,0.29,1} \definecolor{ColdHot15} {rgb} {0,0.49,1} \definecolor{ColdHot20} {rgb} {0,0.70,1} \definecolor{ColdHot25} {rgb} {0,0.90,1} \definecolor{ColdHot30} {rgb} {0,1,0.87} \definecolor{ColdHot35} {rgb} {0,1,0.68} \definecolor{ColdHot40} {rgb} {0,1,0.46} \definecolor{ColdHot45} {rgb} {0,1,0.25} \definecolor{ColdHot50} {rgb} {0,1,0.04} \definecolor{ColdHot55} {rgb} {0.16,1,0} \definecolor{ColdHot60} {rgb} {0.35,1,0} \definecolor{ColdHot65} {rgb} {0.56,1,0} \definecolor{ColdHot70} {rgb} {0.79,1,0} \definecolor{ColdHot75} {rgb} {0.98,1,0} \definecolor{ColdHot80} {rgb} {1,0.82,0} \definecolor{ColdHot85} {rgb} {1,0.60,0} \definecolor{ColdHot90} {rgb} {1,0.40,0} \definecolor{ColdHot95} {rgb} {1,0.20,0} \definecolor{ColdHot100} {rgb} {0.91,0,0} \definecolor{HotCold100} {rgb} {0,0.08,1} \definecolor{HotCold95} {rgb} {0,0.29,1} \definecolor{HotCold90} {rgb} {0,0.49,1} \definecolor{HotCold85} {rgb} {0,0.70,1} \definecolor{HotCold80} {rgb} {0,0.90,1} \definecolor{HotCold75} {rgb} {0,1,0.87} \definecolor{HotCold70} {rgb} {0,1,0.68} \definecolor{HotCold65} {rgb} {0,1,0.46} \definecolor{HotCold60} {rgb} {0,1,0.25} \definecolor{HotCold55} {rgb} {0,1,0.04} \definecolor{HotCold50} {rgb} {0.16,1,0} \definecolor{HotCold45} {rgb} {0.35,1,0} \definecolor{HotCold40} {rgb} {0.56,1,0} \definecolor{HotCold35} {rgb} {0.79,1,0} \definecolor{HotCold30} {rgb} {0.98,1,0} \definecolor{HotCold25} {rgb} {1,0.82,0} \definecolor{HotCold20} {rgb} {1,0.60,0} \definecolor{HotCold15} {rgb} {1,0.40,0} \definecolor{HotCold10} {rgb} {1,0.20,0} \definecolor{HotCold5} {rgb} {0.91,0,0} \expandafter\def\csname BlueRed5\endcsname{[0.15,0.17,0.55]} \expandafter\def\csname BlueRed10\endcsname{[0.20,0.23,0.57]} \expandafter\def\csname BlueRed15\endcsname{[0.24,0.29,0.60]} \expandafter\def\csname BlueRed20\endcsname{[0.33,0.35,0.64]} \expandafter\def\csname BlueRed25\endcsname{[0.43,0.43,0.68]} \expandafter\def\csname BlueRed30\endcsname{[0.52,0.52,0.73]} \expandafter\def\csname BlueRed35\endcsname{[0.60,0.60,0.78]} \expandafter\def\csname BlueRed40\endcsname{[0.70,0.70,0.84]} \expandafter\def\csname BlueRed45\endcsname{[0.80,0.80,0.85]} \expandafter\def\csname BlueRed50\endcsname{[0.86,0.82,0.82]} \expandafter\def\csname BlueRed55\endcsname{[0.87,0.73,0.73]} \expandafter\def\csname BlueRed60\endcsname{[0.89,0.64,0.64]} \expandafter\def\csname BlueRed65\endcsname{[0.90,0.55,0.55]} \expandafter\def\csname BlueRed70\endcsname{[0.91,0.47,0.46]} \expandafter\def\csname BlueRed75\endcsname{[0.91,0.39,0.37]} \expandafter\def\csname BlueRed80\endcsname{[0.90,0.33,0.28]} \expandafter\def\csname BlueRed85\endcsname{[0.89,0.25,0.20]} \expandafter\def\csname BlueRed90\endcsname{[0.88,0.23,0.14]} \expandafter\def\csname BlueRed95\endcsname{[0.87,0.21,0.09]} \expandafter\def\csname BlueRed100\endcsname{[0.87,0.16,0.04]} \expandafter\def\csname RedBlue100\endcsname{[0.15,0.17,0.55]} \expandafter\def\csname RedBlue95\endcsname{[0.15,0.17,0.55]} \expandafter\def\csname RedBlue90\endcsname{[0.20,0.23,0.57]} \expandafter\def\csname RedBlue85\endcsname{[0.24,0.29,0.60]} \expandafter\def\csname RedBlue80\endcsname{[0.33,0.35,0.64]} \expandafter\def\csname RedBlue75\endcsname{[0.43,0.43,0.68]} \expandafter\def\csname RedBlue70\endcsname{[0.52,0.52,0.73]} \expandafter\def\csname RedBlue65\endcsname{[0.60,0.60,0.78]} \expandafter\def\csname RedBlue60\endcsname{[0.70,0.70,0.84]} \expandafter\def\csname RedBlue55\endcsname{[0.80,0.80,0.85]} \expandafter\def\csname RedBlue50\endcsname{[0.86,0.82,0.82]} \expandafter\def\csname RedBlue45\endcsname{[0.87,0.73,0.73]} \expandafter\def\csname RedBlue40\endcsname{[0.89,0.64,0.64]} \expandafter\def\csname RedBlue35\endcsname{[0.90,0.55,0.55]} \expandafter\def\csname RedBlue30\endcsname{[0.91,0.47,0.46]} \expandafter\def\csname RedBlue25\endcsname{[0.91,0.39,0.37]} \expandafter\def\csname RedBlue20\endcsname{[0.90,0.33,0.28]} \expandafter\def\csname RedBlue15\endcsname{[0.89,0.25,0.20]} \expandafter\def\csname RedBlue10\endcsname{[0.88,0.23,0.14]} \expandafter\def\csname RedBlue5\endcsname{[0.87,0.21,0.09]} \expandafter\def\csname GreenRed5\endcsname{[0,1,0]} \expandafter\def\csname GreenRed10\endcsname{[0.05,0.95,0]} \expandafter\def\csname GreenRed15\endcsname{[0.10,0.90,0]} \expandafter\def\csname GreenRed20\endcsname{[0.15,0.85,0]} \expandafter\def\csname GreenRed25\endcsname{[0.20,0.80,0]} \expandafter\def\csname GreenRed30\endcsname{[0.25,0.75,0]} \expandafter\def\csname GreenRed35\endcsname{[0.30,0.70,0]} \expandafter\def\csname GreenRed40\endcsname{[0.35,0.65,0]} \expandafter\def\csname GreenRed45\endcsname{[0.40,0.60,0]} \expandafter\def\csname GreenRed50\endcsname{[0.45,0.55,0]} \expandafter\def\csname GreenRed55\endcsname{[0.50,0.50,0]} \expandafter\def\csname GreenRed60\endcsname{[0.55,0.45,0]} \expandafter\def\csname GreenRed65\endcsname{[0.60,0.40,0]} \expandafter\def\csname GreenRed70\endcsname{[0.65,0.35,0]} \expandafter\def\csname GreenRed75\endcsname{[0.70,0.30,0]} \expandafter\def\csname GreenRed80\endcsname{[0.75,0.25,0]} \expandafter\def\csname GreenRed85\endcsname{[0.80,0.20,0]} \expandafter\def\csname GreenRed90\endcsname{[0.85,0.15,0]} \expandafter\def\csname GreenRed95\endcsname{[0.90,0.10,0]} \expandafter\def\csname GreenRed100\endcsname{[0.95,0.05,0]} \expandafter\def\csname RedGreen100\endcsname{[0.05,0.95,0]} \expandafter\def\csname RedGreen95\endcsname{[0.10,0.90,0]} \expandafter\def\csname RedGreen90\endcsname{[0.15,0.85,0]} \expandafter\def\csname RedGreen85\endcsname{[0.20,0.80,0]} \expandafter\def\csname RedGreen80\endcsname{[0.25,0.75,0]} \expandafter\def\csname RedGreen75\endcsname{[0.30,0.70,0]} \expandafter\def\csname RedGreen70\endcsname{[0.35,0.65,0]} \expandafter\def\csname RedGreen65\endcsname{[0.40,0.60,0]} \expandafter\def\csname RedGreen60\endcsname{[0.45,0.55,0]} \expandafter\def\csname RedGreen55\endcsname{[0.50,0.50,0]} \expandafter\def\csname RedGreen50\endcsname{[0.55,0.45,0]} \expandafter\def\csname RedGreen45\endcsname{[0.60,0.40,0]} \expandafter\def\csname RedGreen40\endcsname{[0.65,0.35,0]} \expandafter\def\csname RedGreen35\endcsname{[0.70,0.30,0]} \expandafter\def\csname RedGreen30\endcsname{[0.75,0.25,0]} \expandafter\def\csname RedGreen25\endcsname{[0.80,0.20,0]} \expandafter\def\csname RedGreen20\endcsname{[0.85,0.15,0]} \expandafter\def\csname RedGreen15\endcsname{[0.90,0.10,0]} \expandafter\def\csname RedGreen10\endcsname{[0.95,0.05,0]} \expandafter\def\csname RedGreen5\endcsname{[1,0,0]} \expandafter\def\csname ColdHot5\endcsname{[0,0.08,1]} \expandafter\def\csname ColdHot10\endcsname{[0,0.29,1]} \expandafter\def\csname ColdHot15\endcsname{[0,0.49,1]} \expandafter\def\csname ColdHot20\endcsname{[0,0.70,1]} \expandafter\def\csname ColdHot25\endcsname{[0,0.90,1]} \expandafter\def\csname ColdHot30\endcsname{[0,1,0.87]} \expandafter\def\csname ColdHot35\endcsname{[0,1,0.68]} \expandafter\def\csname ColdHot40\endcsname{[0,1,0.46]} \expandafter\def\csname ColdHot45\endcsname{[0,1,0.25]} \expandafter\def\csname ColdHot50\endcsname{[0,1,0.04]} \expandafter\def\csname ColdHot55\endcsname{[0.16,1,0]} \expandafter\def\csname ColdHot60\endcsname{[0.35,1,0]} \expandafter\def\csname ColdHot65\endcsname{[0.56,1,0]} \expandafter\def\csname ColdHot70\endcsname{[0.79,1,0]} \expandafter\def\csname ColdHot75\endcsname{[0.98,1,0]} \expandafter\def\csname ColdHot80\endcsname{[1,0.82,0]} \expandafter\def\csname ColdHot85\endcsname{[1,0.60,0]} \expandafter\def\csname ColdHot90\endcsname{[1,0.40,0]} \expandafter\def\csname ColdHot95\endcsname{[1,0.20,0]} \expandafter\def\csname ColdHot100\endcsname{[0.91,0,0]} \expandafter\def\csname HotCold100\endcsname{[0,0.08,1]} \expandafter\def\csname HotCold95\endcsname{[0,0.29,1]} \expandafter\def\csname HotCold90\endcsname{[0,0.49,1]} \expandafter\def\csname HotCold85\endcsname{[0,0.70,1]} \expandafter\def\csname HotCold80\endcsname{[0,0.90,1]} \expandafter\def\csname HotCold75\endcsname{[0,1,0.87]} \expandafter\def\csname HotCold70\endcsname{[0,1,0.68]} \expandafter\def\csname HotCold65\endcsname{[0,1,0.46]} \expandafter\def\csname HotCold60\endcsname{[0,1,0.25]} \expandafter\def\csname HotCold55\endcsname{[0,1,0.04]} \expandafter\def\csname HotCold50\endcsname{[0.16,1,0]} \expandafter\def\csname HotCold45\endcsname{[0.35,1,0]} \expandafter\def\csname HotCold40\endcsname{[0.56,1,0]} \expandafter\def\csname HotCold35\endcsname{[0.79,1,0]} \expandafter\def\csname HotCold30\endcsname{[0.98,1,0]} \expandafter\def\csname HotCold25\endcsname{[1,0.82,0]} \expandafter\def\csname HotCold20\endcsname{[1,0.60,0]} \expandafter\def\csname HotCold15\endcsname{[1,0.40,0]} \expandafter\def\csname HotCold10\endcsname{[1,0.20,0]} \expandafter\def\csname HotCold5\endcsname{[0.91,0,0]} \def\make@lower{% \if\first@ A\xdef\first@{a}\else \if\first@ B\xdef\first@{b}\else \if\first@ C\xdef\first@{c}\else \if\first@ D\xdef\first@{d}\else \if\first@ E\xdef\first@{e}\else \if\first@ F\xdef\first@{f}\else \if\first@ G\xdef\first@{g}\else \if\first@ H\xdef\first@{h}\else \if\first@ I\xdef\first@{i}\else \if\first@ J\xdef\first@{j}\else \if\first@ K\xdef\first@{k}\else \if\first@ L\xdef\first@{l}\else \if\first@ M\xdef\first@{m}\else \if\first@ N\xdef\first@{n}\else \if\first@ O\xdef\first@{o}\else \if\first@ P\xdef\first@{p}\else \if\first@ Q\xdef\first@{q}\else \if\first@ R\xdef\first@{r}\else \if\first@ S\xdef\first@{s}\else \if\first@ T\xdef\first@{t}\else \if\first@ U\xdef\first@{u}\else \if\first@ V\xdef\first@{v}\else \if\first@ W\xdef\first@{w}\else \if\first@ X\xdef\first@{x}\else \if\first@ Y\xdef\first@{y}\else \if\first@ Z\xdef\first@{z}\else \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} \def\make@upper{% \if\first@ a\xdef\first@{A}\else \if\first@ b\xdef\first@{B}\else \if\first@ c\xdef\first@{C}\else \if\first@ d\xdef\first@{D}\else \if\first@ e\xdef\first@{E}\else \if\first@ f\xdef\first@{F}\else \if\first@ g\xdef\first@{G}\else \if\first@ h\xdef\first@{H}\else \if\first@ i\xdef\first@{I}\else \if\first@ j\xdef\first@{J}\else \if\first@ k\xdef\first@{K}\else \if\first@ l\xdef\first@{L}\else \if\first@ m\xdef\first@{M}\else \if\first@ n\xdef\first@{N}\else \if\first@ o\xdef\first@{O}\else \if\first@ p\xdef\first@{P}\else \if\first@ q\xdef\first@{Q}\else \if\first@ r\xdef\first@{R}\else \if\first@ s\xdef\first@{S}\else \if\first@ t\xdef\first@{T}\else \if\first@ u\xdef\first@{U}\else \if\first@ v\xdef\first@{V}\else \if\first@ w\xdef\first@{W}\else \if\first@ x\xdef\first@{X}\else \if\first@ y\xdef\first@{Y}\else \if\first@ z\xdef\first@{Z}\else \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} \def\type@get#1 MSF: #2 Type: #3 #4@{\seqtype{#3}} \def\inf@@get#1 #2 #3 #4 #5 #6@{% \def\first@{#1} \def\second@{#2} \def\third@{#3} \xdef\fourth@{#4 @} \expandafter\check@letter\fourth@ \ifnumber \def\fourth@{#4} \else \xdef\fourth@{#5 @} \expandafter\check@letter\fourth@ \ifnumber \def\fourth@{#5} \else \def\fourth@{99999999} \fi \fi \def\fifth@{#5} \def\last@{#6}} \def\check@char#1{\letterfalse \ifnum\catcode`#1=11 \lettertrue \fi \numberfalse \ifnum\catcode`#1=12 \numbertrue \fi \xdef\code@num{\the\catcode`#1} \xdef\char@num{`#1}} \def\check@letter#1#2@{\letterfalse \ifnum\catcode`#1=11 \lettertrue \fi \numberfalse \ifnum\catcode`#1=12 \numbertrue \fi} \def\seq@get#1 #2@{\def\first@{#1} \def\seq@line{#2}} \def\res@get#1#2@{\def\first@{#1} \def\seq@line{#2&@}} \def\tot@get#1#2@{% \xdef\first@{#1} \expandafter\xdef\csname seq\the\triple@count\endcsname{#2&@}} \def\dis@get#1#2@{% \xdef\first@{#1} \expandafter\xdef\csname res\the\triple@count\endcsname{#1} \expandafter\xdef\csname seq\the\triple@count\endcsname{#2&@}} \def\firstchar@get#1#2@{\def\first@{#1}\def\third@{#2@}} \def\residue@get#1#2@{\xdef\first@{#1} \xdef\char@num{`#1} \expandafter\xdef\csname res\the\loopcount\endcsname{\first@} \expandafter\xdef\csname sequence\the\loopcount\endcsname{#2@}} \def\remove@fromseq#1@{\expandafter\xdef\csname sequence\the\loopcount\endcsname{#1}} \def\get@temp#1@{\xdef\temp@{#1}} \def\TC@get#1#2@{\xdef\char@num{`#1} \ifnum\char@num=45 \xdef\TC@first@{*} \else \ifnum\char@num>57 \xdef\TC@first@{*} \else \xdef\TC@first@{#1} \fi \fi \expandafter\xdef\csname TC@num\the\loopcount\endcsname{\TC@first@} \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{#2@}} \def\sublogo@get#1 @{\xdef\first@{#1}} \def\re@write#1,#2@{% \xdef\third@{#2,@} \xdef\first@{\csname hide@@@seq#1\endcsname} \ifx\first@\last@ \else \xdef\first@{#1&} \ifx\first@\ampers@nd \else \advance\innerloopcount by 1 \fi \if\second@ e \xdef\second@{\csname @rd#1\endcsname} \else \xdef\second@{\second@,\csname @rd#1\endcsname}\fi \fi } \def\order@set#1,#2@{% \xdef\second@{#2,@} \expandafter\xdef\csname @rd#1\endcsname{\the\loopcount} \expandafter\xdef\csname res@count\the\loopcount\endcsname{% \csname pos#1\endcsname} \expandafter\xdef\csname hide@seq\the\loopcount\endcsname{% \csname hide@@seq#1\endcsname} \expandafter\xdef\csname hide@name\the\loopcount\endcsname{% \csname hide@@name#1\endcsname} \expandafter\xdef\csname hide@number\the\loopcount\endcsname{% \csname hide@@number#1\endcsname} \expandafter\xdef\csname seq@start\the\loopcount\endcsname{% \csname seq@@start#1\endcsname} \expandafter\xdef\csname seq@len\the\loopcount\endcsname{% \csname seq@@len#1\endcsname} \expandafter\xdef\csname seqname\the\loopcount\endcsname{% \csname seq@name#1\endcsname} \expandafter\xdef\csname newseqname\the\loopcount\endcsname{% \csname newseq@name#1\endcsname} \expandafter\xdef\csname seq@gap\the\loopcount\endcsname{% \csname seq@@gap#1\endcsname} \expandafter\xdef\csname name@col\the\loopcount\endcsname{% \csname name@@col#1\endcsname} \expandafter\xdef\csname number@col\the\loopcount\endcsname{% \csname number@@col#1\endcsname} \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{% \csname stack@@reg#1\endcsname} \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{% \csname stack@@tintreg#1\endcsname} \expandafter\xdef\csname stack@hidereg\the\loopcount\endcsname{% \csname stack@@hidereg#1\endcsname} \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{% \csname stack@@emphreg#1\endcsname} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{% \csname stack@@framereg#1\endcsname} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{% \csname stack@@top#1\endcsname} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{% \csname stack@@ttop#1\endcsname} \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{% \csname stack@@tttop#1\endcsname} \expandafter\xdef\csname stack@ttttop\the\loopcount\endcsname{% \csname stack@@ttttop#1\endcsname} \expandafter\xdef\csname stack@bottom\the\loopcount\endcsname{% \csname stack@@bottom#1\endcsname} \expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{% \csname stack@@bbottom#1\endcsname} \expandafter\xdef\csname stack@bbbottom\the\loopcount\endcsname{% \csname stack@@bbbottom#1\endcsname} \expandafter\xdef\csname stack@bbbbottom\the\loopcount\endcsname{% \csname stack@@bbbbottom#1\endcsname} } \def\reorder@seqs#1{% \loopcount=0 \loop \advance\loopcount by 1 \expandafter\xdef\csname pos\the\loopcount\endcsname{% \csname res@count\the\loopcount\endcsname} \expandafter\xdef\csname hide@@seq\the\loopcount\endcsname{% \csname hide@seq\the\loopcount\endcsname} \expandafter\xdef\csname hide@@name\the\loopcount\endcsname{% \csname hide@name\the\loopcount\endcsname} \expandafter\xdef\csname hide@@number\the\loopcount\endcsname{% \csname hide@number\the\loopcount\endcsname} \expandafter\xdef\csname seq@@start\the\loopcount\endcsname{% \csname seq@start\the\loopcount\endcsname} \expandafter\xdef\csname seq@@len\the\loopcount\endcsname{% \csname seq@len\the\loopcount\endcsname} \expandafter\xdef\csname seq@name\the\loopcount\endcsname{% \csname seqname\the\loopcount\endcsname} \expandafter\xdef\csname newseq@name\the\loopcount\endcsname{% \csname newseqname\the\loopcount\endcsname} \expandafter\xdef\csname seq@@gap\the\loopcount\endcsname{% \csname seq@gap\the\loopcount\endcsname} \expandafter\xdef\csname name@@col\the\loopcount\endcsname{% \csname name@col\the\loopcount\endcsname} \expandafter\xdef\csname number@@col\the\loopcount\endcsname{% \csname number@col\the\loopcount\endcsname} \expandafter\xdef\csname stack@@reg\the\loopcount\endcsname{% \csname stack@reg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@tintreg\the\loopcount\endcsname{% \csname stack@tintreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@hidereg\the\loopcount\endcsname{% \csname stack@hidereg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@emphreg\the\loopcount\endcsname{% \csname stack@emphreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@framereg\the\loopcount\endcsname{% \csname stack@framereg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@top\the\loopcount\endcsname{% \csname stack@top\the\loopcount\endcsname} \expandafter\xdef\csname stack@@ttop\the\loopcount\endcsname{% \csname stack@ttop\the\loopcount\endcsname} \expandafter\xdef\csname stack@@tttop\the\loopcount\endcsname{% \csname stack@tttop\the\loopcount\endcsname} \expandafter\xdef\csname stack@@ttttop\the\loopcount\endcsname{% \csname stack@ttttop\the\loopcount\endcsname} \expandafter\xdef\csname stack@@bottom\the\loopcount\endcsname{% \csname stack@bottom\the\loopcount\endcsname} \expandafter\xdef\csname stack@@bbottom\the\loopcount\endcsname{% \csname stack@bbottom\the\loopcount\endcsname} \expandafter\xdef\csname stack@@bbbottom\the\loopcount\endcsname{% \csname stack@bbbottom\the\loopcount\endcsname} \expandafter\xdef\csname stack@@bbbbottom\the\loopcount\endcsname{% \csname stack@bbbbottom\the\loopcount\endcsname} \ifnum\loopcount<\killseq@count \repeat \xdef\third@{#1} \loopcount=0 \innerloopcount=0 \xdef\last@{kill} \xdef\second@{e} \loop \advance\loopcount by 1 \expandafter\re@write\third@ \ifnum\loopcount<\seq@count \repeat \ifnum\innerloopcount<\killseq@count \@latex@error{Not enough sequences specified in `orderseqs' (\the\innerloopcount/\the\killseq@count)}\@ehc \fi \loopcount=0 \xdef\second@{\second@,@} \loop \advance\loopcount by 1 \expandafter\order@set\second@ \ifnum\loopcount<\killseq@count \repeat \ifnum\cons@num>0 \xdef\cons@num{\csname @rd\cons@num\endcsname} \fi \ifnum\rule@num>0 \xdef\rule@num{\csname @rd\rule@num\endcsname} \fi \ifnum\divref@>0 \xdef\divref@{\csname @rd\divref@\endcsname} \fi \loopcount=0 \loop \advance\loopcount by 1 \expandafter\xdef\csname pos\the\loopcount\endcsname{0} \ifnum\loopcount<\killseq@count \repeat } \def\group@get#1,#2@{% \def\group@set{\expandafter\residue@get\second@ \ifnum\char@num>96 \make@upper \fi \ifx\first@\ampers@nd \else \expandafter\xdef\csname \prfx grp\first@\endcsname{\the\loopcount} \xdef\second@{\csname sequence\the\loopcount\endcsname} \group@set \fi} \xdef\second@{#1 &@} \xdef\third@{#2&,@} \group@set} \def\get@item#1,#2@{\xdef\first@{#2@}\xdef\first@@{#2}\xdef\fourth@{#1}} \def\get@first@@#1-#2@{\xdef\first@@{#1}} \def\get@digit#1,#2@{% \def\check@series##1-##2##3@{% \xdef\first@@{##2}\xdef\fourth@{##1}\xdef\fourth@@{##3}} \xdef\first@{#2@} \xdef\fourth@{#1-&@} \expandafter\check@series\fourth@ \ifx\first@@\ampers@nd \else \xdef\first@@{\first@@\fourth@@-&@} \expandafter\get@first@@\first@@ \loopcount=\fourth@ \ifnum\first@@>\fourth@ \advance\loopcount by 1 \xdef\first@{\the\loopcount-\first@@,#2@} \else \ifnum\first@@<\fourth@ \advance\loopcount by -1 \xdef\first@{\the\loopcount-\first@@,#2@} \fi \fi \fi } \def\donot@shade{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \xdef\third@{\csname hide@seq\first@\endcsname} \xdef\second@{kill} \ifx\third@\second@ \else \expandafter\xdef\csname hide@seq\first@\endcsname{noshade} \fi \xdef\first@{\first@@ @} \donot@shade \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \xdef\third@{\csname hide@seq\fourth@\endcsname} \xdef\second@{kill} \ifx\third@\second@ \else \expandafter\xdef\csname hide@seq\fourth@\endcsname{noshade} \fi \donot@shade \fi \fi} \def\clear@res@nums#1{% \temp@count=65 \loop \xdef\first@@{\csname ch@r@\the\temp@count\endcsname} \expandafter\xdef\csname res@num\first@@ #1\endcsname{0} \advance\temp@count by 1 \ifnum\temp@count>90\else\repeat \expandafter\xdef\csname res@num\d@t #1\endcsname{0} } \def\setsubfamily@{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \advance\res@count by 1 \expandafter\xdef\csname subfamily@num\first@\endcsname{\subfamily@count} \xdef\first@{\first@@ @} \setsubfamily@ \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \advance\res@count by 1 \expandafter\xdef\csname subfamily@num\fourth@\endcsname{\subfamily@count} \setsubfamily@ \fi \fi } \def\hideseq@{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \xdef\third@{\csname hide@seq\first@\endcsname} \xdef\second@{kill} \ifx\third@\second@ \else \expandafter\xdef\csname hide@seq\first@\endcsname{true} \fi \xdef\first@{\first@@ @} \hideseq@ \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \xdef\third@{\csname hide@seq\fourth@\endcsname} \xdef\second@{kill} \ifx\third@\second@ \else \expandafter\xdef\csname hide@seq\fourth@\endcsname{true} \fi \hideseq@ \fi \fi} \def\hidename@{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \expandafter\xdef\csname hide@name\first@\endcsname{yes} \xdef\first@{\first@@ @} \hidename@ \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \expandafter\xdef\csname hide@name\fourth@\endcsname{yes} \hidename@ \fi \fi} \def\hidenumber@{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \expandafter\xdef\csname hide@number\first@\endcsname{yes} \xdef\first@{\first@@ @} \hidenumber@ \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \expandafter\xdef\csname hide@number\fourth@\endcsname{yes} \hidenumber@ \fi \fi} \def\namecolor@{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \expandafter\xdef\csname name@col\first@\endcsname{\third@} \xdef\first@{\first@@ @} \namecolor@ \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \expandafter\xdef\csname name@col\fourth@\endcsname{\third@} \namecolor@ \fi \fi} \def\numbercolor@{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \expandafter\xdef\csname number@col\first@\endcsname{\third@} \xdef\first@{\first@@ @} \numbercolor@ \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \expandafter\xdef\csname number@col\fourth@\endcsname{\third@} \numbercolor@ \fi \fi} \def\killseq@{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \ifnum\first@>\seq@count \else \ifnum\killseq@count>1 \xdef\third@{\csname hide@seq\first@\endcsname} \xdef\second@{kill} \ifx\third@\second@ \else \expandafter\xdef\csname hide@seq\first@\endcsname{kill} \expandafter\xdef\csname hide@@@seq\first@\endcsname{kill} \ifnum\first@=\cons@num \xdef\cons@num{0} \fi \advance\killseq@count by -1 \seq@percent=100 \divide\seq@percent by \killseq@count \fi \fi\fi \xdef\first@{\first@@ @} \killseq@ \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \ifnum\fourth@>\seq@count \else \ifnum\killseq@count>1 \xdef\third@{\csname hide@seq\fourth@\endcsname} \xdef\second@{kill} \ifx\third@\second@ \else \expandafter\xdef\csname hide@seq\fourth@\endcsname{kill} \expandafter\xdef\csname hide@@@seq\fourth@\endcsname{kill} \ifnum\fourth@=\cons@num \xdef\cons@num{0} \fi \advance\killseq@count by -1 \seq@percent=100 \divide\seq@percent by \killseq@count \fi \fi\fi \killseq@ \fi \fi} \def\kill@loop{% \advance\innerloopcount by 1 \xdef\first@{\csname hide@seq\the\innerloopcount\endcsname} \ifx\first@\second@ \kill@loop \fi} \def\kill@seqnow{% \xdef\first@{\csname hide@seq\the\loopcount\endcsname} \xdef\second@{kill} \innerloopcount=\loopcount \ifx\first@\second@ \kill@loop \expandafter\xdef\csname hide@seq\the\loopcount\endcsname{% \csname hide@seq\the\innerloopcount\endcsname} \expandafter\xdef\csname seqname\the\loopcount\endcsname{% \csname seqname\the\innerloopcount\endcsname} \expandafter\xdef\csname newseqname\the\loopcount\endcsname{% \csname newseqname\the\innerloopcount\endcsname} \expandafter\xdef\csname seq@gap\the\loopcount\endcsname{% \csname seq@gap\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{% \csname stack@reg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{% \csname stack@tintreg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@hidereg\the\loopcount\endcsname{% \csname stack@hidereg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{% \csname stack@emphreg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{% \csname stack@framereg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{% \csname stack@top\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{% \csname stack@ttop\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{% \csname stack@tttop\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@ttttop\the\loopcount\endcsname{% \csname stack@ttttop\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@bottom\the\loopcount\endcsname{% \csname stack@bottom\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{% \csname stack@bbottom\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@bbbottom\the\loopcount\endcsname{% \csname stack@bbbottom\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@bbbbottom\the\loopcount\endcsname{% \csname stack@bbbbottom\the\innerloopcount\endcsname} \expandafter\xdef\csname res@count\the\loopcount\endcsname{% \csname res@count\the\innerloopcount\endcsname} \expandafter\xdef\csname hide@seq\the\innerloopcount\endcsname{kill} \ifnum\loopcount=\rule@num \hideruler \fi \fi \expandafter\xdef\csname @rd\the\innerloopcount\endcsname{\the\loopcount} \advance\loopcount by 1 \ifnum\loopcount>\killseq@count \ifnum\rule@num>0\xdef\rule@num{\csname @rd\rule@num\endcsname}\fi \ifnum\cons@num>0\xdef\cons@num{\csname @rd\cons@num\endcsname}\fi \else \kill@seqnow \fi} \def\get@sim#1#2@{\xdef\sim@char{#1} \xdef\last@{#2 &@}} \def\getsim@char{% \advance\innerloopcount by 1 \ifnum\innerloopcount>\m@x \else \expandafter\get@sim\last@ \ifx\second@\sim@char \xdef\third@{2} \innerloopcount=\m@x \fi \getsim@char \fi} \def\get@count(#1)#2@{\xdef\last@{#2 &@} \xdef\m@x{#1}} \def\get@nums#1..#2@{\xdef\first@{#1} \xdef\second@{#2}} \def\func@shading#1{% \clearfuncgroups \xdef\temp@{#1} \xdef\second@{charge} \ifx\temp@\second@ \ifgerm@n \funcgroup{sauer ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{basisch ($+$)}{KRH}{White}{Blue}{upper}{up} \else \ifsp@nish \funcgroup{\'acido ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{b\'asico ($+$)}{KRH}{White}{Blue}{upper}{up} \else \funcgroup{acidic ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{basic ($+$)}{KRH}{White}{Blue}{upper}{up} \fi \fi \else \xdef\second@{hydropathy} \ifx\temp@\second@ \ifgerm@n \funcgroup{sauer ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{basisch ($+$)}{KRH}{White}{Blue}{upper}{up} \funcgroup{polar ungeladen}{YSTGNQC}{Black}{Yellow}{upper}{up} \funcgroup{hydrophob unpolar}{AFPMWVIL}{White}{Green}{upper}{up} \else \ifsp@nish \funcgroup{\'acido ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{b\'asico ($+$)}{KRH}{White}{Blue}{upper}{up} \funcgroup{polar sin carga}{YSTGNQC}{Black}{Yellow}{upper}{up} \funcgroup{hidrof\'obico no polar}{AFPMWVIL}{White}{Green}{upper}{up} \else \funcgroup{acidic ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{basic ($+$)}{KRH}{White}{Blue}{upper}{up} \funcgroup{polar uncharged}{YSTGNQC}{Black}{Yellow}{upper}{up} \funcgroup{hydrophobic nonpolar}{AFPMWVIL}{White}{Green}{upper}{up} \fi \fi \else \xdef\second@{chemical} \ifx\temp@\second@ \ifgerm@n \funcgroup{sauer ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{aliphatisch}{AGVIL}{White}{Black}{upper}{up} \funcgroup{aliphatisch (klein)}{AG}{White}{Gray}{upper}{up} \funcgroup{Amid}{NQ}{White}{Green}{upper}{up} \funcgroup{aromatisch}{FYW}{White}{Brown}{upper}{up} \funcgroup{basisch (+)}{KRH}{White}{Blue}{upper}{up} \funcgroup{Hydroxyl}{ST}{Black}{Magenta}{upper}{up} \funcgroup{Imin}{P}{Black}{Orange}{upper}{up} \funcgroup{Schwefel}{CM}{Black}{Yellow}{upper}{up} \else \ifsp@nish \funcgroup{\'acido ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{alif\'atico}{AGVIL}{White}{Black}{upper}{up} \funcgroup{alif\'atico (parvo)}{AG}{White}{Gray}{upper}{up} \funcgroup{amida}{NQ}{White}{Green}{upper}{up} \funcgroup{arom\'atico}{FYW}{White}{Brown}{upper}{up} \funcgroup{b\'asico ($+$)}{KRH}{White}{Blue}{upper}{up} \funcgroup{hidr\'oxido}{ST}{Black}{Magenta}{upper}{up} \funcgroup{imino}{P}{Black}{Orange}{upper}{up} \funcgroup{azufre}{CM}{Black}{Yellow}{upper}{up} \else \funcgroup{acidic ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{aliphatic}{AGVIL}{White}{Black}{upper}{up} \funcgroup{aliphatic (small)}{AG}{White}{Gray}{upper}{up} \funcgroup{amide}{NQ}{White}{Green}{upper}{up} \funcgroup{aromatic}{FYW}{White}{Brown}{upper}{up} \funcgroup{basic ($+$)}{KRH}{White}{Blue}{upper}{up} \funcgroup{hydroxyl}{ST}{Black}{Magenta}{upper}{up} \funcgroup{imino}{P}{Black}{Orange}{upper}{up} \funcgroup{sulfur}{CM}{Black}{Yellow}{upper}{up} \fi \fi \else \xdef\second@{structure} \ifx\temp@\second@ \ifgerm@n \funcgroup{extern}{DEHKNQR}{Black}{Orange}{upper}{up} \funcgroup{ambivalent}{ACGPSTWY}{Black}{Yellow}{upper}{up} \funcgroup{intern}{FILMV}{White}{Green}{upper}{up} \else \ifsp@nish \funcgroup{externo}{DEHKNQR}{Black}{Orange}{upper}{up} \funcgroup{ambivalente}{ACGPSTWY}{Black}{Yellow}{upper}{up} \funcgroup{interno}{FILMV}{White}{Green}{upper}{up} \else \funcgroup{external}{DEHKNQR}{Black}{Orange}{upper}{up} \funcgroup{ambivalent}{ACGPSTWY}{Black}{Yellow}{upper}{up} \funcgroup{internal}{FILMV}{White}{Green}{upper}{up} \fi \fi \else \xdef\second@{standard area} \ifx\temp@\second@ \ifgerm@n \funcgroup{\ 88,1 (G); Standard Seitenkettenfl\"ache % (\AA$^2$)}% {G}{Black}{BrickRed}{upper}{up} \funcgroup{118,2 (A); 129,8 (S)}{AS}{Black}{Orange}{upper}{up} \funcgroup{146,1 (C); 146,8 (P)}% {CP}{Black}{Yellow}{upper}{up} \funcgroup{152,5 (T); 158,7 (D); 164,5 (V); 165,5 (N)}% {TDVN}{Black}{YellowGreen}{upper}{up} \funcgroup{181,0 (I); 186,2 (E)}{IE}{White}{PineGreen}{upper}{up} \funcgroup{193,1 (L); 193,2 (Q); 202,5 (H); 203,3 (M)}% {LQHM}{Black}{SkyBlue}{upper}{up} \funcgroup{222,8 (F); 225,8 (K)}{FK}{White}{RoyalPurple}{upper}{up} \funcgroup{238,8 (Y)}{Y}{White}{RedViolet}{upper}{up} \funcgroup{256,0 (R); 266,2 (W)}{RW}{White}{Black}{upper}{up} \else \ifsp@nish \funcgroup{\ 88.1 (G); Superficie est\'andar de la cadena lateral (\AA$^2$)}% {G}{Black}{BrickRed}{upper}{up} \funcgroup{118.2 (A); 129.8 (S)}{AS}{Black}{Orange}{upper}{up} \funcgroup{146.1 (C); 146.8 (P)}% {CP}{Black}{Yellow}{upper}{up} \funcgroup{152.5 (T); 158.7 (D); 164.5 (V); 165.5 (N)}% {TDVN}{Black}{YellowGreen}{upper}{up} \funcgroup{181.0 (I); 186.2 (E)}{IE}{White}{PineGreen}{upper}{up} \funcgroup{193.1 (L); 193.2 (Q); 202.5 (H); 203.3 (M)}% {LQHM}{Black}{SkyBlue}{upper}{up} \funcgroup{222.8 (F); 225.8 (K)}{FK}{White}{RoyalPurple}{upper}{up} \funcgroup{238.8 (Y)}{Y}{White}{RedViolet}{upper}{up} \funcgroup{256.0 (R); 266.2 (W)}{RW}{White}{Black}{upper}{up} \else \funcgroup{\ 88.1 (G); Standard sidechain area (\AA$^2$)}% {G}{Black}{BrickRed}{upper}{up} \funcgroup{118.2 (A); 129.8 (S)}{AS}{Black}{Orange}{upper}{up} \funcgroup{146.1 (C); 146.8 (P)}% {CP}{Black}{Yellow}{upper}{up} \funcgroup{152.5 (T); 158.7 (D); 164.5 (V); 165.5 (N)}% {TDVN}{Black}{YellowGreen}{upper}{up} \funcgroup{181.0 (I); 186.2 (E)}{IE}{White}{PineGreen}{upper}{up} \funcgroup{193.1 (L); 193.2 (Q); 202.5 (H); 203.3 (M)}% {LQHM}{Black}{SkyBlue}{upper}{up} \funcgroup{222.8 (F); 225.8 (K)}{FK}{White}{RoyalPurple}{upper}{up} \funcgroup{238.8 (Y)}{Y}{White}{RedViolet}{upper}{up} \funcgroup{256.0 (R); 266.2 (W)}{RW}{White}{Black}{upper}{up} \fi \fi \else \xdef\second@{accessible area} \ifx\temp@\second@ \ifgerm@n \funcgroup{\ 13,9 (C); Zug\"angliche Seitenkettenfl\"ache % (\AA$^2$)}% {CIV}{Black}{BrickRed}{upper}{up} \funcgroup{\ 23,0 (I); 23,5 (V); 25,2 (G)}% {IVG}{Black}{Orange}{upper}{up} \funcgroup{\ 28,7 (F); 29,0 (L); 30,5 (M); 31,5 (A)}% {FLMA}{Black}{Yellow}{upper}{up} \funcgroup{\ 41,7 (W); 44,2 (S); 46,0 (T); 46,7 (H)}% {WSTH}{Black}{YellowGreen}{upper}{up} \funcgroup{\ 53,7 (P)}{P}{White}{PineGreen}{upper}{up} \funcgroup{\ 59,1 (Y); 60,9 (D); 62,2 (N)}% {YDN}{Black}{SkyBlue}{upper}{up} \funcgroup{\ 72,3 (E); 74,0 (Q)}{EQ}{White}{RoyalPurple}{upper}{up} \funcgroup{\ 93,8 (R)}{R}{White}{RedViolet}{upper}{up} \funcgroup{110,3 (K)}{K}{White}{Black}{upper}{up} \else \ifsp@nish \funcgroup{\ 13.9 (C); Superficie accesible de la cadena lateral (\AA$^2$)}% {CIV}{Black}{BrickRed}{upper}{up} \funcgroup{\ 23.0 (I); 23.5 (V); 25.2 (G)}% {IVG}{Black}{Orange}{upper}{up} \funcgroup{\ 28.7 (F); 29.0 (L); 30.5 (M); 31.5 (A)}% {FLMA}{Black}{Yellow}{upper}{up} \funcgroup{\ 41.7 (W); 44.2 (S); 46.0 (T); 46.7 (H)}% {WSTH}{Black}{YellowGreen}{upper}{up} \funcgroup{\ 53.7 (P)}{P}{White}{PineGreen}{upper}{up} \funcgroup{\ 59.1 (Y); 60.9 (D); 62.2 (N)}% {YDN}{Black}{SkyBlue}{upper}{up} \funcgroup{\ 72.3 (E); 74.0 (Q)}{EQ}{White}{RoyalPurple}{upper}{up} \funcgroup{\ 93.8 (R)}{R}{White}{RedViolet}{upper}{up} \funcgroup{110.3 (K)}{K}{White}{Black}{upper}{up} \else \funcgroup{\ 13.9 (C); Accessible sidechain area (\AA$^2$)}% {CIV}{Black}{BrickRed}{upper}{up} \funcgroup{\ 23.0 (I); 23.5 (V); 25.2 (G)}% {IVG}{Black}{Orange}{upper}{up} \funcgroup{\ 28.7 (F); 29.0 (L); 30.5 (M); 31.5 (A)}% {FLMA}{Black}{Yellow}{upper}{up} \funcgroup{\ 41.7 (W); 44.2 (S); 46.0 (T); 46.7 (H)}% {WSTH}{Black}{YellowGreen}{upper}{up} \funcgroup{\ 53.7 (P)}{P}{White}{PineGreen}{upper}{up} \funcgroup{\ 59.1 (Y); 60.9 (D); 62.2 (N)}% {YDN}{Black}{SkyBlue}{upper}{up} \funcgroup{\ 72.3 (E); 74.0 (Q)}{EQ}{White}{RoyalPurple}{upper}{up} \funcgroup{\ 93.8 (R)}{R}{White}{RedViolet}{upper}{up} \funcgroup{110.3 (K)}{K}{White}{Black}{upper}{up} \fi \fi \else \xdef\second@{rasmol} \ifx\temp@\second@ \funcgroup{Asp, Glu}{DE}{Red}{White}{upper}{up} \funcgroup{Arg, Lys, His}{KRH}{Blue}{White}{upper}{up} \funcgroup{Phe, Tyr, Trp}{FYW}{MidnightBlue}{White}{upper}{up} \funcgroup{Ala, Gly}{AG}{Gray}{White}{upper}{up} \funcgroup{Cys, Met}{CM}{Yellow}{White}{upper}{up} \funcgroup{Ser, Thr}{ST}{Orange}{White}{upper}{up} \funcgroup{Asn, Gln}{NQ}{Cyan}{White}{upper}{up} \funcgroup{Leu, Val, Ile}{LVI}{Green}{White}{upper}{up} \funcgroup{Pro}{P}{Apricot}{White}{upper}{up} \else \message{} \fi\fi\fi\fi\fi\fi\fi } \def\shadeallresidues{\all@fshadetrue} \def\get@fromstack#1;#2;#3;#4;#5@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} \xdef\fourth@{#4} \xdef\last@{#5@} } \def\getregion@fromstack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@reg\temp@\endcsname} \expandafter\get@fromstack\first@ \expandafter\xdef\csname style\temp@\endcsname{\first@} \expandafter\xdef\csname start\temp@\endcsname{\second@} \expandafter\xdef\csname stop\temp@\endcsname{\third@} \expandafter\xdef\csname all\temp@\endcsname{\fourth@} \expandafter\xdef\csname stack@reg\temp@\endcsname{\last@} } \def\sort@stack{% \expandafter\get@fromstack\last@ \ifx\first@\ampers@nd \xdef\tmpstack{\tmpstack\the\loopcount;\st@rt;\st@p;\@ll;&;&;&;&;@} \else \ifnum\st@rt<\second@ \xdef\tmpstack{\tmpstack\the\loopcount;\st@rt;\st@p;\@ll;% \first@;\second@;\third@;\fourth@;\last@} \else \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} \sort@stack \fi\fi } \def\get@regions#1..#2,#3@{% \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} \xdef\last@{\csname stack@reg\seq@\endcsname} \xdef\tmpstack{} \sort@stack \expandafter\xdef\csname stack@reg\seq@\endcsname{\tmpstack} } \def\getregion@fromhidestack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@hidereg\temp@\endcsname} \expandafter\get@fromstack\first@ \expandafter\xdef\csname hidestart\temp@\endcsname{\first@} \expandafter\xdef\csname hidestop\temp@\endcsname{\second@} \expandafter\xdef\csname hidestyle\temp@\endcsname{\third@} \expandafter\xdef\csname hidetext\temp@\endcsname{\fourth@} \expandafter\xdef\csname stack@hidereg\temp@\endcsname{\last@} } \def\sort@hidestack{% \expandafter\get@fromstack\last@ \ifx\first@\ampers@nd \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;\text@;&;&;&;&;&;@} \else \ifnum\st@rt<\second@ \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;\text@;% \first@;\second@;\third@;\fourth@;\last@} \else \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} \sort@hidestack \fi\fi } \def\get@fromemphstack#1;#2;#3;#4@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} \xdef\last@{#4@} } \def\getregion@fromemphstack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@emphreg\temp@\endcsname} \expandafter\get@fromemphstack\first@ \expandafter\xdef\csname emphstart\temp@\endcsname{\first@} \expandafter\xdef\csname emphstop\temp@\endcsname{\second@} \expandafter\xdef\csname emphall\temp@\endcsname{\third@} \expandafter\xdef\csname stack@emphreg\temp@\endcsname{\last@} } \def\sort@emphstack{% \expandafter\get@fromemphstack\last@ \ifx\first@\ampers@nd \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;&;&;&;@} \else \ifnum\st@rt<\second@ \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;\first@;\second@;\third@;\last@} \else \xdef\tmpstack{\tmpstack\first@;\second@;\third@;} \sort@emphstack \fi\fi } \def\get@emphregions#1..#2,#3@{% \regionalemphtrue \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} \xdef\last@{\csname stack@emphreg\seq@\endcsname} \xdef\tmpstack{} \sort@emphstack \expandafter\xdef\csname stack@emphreg\seq@\endcsname{\tmpstack} } \def\get@fromdomstack#1;#2;#3@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\last@{#3@} } \def\sort@domstack{% \expandafter\get@fromdomstack\last@ \ifx\first@\ampers@nd \xdef\tmpstack{\tmpstack\st@rt;\st@p;&;&;@} \else \ifnum\st@rt<\second@ \xdef\tmpstack{\tmpstack\st@rt;\st@p;\first@;\second@;\last@} \else \xdef\tmpstack{\tmpstack\first@;\second@;} \sort@domstack \fi\fi } \def\get@domainregions#1..#2,#3@{% \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} \xdef\last@{\stack@dom} \xdef\tmpstack{} \sort@domstack \xdef\stack@dom{\tmpstack} } \def\get@domain{% \expandafter\get@fromdomstack\last@ \ifx\first@\ampers@nd \else \loopcount=\first@ \loop \xdef\domain@num@list{\domain@num@list \the\loopcount,} \advance\loopcount by 1 \ifnum\loopcount>\second@\else\repeat \get@domain \fi } \def\getregion@fromtintstack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@tintreg\temp@\endcsname} \expandafter\get@fromemphstack\first@ \expandafter\xdef\csname tintstart\temp@\endcsname{\first@} \expandafter\xdef\csname tintstop\temp@\endcsname{\second@} \expandafter\xdef\csname tintall\temp@\endcsname{\third@} \expandafter\xdef\csname stack@tintreg\temp@\endcsname{\last@} } \def\sort@tintstack{% \expandafter\get@fromemphstack\last@ \ifx\first@\ampers@nd \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;&;&;&;@} \else \ifnum\st@rt<\second@ \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;\first@;\second@;\third@;\last@} \else \xdef\tmpstack{\tmpstack\first@;\second@;\third@;} \sort@tintstack \fi\fi } \def\get@tintregions#1..#2,#3@{% \regionaltinttrue \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} \xdef\last@{\csname stack@tintreg\seq@\endcsname} \xdef\tmpstack{} \sort@tintstack \expandafter\xdef\csname stack@tintreg\seq@\endcsname{\tmpstack} } \def\getregion@fromframestack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@framereg\temp@\endcsname} \expandafter\get@fromemphstack\first@ \expandafter\xdef\csname framestart\temp@\endcsname{\first@} \expandafter\xdef\csname framestop\temp@\endcsname{\second@} \expandafter\xdef\csname framestyle\temp@\endcsname{\third@} \expandafter\xdef\csname stack@framereg\temp@\endcsname{\last@} } \def\get@frameregions#1..#2,#3@{% \frame@true \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} \xdef\last@{\csname stack@framereg\seq@\endcsname} \xdef\tmpstack{} \sort@emphstack \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} } \def\getregion@fromfstack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@\bottop@\temp@\endcsname} \expandafter\get@fromstack\first@ \expandafter\xdef\csname text\bottop@\temp@\endcsname{\first@} \expandafter\xdef\csname start\bottop@\temp@\endcsname{\second@} \expandafter\xdef\csname stop\bottop@\temp@\endcsname{\third@} \ifx\fourth@\ampers@nd \xdef\fourth@{///} \fi \expandafter\xdef\csname style\bottop@\temp@\endcsname{\fourth@} \expandafter\xdef\csname stack@\bottop@\temp@\endcsname{\last@} } \def\sort@fstack{% \expandafter\get@fromstack\last@ \ifx\first@\ampers@nd \xdef\tmpstack{\tmpstack\f@text@;\st@rt;\st@p;\style@;&;&;&;&;@} \else \ifnum\st@rt<\second@ \xdef\tmpstack{\tmpstack\f@text@;\st@rt;\st@p;\style@;% \first@;\second@;\third@;\fourth@;\last@} \else \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} \sort@fstack \fi\fi } \def\get@fregions#1..#2,#3@{% \xdef\st@rt{#1} \ifx\temp@\y@ \xdef\st@p{#1} \else \xdef\st@p{#2} \fi \xdef\list@{#3} \xdef\last@{\csname stack@\bottop@\seq@\endcsname} \xdef\tmpstack{} \sort@fstack \expandafter\xdef\csname stack@\bottop@\seq@\endcsname{\tmpstack} } \def\get@frameregions#1..#2,#3@{% \frame@true \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} \xdef\last@{\csname stack@framereg\seq@\endcsname} \xdef\tmpstack{} \sort@emphstack \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} } \def\getarrow@shape#1#2#3#4&{% \xdef\first@@{#1}\xdef\second@@{#2}\xdef\third@@{#3} \if\first@@ v \if\second@@ = \else \xdef\style@{\first@@ v\third@@#4} \fi \else \if\first@@ v \if\second@@ = \else \xdef\style@{\first@@ v\third@@#4} \fi \else \if\third@@ v \if\second@@ = \else \xdef\style@{\first@@ v\third@@#4} \fi \else \if\third@@ v \if\second@@ = \else \xdef\style@{\first@@ v\third@@#4} \fi \fi\fi\fi\fi } \def\get@shape#1#2#3{% \xdef\first@@{#1}\xdef\second@@{#2}\xdef\third@@{#3}% \if\second@@ v \xdef\second@@{arrow}% \fi% \if\second@@ = \xdef\second@@{doublearrow}% \fi% } \def\getstyle@left#1#2#3#4@{% \ifstop@ \xdef\style@@{\csname fstyle\bottop@\the\loopcount\endcsname} \else \xdef\style@@{#2} \xdef\temp@{-} \ifx\style@@\temp@ \xdef\style@@{#1#2-#4} \else \xdef\temp@{v} \ifx\style@@\temp@ \xdef\style@@{#1#2-#4} \else \xdef\temp@{=} \ifx\style@@\temp@ \xdef\style@@{#1#2=#4} \else \xdef\style@@{\csname fstyle\bottop@\the\loopcount\endcsname} \fi\fi\fi\fi } \def\getstyle@right#1#2#3#4@{% \xdef\style@@{#2} \xdef\temp@{-} \ifx\style@@\temp@ \expandafter\xdef\csname fstyle\bottop@\the\loopcount\endcsname{-#2#3#4} \fi \xdef\temp@{v} \ifx\style@@\temp@ \expandafter\xdef\csname fstyle\bottop@\the\loopcount\endcsname{-#2#3#4} \fi \xdef\temp@{=} \ifx\style@@\temp@ \expandafter\xdef\csname fstyle\bottop@\the\loopcount\endcsname{=#2#3#4} \fi } \def\opt@color#1[#2]#3&{\xdef\fourth@{#1}\xdef\f@color{#2}} \def\graph@opt@color#1[#2]:#3[#4][#5]#6&{% \xdef\fourth@{#1} \xdef\f@color{#2} \xdef\ffourth@{#3} \xdef\ff@color{#4} \xdef\fffourth@{#5}} \def\arrow@col@width#1[#2][#3]#4&{\xdef\fourth@{#1}\xdef\f@color{#2}\xdef\rule@@thick{#3}} \def\second@color#1,&{\xdef\back@color{#1}} \def\two@opt@color#1,#2@{% \xdef\sixth@{#1}% \xdef\seventh@{#2}% \ifx\first@\ampers@nd% \else% \xdef\frame@color{#1}% \ifx\seventh@\ampers@nd% \xdef\back@color{#1}% \xdef\backtext@color{White}% \else% \expandafter\second@color\seventh@% \fi% \fi% } \def\test@PDB#1:#2,#3,#4,#5,#6@{% \xdef\last@{#1[,]&}\expandafter\opt@color\last@ \ifx\f@color\comm@ \xdef\PDB@distance{no} \else \xdef\f@color{\f@color .&&@} \expandafter\coord@get\f@color \temp@count=\c@@rd \multiply\temp@count by \temp@count \xdef\PDB@distance{\the\temp@count} \fi \xdef\PDB@hitpos{0} \xdef\PDB@stack{} \xdef\PDB@name{#2} \xdef\PDB@type{point} \ifx\fourth@\PDB@type \xdef\last@{#3[,]&}\expandafter\opt@color\last@ \xdef\PDB@refnum@a{\fourth@} \ifx\f@color\C@lpha \xdef\PDB@back@side@a{CA} \else \xdef\PDB@back@side@a{side} \fi \xdef\PDB@refnum@b{0} \xdef\PDB@back@side@b{x} \xdef\PDB@refnum@c{0} \xdef\PDB@back@side@c{x} \ifx\PDB@distance\n@ \xdef\PDB@distance{3600}\fi \load@PDB \expandafter\get@item\PDB@stack \xdef\list@{\first@@} \else \xdef\PDB@type{line} \ifx\fourth@\PDB@type \xdef\last@{#3[,]&}\expandafter\opt@color\last@ \xdef\PDB@refnum{\fourth@} \ifx\f@color\C@lpha \xdef\PDB@back@side{CA} \else \xdef\PDB@back@side{side} \fi \xdef\last@{#4[,]&}\expandafter\opt@color\last@ \ifnum\PDB@refnum<\fourth@ \xdef\PDB@refnum@a{\PDB@refnum} \xdef\PDB@refnum@b{\fourth@} \xdef\PDB@back@side@a{\PDB@back@side} \ifx\f@color\C@lpha \xdef\PDB@back@side@b{CA} \else \xdef\PDB@back@side@b{side} \fi \else \xdef\PDB@refnum@b{\PDB@refnum} \xdef\PDB@refnum@a{\fourth@} \xdef\PDB@back@side@b{\PDB@back@side} \ifx\f@color\C@lpha \xdef\PDB@back@side@a{CA} \else \xdef\PDB@back@side@a{side} \fi \fi \xdef\PDB@refnum@c{0} \xdef\PDB@back@side@c{x} \ifx\PDB@distance\n@ \xdef\PDB@distance{100}\fi \load@PDB \expandafter\get@item\PDB@stack \xdef\list@{\first@@} \else \xdef\PDB@type{plane} \ifx\fourth@\PDB@type \xdef\last@{#3[,]&}\expandafter\opt@color\last@ \xdef\PDB@refnum{\fourth@} \ifx\f@color\C@lpha \xdef\PDB@back@side{CA} \else \xdef\PDB@back@side{side} \fi \xdef\last@{#4[,]&}\expandafter\opt@color\last@ \ifnum\PDB@refnum<\fourth@ \xdef\PDB@refnum@a{\PDB@refnum} \xdef\PDB@refnum@b{\fourth@} \xdef\PDB@back@side@a{\PDB@back@side} \ifx\f@color\C@lpha \xdef\PDB@back@side@b{CA} \else \xdef\PDB@back@side@b{side} \fi \else \xdef\PDB@refnum@b{\PDB@refnum} \xdef\PDB@refnum@a{\fourth@} \xdef\PDB@back@side@b{\PDB@back@side} \ifx\f@color\C@lpha \xdef\PDB@back@side@a{CA} \else \xdef\PDB@back@side@a{side} \fi \fi \xdef\last@{#5[,]&}\expandafter\opt@color\last@ \xdef\PDB@refnum{\fourth@} \ifx\f@color\C@lpha \xdef\PDB@back@side{CA} \else \xdef\PDB@back@side{side} \fi \ifnum\PDB@refnum>\PDB@refnum@b \xdef\PDB@refnum@c{\PDB@refnum} \xdef\PDB@back@side@c{\PDB@back@side} \else \ifnum\PDB@refnum>\PDB@refnum@a \xdef\PDB@refnum@c{\PDB@refnum@b} \xdef\PDB@back@side@c{\PDB@back@side@b} \xdef\PDB@refnum@b{\PDB@refnum} \xdef\PDB@back@side@b{\PDB@back@side} \else \xdef\PDB@refnum@c{\PDB@refnum@b} \xdef\PDB@back@side@c{\PDB@back@side@b} \xdef\PDB@refnum@b{\PDB@refnum@a} \xdef\PDB@back@side@b{\PDB@back@side@a} \xdef\PDB@refnum@a{\PDB@refnum} \xdef\PDB@back@side@a{\PDB@back@side} \fi \fi \ifx\PDB@distance\n@ \xdef\PDB@distance{100}\fi \load@PDB \expandafter\get@item\PDB@stack \xdef\list@{\first@@} \fi \fi \fi } \def\test@fill#1:#2:#3&{% \xdef\last@{#1[,][,]&}\expandafter\arrow@col@width\last@% \xdef\second@@{\fourth@}% \xdef\last@{///}% \ifx\fourth@\last@% \xdef\second@@{empty}% \else \xdef\last@{translate}% \ifx\fourth@\last@% \xdef\second@@{translate}% \xdef\fill@char{#2[,]&}% \expandafter\opt@color\fill@char% \xdef\fill@char{\fourth@}% \else \xdef\last@{fill}% \ifx\fourth@\last@ \xdef\second@@{fill}% \xdef\fill@char{#2[,]&}% \expandafter\opt@color\fill@char% \xdef\fill@char{\fourth@}% \else \xdef\last@{bar}% \ifx\fourth@\last@ \xdef\second@@{bar}% \xdef\b@r{bar}% \ifx\f@color\comm@ \xdef\g@min{,}\xdef\g@max{,}% \else \xdef\f@color{\f@color @}% \expandafter\get@item\f@color% \xdef\g@min{\fourth@} \xdef\g@max{\first@@}% \xdef\pm@shift{\fourth@}% \fi% \xdef\fill@char{#2[,]&}% \expandafter\opt@color\fill@char% \ifx\f@color\comm@\xdef\f@color{GrayDefault}\fi% \xdef\fill@char{\fourth@}% \xdef\box@color{\f@color,&@}% \expandafter\two@opt@color\box@color% \else \xdef\last@{color}% \ifx\fourth@\last@ \xdef\second@@{color}% \ifx\f@color\comm@ \xdef\g@min{,}\xdef\g@max{,}% \else \xdef\f@color{\f@color @}% \expandafter\get@item\f@color% \xdef\g@min{\fourth@} \xdef\g@max{\first@@}% \fi% \xdef\fill@char{#2[,]&}% \expandafter\opt@color\fill@char% \ifx\f@color\comm@\xdef\f@color{GrayDefault}\fi% \xdef\fill@char{\fourth@}% \else \xdef\last@{box}% \ifx\fourth@\last@% \xdef\second@@{box}% \ifx\f@color\comm@\xdef\f@color{White}\fi% \xdef\seventh@{\f@color @}\expandafter\check@letter\seventh@% \ifnumber% \ifx\rule@@thick\comm@% \xdef\rule@@thick{\f@color}% \xdef\box@color{White,&@}% \else% \xdef\seventh@{\rule@@thick}% \xdef\rule@@thick{\f@color}% \xdef\box@color{\seventh@,&@}% \fi% \else% \xdef\box@color{\f@color,&@}% \fi% \expandafter\two@opt@color\box@color% \xdef\fill@char{#2[,]&}% \expandafter\opt@color\fill@char% \xdef\fill@char{\fourth@}% \else \xdef\last@{plotcolor}% \ifx\fourth@\last@% \xdef\second@@{plotcolor}% \ifx\f@color\comm@% \xdef\pm@shift{0}% \else% \xdef\pm@shift{\f@color}% \fi% \xdef\fill@char{#2[,]&}% \expandafter\opt@color\fill@char% \xdef\fill@char{\fourth@}% \else \xdef\last@{plotbar}% \ifx\fourth@\last@% \xdef\second@@{plotbar}% \xdef\b@r{bar}% \ifx\f@color\comm@ \xdef\pm@shift{0}% \else \xdef\pm@shift{\f@color}% \fi% \xdef\fill@char{#2[,]&}% \expandafter\opt@color\fill@char% \ifx\f@color\comm@\xdef\f@color{GrayDefault}\fi% \xdef\fill@char{\fourth@}% \xdef\box@color{\f@color,&@}% \expandafter\two@opt@color\box@color% \else \xdef\arrow@color{\f@color}% \ifx\arrow@color\comm@\xdef\arrow@color{Black}\fi% \xdef\seventh@{\f@color @}\expandafter\check@letter\seventh@% \ifnumber% \ifx\rule@@thick\comm@% \xdef\rule@@thick{\f@color}% \xdef\arrow@color{Black}% \else% \xdef\seventh@{\rule@@thick}% \xdef\rule@@thick{\f@color}% \xdef\arrow@color{\seventh@}% \fi% \fi% \xdef\fill@char{#2[,]&}% \expandafter\opt@color\fill@char% \xdef\fill@char{\fourth@}% \ifx\f@color\comm@\xdef\f@color{Black,White}\fi% \xdef\backtext@color{White}% \xdef\f@color{\f@color,&@}% \expandafter\two@opt@color\f@color% \xdef\f@color{\arrow@color}% \fi \fi \fi \fi \fi \fi \fi \fi \xdef\seventh@{\f@color @}\expandafter\check@letter\seventh@% \ifnumber% \ifx\rule@@thick\comm@% \xdef\rule@@thick{\f@color}% \xdef\f@color{Black}% \else% \xdef\seventh@{\rule@@thick}% \xdef\rule@@thick{\f@color}% \xdef\f@color{\seventh@}% \fi% \fi% \ifx\rule@@thick\comm@\xdef\rule@@thick{\the\rule@thick}\fi% \ifx\f@color\comm@\xdef\f@color{Black}\fi} \def\clear@groups{% \expandafter\xdef\csname \prfx grpA\endcsname{ -1} \expandafter\xdef\csname \prfx grpB\endcsname{ -2} \expandafter\xdef\csname \prfx grpC\endcsname{ -3} \expandafter\xdef\csname \prfx grpD\endcsname{ -4} \expandafter\xdef\csname \prfx grpE\endcsname{ -5} \expandafter\xdef\csname \prfx grpF\endcsname{ -6} \expandafter\xdef\csname \prfx grpG\endcsname{ -7} \expandafter\xdef\csname \prfx grpH\endcsname{ -8} \expandafter\xdef\csname \prfx grpI\endcsname{ -9} \expandafter\xdef\csname \prfx grpJ\endcsname{-10} \expandafter\xdef\csname \prfx grpK\endcsname{-11} \expandafter\xdef\csname \prfx grpL\endcsname{-12} \expandafter\xdef\csname \prfx grpM\endcsname{-13} \expandafter\xdef\csname \prfx grpN\endcsname{-14} \expandafter\xdef\csname \prfx grpO\endcsname{-15} \expandafter\xdef\csname \prfx grpP\endcsname{-16} \expandafter\xdef\csname \prfx grpQ\endcsname{-17} \expandafter\xdef\csname \prfx grpR\endcsname{-18} \expandafter\xdef\csname \prfx grpS\endcsname{-19} \expandafter\xdef\csname \prfx grpT\endcsname{-20} \expandafter\xdef\csname \prfx grpU\endcsname{-21} \expandafter\xdef\csname \prfx grpV\endcsname{-22} \expandafter\xdef\csname \prfx grpW\endcsname{-23} \expandafter\xdef\csname \prfx grpX\endcsname{-24} \expandafter\xdef\csname \prfx grpY\endcsname{-25} \expandafter\xdef\csname \prfx grpZ\endcsname{-26} \expandafter\xdef\csname \prfx grp-\endcsname{-999} \expandafter\xdef\csname \prfx grp.\endcsname{-999} \expandafter\xdef\csname \prfx grp=\endcsname{-999} } \def\inactivate@chars{% \catcode`\#=12 \catcode`\"=12 \catcode`\~=12 \catcode`\^=12 \catcode`\_=12 } \def\numcount{\the\loopcount} \def\Alphacount{\@Alph\loopcount} \def\alphacount{\@alph\loopcount} \def\romancount{\@roman\loopcount} \def\Romancount{\@Roman\loopcount} \def\cut@name#1.#2@{\global\xdef\file@n@me{#1}} \def\coord@get#1.#2#3@{% \xdef\temp@{#2} \ifx\temp@\ampers@nd \xdef\temp@{0} \fi \xdef\c@@rd{#1\temp@} } \def\struc@get#1 #2 #3 #4 #5 #6 #7 #8 #9@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} \xdef\fourth@{#4} \xdef\fifth@{#5} \xdef\sixth@{#6} \xdef\seventh@{#7}\xdef\eighth@{#8} \xdef\nineth@{#9}} \def\get@PHD#1|#2|#3@{\xdef\PHD@line{\PHD@line #2}} \def\write@PHDsec{% \expandafter\get@sim\last@ \ifx\sim@char\c@mp \def\end@{\the\innerloopcount} \advance\innerloopcount by 1 \else \ifnum\end@<\begin@ \xdef\end@{\begin@}\fi \if\c@mp . \else \if\c@mp L \else \if\c@mp H \ifx\show@Hsec\yes \loopcount=\first@ \advance\loopcount by 1 \xdef\first@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Hsec}{\begin@..\end@}% {\label@Hsec}{\text@Hsec}} \else \immediate\write\featurefile{% \string\feature{\bottop@Hsec}{\st@rt}{\begin@..\end@}% {\label@Hsec}{\text@Hsec}}\fi \fi \else \if\c@mp E \ifx\show@Esec\yes \loopcount=\second@ \advance\loopcount by 1 \xdef\second@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Esec}{\begin@..\end@}% {\label@Esec}{\text@Esec}} \else \immediate\write\featurefile{% \string\feature{\bottop@Esec}{\st@rt}{\begin@..\end@}% {\label@Esec}{\text@Esec}}\fi \fi \fi\fi\fi\fi \xdef\c@mp{\sim@char} \advance\innerloopcount by 1 \xdef\begin@{\the\innerloopcount} \fi \ifx\sim@char\ampers@nd\else\write@PHDsec\fi } \def\write@PHDtopo{% \expandafter\get@sim\last@ \ifx\sim@char\c@mp \def\end@{\the\innerloopcount} \advance\innerloopcount by 1 \else \ifnum\end@<\begin@ \xdef\end@{\begin@}\fi \if\c@mp . \else \if\c@mp L \else \if\c@mp T \ifx\show@TMtop\yes \loopcount=\first@ \advance\loopcount by 1 \xdef\first@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@TMtop}{\begin@..\end@}% {\label@TMtop}{\text@TMtop}} \else \immediate\write\featurefile{% \string\feature{\bottop@TMtop}{\st@rt}{\begin@..\end@}% {\label@TMtop}{\text@TMtop}}\fi \fi \else \if\c@mp i \ifx\show@itop\yes \loopcount=\second@ \advance\loopcount by 1 \xdef\second@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@itop}{\begin@..\end@}% {\label@itop}{\text@itop}} \else \immediate\write\featurefile{% \string\feature{\bottop@itop}{\st@rt}{\begin@..\end@}% {\label@itop}{\text@itop}}\fi \fi \else \if\c@mp o \ifx\show@etop\yes \loopcount=\second@ \advance\loopcount by 1 \xdef\second@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@etop}{\begin@..\end@}% {\label@etop}{\text@etop}} \else \immediate\write\featurefile{% \string\feature{\bottop@etop}{\st@rt}{\begin@..\end@}% {\label@etop}{\text@etop}}\fi \fi \fi\fi\fi\fi\fi \xdef\c@mp{\sim@char} \advance\innerloopcount by 1 \xdef\begin@{\the\innerloopcount} \fi \ifx\sim@char\ampers@nd\else\write@PHDtopo\fi } \def\include@T@coffee{% \bgroup \immediate\openin\structurefile = \TC@first@\relax \ifeof\structurefile \PackageError{TeXshade} {File `\TC@first@' not found} {\MessageBreak The file you specified is missing or you have \MessageBreak misspelled it. \MessageBreak\MessageBreak No T-Coffee shading will be displayed (using "similar"). \MessageBreak Type to proceed. \MessageBreak Type X to quit. \MessageBreak } \immediate\closein\structurefile\egroup \simmodetrue \funcmodefalse \T@coffeefalse \else \message{} \xdef\first@{} \xdef\temp@{*} \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \ifx\first@\temp@ \xdef\temp@{y} \read\structurefile to \readline \read\structurefile to \readline \fi \fi \ifx\temp@\y@ \else\repeat \loopcount=0 \xdef\temp@{cons} \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \if\second@ : \advance\loopcount by 1\relax \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} \fi \fi \ifx\first@\temp@\expandafter\xdef\csname T@coffee0\endcsname{} \else\repeat \xdef\temp@{\the\loopcount} \loopcount=0 \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \advance\loopcount by 1 \ifnum\loopcount=\temp@ \loopcount=0 \fi \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname \third@} \fi \ifeof\structurefile \else\repeat \closein\structurefile \loopcount=0 \loop \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} \advance\loopcount by 1 \ifnum\loopcount=\temp@ \else\repeat \egroup \def\n@m@tch{{$\bullet$}} \expandafter\def\csname fg@color0\endcsname{TC0} \expandafter\def\csname fg@color1\endcsname{TC1} \expandafter\def\csname fg@color2\endcsname{TC2} \expandafter\def\csname fg@color3\endcsname{TC3} \expandafter\def\csname fg@color4\endcsname{TC4} \expandafter\def\csname fg@color5\endcsname{TC5} \expandafter\def\csname fg@color6\endcsname{TC6} \expandafter\def\csname fg@color7\endcsname{TC7} \expandafter\def\csname fg@color8\endcsname{TC8} \expandafter\def\csname fg@color9\endcsname{TC9} \expandafter\def\csname fg@textcolor0\endcsname{Black} \expandafter\def\csname fg@textcolor1\endcsname{Black} \expandafter\def\csname fg@textcolor2\endcsname{Black} \expandafter\def\csname fg@textcolor3\endcsname{Black} \expandafter\def\csname fg@textcolor4\endcsname{Black} \expandafter\def\csname fg@textcolor5\endcsname{Black} \expandafter\def\csname fg@textcolor6\endcsname{Black} \expandafter\def\csname fg@textcolor7\endcsname{Black} \expandafter\def\csname fg@textcolor8\endcsname{Black} \expandafter\def\csname fg@textcolor9\endcsname{Black} \fi } \def\include@DSSP{% \xdef\first@{\csname optiondssp\the\loopcount\endcsname} \xdef\bottop@{\csname bottopdssp\the\loopcount\endcsname} \xdef\st@rt{\csname doseqdssp\the\loopcount\endcsname} \xdef\structurefilename{\csname filenamedssp\the\loopcount\endcsname} \bgroup \xdef\file@n@me{\structurefilename .@} \expandafter\cut@name\file@n@me \xdef\file@n@me{\file@n@me.sec} \ifx\first@\file@n@me \else \immediate\openin\alignfile = \file@n@me\relax \ifeof\alignfile \xdef\first@{make new} \fi \immediate\closein\alignfile \fi \xdef\temp@{make new} \ifx\first@\temp@ \def\par{} \inactivate@chars \immediate\openin\structurefile = \structurefilename\relax \ifeof\structurefile \PackageError{TeXshade} {File `\structurefilename' not found} {\MessageBreak The `DSSP' file you specified is missing or you have \MessageBreak misspelled it. \MessageBreak\MessageBreak No labels for secondary structures will be displayed. \MessageBreak Type to proceed. \MessageBreak Type X to quit. \MessageBreak } \immediate\closein\structurefile\egroup \else \message{[\structurefilename] ->} \xdef\second@{} \xdef\temp@{RESIDUE} \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \ifx\second@\temp@ \xdef\temp@{AA}\fi \ifx\third@\temp@ \else\repeat \immediate\openout\featurefile = \file@n@me \xdef\c@mp{+} \xdef\begin@{\csname seq@start\st@rt\endcsname} \xdef\end@{\csname seq@start\st@rt\endcsname} \xdef\st@rt@{\begin@} \expandafter\innerloopcount=\csname seq@start\st@rt\endcsname \advance\innerloopcount by -1 \xdef\first@@{0} \xdef\second@@{0} \xdef\third@@{0} \xdef\fourth@@{0} \xdef\fifth@@{0} \xdef\sixth@@{0} \xdef\seventh@@{0} \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \if\c@mp + \xdef\c@mp{\fifth@}\fi \ifx\fifth@\c@mp \ifx\fc@DSSP\y@ \temp@count=\first@ \else \temp@count=\second@ \fi \advance\temp@count by \st@rt@ \advance\temp@count by -1 \xdef\end@{\the\temp@count} \else \ifnum\begin@>0 \ifnum\end@<\begin@ \xdef\end@{\begin@}\fi \if\c@mp C \else \if\c@mp H \ifx\show@Hdssp\yes \loopcount=\first@@ \advance\loopcount by 1 \xdef\first@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Hdssp}{\begin@..\end@}% {\label@Hdssp}{\text@Hdssp}} \else \immediate\write\featurefile{% \string\feature{\bottop@Hdssp}{\st@rt}{\begin@..\end@}% {\label@Hdssp}{\text@Hdssp}}\fi \fi \else \if\c@mp G \ifx\show@Gdssp\yes \loopcount=\second@@ \advance\loopcount by 1 \xdef\second@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Gdssp}{\begin@..\end@}% {\label@Gdssp}{\text@Gdssp}} \else \immediate\write\featurefile{% \string\feature{\bottop@Gdssp}{\st@rt}{\begin@..\end@}% {\label@Gdssp}{\text@Gdssp}}\fi \fi \else \if\c@mp I \ifx\show@Idssp\yes \loopcount=\third@@ \advance\loopcount by 1 \xdef\third@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Idssp}{\begin@..\end@}% {\label@Idssp}{\text@Idssp}} \else \immediate\write\featurefile{% \string\feature{\bottop@Idssp}{\st@rt}{\begin@..\end@}% {\label@Idssp}{\text@Idssp}}\fi \fi \else \if\c@mp E \ifx\show@Edssp\yes \loopcount=\fourth@@ \advance\loopcount by 1 \xdef\fourth@@{\the\loopcount} \advance\innerloopcount by 1 \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Edssp}{\begin@..\end@}% {\label@Edssp}{\text@Edssp}} \else \immediate\write\featurefile{% \string\feature{\bottop@Edssp}{\st@rt}{\begin@..\end@}% {\label@Edssp}{\text@Edssp}}\fi \fi \else \if\c@mp B \ifx\show@Bdssp\yes \loopcount=\fifth@@ \advance\loopcount by 1 \xdef\fifth@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Bdssp}{\begin@..\end@}% {\label@Bdssp}{\text@Bdssp}} \else \immediate\write\featurefile{% \string\feature{\bottop@Bdssp}{\st@rt}{\begin@..\end@}% {\label@Bdssp}{\text@Bdssp}}\fi \fi \else \if\c@mp T \ifx\show@Tdssp\yes \loopcount=\sixth@@ \advance\loopcount by 1 \xdef\sixth@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Tdssp}{\begin@..\end@}% {\label@Tdssp}{\text@Tdssp}} \else \immediate\write\featurefile{% \string\feature{\bottop@Tdssp}{\st@rt}{\begin@..\end@}% {\label@Tdssp}{\text@Tdssp}}\fi \fi \else \if\c@mp S \ifx\show@Sdssp\yes \loopcount=\seventh@@ \advance\loopcount by 1 \xdef\seventh@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Sdssp}{\begin@..\end@}% {\label@Sdssp}{\text@Sdssp}} \else \immediate\write\featurefile{% \string\feature{\bottop@Sdssp}{\st@rt}{\begin@..\end@}% {\label@Sdssp}{\text@Sdssp}}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi \fi \xdef\c@mp{\fifth@} \ifx\fc@DSSP\y@ \temp@count=\first@ \else \temp@count=\second@ \fi \advance\temp@count by \st@rt@ \advance\temp@count by -1 \xdef\begin@{\the\temp@count} \fi \fi \ifeof\structurefile \else\repeat \closein\structurefile \immediate\closeout\featurefile \egroup \input{\file@n@me} \fi \else \egroup \message{using existing file:} \input{\file@n@me} \fi } \def\include@HMMTOP{% \def\get@HMMTOP@TMs##1-##2 ##3@{% \xdef\temp@@{\temp@@\fourth@@##1\fourth@@##2} \xdef\structureline{##3 @} } \def\get@HMMTOP{% \ifnum\temp@count<\fifth@ \advance\temp@count by 1 \expandafter\get@HMMTOP@TMs\structureline \get@HMMTOP \fi } \def\rem@ve@TM@info Transmembrane helices: ##1@{% \xdef\structureline{##1 @} \temp@count=0 \get@HMMTOP } \xdef\bottop@{\csname bottopHMMTOP\the\loopcount\endcsname} \xdef\st@rt{\csname doseqHMMTOP\the\loopcount\endcsname} \xdef\first@{\csname optionHMMTOP\the\loopcount\endcsname} \xdef\structurefilename{\csname filenameHMMTOP\the\loopcount\endcsname} \bgroup \xdef\file@n@me{\structurefilename .@} \expandafter\cut@name\file@n@me \xdef\file@n@me{\file@n@me.top} \ifx\first@\file@n@me \else \immediate\openin\alignfile = \file@n@me\relax \ifeof\alignfile \xdef\first@{make new} \fi \immediate\closein\alignfile \fi \xdef\temp@{make new} \ifx\first@\temp@ \def\par{} \inactivate@chars \immediate\openin\structurefile = \structurefilename\relax \ifeof\structurefile \PackageError{TeXshade} {File `\structurefilename' not found} {\MessageBreak The `HMMTOP' file you specified is missing or you have \MessageBreak misspelled it. \MessageBreak\MessageBreak No labels for secondary structures will be displayed. \MessageBreak Type to proceed. \MessageBreak Type X to quit. \MessageBreak } \immediate\closein\structurefile\egroup \else \message{[\structurefilename] ->} \immediate\openout\featurefile = \file@n@me \xdef\first@{\csname fileseqHMMTOP\the\loopcount\endcsname @} \expandafter\check@letter\first@ \ifletter \xdef\st@p{\csname fileseqHMMTOP\the\loopcount\endcsname} \else \xdef\first@{\csname fileseqHMMTOP\the\loopcount\endcsname} \ifnum\first@=0 \xdef\st@p{0} \else \xdef\st@p{\csname fileseqHMMTOP\the\loopcount\endcsname} \fi \fi \xdef\temp@{yes} \innerloopcount=0 \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \ifx\first@\@HP \ifx\temp@\yes \xdef\temp@{\readline} \fi \ifletter \ifx\st@p\third@ \xdef\temp@{\readline} \fi \else \ifnum\st@p=0 \expandafter\ifx\csname seqname\st@rt\endcsname\third@ \xdef\temp@{\readline} \xdef\st@p{-1} \else \expandafter\ifx\csname newseqname\st@rt\endcsname\third@ \xdef\temp@{\readline} \xdef\st@p{-1} \fi \fi \else \advance\innerloopcount by 1 \ifnum\st@p=\innerloopcount \xdef\temp@{\readline} \fi \fi \fi \else \xdef\first@@{Protein:} \ifx\first@\first@@ \xdef\second@@{\second@} \xdef\temp@@{>HP:} \xdef\fourth@@{ } \read\structurefile to \readline \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \xdef\temp@@{\temp@@\fourth@@\second@\fourth@@\second@@} \read\structurefile to \readline \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \xdef\temp@@{\temp@@\fourth@@\second@} \read\structurefile to \readline \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \xdef\temp@@{\temp@@\fourth@@\fifth@} \read\structurefile to \readline \xdef\structureline{\readline @} \expandafter\rem@ve@TM@info\structureline \xdef\temp@@{\temp@@\fourth@@} \ifx\temp@\yes \xdef\temp@{\temp@@} \fi \ifletter \ifx\st@p\third@ \xdef\temp@{\temp@@} \fi \else \ifnum\st@p=0 \expandafter\ifx\csname seqname\st@rt\endcsname\second@@ \xdef\temp@{\temp@@} \else \expandafter\ifx\csname newseqname\st@rt\endcsname\second@@ \xdef\temp@{\temp@@} \fi \fi \else \advance\innerloopcount by 1 \ifnum\st@p=\innerloopcount \xdef\temp@{\temp@@} \fi \fi \fi \fi \fi \fi \ifeof\structurefile \else\repeat \xdef\seq@line{\temp@ @} \innerloopcount=0 \loop \advance\innerloopcount by 1 \expandafter\seq@get\seq@line \xdef\seq@line{\seq@line @} \ifnum\innerloopcount=4 \xdef\c@mp{\first@} \fi \ifnum\innerloopcount=5 \xdef\st@p{\first@} \else \repeat \xdef\first@{IN} \ifx\c@mp\first@ \xdef\c@mp{i} \else \xdef\c@mp{e} \fi \xdef\begin@{1} \xdef\first@@{0} \xdef\second@@{0} \innerloopcount=0 \loop \advance\innerloopcount by 1 \expandafter\seq@get\seq@line \xdef\seq@line{\seq@line @} \temp@count=\first@ \advance\temp@count by -1 \xdef\end@{\the\temp@count} \loopcount=\second@@ \advance\loopcount by 1 \xdef\second@@{\the\loopcount} \if\c@mp i \ifx\show@i@HMMTOP\yes \immediate\write\featurefile{% \string\feature{\bottop@i@HMMTOP}{\st@rt}{\begin@..\end@}% {\label@i@HMMTOP}{\text@i@HMMTOP}}\fi \xdef\c@mp{e} \else \ifx\show@e@HMMTOP\yes \immediate\write\featurefile{% \string\feature{\bottop@e@HMMTOP}{\st@rt}{\begin@..\end@}% {\label@e@HMMTOP}{\text@e@HMMTOP}}\fi \xdef\c@mp{i} \fi \advance\temp@count by 1 \xdef\begin@{\the\temp@count} \expandafter\seq@get\seq@line \xdef\seq@line{\seq@line @} \xdef\end@{\first@} \loopcount=\first@@ \advance\loopcount by 1 \xdef\first@@{\the\loopcount} \ifx\show@TM@HMMTOP\yes \immediate\write\featurefile{% \string\feature{\bottop@TM@HMMTOP}{\st@rt}{\begin@..\end@}% {\label@TM@HMMTOP}{\text@TM@HMMTOP}}\fi \temp@count=\end@ \advance\temp@count by 1 \xdef\begin@{\the\temp@count} \ifnum\innerloopcount=\st@p\else\repeat \closein\structurefile \immediate\closeout\featurefile \egroup \input{\file@n@me} \fi \else \egroup \message{using existing file:} \input{\file@n@me} \fi } \def\include@stride{% \xdef\first@{\csname optionstride\the\loopcount\endcsname} \xdef\bottop@{\csname bottopstride\the\loopcount\endcsname} \xdef\st@rt{\csname doseqstride\the\loopcount\endcsname} \xdef\structurefilename{\csname filenamestride\the\loopcount\endcsname} \bgroup \xdef\file@n@me{\structurefilename .@} \expandafter\cut@name\file@n@me \xdef\file@n@me{\file@n@me.sec} \ifx\first@\file@n@me \else \immediate\openin\alignfile = \file@n@me\relax \ifeof\alignfile \xdef\first@{make new} \fi \immediate\closein\alignfile \fi \xdef\temp@{make new} \ifx\first@\temp@ \def\par{} \inactivate@chars \immediate\openin\structurefile = \structurefilename\relax \ifeof\structurefile \PackageError{TeXshade} {File `\structurefilename' not found} {\MessageBreak The `STRIDE' file you specified is missing or you have \MessageBreak misspelled it. \MessageBreak\MessageBreak No labels for secondary structures will be displayed. \MessageBreak Type to proceed. \MessageBreak Type X to quit. \MessageBreak } \immediate\closein\structurefile\egroup \else \message{[\structurefilename] ->} \immediate\openout\featurefile = \file@n@me \xdef\c@mp{+} \xdef\begin@{\csname seq@start\st@rt\endcsname} \xdef\end@{\csname seq@start\st@rt\endcsname} \xdef\st@rt@{\begin@} \expandafter\innerloopcount=\csname seq@start\st@rt\endcsname \advance\innerloopcount by -1 \xdef\first@@{0} \xdef\second@@{0} \xdef\third@@{0} \xdef\fourth@@{0} \xdef\fifth@@{0} \xdef\sixth@@{0} \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \ifx\first@\@asg \if\c@mp + \xdef\c@mp{\sixth@}\fi \ifx\sixth@\c@mp \temp@count=\fifth@ \advance\temp@count by \st@rt@ \advance\temp@count by -1 \xdef\end@{\the\temp@count} \else \ifnum\begin@>0 \ifnum\end@<\begin@ \xdef\end@{\begin@}\fi \if\c@mp C \else \if\c@mp H \ifx\show@Hstride\yes \loopcount=\first@@ \advance\loopcount by 1 \xdef\first@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Hstride}{\begin@..\end@}% {\label@Hstride}{\text@Hstride}} \else \immediate\write\featurefile{% \string\feature{\bottop@Hstride}{\st@rt}{\begin@..\end@}% {\label@Hstride}{\text@Hstride}}\fi \fi \else \if\c@mp G \ifx\show@Gstride\yes \loopcount=\second@@ \advance\loopcount by 1 \xdef\second@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Gstride}{\begin@..\end@}% {\label@Gstride}{\text@Gstride}} \else \immediate\write\featurefile{% \string\feature{\bottop@Gstride}{\st@rt}{\begin@..\end@}% {\label@Gstride}{\text@Gstride}}\fi \fi \else \if\c@mp I \ifx\show@Istride\yes \loopcount=\third@@ \advance\loopcount by 1 \xdef\third@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Istride}{\begin@..\end@}% {\label@Istride}{\text@Istride}} \else \immediate\write\featurefile{% \string\feature{\bottop@Istride}{\st@rt}{\begin@..\end@}% {\label@Istride}{\text@Istride}}\fi \fi \else \if\c@mp E \ifx\show@Estride\yes \loopcount=\fourth@@ \advance\loopcount by 1 \xdef\fourth@@{\the\loopcount} \advance\innerloopcount by 1 \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Estride}{\begin@..\end@}% {\label@Estride}{\text@Estride}} \else \immediate\write\featurefile{% \string\feature{\bottop@Estride}{\st@rt}{\begin@..\end@}% {\label@Estride}{\text@Estride}}\fi \fi \else \if\c@mp B \ifx\show@Bstride\yes \loopcount=\fifth@@ \advance\loopcount by 1 \xdef\fifth@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Bstride}{\begin@..\end@}% {\label@Bstride}{\text@Bstride}} \else \immediate\write\featurefile{% \string\feature{\bottop@Bstride}{\st@rt}{\begin@..\end@}% {\label@Bstride}{\text@Bstride}}\fi \fi \else \if\c@mp T \ifx\show@Tstride\yes \loopcount=\sixth@@ \advance\loopcount by 1 \xdef\sixth@@{\the\loopcount} \ifx\m@p\yes \immediate\write\featurefile{% \string\feature{\bottop@Tstride}{\begin@..\end@}% {\label@Tstride}{\text@Tstride}} \else \immediate\write\featurefile{% \string\feature{\bottop@Tstride}{\st@rt}{\begin@..\end@}% {\label@Tstride}{\text@Tstride}}\fi \fi \fi\fi\fi\fi\fi\fi\fi \fi \xdef\c@mp{\sixth@} \temp@count=\fifth@ \advance\temp@count by \st@rt@ \advance\temp@count by -1 \xdef\begin@{\the\temp@count} \fi \fi \fi \ifeof\structurefile \else\repeat \closein\structurefile \immediate\closeout\featurefile \egroup \input{\file@n@me} \fi \else \egroup \message{using existing file:} \input{\file@n@me} \fi } \def\include@PHD{% \xdef\first@{\csname optionphd\the\loopcount\endcsname} \xdef\bottop@{\csname bottopphd\the\loopcount\endcsname} \xdef\st@rt{\csname doseqphd\the\loopcount\endcsname} \xdef\m@de{\csname modephd\the\loopcount\endcsname} \xdef\structurefilename{\csname filenamephd\the\loopcount\endcsname} \bgroup \xdef\file@n@me{\structurefilename .@} \expandafter\cut@name\file@n@me \xdef\temp@{structure} \ifx\m@de\temp@ \xdef\temp@{\file@n@me .sec} \immediate\openin\alignfile = \temp@\relax \ifeof\alignfile \xdef\first@{make new} \fi \immediate\closein\alignfile \else \xdef\temp@{topology} \ifx\m@de\temp@ \xdef\temp@{\file@n@me .top} \immediate\openin\alignfile = \temp@\relax \ifeof\alignfile \xdef\first@{make new} \fi \immediate\closein\alignfile \else \message{} \xdef\first@{ignore} \fi\fi \xdef\temp@{make new} \ifx\first@\temp@ \def\par{} \xdef\PHD@line{} \inactivate@chars \immediate\openin\structurefile=\structurefilename\relax \ifeof\structurefile \PackageError{TeXshade}% {File `\structurefilename' not found}% {\MessageBreak The `PHD' file you specified is missing or you have \MessageBreak misspelled it. \MessageBreak\MessageBreak No labels for secondary structures will be displayed. \MessageBreak Type to proceed. \MessageBreak Type X to quit. \MessageBreak } \immediate\closein\structurefile\egroup \else \message{[\structurefilename] ->} \loop \read\structurefile to \readline \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \xdef\temp@{structure} \ifx\m@de\temp@ \xdef\temp@{SUB} \ifx\temp@\first@ \xdef\temp@{sec} \ifx\temp@\second@ \xdef\third@{\third@ @} \expandafter\get@PHD\third@ \fi \else \ifx\temp@\second@ \xdef\temp@{sec} \ifx\temp@\third@ \xdef\fourth@{\fourth@ @} \expandafter\get@PHD\fourth@ \fi \fi \fi \else \xdef\temp@{topology} \ifx\m@de\temp@ \xdef\temp@{PHDThtm} \ifx\temp@\first@ \xdef\second@{\second@ @} \expandafter\get@PHD\second@ \fi \fi\fi \ifeof\structurefile \else\repeat \closein\structurefile \xdef\c@mp{+} \xdef\begin@{\csname seq@start\st@rt\endcsname} \xdef\end@{\csname seq@start\st@rt\endcsname} \expandafter\innerloopcount=\csname seq@start\st@rt\endcsname \advance\innerloopcount by -1 \xdef\first@{0} \xdef\second@{0} \xdef\third@{0} \xdef\fourth@{0} \xdef\fifth@{0} \xdef\sixth@{0} \xdef\last@{\PHD@line &@} \xdef\temp@{structure} \ifx\temp@\m@de \xdef\file@n@me{\file@n@me .sec} \immediate\openout\featurefile = \file@n@me\relax \write@PHDsec \fi \xdef\temp@{topology} \ifx\temp@\m@de \xdef\file@n@me{\file@n@me .top} \immediate\openout\featurefile = \file@n@me\relax \write@PHDtopo \fi \immediate\closeout\featurefile \egroup \input{\file@n@me} \fi \else \egroup \xdef\temp@{ignore} \ifx\temp@\first@ \else \message{using existing file:} \xdef\temp@{structure} \ifx\temp@\m@de \xdef\file@n@me{\file@n@me .sec} \fi \xdef\temp@{topology} \ifx\temp@\m@de \xdef\file@n@me{\file@n@me .top} \fi \input{\file@n@me} \fi \fi} \def\show@DSSP{% \expandafter\get@item\first@ \ifx\fourth@\ampers@nd \else \xdef\temp@{alpha} \ifx\fourth@\temp@ \xdef\show@Hdssp{\second@}\fi \xdef\temp@{3-10} \ifx\fourth@\temp@ \xdef\show@Gdssp{\second@}\fi \xdef\temp@{pi} \ifx\fourth@\temp@ \xdef\show@Idssp{\second@}\fi \xdef\temp@{beta} \ifx\fourth@\temp@ \xdef\show@Edssp{\second@}\fi \xdef\temp@{bridge} \ifx\fourth@\temp@ \xdef\show@Bdssp{\second@}\fi \xdef\temp@{turn} \ifx\fourth@\temp@ \xdef\show@Tdssp{\second@}\fi \xdef\temp@{bend} \ifx\fourth@\temp@ \xdef\show@Sdssp{\second@}\fi \show@DSSP \fi} \def\show@HMMTOP{% \expandafter\get@item\first@ \ifx\fourth@\ampers@nd \else \xdef\temp@{internal} \ifx\fourth@\temp@ \xdef\show@i@HMMTOP{\second@}\fi \xdef\temp@{external} \ifx\fourth@\temp@ \xdef\show@e@HMMTOP{\second@}\fi \xdef\temp@{TM} \ifx\fourth@\temp@ \xdef\show@TM@HMMTOP{\second@}\fi \show@HMMTOP \fi} \def\show@STRIDE{% \expandafter\get@item\first@ \ifx\fourth@\ampers@nd \else \xdef\temp@{alpha} \ifx\fourth@\temp@ \xdef\show@Hstride{\second@}\fi \xdef\temp@{3-10} \ifx\fourth@\temp@ \xdef\show@Gstride{\second@}\fi \xdef\temp@{pi} \ifx\fourth@\temp@ \xdef\show@Istride{\second@}\fi \xdef\temp@{beta} \ifx\fourth@\temp@ \xdef\show@Estride{\second@}\fi \xdef\temp@{bridge} \ifx\fourth@\temp@ \xdef\show@Bstride{\second@}\fi \xdef\temp@{turn} \ifx\fourth@\temp@ \xdef\show@Tstride{\second@}\fi \show@STRIDE \fi} \def\show@PHDtopo{% \expandafter\get@item\first@ \ifx\fourth@\ampers@nd \else \xdef\temp@{internal} \ifx\fourth@\temp@ \xdef\show@itop{\second@}\fi \xdef\temp@{external} \ifx\fourth@\temp@ \xdef\show@etop{\second@}\fi \xdef\temp@{TM} \ifx\fourth@\temp@ \xdef\show@TMtop{\second@}\fi \show@PHDtopo \fi} \def\show@PHDsec{% \expandafter\get@item\first@ \ifx\fourth@\ampers@nd \else \xdef\temp@{alpha} \ifx\fourth@\temp@ \xdef\show@Hsec{\second@}\fi \xdef\temp@{beta} \ifx\fourth@\temp@ \xdef\show@Esec{\second@}\fi \show@PHDsec \fi} \def\get@triplet#1,#2@{% \xdef\third@{#1} \ifx\third@\ampers@nd \else \expandafter\xdef\csname @\third@\endcsname{\first@} \expandafter\xdef\csname rev@\first@\endcsname{\third@} \xdef\fourth@{#2,&,@} \expandafter\get@triplet\fourth@ \fi} \def\get@dom@count#1,#2@{\res@count=#1 \xdef\temp@{#2 @}} \def\get@name@number{% \xdef\second@{n} \loopcount=0 \loop \advance\loopcount by 1 \expandafter\ifx\csname newseqname\the\loopcount\endcsname\first@ \xdef\first@{\the\loopcount} \loopcount=\seq@count \xdef\second@{y} \fi \ifnum\loopcount=\seq@count \else \repeat \ifx\second@\n@ \message{} \xdef\first@{1} \fi } \def\calc@distance@point{% \loopcount=\xref@coord@a \advance\loopcount by -\x@coord\relax \multiply\loopcount by \loopcount \xdef\x@distance{\the\loopcount} \loopcount=\yref@coord@a \advance\loopcount by -\y@coord\relax \multiply\loopcount by \loopcount \xdef\y@distance{\the\loopcount} \loopcount=\zref@coord@a \advance\loopcount by -\z@coord\relax \multiply\loopcount by \loopcount \xdef\z@distance{\the\loopcount} \advance\loopcount by \y@distance\relax \advance\loopcount by \x@distance\relax \ifnum\loopcount > \PDB@distance \else \loopcount=\PDB@hitpos \advance\loopcount by 1 \ifnum\loopcount=\PDB@pos \else \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} \fi \xdef\PDB@hitpos{\PDB@pos} \fi } \def\calc@distance@line{% \loopcount=\x@coord\relax \multiply\loopcount by \x@orient \temp@count=\y@coord \relax \multiply\temp@count by \y@orient \advance\loopcount by \temp@count \temp@count=\z@coord \relax \multiply\temp@count by \z@orient \advance\loopcount by \temp@count \advance\loopcount by -\c@nst@ \xdef\z@hler{\the\loopcount} \multiply\loopcount by \x@orient \divide\loopcount by \f@ct@r \advance\loopcount by \xref@coord@a \advance\loopcount by -\x@coord \multiply\loopcount by \loopcount \xdef\x@distance{\the\loopcount} \loopcount=\z@hler \multiply\loopcount by \y@orient \divide\loopcount by \f@ct@r \advance\loopcount by \yref@coord@a \advance\loopcount by -\y@coord \multiply\loopcount by \loopcount \xdef\y@distance{\the\loopcount} \loopcount=\z@hler \multiply\loopcount by \z@orient \divide\loopcount by \f@ct@r \advance\loopcount by \zref@coord@a \advance\loopcount by -\z@coord \multiply\loopcount by \loopcount \xdef\z@distance{\the\loopcount} \advance\loopcount by \y@distance\relax \advance\loopcount by \x@distance\relax \ifnum\loopcount > \PDB@distance \else \loopcount=\PDB@hitpos \advance\loopcount by 1 \ifnum\loopcount=\PDB@pos \else \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} \fi \xdef\PDB@hitpos{\PDB@pos} \fi } \def\intr@@t{% \loopcount=\r@@t \temp@count=1 \loop \advance\loopcount by \temp@count \divide\loopcount by 2 \temp@count=\r@@t \divide\temp@count by \loopcount \ifnum\loopcount>\temp@count\repeat } \def\calc@distance@plane{% \loopcount=\x@coord\relax \multiply\loopcount by \x@orient \temp@count=\y@coord \relax \multiply\temp@count by \y@orient \advance\loopcount by \temp@count \temp@count=\z@coord \relax \multiply\temp@count by \z@orient \advance\loopcount by \temp@count \advance\loopcount by \c@nst@ \divide\loopcount by \f@ct@r \multiply\loopcount by \loopcount \ifnum\loopcount > \PDB@distance \else \loopcount=\PDB@hitpos \advance\loopcount by 1 \ifnum\loopcount=\PDB@pos \else \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} \fi \xdef\PDB@hitpos{\PDB@pos} \fi } \def\load@PDB{% \bgroup \immediate\openin\structurefile = \PDB@name\relax \ifeof\structurefile \PackageError{TeXshade} {File `\PDB@name' not found} {\MessageBreak The file you specified is missing or you have \MessageBreak misspelled it. \MessageBreak\MessageBreak No PDB domain labeling will be displayed. \MessageBreak Type to proceed. \MessageBreak Type X to quit. \MessageBreak } \immediate\closein\structurefile\egroup \else \message{} \xdef\first@{} \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \ifx\first@\@TOM \ifx\PDB@back@side@a\C@lpha \ifx\third@\C@lpha \xdef\temp@@@{\fifth@ &&@} \expandafter\check@letter\temp@@@ \ifnumber \ifnum\fifth@=\PDB@refnum@a \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@a{\c@@rd} \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@a{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@a{\c@@rd} \fi \else \ifnum\sixth@=\PDB@refnum@a \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@a{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@a{\c@@rd} \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@a{\c@@rd} \fi \fi \fi \else \xdef\temp@@@{\fifth@ &&@} \expandafter\check@letter\temp@@@ \ifnumber \ifnum\fifth@=\PDB@refnum@a \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@a{\c@@rd} \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@a{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@a{\c@@rd} \fi \else \ifnum\sixth@=\PDB@refnum@a \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@a{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@a{\c@@rd} \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@a{\c@@rd} \fi \fi \fi \ifx\PDB@back@side@b\C@lpha \ifx\third@\C@lpha \xdef\temp@@@{\fifth@ &&@} \expandafter\check@letter\temp@@@ \ifnumber \ifnum\fifth@=\PDB@refnum@b \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@b{\c@@rd} \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@b{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@b{\c@@rd} \fi \else \ifnum\sixth@=\PDB@refnum@b \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@b{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@b{\c@@rd} \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@b{\c@@rd} \fi \fi \fi \else \xdef\temp@@@{\fifth@ &&@} \expandafter\check@letter\temp@@@ \ifnumber \ifnum\fifth@=\PDB@refnum@b \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@b{\c@@rd} \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@b{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@b{\c@@rd} \fi \else \ifnum\sixth@=\PDB@refnum@b \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@b{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@b{\c@@rd} \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@b{\c@@rd} \fi \fi \fi \ifx\PDB@back@side@c\C@lpha \ifx\third@\C@lpha \xdef\temp@@@{\fifth@ &&@} \expandafter\check@letter\temp@@@ \ifnumber \ifnum\fifth@=\PDB@refnum@c \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@c{\c@@rd} \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@c{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@c{\c@@rd} \fi \else \ifnum\sixth@=\PDB@refnum@c \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@c{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@c{\c@@rd} \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@c{\c@@rd} \fi \fi \fi \else \xdef\temp@@@{\fifth@ &&@} \expandafter\check@letter\temp@@@ \ifnumber \ifnum\fifth@=\PDB@refnum@c \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@c{\c@@rd} \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@c{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@c{\c@@rd} \fi \else \ifnum\sixth@=\PDB@refnum@c \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@c{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@c{\c@@rd} \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@c{\c@@rd} \fi \fi \fi \fi \fi \ifeof\structurefile \else\repeat \closein\structurefile \ifx\PDB@type\@line@ \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@b \xdef\x@orient{\the\loopcount} \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@b \xdef\y@orient{\the\loopcount} \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@b \xdef\z@orient{\the\loopcount} \loopcount=\xref@coord@a \multiply\loopcount by \x@orient \temp@count=\yref@coord@a \multiply\temp@count by \y@orient \advance\loopcount by \temp@count \temp@count=\zref@coord@a \multiply\temp@count by \z@orient \advance\loopcount by \temp@count \xdef\c@nst@{\the\loopcount} \loopcount=\x@orient \multiply\loopcount by \x@orient \temp@count=\y@orient \multiply\temp@count by \y@orient \advance\loopcount by \temp@count \temp@count=\z@orient \multiply\temp@count by \z@orient \advance\loopcount by \temp@count \xdef\f@ct@r{\the\loopcount} \fi \ifx\PDB@type\@plane@ \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@b \xdef\x@orient@r{\the\loopcount} \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@b \xdef\y@orient@r{\the\loopcount} \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@b \xdef\z@orient@r{\the\loopcount} \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@c \xdef\x@orient@s{\the\loopcount} \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@c \xdef\y@orient@s{\the\loopcount} \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@c \xdef\z@orient@s{\the\loopcount} \loopcount=\y@orient@r \multiply\loopcount by \z@orient@s \temp@count=\z@orient@r \multiply\temp@count by \y@orient@s \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\x@orient{\the\loopcount} \loopcount=\z@orient@r \multiply\loopcount by \x@orient@s \temp@count=\x@orient@r \multiply\temp@count by \z@orient@s \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\y@orient{\the\loopcount} \loopcount=\x@orient@r \multiply\loopcount by \y@orient@s \temp@count=\y@orient@r \multiply\temp@count by \x@orient@s \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\z@orient{\the\loopcount} \loopcount=\x@orient \multiply\loopcount by \xref@coord@a \temp@count=\y@orient \multiply\temp@count by \yref@coord@a \advance\loopcount by \temp@count \temp@count=\z@orient \multiply\temp@count by \zref@coord@a \advance\loopcount by \temp@count \multiply\loopcount by -1\relax \xdef\c@nst@{\the\loopcount} \loopcount=\x@orient \multiply\loopcount by \loopcount \temp@count=\y@orient \multiply\temp@count by \temp@count \advance\loopcount by \temp@count \temp@count=\z@orient \multiply\temp@count by \temp@count \advance\loopcount by \temp@count \xdef\r@@t{\the\loopcount} \intr@@t \xdef\f@ct@r{\the\loopcount} \fi \immediate\openin\structurefile = \PDB@name\relax \xdef\first@{} \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\structureline{\readline & & & & & & & & &@} \expandafter\struc@get\structureline \ifx\first@\@TOM \xdef\temp@@@{\fifth@ &&@} \expandafter\check@letter\temp@@@ \ifnumber \xdef\PDB@pos{\fifth@} \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\x@coord{\c@@rd} \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\y@coord{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\z@coord{\c@@rd} \else \xdef\PDB@pos{\sixth@} \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\x@coord{\c@@rd} \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\y@coord{\c@@rd} \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\z@coord{\c@@rd} \fi \ifnum\PDB@hitpos=\PDB@pos \else \ifx\PDB@type\@point@ \calc@distance@point \else \ifx\PDB@type\@line@ \calc@distance@line \else \ifx\PDB@type\@plane@ \calc@distance@plane \fi \fi \fi \fi \fi \fi \ifeof\structurefile \xdef\PDB@stack{\PDB@stack\PDB@hitpos,&@} \else\repeat \closein\structurefile \fi \egroup } %%%%% Definition of user commands \def\clearfuncgroups{\xdef\prfx{func} \clear@groups \xdef\fgroup@num{0}} \clearfuncgroups \def\germanlanguage{\germ@ntrue \sp@nishfalse \def\cons@name{Konsensus}} \def\spanishlanguage{\germ@nfalse \sp@nishtrue \def\cons@name{consenso}} \def\englishlanguage{\germ@nfalse \sp@nishfalse \def\cons@name{consensus}} \def\showlegend{\legend@true} \def\hidelegend{\legend@false} \def\movelegend#1#2{% \setlength\hspace@legend{#1} \setlength\vspace@legend{#2} } \newcommand{\showcaption}[2][bottom]{\def\cap@pos{#1}\def\c@p{#2}} \def\shortcaption#1{\def\c@pshort{#1}} \def\funcgroup#1#2#3#4#5#6{% \xdef\first@{#1} \loopcount=0 \innerloopcount=0 \loop \advance\loopcount by 1 \ifx\csname fgroup@name\the\loopcount\endcsname\first@ \innerloopcount=\loopcount \loopcount=\fgroup@num \fi \ifnum\loopcount<\fgroup@num \repeat \ifnum\innerloopcount=0 \ifnum\fgroup@num<9 \innerloopcount=\fgroup@num \advance\innerloopcount by 1 \xdef\fgroup@num{\the\innerloopcount} \else \message{} \fi \fi \ifnum\innerloopcount>0 \expandafter\xdef\csname fgroup@name\the\innerloopcount\endcsname{\first@} \expandafter\xdef\csname fg@textcolor\the\innerloopcount\endcsname{#3} \expandafter\xdef\csname fg@color\the\innerloopcount\endcsname{#4} \expandafter\xdef\csname funcm@tch\the\innerloopcount\endcsname{#5} \expandafter\def\csname func@style\the\innerloopcount\endcsname{% \csname text#6\endcsname} \xdef\prfx{func} \xdef\third@{#2&,@} \loopcount=\innerloopcount \expandafter\group@get\third@ \fi} \def\pepgroups#1{% \xdef\prfx{pep} \clear@groups \xdef\third@{#1&,@} \loopcount=0 \loop \expandafter\group@get\third@ \advance\loopcount by 1 \ifnum\loopcount<10 \repeat} \def\DNAgroups#1{% \xdef\prfx{DNA} \clear@groups \xdef\third@{#1&,@} \loopcount=0 \loop \expandafter\group@get\third@ \advance\loopcount by 1 \ifnum\loopcount<10 \repeat} \def\pepsims#1#2{\xdef\prfx{pep} \def\sim@set{\expandafter\residue@get\second@ \ifx\first@\ampers@nd \else \advance\innerloopcount by 1 \xdef\second@{\csname sequence\the\loopcount\endcsname} \sim@set \fi} \xdef\first@{#1} \make@upper \xdef\third@{\first@} \xdef\last@{#2} \xdef\second@{#2 &@} \innerloopcount=0 \sim@set \expandafter\xdef\csname \prfx sim\third@\endcsname{% (\the\innerloopcount)\last@}} \def\DNAsims#1#2{\xdef\prfx{DNA} \def\sim@set{\expandafter\residue@get\second@ \ifx\first@\ampers@nd \else \advance\innerloopcount by 1 \xdef\second@{\csname sequence\the\loopcount\endcsname} \sim@set \fi} \xdef\first@{#1} \make@upper \xdef\third@{\first@} \xdef\last@{#2} \xdef\second@{#2 &@} \innerloopcount=0 \sim@set \expandafter\xdef\csname \prfx sim\third@\endcsname{% (\the\innerloopcount)\last@}} \def\fingerprint#1{% \ifnum #1 >0 \residuesperline*{#1} \def\finger@linenum{#1} \shownames{left} \hidenumbering \rulersteps{100} \nomatchresidues{}{Gray10}{}{} \loopcount=0 \loop \advance\loopcount by 1 \separationline{\the\loopcount} \ifnum\loopcount<\seq@count\repeat \fi} \def\printPDBlist#1{% \xdef\list@{} \xdef\temp@{#1,,,:,,,,@} \expandafter\test@PDB\temp@ \xdef\first@{\list@ &} \ifx\first@\ampers@nd \else \xdef\first@{\list@ @} \loop \expandafter\get@item\first@ \fourth@ \ifx\first@@\ampers@nd\else{,\ }\repeat \fi } \def\messagePDBlist#1{% \xdef\list@{} \xdef\temp@{#1,,,:,,,,@} \expandafter\test@PDB\temp@ \xdef\first@{\list@ &} \ifx\first@\ampers@nd \else \message{(#1:} \xdef\first@{\list@ @}% \loop% \expandafter\get@item\first@% \message{\fourth@}% \ifx\first@@\ampers@nd\else\repeat% \message{)} \fi } \def\shaderegion#1#2#3#4{% \regionalshadetrue \xdef\seq@{#1} \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi \xdef\first@{\seq@ @} \expandafter\check@letter\first@ \xdef\first@{\seq@} \ifletter \get@name@number \xdef\seq@{\first@} \fi \ifnum\seq@>\seq@count \message{} \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \loopcount=\seq@regions \advance\loopcount by 1 \xdef\seq@regions{\the\loopcount} \expandafter\xdef\csname fgseqregion\the\loopcount\endcsname{#3} \expandafter\xdef\csname bgseqregion\the\loopcount\endcsname{#4} \xdef\list@{#2,&} \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@regions\list@ \ifx\list@\ampers@nd\else\repeat \fi } \def\shadeblock#1#2#3#4{% \xdef\seq@{#1} \xdef\@ll{yes} \shaderegion{#1}{#2}{#3}{#4} \xdef\@ll{} } \def\tintregion#1#2{% \xdef\seq@{#1} \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi \xdef\first@{\seq@ @} \expandafter\check@letter\first@ \xdef\first@{\seq@} \ifletter \get@name@number \xdef\seq@{\first@} \fi \ifnum\seq@>\seq@count \message{} \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \xdef\list@{#2,&} \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@tintregions\list@ \ifx\list@\ampers@nd\else\repeat \fi } \def\tintblock#1#2{% \xdef\seq@{#1} \xdef\@ll{yes} \tintregion{#1}{#2} \xdef\@ll{} } \def\tintdefault#1{% \xdef\first@{#1} \xdef\second@{strong} \ifx\first@\second@ \xdef\light@{LightLightLight} \else \xdef\second@{medium} \ifx\first@\second@ \xdef\light@{LightLight} \else \xdef\second@{weak} \ifx\first@\second@ \xdef\light@{Light} \else \xdef\light@{LightLight} \fi\fi\fi } \def\emphregion#1#2{% \xdef\seq@{#1} \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi \xdef\first@{\seq@ @} \expandafter\check@letter\first@ \xdef\first@{\seq@} \ifletter \get@name@number \xdef\seq@{\first@} \fi \ifnum\seq@>\seq@count \message{} \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \xdef\list@{#2,&} \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@emphregions\list@ \ifx\list@\ampers@nd\else\repeat \fi } \def\emphblock#1#2{% \xdef\seq@{#1} \xdef\@ll{yes} \emphregion{#1}{#2} \xdef\@ll{} } \def\emphdefault#1{\def\res@style{\csname text#1\endcsname}} \def\frameblock#1#2#3{% \xdef\seq@{#1} \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi \xdef\first@{\seq@ @} \expandafter\check@letter\first@ \xdef\first@{\seq@} \ifletter \get@name@number \xdef\seq@{\first@} \fi \ifnum\seq@>\seq@count \message{} \else \xdef\@ll{#3} \xdef\list@{#2,&} \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@frameregions\list@ \ifx\list@\ampers@nd\else\repeat \fi } \def\bargraphstretch#1{\def\b@r@stretch{#1}} \def\colorscalestretch#1{\def\sc@le@stretch{#1}} \def\rm@@measure#1#2@{% \xdef\test@{#1} \ifx\test@\ampers@nd \else \expandafter\check@char\test@ \ifnumber\xdef\first@{\first@ #1} \xdef\second@{#2 &@} \expandafter\rm@@measure\second@ \fi \fi } \def\rm@measure#1.#2@{\xdef\first@{#1.}\xdef\second@{#2 @}\xdef\third@{#1}\expandafter\rm@@measure\second@} \def\pm@calc{% \temp@@length=100000sp \temp@@length=\g@min\temp@@length \innerloopcount=\temp@@length \xdef\min@{\the\innerloopcount} \arrow@height=\temp@@length \temp@@length=100000sp \temp@@length=\g@max\temp@@length \advance\temp@@length by -\arrow@height \innerloopcount=\temp@@length \divide\innerloopcount by 100 \ifnum\innerloopcount=0 \innerloopcount=1 \fi \xdef\m@x{\the\innerloopcount} \xdef\test@{\g@min pt} \setlength\arrow@width{\test@} \xdef\test@{\g@max pt} \setlength\arrow@height{\test@} \advance\arrow@height by -\arrow@width \ifdim\arrow@width<0pt\temp@@length=-\arrow@width\xdef\test@{y}\else\temp@@length=\arrow@width\xdef\test@{n}\fi \ifdim\arrow@height>0pt \ifx\test@\n@ \xdef\test@{y} \else \xdef\test@{n} \fi \ifdim\temp@@length<\arrow@height\temp@@length=\arrow@height\fi \else \ifdim\temp@@length>-\arrow@height\temp@@length=\arrow@height\fi \fi \ifdim\temp@@length<100pt\arrow@width=100\arrow@width\arrow@height=100\arrow@height\else \ifdim\temp@@length<10pt\arrow@width=1000\arrow@width\arrow@height=1000\arrow@height\else \ifdim\temp@@length<1pt\arrow@width=10000\arrow@width\arrow@height=10000\arrow@height\else \ifdim\temp@@length<0.1pt\arrow@width=100000\arrow@width\arrow@height=100000\arrow@height\else \ifdim\temp@@length<0.01pt\arrow@width=1000000\arrow@width \arrow@height=1000000\arrow@height\else \ifdim\temp@@length<0.001pt\arrow@width=10000000\arrow@width \arrow@height=10000000\arrow@height\else \ifdim\temp@@length<0.0001pt\arrow@width=100000000\arrow@width \arrow@height=100000000\arrow@height\else \ifdim\temp@@length<0.00001pt\arrow@width=1000000000\arrow@width \arrow@height=1000000000\arrow@height \fi\fi\fi\fi\fi\fi\fi\fi \ifx\test@\y@ \xdef\pm@{0} \else \xdef\test@{-\the\arrow@height @} \expandafter\rm@measure\test@ \divide\arrow@width by \third@ \xdef\pm@{\the\arrow@width @} \expandafter\rm@measure\pm@ \xdef\pm@{\first@} \fi } \def\read@graph{% \bgroup \immediate\openin\structurefile = \fill@char\relax \ifeof\structurefile \PackageError{TeXshade} {File `\fill@char' not found} {\MessageBreak The file you specified is missing or you have \MessageBreak misspelled it. \MessageBreak\MessageBreak No feature graph will be displayed. \MessageBreak Type to proceed. \MessageBreak Type X to quit. \MessageBreak } \immediate\closein\structurefile\egroup \else \ifx\g@min\comm@ \def\par@{} \xdef\g@min{,} \xdef\g@max{,} \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\second@{\test@ @} \expandafter\check@letter\second@ \ifletter \xdef\second@{\expandafter\string\readline} \xdef\second@{\second@ @} \expandafter\firstchar@get\second@ \if\first@ - \numbertrue\fi \fi \ifnumber \temp@@length=1pt \temp@@length=\test@\temp@@length \innerloopcount=\temp@@length \ifx\g@min\comm@ \xdef\min@{\test@ pt} \xdef\g@min{\test@} \else \ifdim\temp@@length<\min@\relax \xdef\min@{\the\temp@@length} \xdef\g@min{\test@} \fi\fi% \ifx\g@max\comm@ \xdef\m@x{\test@ pt} \xdef\g@max{\test@} \else \ifdim\temp@@length>\m@x\relax \xdef\m@x{\the\temp@@length} \xdef\g@max{\test@} \fi\fi% \fi \fi \ifeof\structurefile\else\repeat \fi \immediate\closein\structurefile \pm@calc \expandafter\temp@count=\csname seq@start\seq@\endcsname \advance\temp@count by -1 \xdef\temp@@@{n} \immediate\openin\structurefile = \fill@char\relax \loop \read\structurefile to \readline \xdef\test@{\expandafter\string\readline} \ifx\test@\par@ \else \xdef\second@{\test@ @} \expandafter\check@letter\second@ \ifletter \xdef\second@{\expandafter\string\readline} \xdef\second@{\second@ @} \expandafter\firstchar@get\second@ \if\first@ - \numbertrue \else \if\first@ N \expandafter\firstchar@get\third@ \if\first@ a \expandafter\firstchar@get\third@ \if\first@ N \advance\temp@count by 1 \ifnum\temp@count=0 \temp@count=1 \fi \ifnum\temp@count<\st@rt \else \ifnum\temp@count>\st@p \else \ifx\temp@@@\n@ \xdef\temp@@@{N} \else \xdef\temp@@@{\temp@@@,N} \fi \fi \fi \fi \fi \fi \fi \fi \ifnumber \advance\temp@count by 1 \ifnum\temp@count=0 \temp@count=1 \fi \ifnum\temp@count<\st@rt \else \ifnum\temp@count>\st@p \else \temp@@length=100000sp \temp@@length=\test@\temp@@length \innerloopcount=\temp@@length \advance\innerloopcount by 1 \xdef\test@{\pm@ pt} \ifdim\test@=0pt \advance\innerloopcount by -\min@ \else \ifx\b@r\n@ \advance\innerloopcount by -\min@ \fi \fi \divide\innerloopcount by \m@x \ifx\temp@@@\n@ \xdef\temp@@@{\the\innerloopcount} \else \xdef\temp@@@{\temp@@@,\the\innerloopcount} \fi \fi \fi \fi \fi \ifeof\structurefile\else\repeat \immediate\closein\structurefile \xdef\temp@@@{\temp@@@,@} \xdef\temp@@{y} \fi \egroup } \def\sort@gstack{% \expandafter\get@fromstack\last@ \ifx\first@\ampers@nd \xdef\tmpstack{\tmpstack\f@text@&;&;&;&;@} \else \ifnum\loopcount<\second@ \xdef\tmpstack{\tmpstack\f@text@\first@;\second@;\third@;\fourth@;\last@} \else \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} \sort@gstack \fi\fi } \def\get@gregion#1..#2,#3&{% \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} } \def\do@bargraph{% \expandafter\get@gregion\list@ \expandafter\ifnum\csname seq@start\seq@\endcsname>\st@rt \else \xdef\temp@@{n} \xdef\b@r{y} \xdef\pm@{0} \xdef\temp@@@{\fill@char,@} \expandafter\check@letter\temp@@@ \ifletter \read@graph \else \ifx\g@min\comm@ \xdef\g@min{0} \fi \ifx\g@max\comm@ \xdef\g@max{100} \fi \pm@calc \xdef\temp@@@{\fill@char,@} \xdef\temp@@{y} \fi \ifx\temp@@\y@ \loopcount=\st@rt \xdef\tmpstack{} \loop \expandafter\get@item\temp@@@ \xdef\temp@@@{\first@} \xdef\style@{bar[\pm@,0]:\fourth@[\f@color]} \xdef\tmpstack{\tmpstack\f@text@;\the\loopcount;\the\loopcount;\style@;} \advance\loopcount by 1 \ifnum\loopcount=0 \loopcount=1 \fi \ifnum\loopcount>\st@p \else\repeat \xdef\f@text@{\tmpstack} \xdef\tmpstack{} \xdef\last@{\csname stack@\bottop@\seq@\endcsname} \sort@gstack \expandafter\xdef\csname stack@\bottop@\seq@\endcsname{\tmpstack} \fi \fi \xdef\list@{\list@ &} \ifx\list@\ampers@nd\else\do@bargraph\fi } \def\do@colorgraph{% \expandafter\get@gregion\list@ \expandafter\ifnum\csname seq@start\seq@\endcsname>\st@rt \else \xdef\temp@@{n} \xdef\b@r{n} \xdef\pm@{0} \xdef\temp@@@{\fill@char,@} \expandafter\check@letter\temp@@@ \ifletter \read@graph \else \ifx\g@min\comm@ \xdef\g@min{0} \fi \ifx\g@max\comm@ \xdef\g@max{100} \fi \pm@calc \xdef\temp@@@{\fill@char,@} \xdef\temp@@{y} \fi \ifx\temp@@\y@ \loopcount=\st@rt \xdef\tmpstack{} \loop \xdef\last@{\csname stack@\bottop@\seq@\endcsname} \expandafter\get@item\temp@@@ \xdef\temp@@@{\first@} \ifx\fourth@\N@ \xdef\style@{color:50[White]} \else \ifnum\fourth@<1 \xdef\fourth@{1} \fi \innerloopcount=\fourth@ \advance\innerloopcount by 4 \divide\innerloopcount by 5 \multiply\innerloopcount by 5 \ifnum\innerloopcount>100 \innerloopcount=100 \fi \xdef\style@{color:50[\f@color\the\innerloopcount]} \fi \xdef\tmpstack{\tmpstack\f@text@;\the\loopcount;\the\loopcount;\style@;} \advance\loopcount by 1 \ifnum\loopcount=0 \loopcount=1 \fi \ifnum\loopcount>\st@p \else\repeat \xdef\f@text@{\tmpstack} \xdef\tmpstack{} \xdef\last@{\csname stack@\bottop@\seq@\endcsname} \sort@gstack \expandafter\xdef\csname stack@\bottop@\seq@\endcsname{\tmpstack} \fi \fi \xdef\list@{\list@ &} \ifx\list@\ampers@nd\else\do@colorgraph\fi } \def\feature#1#2#3#4#5{% \xdef\bottop@{#1} \xdef\temp@{top} \ifx\bottop@\temp@ \topfeaturetrue\fi \xdef\temp@{ttop} \ifx\bottop@\temp@ \ttopfeaturetrue\fi \xdef\temp@{tttop} \ifx\bottop@\temp@ \tttopfeaturetrue\fi \xdef\temp@{ttttop} \ifx\bottop@\temp@ \ttttopfeaturetrue\fi \xdef\temp@{bottom} \ifx\bottop@\temp@ \bottomfeaturetrue\fi \xdef\temp@{bbottom} \ifx\bottop@\temp@ \bbottomfeaturetrue\fi \xdef\temp@{bbbottom} \ifx\bottop@\temp@ \bbbottomfeaturetrue\fi \xdef\temp@{bbbbottom} \ifx\bottop@\temp@ \bbbbottomfeaturetrue\fi \xdef\seq@{#2} \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi \xdef\first@{\seq@ @} \expandafter\check@letter\first@ \xdef\first@{\seq@} \ifletter \get@name@number \xdef\seq@{\first@} \fi \ifnum\seq@>\seq@count \message{} \else \ifnum\seq@>-1 \xdef\temp@{#4::&}\expandafter\test@fill\temp@ \xdef\last@{bar} \ifx\second@@\last@ \xdef\last@{hydrophobicity} \ifx\last@\fourth@ \xdef\second@@{bh} \else \xdef\last@{molweight} \ifx\last@\fourth@ \xdef\second@@{bm} \else \xdef\last@{charge} \ifx\last@\fourth@ \xdef\second@@{bc} \else \xdef\last@{conservation} \ifx\last@\fourth@ \xdef\second@@{bcons} \fi \fi \fi \fi \fi \xdef\last@{color} \ifx\second@@\last@ \xdef\last@{hydrophobicity} \ifx\last@\fourth@ \xdef\second@@{ch} \else \xdef\last@{molweight} \ifx\last@\fourth@ \xdef\second@@{cm} \else \xdef\last@{charge} \ifx\last@\fourth@ \xdef\second@@{cc} \else \xdef\last@{conservation} \ifx\last@\fourth@ \xdef\second@@{ccons} \fi \fi \fi \fi \fi \xdef\last@{bar} \ifx\second@@\last@ \xdef\list@{#3,&} \xdef\style@{#4} \def\f@text@{#5} \do@bargraph \xdef\temp@{bottom} \ifx\bottop@\temp@ \xdef\bottom@stretch{y}\fi \xdef\temp@{bbottom} \ifx\bottop@\temp@ \xdef\bbottom@stretch{y}\fi \xdef\temp@{bbbottom} \ifx\bottop@\temp@ \xdef\bbbottom@stretch{y}\fi \xdef\temp@{bbbbottom} \ifx\bottop@\temp@ \xdef\bbbbottom@stretch{y}\fi \else \xdef\last@{color} \ifx\second@@\last@ \xdef\list@{#3,&} \xdef\style@{#4} \def\f@text@{#5} \do@colorgraph \else \xdef\f@@color{\f@color} \xdef\list@{#3,&} \xdef\temp@{#3,,,:,,,,@} \expandafter\test@PDB\temp@ \def\f@text@{#5} \xdef\f@color{\f@@color} \xdef\temp@{#4&} \ifx\temp@\ampers@nd \xdef\style@{&} \else \xdef\last@{restriction} \ifx\second@@\last@ \xdef\temp@{\bottop@ @} \expandafter\firstchar@get\temp@ \xdef\temp@{y} \if\first@ t \xdef\style@{fill:\kern0.9\box@width$\blacktriangledown$[\f@color]} \else \xdef\style@{fill:\kern0.9\box@width$\blacktriangle$[\f@color]} \fi \xdef\f@text@{\kern0.9\box@width#5} \else \xdef\last@{bh} \ifx\second@@\last@ \ifx\f@color\gr@ydef@ult\xdef\f@color{Gray50}\fi \xdef\style@{plot[bar]:Hydro[\f@color][-53]} \else \xdef\last@{bm} \ifx\second@@\last@ \ifx\f@color\gr@ydef@ult\xdef\f@color{Gray50}\fi \xdef\style@{plot[bar]:molw[\f@color][0]} \else \xdef\last@{bc} \ifx\second@@\last@ \ifx\f@color\gr@ydef@ult\xdef\f@color{Gray50}\fi \xdef\style@{plot[bar]:charge[\f@color][-50]} \else \xdef\last@{bcons} \ifx\second@@\last@ \ifx\f@color\gr@ydef@ult\xdef\f@color{Gray50}\fi \xdef\last@{T-Coffee} \ifx\f@color\last@ \xdef\T@coffee@bcons{y} \xdef\f@color{Gray50} \fi \xdef\style@{cons[bar]:cons[\f@color][0]} \else \xdef\last@{ch} \ifx\second@@\last@ \ifx\f@color\gr@ydef@ult\xdef\f@color{RedGreen}\fi \xdef\style@{plot[color]:Hydro[\f@color][-53]} \else \xdef\last@{cm} \ifx\second@@\last@ \ifx\f@color\gr@ydef@ult\xdef\f@color{Gray}\fi \xdef\style@{plot[color]:molw[\f@color][0]} \else \xdef\last@{cc} \ifx\second@@\last@ \ifx\f@color\gr@ydef@ult\xdef\f@color{RedBlue}\fi \xdef\style@{plot[color]:charge[\f@color][-50]} \else \xdef\last@{ccons} \ifx\second@@\last@ \ifx\f@color\gr@ydef@ult\xdef\f@color{ColdHot}\fi \xdef\last@{T-Coffee} \ifx\f@color\last@ \xdef\T@coffee@ccons{y} \xdef\f@color{TC} \fi \xdef\style@{cons[color]:cons[\f@color][0]} \else \xdef\style@{#4} \expandafter\getarrow@shape\temp@ \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \loopcount=0 \loop \advance\loopcount by 1\relax \xdef\list@{\list@ @} \expandafter\get@fregions\list@ \ifx\list@\ampers@nd\else\repeat \fi\fi\fi \fi } \def\showfeaturename#1#2{\expandafter\xdef\csname featuretextn@me#1\endcsname{#2}} \def\showfeaturestylename#1#2{\expandafter\xdef\csname featurestylesn@me#1\endcsname{#2}} \def\hidefeaturename#1{\expandafter\xdef\csname featuretextn@me#1\endcsname{}} \def\hidefeaturenames{\xdef\featuretextn@mettop{}\xdef\featuretextn@metop{}\xdef\featuretextn@mebottom{}\xdef\featuretextn@mebbottom{} \xdef\featuretextn@metttop{}\xdef\featuretextn@mettttop{}\xdef\featuretextn@mebbbbottom{}\xdef\featuretextn@mebbbottom{}} \def\hidefeaturestylename#1{\expandafter\xdef\csname featurestylesn@me#1\endcsname{}} \def\hidefeaturestylenames{\xdef\featurestylesn@mettop{}\xdef\featurestylesn@metop{}\xdef\featurestylesn@mebottom{}\xdef\featurestylesn@mebbottom{} \xdef\featurestylesn@metttop{}\xdef\featurestylesn@mettttop{}\xdef\featurestylesn@mebbbbottom{}\xdef\featurestylesn@mebbbottom{}} \def\seqtype#1{\xdef\seq@type{#1} \if\seq@type P \xdef\prefix@{pep} \else \if\seq@type p \xdef\seq@type{P} \xdef\prefix@{pep} \else \xdef\seq@type{N} \xdef\prefix@{DNA} \fi\fi} \def\nameseq#1#2{% \xdef\first@{#1 @} \expandafter\check@letter\first@ \xdef\first@{#1} \ifletter \get@name@number \fi \expandafter\xdef\csname newseqname\first@\endcsname{#2} } \newcommand\threshold[2][n]{% \xdef\first@{#1} \ifx\first@\n@ \xdef\thresh@ld{#2} \else \all@shadetrue \ifnum\first@>#2 \xdef\thresh@ld{#2} \xdef\all@thresh@ld{#1} \else \xdef\thresh@ld{#1} \xdef\all@thresh@ld{#2} \fi \fi } \def\constosingleseq#1{% \xdef\first@{#1 @} \expandafter\check@letter\first@ \xdef\first@{#1} \ifletter \get@name@number \fi \ifnum\first@>\seq@count \message{} \else \ifnum\first@>0 \xdef\cons@num{\first@} \hideconsensus\fi\fi } \def\constoallseqs{\xdef\cons@num{0}} \def\residuesperline{% \def\@rplfix*##1{% \res@perline=##1 \ifnum\res@perline<1 \res@perline=1\fi \rpl@fixtrue} \def\@rplvar ##1{% \res@perline=##1 \ifnum\res@perline<5 \res@perline=5\fi \rpl@fixfalse} \def\decide@{\ifx\l@@k * \let\next\@rplfix \else \let\next\@rplvar \fi \next} \futurelet\l@@k\decide@} \def\numberingwidth#1{\def\num@width{#1}} \def\charstretch#1{% \def\char@stretch{#1} \xdef\temp@{\char@stretch .00@} \expandafter\coord@get\temp@ \loopcount=\c@@rd \multiply \loopcount by 7 \divide \loopcount by 10 \ifnum\loopcount<10 \xdef\temp@{0\the\loopcount @} \else \xdef\temp@{\the\loopcount @} \fi \expandafter\decimal@B\temp@ \ifnum\loopcount>99 \xdef\char@stretch@W{#1} \else \xdef\char@stretch@W{\temp@} \fi } \def\linestretch#1{\def\line@stretch{#1}} \def\logostretch#1{% \def\logo@stretch{#1} \setlength\temp@@length{1000sp} \setlength\temp@@length{\logo@stretch\temp@@length} \loopcount=\temp@@length \xdef\logo@stretch@IOOO{\the\loopcount} } \def\noblockskip{\def\block@skip{\vspace{0pt}}} \def\smallblockskip{\def\block@skip{\vspace{\baselineskip}}} \def\medblockskip{\def\block@skip{\vspace{1.5\baselineskip}}} \def\bigblockskip{\def\block@skip{\vspace{2\baselineskip}}} \def\vblockspace#1{\def\block@skip{\vspace{#1}}} \def\topspace#1{\def\t@sp@ce{#1}} \def\ttopspace#1{\def\tt@sp@ce{#1}} \def\tttopspace#1{\def\ttt@sp@ce{#1}} \def\ttttopspace#1{\def\tttt@sp@ce{#1}} \def\bottomspace#1{\def\b@sp@ce{#1}} \def\bbottomspace#1{\def\bb@sp@ce{#1}} \def\bbbottomspace#1{\def\bbb@sp@ce{#1}} \def\bbbbottomspace#1{\def\bbbb@sp@ce{#1}} \def\fixblockspace{\fix@true} \def\flexblockspace{\fix@false} \def\nosepline{\def\seq@skip{\relax}} \def\smallsepline{\def\seq@skip{\vspace{3pt}}\def\sep@space{3pt}} \def\medsepline{\def\seq@skip{\vspace{6pt}}\def\sep@space{6pt}} \def\bigsepline{\def\seq@skip{\vspace{12pt}}\def\sep@space{12pt}} \def\vsepspace#1{\def\seq@skip{\vspace{#1}}\xdef\sep@space{#1}} \def\separationline#1{% \xdef\first@@{#1} \xdef\first@{#1 @} \expandafter\check@letter\first@ \xdef\first@{#1} \ifletter \get@name@number \xdef\first@@{\first@} \fi \ifnum\first@@>\seq@count \xdef\first@@{1} \else \ifnum\first@@<0 \xdef\first@@{1} \else \expandafter\def\csname seq@gap\first@@\endcsname{yes} \loopcount=\seq@gap@num \advance\loopcount by 1 \xdef\seq@gap@num{\the\loopcount} \fi \fi} \newcommand{\shadingmode}[2][-1]{% \T@coffeefalse \xdef\last@{#2} \xdef\first@{identical} \ifx\first@\last@ \simmodefalse \funcmodefalse \xdef\second@{#1 @} \expandafter\check@letter\second@ \ifnumber \all@shadetrue \ifnum#1<0 \all@shadefalse \else \ifnum#1>100 \xdef\all@thresh@ld{100} \else \xdef\all@thresh@ld{#1} \fi\fi \else \xdef\last@{#1} \xdef\first@{allmatchspecial} \ifx\last@\first@ \xdef\all@thresh@ld{100} \all@shadetrue \fi \fi \else \xdef\first@{similar} \ifx\first@\last@ \simmodetrue \funcmodefalse \xdef\second@{#1 @} \expandafter\check@letter\second@ \ifnumber \all@shadetrue \ifnum#1<0 \all@shadefalse \else \ifnum#1>100 \xdef\all@thresh@ld{100} \else \xdef\all@thresh@ld{#1} \fi\fi \else \xdef\last@{#1} \xdef\first@{allmatchspecial} \ifx\last@\first@ \xdef\all@thresh@ld{100} \all@shadetrue \fi \fi \else \xdef\first@{functional} \ifx\first@\last@ \if\seq@type N \message{} \else \simmodefalse \funcmodetrue \func@shading{#1} \xdef\seq@type{P} \xdef\prefix@{pep} \fi \else \xdef\first@{T-Coffee} \ifx\first@\last@ \simmodefalse \funcmodefalse \T@coffeetrue \xdef\second@{#1 @} \expandafter\check@letter\second@ \ifletter \xdef\TC@first@{#1}\include@T@coffee\fi \else \xdef\first@{diverse} \ifx\first@\last@ \xdef\last@{#1} \ifnum\last@>\seq@count \xdef\last@{1}\fi \ifnum\last@<1 \xdef\last@{1}\fi \simmodetrue \funcmodefalse \threshold{0} \xdef\divref@{\last@} \constosingleseq{\last@} \nomatchresidues{Black}{White}{lower}{up} \similarresidues{Black}{White}{lower}{up} \conservedresidues{Black}{White}{{.}}{up} \allmatchresidues{Black}{White}{{.}}{up} \gapchar{-} \hideconsensus \else \message{} \simmodetrue \funcmodefalse \fi\fi\fi\fi\fi} \newcommand\allmatchspecial[1][100]{% \ifnum#1<0 \xdef\all@thresh@ld{0} \else \ifnum#1>100 \xdef\all@thresh@ld{100} \else \xdef\all@thresh@ld{#1} \fi\fi \all@shadetrue} \def\allmatchspecialoff{\all@shadefalse} \def\gapchar#1{% \xdef\first@{rule}\xdef\second@{#1} \ifx\first@\second@\def\gap@char{o} \else\def\gap@char{#1}\fi} \def\gaprule#1{\def\gap@rulethick{#1}} \def\domaingaprule#1{\def\domgap@rulethick{#1}} \newcommand{\setends}[3][&]{% \xdef\start@seq{#2} \xdef\temp@{consensus} \ifx\start@seq\temp@ \message{<\noexpand\setends does not accept `consensus'>} \xdef\start@seq{0} \else \xdef\first@{\start@seq @} \expandafter\check@letter\first@ \xdef\first@{\start@seq} \ifletter \get@name@number \xdef\start@seq{\first@} \fi \ifnum\start@seq>\seq@count \message{<\noexpand\setends{} error: sequence `#2' not defined>} \xdef\start@seq{0} \else \ifnum\start@seq<1 \message{<\noexpand\setends{} error: sequence `#2' not defined>} \xdef\start@seq{0} \else \xdef\second@{#3@} \expandafter\get@nums\second@ \xdef\start@num{\first@} \xdef\end@num{\second@} \ifnum\start@num=0 \xdef\allow@zero{y}\fi \ifnum\end@num=0 \xdef\allow@zero{y}\fi \start@false \fi \fi \fi \xdef\first@{#1}\ifx\first@\ampers@nd\else\startnumber{#2}{#1}\fi } \newcommand{\startnumber}[3][&]{% \xdef\first@{#2} \xdef\second@{consensus} \ifx\first@\second@ \ifnum#3=0 \xdef\allow@zero{y} \fi \expandafter\xdef\csname seq@start0\endcsname{#2} \cons@count=#3 \advance\cons@count by -1\relax \expandafter\xdef\csname res@count0\endcsname{\the\cons@count} \else \xdef\first@{#2 @} \expandafter\check@letter\first@ \xdef\first@{#2} \ifletter \get@name@number \fi \ifnum\first@>\seq@count \message{} \else \xdef\second@{#3} \ifnum\second@=0 \xdef\allow@zero{y} \fi \expandafter\xdef\csname seq@start\first@\endcsname{\second@} \res@count=\second@ \advance\res@count by -1 \expandafter\xdef\csname res@count\first@\endcsname{\the\res@count} \fi \fi \xdef\first@{#1}\ifx\first@\ampers@nd\else\setends{#2}{#1}\fi } \def\seqlength#1#2{% \xdef\first@{#1 @} \expandafter\check@letter\first@ \xdef\first@{#1} \ifletter \get@name@number \fi \ifnum\first@>\seq@count \message{} \else \xdef\second@{#2} \ifnum\second@<0 \xdef\second@{1} \fi \expandafter\xdef\csname seq@len\first@\endcsname{\second@} \fi} \newcommand\shownumbering[2][n]{% \xdef\first@{#1}\ifx\first@\n@\else\xdef\numbering@fg{#1}\fi \xdef\first@{#2} \xdef\second@{left} \ifx\first@\second@ \numbers@lefttrue \numbers@rightfalse \numbers@true \fi \xdef\second@{right} \ifx\first@\second@ \numbers@leftfalse \numbers@righttrue \numbers@true \fi \xdef\second@{leftright} \ifx\first@\second@ \numbers@lefttrue \numbers@righttrue \numbers@true \fi } \def\hidenumbering{\numbers@false} \def\hidenumber#1{\xdef\first@{#1,&,@} \hidenumber@} \newcommand\shownames[2][n]{% \xdef\first@{#1}\ifx\first@\n@\else\xdef\names@fg{#1}\fi \xdef\first@{#2} \xdef\second@{left} \ifx\first@\second@ \names@rightfalse \else \names@righttrue \fi \names@true} \def\hidenames{\names@false} \def\hidename#1{\xdef\first@{#1,&,@} \hidename@} \def\hideresidues{\hidechartrue} \def\showresidues{\hidecharfalse} \def\alignment#1{% \xdef\first@{#1} \xdef\temp@{left} \ifx\first@\temp@ \xdef\c@factor{0} \else \xdef\temp@{center} \ifx\first@\temp@ \xdef\c@factor{0.5} \else \xdef\temp@{right} \ifx\first@\temp@ \xdef\c@factor{1} \fi\fi\fi} \def\donotshade#1{% \xdef\temp@{consensus} \xdef\first@{#1} \ifx\first@\temp@ \consensuscolors{Black}{White}{Black}{White}{Black}{White} \else \xdef\first@{#1,&,@} \donot@shade \fi} \def\hideseqs{\xdef\hide@seqs{y}} \def\showseqs{\xdef\hide@seqs{n}} \def\hideseq#1{\xdef\first@{#1,&,@} \hideseq@} \def\killseq#1{\xdef\first@{#1,&,@} \killseq@} \def\hidesequencelogo{\show@logofalse} \def\hidesubfamilylogo{\show@sublogofalse} \def\logo@group@get#1#2@{% \xdef\first@{#1}\xdef\third@{#2@} \ifx\first@\ampers@nd \else \ifnum`#1>96 \make@upper\fi \expandafter\xdef\csname logo@col\first@\endcsname{\second@} \expandafter\logo@group@get\third@ \fi } \def\logocolor#1#2{% \xdef\logo@colors@set{yes} \xdef\second@{#2} \xdef\third@{#1&@} \expandafter\logo@group@get\third@ } \newcommand\clearlogocolors[1][Black]{% \logocolor{ABCDEFGHIJKLMNOPQRSTUVWXYZ}{#1} } \def\dofrequencycorrection{\xdef\do@freq@correction{y}} \def\undofrequencycorrection{\xdef\do@freq@correction{n}} \newcommand\showlogoscale[2][Black]{\xdef\logo@scalecol{#1}\xdef\show@logoscale{#2}} \def\hidelogoscale{\xdef\show@logoscale{n}} \def\hidenegatives{\xdef\hide@negatives{y}\xdef\sublogo@tint{}} \newcommand\shownegatives[1][medium]{% \xdef\hide@negatives{n} \xdef\first@{#1} \xdef\second@{full} \ifx\first@\second@ \xdef\sublogo@tint{} \else \xdef\second@{strong} \ifx\first@\second@ \xdef\sublogo@tint{Light} \else \xdef\second@{medium} \ifx\first@\second@ \xdef\sublogo@tint{LightLight} \else \xdef\second@{weak} \ifx\first@\second@ \xdef\sublogo@tint{LightLightLight} \else \xdef\sublogo@tint{LightLight} \fi\fi\fi\fi } \def\set@logocolors{% \xdef\second@{undefined} \ifx\first@\second@ \if\logo@colors@set\n@ \xdef\first@{standard} \fi \fi \xdef\second@{standard} \ifx\first@\second@ \if\seq@type A \xdef\logo@colors@set{n} \else \if\seq@type P \xdef\first@{rasmol} \else \xdef\first@{nucleotide} \fi \fi \fi \xdef\second@{nucleotide} \ifx\first@\second@ \clearlogocolors \logocolor{G}{Black} \logocolor{A}{Green} \logocolor{TU}{Red} \logocolor{C}{Blue} \else \xdef\second@{rasmol} \ifx\first@\second@ \clearlogocolors \logocolor{DE}{Red} \logocolor{CM}{Yellow} \logocolor{KR}{Blue} \logocolor{ST}{Orange} \logocolor{FY}{MidnightBlue} \logocolor{NQ}{Cyan} \logocolor{G}{LightGray} \logocolor{LVI}{Green} \logocolor{A}{DarkGray} \logocolor{W}{CarnationPink} \logocolor{H}{CornflowerBlue} \logocolor{P}{Apricot} \logocolor{BZ}{LightMagenta} \else \xdef\second@{chemical} \ifx\first@\second@ \clearlogocolors \logocolor{DE}{Red} \logocolor{VIL}{Black} \logocolor{AG}{Gray} \logocolor{NQ}{Green} \logocolor{FYW}{Brown} \logocolor{KRH}{Blue} \logocolor{ST}{Magenta} \logocolor{P}{Orange} \logocolor{CM}{Yellow} \else \xdef\second@{hydropathy} \ifx\first@\second@ \clearlogocolors \logocolor{DE}{Red} \logocolor{KRH}{Blue} \logocolor{YSTGNQC}{Yellow} \logocolor{AFPMWVIL}{Green} \else \xdef\second@{structure} \ifx\first@\second@ \clearlogocolors \logocolor{DEHKNQR}{Orange} \logocolor{ACGPSTWY}{Yellow} \logocolor{FILMV}{Green} \else \xdef\second@{standard area} \ifx\first@\second@ \clearlogocolors \logocolor{G}{BrickRed} \logocolor{AS}{Orange} \logocolor{CP}{Yellow} \logocolor{TDVN}{YellowGreen} \logocolor{IE}{PineGreen} \logocolor{LQHM}{SkyBlue} \logocolor{FK}{RoyalPurple} \logocolor{Y}{RedViolet} \logocolor{RW}{Black} \else \xdef\second@{accessible area} \ifx\first@\second@ \clearlogocolors \logocolor{C}{BrickRed} \logocolor{IVG}{Orange} \logocolor{FLMA}{Yellow} \logocolor{WSTH}{YellowGreen} \logocolor{P}{PineGreen} \logocolor{YDN}{SkyBlue} \logocolor{EQ}{RoyalPurple} \logocolor{R}{RedViolet} \logocolor{K}{Black} \fi\fi\fi\fi\fi\fi\fi } \newcommand\findsubfamily[2][n]{% \xdef\first@{#1} \ifx\first@\n@ \else \xdef\subfamily@threshold{#1} \fi \xdef\subfamily@seq{#2} } \def\setsubfamily#1{% \xdef\sub@family@setting{#1} \loopcount=1 \loop \expandafter\xdef\csname subfamily@num\the\loopcount\endcsname{1} \advance\loopcount by 1 \ifnum\loopcount>\seq@count\else\repeat \xdef\subfamily@count{2} \res@count=0 \xdef\first@{#1,&,@} \setsubfamily@ \clear@res@nums{1} \clear@res@nums{2} \expandafter\xdef\csname group@num2\endcsname{\the\res@count} \loopcount=\seq@count \advance\loopcount by -\res@count \expandafter\xdef\csname group@num1\endcsname{\the\loopcount} } \def\subfamilythreshold#1{\xdef\subfamily@threshold{#1}} \newcommand\showsubfamilylogo[2][undefined]{% \xdef\first@{#1} \set@logocolors \xdef\first@{#2} \xdef\last@{top} \ifx\first@\last@\xdef\sublogo@top{0}\else\xdef\sublogo@top{1}\fi \show@sublogotrue } \def\relevance#1{% \def\sig@max{#1} \setlength\temp@@length{1000sp} \setlength\temp@@length{\sig@max\temp@@length} \loopcount=\temp@@length \xdef\sig@max{\the\loopcount} } \newcommand\showrelevance[2][Black]{\def\sig@color{#1}\def\sig@char{#2}\xdef\hide@sig{n}} \def\hiderelevance{\xdef\hide@sig{y}} \newcommand\showsequencelogo[2][undefined]{% \xdef\first@{#1} \set@logocolors \xdef\first@{#2} \xdef\last@{top} \ifx\first@\last@\xdef\logo@top{0}\else\xdef\logo@top{1}\fi \show@logotrue } \newcommand\showconsensus[2][n]{% \xdef\text@scale{n} \xdef\box@scale{n} \xdef\first@{#1} \ifx\first@\n@ \xdef\collect@cons@colors{no} \else \xdef\first@{#1,&,@} \expandafter\get@item\first@ \xdef\c@nsc@l{\fourth@} \xdef\first@@{Gray} \ifx\c@nsc@l\first@@\xdef\text@scale{y}\else \xdef\first@@{RedBlue} \ifx\c@nsc@l\first@@\xdef\text@scale{y}\else \xdef\first@@{BlueRed} \ifx\c@nsc@l\first@@\xdef\text@scale{y}\else \xdef\first@@{RedGreen} \ifx\c@nsc@l\first@@\xdef\text@scale{y}\else \xdef\first@@{GreenRed} \ifx\c@nsc@l\first@@\xdef\text@scale{y}\else \xdef\first@@{ColdHot} \ifx\c@nsc@l\first@@\xdef\text@scale{y}\else \xdef\first@@{HotCold} \ifx\c@nsc@l\first@@\xdef\text@scale{y} \fi\fi\fi\fi\fi\fi\fi \expandafter\get@item\first@ \ifx\fourth@\ampers@nd \xdef\c@nssc@le{White} \else \xdef\c@nssc@le{\fourth@} \xdef\first@{Gray} \ifx\c@nssc@le\first@\xdef\box@scale{y}\else \xdef\first@{RedBlue} \ifx\c@nssc@le\first@\xdef\box@scale{y}\else \xdef\first@{BlueRed} \ifx\c@nssc@le\first@\xdef\box@scale{y}\else \xdef\first@{RedGreen} \ifx\c@nssc@le\first@\xdef\box@scale{y}\else \xdef\first@{GreenRed} \ifx\c@nssc@le\first@\xdef\box@scale{y}\else \xdef\first@{ColdHot} \ifx\c@nssc@le\first@\xdef\box@scale{y}\else \xdef\first@{HotCold} \ifx\c@nssc@le\first@\xdef\box@scale{y}\else \fi\fi\fi\fi\fi\fi\fi \fi \xdef\collect@cons@colors{y} \fi \xdef\first@{#2} \xdef\last@{top} \ifx\first@\last@\xdef\cons@top{0}\else\xdef\cons@top{1}\fi \show@construe} \def\consensuscolors#1#2#3#4#5#6{% \xdef\last@{\ampers@nd} \xdef\first@{#1&}\xdef\second@{#2&} \ifx\first@\last@\else\def\ConsTextNomatch{#1}\fi \ifx\second@\last@\else\def\ConsNomatch{#2}\fi \xdef\first@{#3&}\xdef\second@{#4&} \ifx\first@\last@\else\def\ConsTextMatch{#3}\fi \ifx\second@\last@\else\def\ConsMatch{#4}\fi \xdef\first@{#5&}\xdef\second@{#6&} \ifx\first@\last@\else\def\ConsTextAllmatch{#5}\fi \ifx\second@\last@\else\def\ConsAllmatch{#6}\fi } \def\defconsensus#1#2#3{% \xdef\second@{#1&} \ifx\second@\ampers@nd \else \def\n@m@tch{#1}\fi \xdef\second@{#2&} \ifx\second@\ampers@nd \else \def\m@tch{#2}\fi \xdef\second@{#3&} \ifx\second@\ampers@nd \else \def\@llm@tch{#3}\fi} \def\hideconsensus{\show@consfalse} \def\nameconsensus#1{\def\cons@name{#1}} \def\namesequencelogo#1{\def\logo@name@user{#1}} \newcommand\namesubfamilylogo[2][]{\def\sublogo@name@neg{#1}\def\sublogo@name@user{#2}} \def\hideleadinggaps{\sh@wg@psfalse} \def\showleadinggaps{\sh@wg@pstrue} \newcommand\showruler[3][n]{% \xdef\first@{#1} \ifx\first@\n@\else\xdef\ruler@fg{#1}\fi \xdef\first@{consensus} \xdef\second@{#3} \xdef\third@{bottom} \xdef\fourth@{#2} \ifx\third@\fourth@ \xdef\rule@top{1}\else\xdef\rule@top{0}\fi \ifx\first@\second@ \xdef\rule@num{0} \else \xdef\first@{#3 @} \expandafter\check@letter\first@ \xdef\first@{#3} \ifletter \get@name@number \fi \ifnum\first@>\seq@count \else \ifnum\first@>0 \xdef\rule@num{\first@} \fi \fi \fi \xdef\ruler@{}} \def\hideruler{\xdef\rule@num{-1}} \def\allowzero{\xdef\allow@zero{y}} \def\disallowzero{\xdef\allow@zero{n}} \def\rulersteps#1{% \xdef\ruler@step{#1} \ifnum#1<4 \xdef\ruler@rot{90}\fi } \def\rotateruler{\xdef\ruler@rot{90}} \def\unrotateruler{\xdef\ruler@rot{0}} \def\namerulerpos#1#2{% \expandafter\xdef\csname alt@ruler#1\endcsname{#2} } \def\featurerule#1{\setlength\rule@thick{#1}} \def\orderseqs#1{% \def\order@loop{% \expandafter\check@letter\first@ \ifletter \expandafter\get@item\first@ \xdef\first@{\fourth@} \get@name@number \xdef\seq@order{\seq@order,\first@} \xdef\first@{\first@@ @} \order@loop \else \expandafter\get@digit\first@ \ifx\fourth@\ampers@nd \else \xdef\seq@order{\seq@order,\fourth@} \order@loop \fi \fi} \xdef\first@{#1,&,@} \xdef\seq@order{} \order@loop \xdef\seq@order{\seq@order @} \expandafter\get@item\seq@order \xdef\seq@order{\first@@,@} } \def\setfamily#1#2{% \xdef\second@{#2&} \ifx\second@\ampers@nd \else \xdef\first@{#1} \xdef\second@{#2} \xdef\temp@{rm} \ifx\second@\temp@ \xdef\third@{\rmdefault} \else \xdef\temp@{sf} \ifx\second@\temp@ \xdef\third@{\sfdefault} \else \xdef\temp@{tt} \ifx\second@\temp@ \xdef\third@{\ttdefault} \else \xdef\third@{\second@} \fi\fi\fi \xdef\temp@{featurenames} \ifx\first@\temp@ \xdef\ftext@family{\third@} \else \xdef\temp@{featurestylenames} \ifx\first@\temp@ \xdef\fstyles@family{\third@} \else \xdef\temp@{features} \ifx\first@\temp@ \xdef\featuretext@family{\third@} \else \xdef\temp@{featurestyles} \ifx\first@\temp@ \xdef\featurestyles@family{\third@} \else \xdef\temp@{numbering} \ifx\first@\temp@ \xdef\numbertext@family{\third@} \else \xdef\temp@{names} \ifx\first@\temp@ \xdef\namestext@family{\third@} \else \xdef\temp@{residues} \ifx\first@\temp@ \xdef\residues@family{\third@} \else \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@family{\third@} \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@family{\third@} \else \xdef\temp@{ruler} \ifx\first@\temp@ \xdef\ruler@family{\second@} \else \xdef\temp@{all} \ifx\first@\temp@ \xdef\ftext@family{\third@} \xdef\fstyles@family{\third@} \xdef\featuretext@family{\third@} \xdef\featurestyles@family{\third@} \xdef\numbertext@family{\third@} \xdef\namestext@family{\third@} \xdef\residues@family{\third@} \xdef\legend@family{\third@} \xdef\label@family{\third@} \xdef\ruler@family{\second@} \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi } \def\setseries#1#2{% \xdef\second@{#2&} \ifx\second@\ampers@nd \else \xdef\first@{#1} \xdef\second@{#2} \xdef\temp@{bf} \ifx\second@\temp@ \xdef\third@{\bfdefault} \else \xdef\temp@{md} \ifx\second@\temp@ \xdef\third@{\mddefault} \else \xdef\third@{\second@} \fi\fi \xdef\temp@{featurenames} \ifx\first@\temp@ \xdef\ftext@series{\third@} \else \xdef\temp@{featurestylenames} \ifx\first@\temp@ \xdef\fstyles@series{\third@} \else \xdef\temp@{features} \ifx\first@\temp@ \xdef\featuretext@series{\third@} \else \xdef\temp@{featurestyles} \ifx\first@\temp@ \xdef\featurestyles@series{\third@} \else \xdef\temp@{numbering} \ifx\first@\temp@ \xdef\numbertext@series{\third@} \else \xdef\temp@{names} \ifx\first@\temp@ \xdef\namestext@series{\third@} \else \xdef\temp@{residues} \ifx\first@\temp@ \xdef\residues@series{\third@} \else \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@series{\third@} \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@series{\third@} \else \xdef\temp@{all} \ifx\first@\temp@ \xdef\ftext@series{\third@} \xdef\fstyles@series{\third@} \xdef\featuretext@series{\third@} \xdef\featurestyles@series{\third@} \xdef\numbertext@series{\third@} \xdef\namestext@series{\third@} \xdef\residues@series{\third@} \xdef\legend@series{\third@} \xdef\label@series{\third@} \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi } \def\setshape#1#2{% \xdef\second@{#2&} \ifx\second@\ampers@nd \else \xdef\first@{#1} \xdef\second@{#2} \xdef\temp@{it} \ifx\second@\temp@ \xdef\third@{\itdefault} \else \xdef\temp@{sl} \ifx\second@\temp@ \xdef\third@{\sldefault} \else \xdef\temp@{sc} \ifx\second@\temp@ \xdef\third@{\scdefault} \else \xdef\temp@{up} \ifx\second@\temp@ \xdef\third@{\updefault} \else \xdef\third@{\second@} \fi\fi\fi\fi \xdef\temp@{featurenames} \ifx\first@\temp@ \xdef\ftext@shape{\third@} \else \xdef\temp@{featurestylenames} \ifx\first@\temp@ \xdef\fstyles@shape{\third@} \else \xdef\temp@{features} \ifx\first@\temp@ \xdef\featuretext@shape{\third@} \else \xdef\temp@{featurestyles} \ifx\first@\temp@ \xdef\featurestyles@shape{\third@} \else \xdef\temp@{numbering} \ifx\first@\temp@ \xdef\numbertext@shape{\third@} \else \xdef\temp@{names} \ifx\first@\temp@ \xdef\namestext@shape{\third@} \else \xdef\temp@{residues} \ifx\first@\temp@ \xdef\residues@shape{\third@} \else \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@shape{\third@} \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@shape{\third@} \else \xdef\temp@{all} \ifx\first@\temp@ \xdef\ftext@shape{\third@} \xdef\fstyles@shape{\third@} \xdef\featuretext@shape{\third@} \xdef\featurestyles@shape{\third@} \xdef\numbertext@shape{\third@} \xdef\namestext@shape{\third@} \xdef\residues@shape{\third@} \xdef\legend@shape{\third@} \xdef\label@shape{\third@} \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi } \def\setsize#1#2{% \xdef\second@{#2&} \ifx\second@\ampers@nd \else \xdef\first@{#1} \xdef\temp@{features} \ifx\first@\temp@ \def\featuretext@size{\csname #2\endcsname} \else \xdef\temp@{featurestyles} \ifx\first@\temp@ \def\featurestyles@size{\csname #2\endcsname} \else \xdef\temp@{featurenames} \ifx\first@\temp@ \def\ftext@size{\csname #2\endcsname} \else \xdef\temp@{featurestylenames} \ifx\first@\temp@ \def\fstyles@size{\csname #2\endcsname} \else \xdef\temp@{numbering} \ifx\first@\temp@ \def\numbertext@size{\csname #2\endcsname} \else \xdef\temp@{names} \ifx\first@\temp@ \def\namestext@size{\csname #2\endcsname} \else \xdef\temp@{legend} \ifx\first@\temp@ \def\legend@size{\csname #2\endcsname} \else \xdef\temp@{labels} \ifx\first@\temp@ \def\label@size{\csname #2\endcsname} \else \xdef\temp@{residues} \ifx\first@\temp@ \def\residues@size{\csname #2\endcsname} \xdef\res@size{#2} \else \xdef\temp@{all} \ifx\first@\temp@ \def\featuretext@size{\csname #2\endcsname} \def\featurestyles@size{\csname #2\endcsname} \def\ftext@size{\csname #2\endcsname} \def\fstyles@size{\csname #2\endcsname} \def\numbertext@size{\csname #2\endcsname} \def\namestext@size{\csname #2\endcsname} \def\legend@size{\csname #2\endcsname} \def\label@size{\csname #2\endcsname} \def\residues@size{\csname #2\endcsname} \xdef\res@size{#2} \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \xdef\temp@{Huge} \ifx\temp@\res@size \def\bottomruler@size{\csname Large\endcsname} \else \xdef\temp@{huge} \ifx\temp@\res@size \def\bottomruler@size{\csname large\endcsname} \else \xdef\temp@{LARGE} \ifx\temp@\res@size \def\bottomruler@size{\csname normalsize\endcsname} \else \xdef\temp@{Large} \ifx\temp@\res@size \def\bottomruler@size{\csname small\endcsname} \else \xdef\temp@{large} \ifx\temp@\res@size \def\bottomruler@size{\csname footnotesize\endcsname} \else \xdef\temp@{normalsize} \ifx\temp@\res@size \def\bottomruler@size{\csname scriptsize\endcsname} \else \def\bottomruler@size{\csname tiny\endcsname} \fi\fi\fi\fi\fi\fi \fi } \def\setfont#1#2#3#4#5{% \setfamily{#1}{#2}\setseries{#1}{#3} \setshape{#1}{#4}\setsize{#1}{#5}} \def\featurenamesrm{\setfamily{featurenames}{rm}} \def\featurenamessf{\setfamily{featurenames}{sf}} \def\featurenamestt{\setfamily{featurenames}{tt}} \def\featurenamesmd{\setseries{featurenames}{md}} \def\featurenamesbf{\setseries{featurenames}{bf}} \def\featurenamesup{\setshape {featurenames}{up}} \def\featurenamesit{\setshape {featurenames}{it}} \def\featurenamessl{\setshape {featurenames}{sl}} \def\featurenamessc{\setshape {featurenames}{sc}} \def\featurenamestiny {\setsize{featurenames}{tiny}} \def\featurenamesscriptsize {\setsize{featurenames}{scriptsize}} \def\featurenamesfootnotesize{\setsize{featurenames}{footnotesize}} \def\featurenamessmall {\setsize{featurenames}{small}} \def\featurenamesnormalsize {\setsize{featurenames}{normalsize}} \def\featurenameslarge {\setsize{featurenames}{large}} \def\featurenamesLarge {\setsize{featurenames}{Large}} \def\featurenamesLARGE {\setsize{featurenames}{LARGE}} \def\featurenameshuge {\setsize{featurenames}{huge}} \def\featurenamesHuge {\setsize{featurenames}{Huge}} \def\featurestylenamesrm{\setfamily{featurestylenames}{rm}} \def\featurestylenamessf{\setfamily{featurestylenames}{sf}} \def\featurestylenamestt{\setfamily{featurestylenames}{tt}} \def\featurestylenamesmd{\setseries{featurestylenames}{md}} \def\featurestylenamesbf{\setseries{featurestylenames}{bf}} \def\featurestylenamesup{\setshape {featurestylenames}{up}} \def\featurestylenamesit{\setshape {featurestylenames}{it}} \def\featurestylenamessl{\setshape {featurestylenames}{sl}} \def\featurestylenamessc{\setshape {featurestylenames}{sc}} \def\featurestylenamestiny {\setsize{featurestylenames}{tiny}} \def\featurestylenamesscriptsize {\setsize{featurestylenames}{scriptsize}} \def\featurestylenamesfootnotesize{\setsize{featurestylenames}{footnotesize}} \def\featurestylenamessmall {\setsize{featurestylenames}{small}} \def\featurestylenamesnormalsize {\setsize{featurestylenames}{normalsize}} \def\featurestylenameslarge {\setsize{featurestylenames}{large}} \def\featurestylenamesLarge {\setsize{featurestylenames}{Large}} \def\featurestylenamesLARGE {\setsize{featurestylenames}{LARGE}} \def\featurestylenameshuge {\setsize{featurestylenames}{huge}} \def\featurestylenamesHuge {\setsize{featurestylenames}{Huge}} \def\featuresrm{\setfamily{features}{rm}} \def\featuressf{\setfamily{features}{sf}} \def\featurestt{\setfamily{features}{tt}} \def\featuresmd{\setseries{features}{md}} \def\featuresbf{\setseries{features}{bf}} \def\featuresup{\setshape {features}{up}} \def\featuresit{\setshape {features}{it}} \def\featuressl{\setshape {features}{sl}} \def\featuressc{\setshape {features}{sc}} \def\featurestiny {\setsize{features}{tiny}} \def\featuresscriptsize {\setsize{features}{scriptsize}} \def\featuresfootnotesize{\setsize{features}{footnotesize}} \def\featuressmall {\setsize{features}{small}} \def\featuresnormalsize {\setsize{features}{normalsize}} \def\featureslarge {\setsize{features}{large}} \def\featuresLarge {\setsize{features}{Large}} \def\featuresLARGE {\setsize{features}{LARGE}} \def\featureshuge {\setsize{features}{huge}} \def\featuresHuge {\setsize{features}{Huge}} \def\featurestylesrm{\setfamily{featurestyles}{rm}} \def\featurestylessf{\setfamily{featurestyles}{sf}} \def\featurestylestt{\setfamily{featurestyles}{tt}} \def\featurestylesmd{\setseries{featurestyles}{md}} \def\featurestylesbf{\setseries{featurestyles}{bf}} \def\featurestylesup{\setshape {featurestyles}{up}} \def\featurestylesit{\setshape {featurestyles}{it}} \def\featurestylessl{\setshape {featurestyles}{sl}} \def\featurestylessc{\setshape {featurestyles}{sc}} \def\featurestylestiny {\setsize{featurestyles}{tiny}} \def\featurestylesscriptsize {\setsize{featurestyles}{scriptsize}} \def\featurestylesfootnotesize{\setsize{featurestyles}{footnotesize}} \def\featurestylessmall {\setsize{featurestyles}{small}} \def\featurestylesnormalsize {\setsize{featurestyles}{normalsize}} \def\featurestyleslarge {\setsize{featurestyles}{large}} \def\featurestylesLarge {\setsize{featurestyles}{Large}} \def\featurestylesLARGE {\setsize{featurestyles}{LARGE}} \def\featurestyleshuge {\setsize{featurestyles}{huge}} \def\featurestylesHuge {\setsize{featurestyles}{Huge}} \def\numberingrm{\setfamily{numbering}{rm}} \def\numberingsf{\setfamily{numbering}{sf}} \def\numberingtt{\setfamily{numbering}{tt}} \def\numberingmd{\setseries{numbering}{md}} \def\numberingbf{\setseries{numbering}{bf}} \def\numberingup{\setshape {numbering}{up}} \def\numberingit{\setshape {numbering}{it}} \def\numberingsl{\setshape {numbering}{sl}} \def\numberingsc{\setshape {numbering}{sc}} \def\numberingtiny {\setsize{numbering}{tiny}} \def\numberingscriptsize {\setsize{numbering}{scriptsize}} \def\numberingfootnotesize{\setsize{numbering}{footnotesize}} \def\numberingsmall {\setsize{numbering}{small}} \def\numberingnormalsize {\setsize{numbering}{normalsize}} \def\numberinglarge {\setsize{numbering}{large}} \def\numberingLarge {\setsize{numbering}{Large}} \def\numberingLARGE {\setsize{numbering}{LARGE}} \def\numberinghuge {\setsize{numbering}{huge}} \def\numberingHuge {\setsize{numbering}{Huge}} \def\namesrm{\setfamily{names}{rm}} \def\namessf{\setfamily{names}{sf}} \def\namestt{\setfamily{names}{tt}} \def\namesmd{\setseries{names}{md}} \def\namesbf{\setseries{names}{bf}} \def\namesup{\setshape {names}{up}} \def\namesit{\setshape {names}{it}} \def\namessl{\setshape {names}{sl}} \def\namessc{\setshape {names}{sc}} \def\namestiny {\setsize{names}{tiny}} \def\namesscriptsize {\setsize{names}{scriptsize}} \def\namesfootnotesize{\setsize{names}{footnotesize}} \def\namessmall {\setsize{names}{small}} \def\namesnormalsize {\setsize{names}{normalsize}} \def\nameslarge {\setsize{names}{large}} \def\namesLarge {\setsize{names}{Large}} \def\namesLARGE {\setsize{names}{LARGE}} \def\nameshuge {\setsize{names}{huge}} \def\namesHuge {\setsize{names}{Huge}} \def\residuesrm{\setfamily{residues}{rm}} \def\residuessf{\setfamily{residues}{sf}} \def\residuestt{\setfamily{residues}{tt}} \def\residuesmd{\setseries{residues}{md}} \def\residuesbf{\setseries{residues}{bf}} \def\residuesup{\setshape {residues}{up}} \def\residuesit{\setshape {residues}{it}} \def\residuessl{\setshape {residues}{sl}} \def\residuessc{\setshape {residues}{sc}} \def\residuestiny {\setsize{residues}{tiny}} \def\residuesscriptsize {\setsize{residues}{scriptsize}} \def\residuesfootnotesize{\setsize{residues}{footnotesize}} \def\residuessmall {\setsize{residues}{small}} \def\residuesnormalsize {\setsize{residues}{normalsize}} \def\residueslarge {\setsize{residues}{large}} \def\residuesLarge {\setsize{residues}{Large}} \def\residuesLARGE {\setsize{residues}{LARGE}} \def\residueshuge {\setsize{residues}{huge}} \def\residuesHuge {\setsize{residues}{Huge}} \def\legendrm{\setfamily{legend}{rm}} \def\legendsf{\setfamily{legend}{sf}} \def\legendtt{\setfamily{legend}{tt}} \def\legendmd{\setseries{legend}{md}} \def\legendbf{\setseries{legend}{bf}} \def\legendup{\setshape {legend}{up}} \def\legendit{\setshape {legend}{it}} \def\legendsl{\setshape {legend}{sl}} \def\legendsc{\setshape {legend}{sc}} \def\legendtiny {\setsize{legend}{tiny}} \def\legendscriptsize {\setsize{legend}{scriptsize}} \def\legendfootnotesize{\setsize{legend}{footnotesize}} \def\legendsmall {\setsize{legend}{small}} \def\legendnormalsize {\setsize{legend}{normalsize}} \def\legendlarge {\setsize{legend}{large}} \def\legendLarge {\setsize{legend}{Large}} \def\legendLARGE {\setsize{legend}{LARGE}} \def\legendhuge {\setsize{legend}{huge}} \def\legendHuge {\setsize{legend}{Huge}} \def\rulerrm{\setfamily{ruler}{rm}} \def\rulersf{\setfamily{ruler}{sf}} \def\rulertt{\setfamily{ruler}{tt}} \def\funcshadingstyle#1#2#3#4#5{% \xdef\temp@{nomatch} \xdef\first@{#1} \ifx\temp@\first@ \xdef\first@{0} \else \xdef\first@{\csname funcgrp#1\endcsname} \fi \ifnum\first@>-1 \expandafter\xdef\csname fg@textcolor\first@\endcsname{#2} \expandafter\xdef\csname fg@color\first@\endcsname{#3} \expandafter\xdef\csname funcm@tch\first@\endcsname{#4} \expandafter\def\csname func@style\first@\endcsname{\csname text#5\endcsname} \fi} \def\shadingcolors#1{% \gapcolors{Black}{White} \nomatchresidues{Black}{White}{upper}{up} \xdef\first@{#1} \xdef\second@{blues} \ifx\first@\second@ \similarresidues{Black}{Magenta}{upper}{up} \conservedresidues{White}{RoyalBlue}{upper}{up} \allmatchresidues{Goldenrod}{RoyalPurple}{upper}{up} \else \xdef\second@{greens} \ifx\first@\second@ \similarresidues{Black}{GreenYellow}{upper}{up} \conservedresidues{White}{PineGreen}{upper}{up} \allmatchresidues{YellowOrange}{OliveGreen}{upper}{up} \else \xdef\second@{reds} \ifx\first@\second@ \similarresidues{Black}{YellowOrange}{upper}{up} \conservedresidues{White}{BrickRed}{upper}{up} \allmatchresidues{YellowGreen}{Mahagony}{upper}{up} \else \xdef\second@{black} \ifx\first@\second@ \similarresidues{Black}{White}{upper}{sl} \conservedresidues{White}{Black}{upper}{up} \allmatchresidues{White}{Black}{upper}{sl} \else \xdef\second@{grays} \ifx\first@\second@ \else \message{} \xdef\first@{grays}\fi \ifx\first@\second@ \similarresidues{Black}{LightGray}{upper}{up} \conservedresidues{White}{DarkGray}{upper}{up} \allmatchresidues{White}{Black}{upper}{up} \fi\fi\fi\fi\fi} \def\nomatchresidues#1#2#3#4 {\xdef\first@{#1&}\xdef\second@{#2&}\xdef\third@{#3&} \xdef\last@{\ampers@nd} \ifx\first@\last@\else\def\TextNomatch{#1} \expandafter\def\csname fg@textcolor0\endcsname{#1} \fi \ifx\second@\last@\else\gdef\Nomatch{#2} \expandafter\def\csname fg@color0\endcsname{#2} \fi \ifx\third@\last@\else\def\resn@m@tch{#3} \fi \xdef\first@{#4&} \ifx\first@\last@\else \def\no@style{\csname text#4\endcsname} \expandafter\def\csname func@style0\endcsname% {\csname text#4\endcsname}\fi} \def\similarresidues#1#2#3#4 {\xdef\first@{#1&}\xdef\second@{#2&}\xdef\third@{#3&} \xdef\last@{\ampers@nd} \ifx\first@\last@\else\def\TextSimilar{#1}\fi \ifx\second@\last@\else\gdef\Similar{#2}\fi \ifx\third@\last@\else\def\ressimm@tch{#3}\fi \xdef\first@{#4&} \ifx\first@\last@\else \def\sim@style{\csname text#4\endcsname}\fi} \def\conservedresidues#1#2#3#4{\xdef\first@{#1&}\xdef\second@{#2&}\xdef\third@{#3&} \xdef\last@{\ampers@nd} \ifx\first@\last@\else\def\TextIdentical{#1}\fi \ifx\second@\last@\else\gdef\Identical{#2}\fi \ifx\third@\last@\else\def\resm@tch{#3}\fi \xdef\first@{#4&} \ifx\first@\last@\else \def\id@style{\csname text#4\endcsname}\fi} \def\allmatchresidues#1#2#3#4 {\xdef\first@{#1&}\xdef\second@{#2&}\xdef\third@{#3&} \xdef\last@{\ampers@nd} \ifx\first@\last@\else\def\TextAllmatch{#1}\fi \ifx\second@\last@\else\gdef\Allmatch{#2}\fi \ifx\third@\last@\else\def\res@llm@tch{#3}\fi \xdef\first@{#4&} \ifx\first@\last@\else \def\all@style{\csname text#4\endcsname}\fi} \def\gapcolors#1#2 {\xdef\first@{#1&}\xdef\second@{#2&} \xdef\last@{\ampers@nd} \ifx\first@\last@\else\def\gap@fg{#1} \expandafter\def\csname fg@textcolor*\endcsname{#1}\fi \ifx\second@\last@\else\def\gap@bg{#2} \expandafter\def\csname fg@color*\endcsname{#2}\fi} \def\domaingapcolors#1#2 {\xdef\first@{#1&}\xdef\second@{#2&} \xdef\last@{\ampers@nd} \ifx\first@\last@\else\def\domgap@fg{#1} \expandafter\def\csname fg@textcolor!\endcsname{#1}\fi \ifx\second@\last@\else\def\domgap@bg{#2} \expandafter\def\csname fg@color!\endcsname{#2}\fi} \def\shadebox#1{% \xdef\first@{White}% \xdef\third@{#1}% \xdef\second@{nomatch}% \ifx\second@\third@ \ifx\Nomatch\first@\white@box\else\textcolor{\Nomatch}{\box@rule}\fi% \else \xdef\second@{similar}% \ifx\second@\third@ \ifx\Similar\first@\white@box\else\textcolor{\Similar}{\box@rule}\fi% \else \xdef\second@{conserved}% \ifx\second@\third@ \ifx\Identical\first@\white@box\else\textcolor{\Identical}{\box@rule}\fi% \else \xdef\second@{allmatch}% \ifx\second@\third@ \ifx\Allmatch\first@\white@box\else\textcolor{\Allmatch}{\box@rule}\fi% \else \ifx\third@\first@\white@box\else\textcolor{\third@}{\box@rule}\fi \fi\fi\fi\fi} \def\featurenamescolor#1{% \expandafter\xdef\csname ftext@fg@ttttop\endcsname{#1} \expandafter\xdef\csname ftext@fg@tttop\endcsname{#1} \expandafter\xdef\csname ftext@fg@ttop\endcsname{#1} \expandafter\xdef\csname ftext@fg@top\endcsname{#1} \expandafter\xdef\csname ftext@fg@bottom\endcsname{#1} \expandafter\xdef\csname ftext@fg@bbottom\endcsname{#1} \expandafter\xdef\csname ftext@fg@bbbottom\endcsname{#1} \expandafter\xdef\csname ftext@fg@bbbbottom\endcsname{#1} } \def\featurestylenamescolor#1{% \expandafter\xdef\csname fstyles@fg@ttttop\endcsname{#1} \expandafter\xdef\csname fstyles@fg@tttop\endcsname{#1} \expandafter\xdef\csname fstyles@fg@ttop\endcsname{#1} \expandafter\xdef\csname fstyles@fg@top\endcsname{#1} \expandafter\xdef\csname fstyles@fg@bottom\endcsname{#1} \expandafter\xdef\csname fstyles@fg@bbottom\endcsname{#1} \expandafter\xdef\csname fstyles@fg@bbbottom\endcsname{#1} \expandafter\xdef\csname fstyles@fg@bbbbottom\endcsname{#1} } \def\featurenamecolor#1#2{\expandafter\xdef\csname ftext@fg@#1\endcsname{#2}} \def\featurestylenamecolor#1#2{\expandafter\xdef\csname fstyles@fg@#1\endcsname{#2}} \def\namescolor#1{\xdef\names@fg{#1}} \def\namecolor#1#2{% \xdef\first@{consensus} \xdef\second@{#1} \ifx\first@\second@ \expandafter\xdef\csname name@col0\endcsname{#2} \else \xdef\first@{featurenames} \xdef\second@{#1} \ifx\first@\second@ \xdef\ftext@fg{#2} \else \xdef\first@{featurestylenames} \xdef\second@{#1} \ifx\first@\second@ \xdef\fstyles@fg{#2} \else \xdef\first@{#1,&,@} \xdef\third@{#2} \namecolor@ \fi\fi\fi } \def\numberingcolor#1{\xdef\numbering@fg{#1}} \def\numbercolor#1#2{% \xdef\first@{consensus} \xdef\second@{#1} \ifx\first@\second@ \expandafter\xdef\csname number@col0\endcsname{#2} \else \xdef\first@{#1,&,@} \xdef\third@{#2} \numbercolor@ \fi } \def\legendcolor#1{\xdef\legend@fg{#1}} \def\rulercolor#1{\xdef\ruler@fg{#1}} \def\molweight#1#2{% \xdef\temp@{Da}% \xdef\second@{#2}% \ifx\second@\temp@\xdef\third@{Da}\else\xdef\third@{kDa}\fi% \xdef\first@{#1 @} \expandafter\check@letter\first@ \xdef\first@{#1} \ifletter \get@name@number \fi \xdef\first@{\csname @rd\first@\endcsname}% \loopcount=\csname mol@weight\first@\endcsname% \divide\loopcount by 10\relax% \innerloopcount=\loopcount% \hbox{% \ifnum\loopcount>1000% \divide\loopcount by 1000\relax% \pos@count=\loopcount% \multiply\loopcount by 1000\relax% \advance\innerloopcount by -\loopcount% \loopcount=\innerloopcount% \ifnum\loopcount>949\advance\pos@count by 1\relax\fi% \the\pos@count% \ifx\temp@\second@\ifgerm@n .\else {,}\fi\fi% \else% \ifx\second@\temp@ \else 0\fi% \fi% \ifx\second@\temp@% \the\loopcount% \loopcount=\csname mol@weight\first@\endcsname% \innerloopcount=\loopcount% \divide\loopcount by 10\relax% \multiply\loopcount by 10\relax% \advance\innerloopcount by -\loopcount\relax% \else% \divide\innerloopcount by 10\relax% \advance\innerloopcount by 5\relax% \divide\innerloopcount by 10\relax% \fi% \ifnum\innerloopcount>9\relax\innerloopcount=0\relax\fi% \ifgerm@n {,}\else .\fi% \the\innerloopcount~\third@}} \newcommand\charge[2][o]{% \xdef\temp@{pep}% \ifx\prefix@\temp@% \xdef\first@{#2 @} \expandafter\check@letter\first@ \xdef\first@{#2} \ifletter \get@name@number \fi \xdef\second@{\csname @rd\first@\endcsname}% \loopcount=\csname ch@rge\second@\endcsname% \xdef\first@{#1}\make@lower% \if\first@ i\fi% \if\first@ o\advance\loopcount by \chargeNterm% \advance\loopcount by \chargeCterm\fi% \if\first@ n\advance\loopcount by \chargeNterm\fi% \if\first@ c\advance\loopcount by \chargeCterm\fi% \hbox{\ensuremath{% \ifnum\loopcount>0 +% \else\ifnum\loopcount=0 \pm% \else -\multiply\loopcount by -1\relax% \fi\fi% \innerloopcount=\loopcount% \divide\loopcount by 1000\relax% \the\loopcount% \multiply\loopcount by 1000\relax% \advance\innerloopcount by -\loopcount\relax% \divide\innerloopcount by 10\relax% \ifnum\innerloopcount=0% \else% \ifgerm@n {,}\else .\fi% \ifnum\innerloopcount<10 0\fi% \the\innerloopcount% \fi}}% \fi} \def\TeXshade{% \setbox1=\hbox{\texttt{H}}% \def\logo@rule{\vrule depth0.25\ht1 height1.25\ht1 width\wd1}% \TeX% \logo@rule\kern-\wd1\textcolor{White}{\texttt{s}}% \logo@rule\kern-\wd1\textcolor{White}{\texttt{h}}% \texttt{a}% \logo@rule\kern-\wd1\textcolor{White}{\texttt{d}}% \texttt{e}} \def\includeTCoffee#1{% \xdef\TC@first@{#1}\include@T@coffee} \def\firstcolumnDSSP{\xdef\fc@DSSP{y}} \def\secondcolumnDSSP{\xdef\fc@DSSP{n}} \newcommand{\includeDSSP}[3][existing]{% \temp@count=\dssp@num \advance\temp@count by 1 \xdef\dssp@num{\the\temp@count} \xdef\first@{#1} \xdef\temp@{existing} \ifx\first@\temp@ \else\xdef\first@{make new}\fi \expandafter\xdef\csname optiondssp\the\temp@count\endcsname{\first@} \xdef\first@{#2 @} \expandafter\check@letter\first@ \xdef\first@{#2} \ifletter \get@name@number \fi \expandafter\xdef\csname doseqdssp\the\temp@count\endcsname{\first@} \expandafter\xdef\csname filenamedssp\the\temp@count\endcsname{#3} \expandafter\ifnum\csname doseqdssp\the\temp@count\endcsname>\seq@count \message{} \advance\temp@count by -1 \xdef\dssp@num{\the\temp@count} \fi } \newcommand{\includeHMMTOP}[3][existing]{% \temp@count=\HMMTOP@num \advance\temp@count by 1 \xdef\HMMTOP@num{\the\temp@count} \xdef\first@{#1} \xdef\temp@{existing} \ifx\first@\temp@ \else\xdef\first@{make new}\fi \expandafter\xdef\csname optionHMMTOP\the\temp@count\endcsname{\first@} \xdef\first@{#2[,]&}\expandafter\opt@color\first@ \ifx\f@color\comm@ \expandafter\xdef\csname fileseqHMMTOP\the\temp@count\endcsname{0} \else \expandafter\xdef\csname fileseqHMMTOP\the\temp@count\endcsname{\f@color} \fi \xdef\first@{\fourth@ @} \expandafter\check@letter\first@ \xdef\first@{\fourth@} \ifletter \get@name@number \fi \expandafter\xdef\csname doseqHMMTOP\the\temp@count\endcsname{\first@} \expandafter\xdef\csname filenameHMMTOP\the\temp@count\endcsname{#3} \expandafter\ifnum\csname doseqHMMTOP\the\temp@count\endcsname>\seq@count \message{} \advance\temp@count by -1 \xdef\HMMTOP@num{\the\temp@count} \fi } \newcommand{\includeSTRIDE}[3][existing]{% \temp@count=\stride@num \advance\temp@count by 1 \xdef\stride@num{\the\temp@count} \xdef\first@{#1} \xdef\temp@{existing} \ifx\first@\temp@ \else\xdef\first@{make new}\fi \expandafter\xdef\csname optionstride\the\temp@count\endcsname{\first@} \xdef\first@{#2 @} \expandafter\check@letter\first@ \xdef\first@{#2} \ifletter \get@name@number \fi \expandafter\xdef\csname doseqstride\the\temp@count\endcsname{\first@} \expandafter\xdef\csname filenamestride\the\temp@count\endcsname{#3} \expandafter\ifnum\csname doseqstride\the\temp@count\endcsname>\seq@count \message{} \advance\temp@count by -1 \xdef\stride@num{\the\temp@count} \fi } \newcommand{\includePHDsec}[3][existing]{% \temp@count=\PHD@num \advance\temp@count by 1 \xdef\PHD@num{\the\temp@count} \xdef\first@{#1} \xdef\temp@{existing} \ifx\first@\temp@ \else\xdef\first@{make new}\fi \expandafter\xdef\csname optionphd\the\temp@count\endcsname{\first@} \xdef\first@{#2 @} \expandafter\check@letter\first@ \xdef\first@{#2} \ifletter \get@name@number \fi \expandafter\xdef\csname doseqphd\the\temp@count\endcsname{\first@} \expandafter\xdef\csname modephd\the\temp@count\endcsname{structure} \expandafter\xdef\csname filenamephd\the\temp@count\endcsname{#3} \expandafter\ifnum\csname doseqphd\the\temp@count\endcsname>\seq@count \message{} \advance\temp@count by -1 \xdef\PHD@num{\the\temp@count} \fi } \newcommand{\includePHDtopo}[3][existing]{% \temp@count=\PHD@num \advance\temp@count by 1 \xdef\PHD@num{\the\temp@count} \xdef\first@{#1} \xdef\temp@{existing} \ifx\first@\temp@ \else\xdef\first@{make new}\fi \expandafter\xdef\csname optionphd\the\temp@count\endcsname{\first@} \xdef\first@{#2 @} \expandafter\check@letter\first@ \xdef\first@{#2} \ifletter \get@name@number \fi \expandafter\xdef\csname doseqphd\the\temp@count\endcsname{\first@} \expandafter\xdef\csname modephd\the\temp@count\endcsname{topology} \expandafter\xdef\csname filenamephd\the\temp@count\endcsname{#3} \expandafter\ifnum\csname doseqphd\the\temp@count\endcsname>\seq@count \message{} \advance\temp@count by -1 \xdef\PHD@num{\the\temp@count} \fi } \def\appearance#1#2#3#4#5{% \xdef\first@{#1} \xdef\second@{#2} \xdef\temp@{PHDsec} \ifx\temp@\first@ \xdef\temp@{alpha} \ifx\second@\temp@ \def\bottop@Hsec{#3} \def\label@Hsec{#4} \def\text@Hsec{#5} \else \xdef\temp@{beta} \ifx\second@\temp@ \def\bottop@Esec{#3} \def\label@Esec{#4} \def\text@Esec{#5} \fi\fi \else \xdef\temp@{PHDtopo} \ifx\temp@\first@ \xdef\temp@{internal} \ifx\second@\temp@ \def\bottop@itop{#3} \def\label@itop{#4} \def\text@itop{#5} \else \xdef\temp@{external} \ifx\second@\temp@ \def\bottop@etop{#3} \def\label@etop{#4} \def\text@etop{#5} \else \xdef\temp@{TM} \ifx\second@\temp@ \def\bottop@TMtop{#3} \def\label@TMtop{#4} \def\text@TMtop{#5} \fi\fi\fi \else \xdef\temp@{STRIDE} \ifx\temp@\first@ \xdef\temp@{alpha} \ifx\second@\temp@ \def\bottop@Hstride{#3} \def\label@Hstride{#4} \def\text@Hstride{#5} \else \xdef\temp@{3-10} \ifx\second@\temp@ \def\bottop@Gstride{#3} \def\label@Gstride{#4} \def\text@Gstride{#5} \else \xdef\temp@{pi} \ifx\second@\temp@ \def\bottop@Istride{#3} \def\label@Istride{#4} \def\text@Istride{#5} \else \xdef\temp@{beta} \ifx\second@\temp@ \def\bottop@Estride{#3} \def\label@Estride{#4} \def\text@Estride{#5} \else \xdef\temp@{bridge} \ifx\second@\temp@ \def\bottop@Bstride{#3} \def\label@Bstride{#4} \def\text@Bstride{#5} \else \xdef\temp@{turn} \ifx\second@\temp@ \def\bottop@Tstride{#3} \def\label@Tstride{#4} \def\text@Tstride{#5} \fi\fi\fi\fi\fi\fi \else \xdef\temp@{DSSP} \ifx\temp@\first@ \xdef\temp@{alpha} \ifx\second@\temp@ \def\bottop@Hdssp{#3} \def\label@Hdssp{#4} \def\text@Hdssp{#5} \else \xdef\temp@{3-10} \ifx\second@\temp@ \def\bottop@Gdssp{#3} \def\label@Gdssp{#4} \def\text@Gdssp{#5} \else \xdef\temp@{pi} \ifx\second@\temp@ \def\bottop@Idssp{#3} \def\label@Idssp{#4} \def\text@Idssp{#5} \else \xdef\temp@{beta} \ifx\second@\temp@ \def\bottop@Edssp{#3} \def\label@Edssp{#4} \def\text@Edssp{#5} \else \xdef\temp@{bridge} \ifx\second@\temp@ \def\bottop@Bdssp{#3} \def\label@Bdssp{#4} \def\text@Bdssp{#5} \else \xdef\temp@{turn} \ifx\second@\temp@ \def\bottop@Tdssp{#3} \def\label@Tdssp{#4} \def\text@Tdssp{#5} \else \xdef\temp@{bend} \ifx\second@\temp@ \def\bottop@Sdssp{#3} \def\label@Sdssp{#4} \def\text@Sdssp{#5} \fi\fi\fi\fi\fi\fi\fi \else \xdef\temp@{HMMTOP} \ifx\temp@\first@ \xdef\temp@{internal} \ifx\second@\temp@ \def\bottop@i@HMMTOP{#3} \def\label@i@HMMTOP{#4} \def\text@i@HMMTOP{#5} \else \xdef\temp@{external} \ifx\second@\temp@ \def\bottop@e@HMMTOP{#3} \def\label@e@HMMTOP{#4} \def\text@e@HMMTOP{#5} \else \xdef\temp@{TM} \ifx\second@\temp@ \def\bottop@TM@HMMTOP{#3} \def\label@TM@HMMTOP{#4} \def\text@TM@HMMTOP{#5} \fi\fi\fi \fi\fi\fi\fi\fi } \def\showonDSSP#1{% \xdef\first@{#1,&,@} \xdef\second@{yes} \show@DSSP} \def\hideonDSSP#1{% \xdef\first@{#1,&,@} \xdef\second@{no} \show@DSSP} \def\showonSTRIDE#1{% \xdef\first@{#1,&,@} \xdef\second@{yes} \show@STRIDE} \def\hideonSTRIDE#1{% \xdef\first@{#1,&,@} \xdef\second@{no} \show@STRIDE} \def\showonPHDtopo#1{% \xdef\first@{#1,&,@} \xdef\second@{yes} \show@PHDtopo} \def\hideonPHDtopo#1{% \xdef\first@{#1,&,@} \xdef\second@{no} \show@PHDtopo} \def\showonPHDsec#1{% \xdef\first@{#1,&,@} \xdef\second@{yes} \show@PHDsec} \def\hideonPHDsec#1{% \xdef\first@{#1,&,@} \xdef\second@{no} \show@PHDsec} \def\showonHMMTOP#1{% \xdef\first@{#1,&,@} \xdef\second@{yes} \show@HMMTOP} \def\hideonHMMTOP#1{% \xdef\first@{#1,&,@} \xdef\second@{no} \show@HMMTOP} \def\codon#1#2{% \xdef\first@{#1} \xdef\second@{#2,&,@} \expandafter\get@triplet\second@} \def\geneticcode#1{% \xdef\first@{#1} \xdef\temp@{standard} \ifx\first@\temp@ \c@d@ns \else \input{#1.cod} \fi} \newcommand{\backtranslabel}[2][tiny]{% \def\trans@size{\csname #1\endcsname} \xdef\first@{#2} \xdef\temp@{horizontal} \ifx\temp@\first@ \xdef\tr@nsstyle{0}\fi \xdef\temp@{zigzag} \ifx\temp@\first@ \xdef\tr@nsstyle{1}\fi \xdef\temp@{alternating} \ifx\temp@\first@ \xdef\tr@nsstyle{2}\fi \xdef\temp@{oblique} \ifx\temp@\first@ \xdef\tr@nsstyle{3}\fi \xdef\temp@{vertical} \ifx\temp@\first@ \xdef\tr@nsstyle{4}\fi } \newcommand{\backtranstext}[2][tiny]{% \def\transtext@size{\csname #1\endcsname} \xdef\first@{#2} \xdef\temp@{horizontal} \ifx\temp@\first@ \xdef\tr@nstextstyle{0}\fi \xdef\temp@{zigzag} \ifx\temp@\first@ \xdef\tr@nstextstyle{1}\fi \xdef\temp@{alternating} \ifx\temp@\first@ \xdef\tr@nstextstyle{2}\fi \xdef\temp@{oblique} \ifx\temp@\first@ \xdef\tr@nstextstyle{3}\fi \xdef\temp@{vertical} \ifx\temp@\first@ \xdef\tr@nstextstyle{4}\fi } \newcommand\exportconsensus[2][export.txt]{% \ifx\exp@rt\n@ \xdef\first@{#2 @} \expandafter\check@letter\first@ \xdef\first@{#2} \ifletter \get@name@number \fi \xdef\exp@rt@num{\first@} \xdef\exp@rt{y} \immediate\openout\exp@rtfile = #1 \fi } \def\setdomain#1#2{% \xdef\first@{#1} \xdef\temp@{consensus} \ifx\first@\temp@ \xdef\domain@seq{0} \else \xdef\first@{#1 @} \expandafter\check@letter\first@ \xdef\first@{#1} \ifletter \get@name@number \fi \xdef\domain@seq{\csname @rd\first@\endcsname}% \fi \xdef\list@{#2,&} \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@domainregions\list@ \ifx\list@\ampers@nd\else\repeat \xdef\dom@in{y} } %%%%% Calculate consensus \def\check@sim{% \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\first@{\csname \prefix@ grp\first@\endcsname} \newrestrue \ifnum\first@<0 \newresfalse \else \innerloopcount=\loopcount \ifnum\loopcount=\cons@num \innerloopcount=\seq@count \fi \ifnum\innerloopcount<\seq@count \loop \advance\innerloopcount by 1 \xdef\second@{\csname res\the\innerloopcount\endcsname} \expandafter\ifx\csname \prefix@ grp\second@\endcsname\first@ \newresfalse \innerloopcount=\seq@count \fi \ifnum\innerloopcount<\seq@count \repeat \fi \fi \ifnewres \pos@sum=0 \innerloopcount=0 \loop \advance\innerloopcount by 1 \xdef\second@{\csname res\the\innerloopcount\endcsname} \expandafter\ifx\csname \prefix@ grp\second@\endcsname\first@ \advance\pos@sum by 1 \fi \ifnum\innerloopcount<\seq@count \repeat \multiply\pos@sum by \seq@percent \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum} \expandafter\ifnum\csname pos\the\loopcount\endcsname<\thresh@ld \else \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x \xdef\m@x{\csname pos\the\loopcount\endcsname} \xdef\cons@seq{\the\loopcount} \xdef\match@case{\c@se} \xdef\simgroup@{\first@} \else \expandafter\ifnum\csname pos\the\loopcount\endcsname=\m@x \xdef\match@case{0} \fi \fi \fi \fi \ifnum\loopcount=\cons@num \loopcount=1 \fi \advance\loopcount by -1 \ifnum\loopcount>0 \check@sim \fi} \def\check@ident{% \xdef\first@{\csname res\the\loopcount\endcsname} \newrestrue \expandafter\check@char\first@ \ifletter \innerloopcount=\loopcount \ifnum\loopcount=\cons@num \innerloopcount=\seq@count \fi \ifnum\innerloopcount<\seq@count \loop \advance\innerloopcount by 1 \expandafter\ifx\csname res\the\innerloopcount\endcsname\first@ \newresfalse \innerloopcount=\seq@count \fi \ifnum\innerloopcount<\seq@count \repeat \fi \else \newresfalse % \expandafter\xdef\csname res\the\loopcount\endcsname{\d@t} %%%%% or \equ@l for domains!!! \fi \ifnewres \pos@sum=0 \innerloopcount=0 \loop \advance\innerloopcount by 1 \expandafter\ifx\csname res\the\innerloopcount\endcsname\first@ \advance\pos@sum by 1 \fi \ifnum\innerloopcount<\seq@count \repeat \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum} \expandafter\ifnum\csname pos\the\loopcount\endcsname=\seq@count \xdef\cons@seq{\the\loopcount} \xdef\match@case{2} \loopcount=1 \else \multiply\pos@sum by \seq@percent \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum} \expandafter\ifnum\csname pos\the\loopcount\endcsname<\thresh@ld \else \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x \xdef\m@x{\csname pos\the\loopcount\endcsname} \expandafter\ifnum\csname pos\the\loopcount\endcsname<\all@thresh@ld \xdef\cons@seq{\the\loopcount} \xdef\match@case{1} \else \xdef\cons@seq{\the\loopcount} \xdef\match@case{2} \fi \else \expandafter\ifnum\csname pos\the\loopcount\endcsname=\m@x \xdef\match@case{0} \fi \fi \fi \fi \fi \ifnum\loopcount=\cons@num \loopcount=1 \fi \advance\loopcount by -1 \ifnum\loopcount>0 \check@ident \fi} \def\get@simchar{% \xdef\first@{\csname res\the\loopcount\endcsname} \newrestrue \expandafter\check@char\first@ \ifletter \innerloopcount=\loopcount \ifnum\loopcount=\cons@num \innerloopcount=\seq@count \fi \ifnum\innerloopcount<\seq@count \loop \advance\innerloopcount by 1 \expandafter\ifx\csname res\the\innerloopcount\endcsname\first@ \newresfalse \innerloopcount=\seq@count \fi \ifnum\innerloopcount<\seq@count \repeat \fi \else \newresfalse \fi \ifnewres \pos@sum=0 \innerloopcount=0 \loop \advance\innerloopcount by 1 \expandafter\ifx\csname res\the\innerloopcount\endcsname\first@ \xdef\second@{\csname res\the\innerloopcount\endcsname} \expandafter\ifx\csname \prefix@ grp\second@\endcsname\simgroup@ \advance\pos@sum by 1 \fi \fi \ifnum\innerloopcount<\seq@count \repeat \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum} \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x \xdef\m@x{\csname pos\the\loopcount\endcsname} \xdef\cons@seq{\the\loopcount} \fi \fi \ifnum\loopcount=\cons@num \loopcount=1 \fi \advance\loopcount by -1 \ifnum\loopcount>0 \get@simchar \fi} \def\unc@nserved{% \ifsimmode \ifnum\cons@num>0 \loopcount=\cons@num \else \loopcount=\seq@count \fi \xdef\match@case{0} \xdef\m@x{1} \check@sim \ifnum\match@case=0 \loopcount=0 \loop \advance\loopcount by 1 \xdef\first@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \expandafter\ifx\csname res\the\loopcount\endcsname\d@t \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname3\gap@char} \else \expandafter\ifx\csname res\the\loopcount\endcsname\equ@l \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname!\dom@char} \xdef\g@p{y} \else \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% 3\csname res\the\loopcount\endcsname} \fi \fi \else \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \xdef\g@p{y} \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\third@{7}\def\first@{\gap@char} \else \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \else \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname3\first@} \fi \fi \fi \ifnum\loopcount<\seq@count \repeat \xdef\low@up{lower} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else \xdef\low@up{upper} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else \xdef\first@{\n@m@tch} \fi\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi \ifx\g@p\y@ \xdef\consensus{\consensus 8{}} \else \xdef\consensus{\consensus 4\first@} \expandafter\ifx\csname res\cons@num\endcsname\d@t \else\xdef\constopo{\constopo 0}\fi \fi \else \ifnum\cons@num>0 \xdef\tmp@{\csname res\cons@num\endcsname} \else \xdef\m@x{0} \loopcount=\seq@count \get@simchar \xdef\tmp@{\csname res\cons@seq\endcsname} \fi \xdef\second@{\csname \prefix@ grp\tmp@\endcsname} \loopcount=0 \loop \advance\loopcount by 1 \xdef\first@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname3\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\last@{\csname res\the\loopcount\endcsname} \expandafter\ifnum\csname \prefix@ grp\last@\endcsname=\second@ \xdef\third@{2} \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\ressimm@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\ressimm@tch\low@up \else \xdef\first@{\ressimm@tch} \fi\fi\fi \else \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\third@{7}\def\first@{\gap@char} \else \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \fi \fi \else \xdef\third@{3} \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \fi \ifnum\loopcount<\seq@count \repeat \xdef\first@{\tmp@} \xdef\low@up{lower} \ifx\m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\m@tch\low@up \else \xdef\first@{\m@tch} \fi\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi \ifx\g@p\y@ \xdef\consensus{\consensus 8{}} \else \xdef\consensus{\consensus5\first@} \xdef\constopo{\constopo 1} \fi \fi \else \iffuncmode \loopcount=0 \loop \advance\loopcount by 1 \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{!} \xdef\g@p{y} \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\third@{*} \else \def\first@{{}} \def\third@{/} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\first@{\gap@char}\def\third@{*} \else \ifsh@wg@ps \def\first@{\gap@char}\def\third@{*} \else \def\first@{{}} \def\third@{/} \fi \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \else \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname0\first@} \fi \fi \ifnum\loopcount<\seq@count \repeat \else \loopcount=0 \loop \advance\loopcount by 1 \xdef\first@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% 3\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\third@{7}\def\first@{\gap@char} \else \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \else \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname3\first@} \fi \fi \fi \ifnum\loopcount<\seq@count \repeat \xdef\low@up{lower} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else \xdef\low@up{upper} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else \xdef\first@{\n@m@tch} \fi\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi \ifx\g@p\y@ \xdef\consensus{\consensus 8{}} \else \xdef\consensus{\consensus 4\first@} \xdef\constopo{\constopo 0} \fi \fi\fi} \def\c@nserved{% \xdef\tmp@{\csname res\cons@seq\endcsname} \loopcount=0 \loop \advance\loopcount by 1 \xdef\first@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% 3\first@} \else \xdef\second@{\csname res\the\loopcount\endcsname} \ifx\tmp@\second@ \xdef\third@{1} \else \xdef\third@{3} \ifsimmode \xdef\last@{\csname \prefix@ sim\tmp@\endcsname &@} \expandafter\get@count\last@ \innerloopcount=0 \getsim@char \fi \fi \xdef\first@{\csname res\the\loopcount\endcsname} \ifcase\third@ \or \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\resm@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resm@tch\low@up \else \xdef\first@{\resm@tch} \fi\fi\fi \or \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\ressimm@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\ressimm@tch\low@up \else \xdef\first@{\ressimm@tch} \fi\fi\fi \else \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\third@{7}\def\first@{\gap@char} \else \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \fi \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \fi \ifnum\loopcount<\seq@count \repeat \xdef\first@{\csname res\cons@seq\endcsname} \xdef\second@{lower} \ifx\m@tch\second@ \make@lower \else \xdef\second@{upper} \ifx\m@tch\second@ \else \xdef\first@{\m@tch} \fi\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi \ifx\g@p\y@ \xdef\consensus{\consensus 8{}} \else \xdef\consensus{\consensus 5\first@} \xdef\constopo{\constopo 2} \fi} \def\allm@tch{% \xdef\tmp@{\csname res\cons@seq\endcsname} \loopcount=0 \loop \advance\loopcount by 1 \xdef\first@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% 3\first@} \else \xdef\second@{\csname res\the\loopcount\endcsname} \ifx\tmp@\second@ \ifall@shade \xdef\third@{0} \else \xdef\third@{1} \fi \else \xdef\third@{3} \ifsimmode \xdef\last@{\csname \prefix@ sim\tmp@\endcsname &@} \expandafter\get@count\last@ \innerloopcount=0 \getsim@char \fi \fi \xdef\first@{\csname res\the\loopcount\endcsname} \ifcase\third@ \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\res@llm@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\res@llm@tch\low@up \else \xdef\first@{\res@llm@tch} \fi\fi\fi \or \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\res@llm@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\res@llm@tch\low@up \else \xdef\first@{\res@llm@tch} \fi\fi\fi \or \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\ressimm@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\ressimm@tch\low@up \else \xdef\first@{\ressimm@tch} \fi\fi\fi \else \ifnum\divref@=\loopcount\else \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\third@{7}\def\first@{\gap@char} \else \ifsh@wg@ps \def\first@{\gap@char}\def\third@{7} \else \def\first@{{}} \def\third@{8} \fi \fi \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \fi \ifnum\loopcount<\seq@count \repeat \xdef\first@{\csname res\cons@seq\endcsname} \xdef\second@{lower} \ifx\@llm@tch\second@ \make@lower \else \xdef\second@{upper} \ifx\@llm@tch\second@ \else \xdef\first@{\@llm@tch} \fi\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi \ifx\g@p\y@ \xdef\consensus{\consensus 8{}} \else \xdef\consensus{\consensus 6\first@} \xdef\constopo{\constopo 3} \fi} \def\functi@nal{% \ifnum\cons@num>0 \xdef\first@{\csname res\cons@num\endcsname} \else \xdef\first@{\csname res\cons@seq\endcsname} \fi \xdef\second@{\csname funcgrp\first@\endcsname} \loopcount=0 \loop \advance\loopcount by 1 \xdef\third@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\third@ \xdef\first@{\csname res\the\loopcount\endcsname} \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% 0\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{!} \xdef\g@p{y} \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\third@{*} \else \def\first@{{}} \def\third@{/} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\first@{\gap@char}\def\third@{*} \else \ifsh@wg@ps \def\first@{\gap@char}\def\third@{*} \else \def\first@{{}} \def\third@{/} \fi \fi \fi \else \expandafter\ifnum\csname funcgrp\first@\endcsname=\second@ \xdef\low@up{lower} \expandafter\ifx\csname funcm@tch\second@\endcsname\low@up \make@lower \fi \xdef\third@{\second@} \else \xdef\third@{0} \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi \fi \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname\third@\first@} \fi \ifnum\loopcount<\seq@count \repeat} \def\all@funcshade{% \loopcount=0 \loop \advance\loopcount by 1 \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\second@{\csname funcgrp\first@\endcsname} \ifnum\second@<0 \xdef\second@{0} \fi \ifx\first@\equ@l \def\first@{\dom@char} \def\second@{!} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\second@{*} \else \def\first@{{}} \def\second@{/} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\first@{\gap@char}\def\second@{*} \else \ifsh@wg@ps \def\first@{\gap@char}\def\second@{*} \else \def\first@{{}} \def\second@{/} \fi \fi \fi \fi \xdef\low@up{lower} \expandafter\ifx\csname funcm@tch\second@\endcsname\low@up \make@lower \fi \xdef\third@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\third@ \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% 0\first@} \else \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% \second@\first@} \fi \ifnum\loopcount<\seq@count \repeat} \def\T@coffee@shade{% \loopcount=0 \loop \advance\loopcount by 1 \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\second@{\csname TC@num\the\loopcount\endcsname} \ifx\first@\equ@l \def\first@{\dom@char} \def\second@{!} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps \def\first@{\gap@char}\def\second@{*} \else \def\first@{{}} \def\second@{/} \fi \else \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@len\the\loopcount\endcsname \def\first@{\gap@char}\def\second@{*} \else \ifsh@wg@ps \def\first@{\gap@char}\def\second@{*} \else \def\first@{{}} \def\second@{/} \fi \fi \fi \fi \xdef\third@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\third@ \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% *\first@} \else \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% \second@\first@} \fi \ifnum\loopcount<\seq@count \repeat \xdef\first@{\csname res0\endcsname} \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi \xdef\second@{\csname TC@num0\endcsname} \ifx\g@p\y@ \xdef\consensus{\consensus 8{}} \else \xdef\consensus{\consensus\second@\n@m@tch} \xdef\constopo{\constopo\second@} \fi } \def\getregion@fromstack@first{% \expandafter\getregion@fromstack{\the\loopcount} \expandafter\ifx\csname start\the\loopcount\endcsname\ampers@nd \else \expandafter\ifnum\csname stop\the\loopcount\endcsname<\first@@ \getregion@fromstack@first \else \expandafter\ifx\csname all\the\loopcount\endcsname\y@ \innerloopcount=\csname style\the\loopcount\endcsname \fi \expandafter\xdef\csname shade@style\the\loopcount\endcsname{% \csname style\the\loopcount\endcsname} \fi \fi } \def\calc@regshade{% \loopcount=-1 \innerloopcount=0 \loop \advance\loopcount by 1 \expandafter\xdef\csname shade@style\the\loopcount\endcsname{y} \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi \expandafter\ifx\csname start\the\loopcount\endcsname\ampers@nd \else \expandafter\ifnum\csname start\the\loopcount\endcsname>\first@@ \else \expandafter\ifnum\csname stop\the\loopcount\endcsname<\first@@ \getregion@fromstack@first \else \expandafter\ifx\csname all\the\loopcount\endcsname\y@ \innerloopcount=\csname style\the\loopcount\endcsname \fi \expandafter\xdef\csname shade@style\the\loopcount\endcsname{% \csname style\the\loopcount\endcsname} \expandafter\ifnum\csname stop\the\loopcount\endcsname=\first@@ \expandafter\getregion@fromstack{\the\loopcount} \fi \fi \fi\fi \ifnum\loopcount<\seq@count \repeat \loopcount=0 \expandafter\ifx\csname shade@style\the\loopcount\endcsname\y@ \else \xdef\consensus{\consensus&\csname shade@style\the\loopcount\endcsname)} \fi \loop \advance\loopcount by 1 \expandafter\ifx\csname shade@style\the\loopcount\endcsname\y@ \ifnum\innerloopcount>0 \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% &\the\innerloopcount)} \fi \else \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% &\csname shade@style\the\loopcount\endcsname)} \fi \ifnum\loopcount<\seq@count \repeat } \def\getregion@fromemphstack@first{% \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\ifx\csname emphstart\the\loopcount\endcsname\ampers@nd \else \expandafter\ifnum\csname emphstop\the\loopcount\endcsname<\first@@ \getregion@fromemphstack@first \el