summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/texshade
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/texshade
Initial commit
Diffstat (limited to 'macros/latex/contrib/texshade')
-rw-r--r--macros/latex/contrib/texshade/README153
-rw-r--r--macros/latex/contrib/texshade/texshade.dtx24180
-rw-r--r--macros/latex/contrib/texshade/texshade.ins73
-rw-r--r--macros/latex/contrib/texshade/texshade.pdfbin0 -> 625524 bytes
-rw-r--r--macros/latex/contrib/texshade/tsfaq.pdfbin0 -> 77546 bytes
-rw-r--r--macros/latex/contrib/texshade/tsfaq.tex432
6 files changed, 24838 insertions, 0 deletions
diff --git a/macros/latex/contrib/texshade/README b/macros/latex/contrib/texshade/README
new file mode 100644
index 0000000000..71e52fa0c2
--- /dev/null
+++ b/macros/latex/contrib/texshade/README
@@ -0,0 +1,153 @@
+ TeXshade v1.25
+ >>
+ >> A LaTeX package for setting nucleotide and peptide alignments,
+ >> fingerprints, as well as sequence and subfamily logos.
+ >>
+ >> 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 calcula-
+ >> tion 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
+ >> 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 considerab-
+ >> ly.
+ >>
+ >> TeXshade is an alignment shading software completely 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 sha-
+ >> ding modes. TeXshade combines highest flexibility and the
+ >> habitual TeX output quality--with reasonable time expenditure.
+ >>
+ Copyright (C) 1999 - 2018 Eric Beitz
+
+
+
+ FOR THE HASTY READER
+
+ Be sure to use a docstrip version 2.4 or later!
+ Otherwise you will not be able to tex the documentation!
+
+
+
+1 - FILES DISTRIBUTED WITH THIS PACKAGE
+
+ texshade.ins Batch file, run through LaTeX
+ texshade.dtx Docstrip archive, run twice through LaTeX
+ tsfaq.tex Frequently asked questions about TeXshade
+ texshade.txt This file
+
+
+ (a) FILES THAT WILL BE GENERATED FROM TEXSHADE.INS
+
+ texshade.sty LaTeX package
+ texshade.def Standard definitions
+ AQPDNA.MSF Example nucleotide alignment file (MSF-format)
+ AQPpro.MSF Example protein alignment file (MSF-format)
+ AQP_TC.asc Example T-Coffee shading file
+ AQP2spec.ALN Example protein alignment file (ALN-format)
+ AQP1.top Example topology data file generated from PHD
+ AQP1.phd Example PHD secondary structure file
+ AQP1_HMM.sgl Example HMMTOP topology data (single line format)
+ AQP1_HMM.ext Example HMMTOP topology data (extended format)
+ Standard.cod Standard genetic code definitions
+ Ciliate.cod Ciliate macronuclear genetic code definitions
+
+
+ (b) FILE THAT WILL BE GENERATED FROM TEXSHADE.DTX
+
+ texshade.dvi Package documentation
+
+
+
+2 - INSTALLATION
+
+ (a) EXTRACTING FILES FROM THE DOCSTRIP ARCHIVE
+
+ All files provided by TeXshade are compacted to one single file,
+ namely "texshade.dtx". To extract the archive run "texshade.ins"
+ - which contains the corresponding instructions - through LaTeX.
+ A list of the generated files is given above, see 1(a).
+
+ AGAIN: Be sure to use a docstrip version 2.4 or later! Otherwise
+ you will not be able to tex the documentation!
+
+
+ (b) THE DOCUMENTATION
+
+ The file "texshade.dtx" further contains the package documentation.
+ Therefore, run this file through LaTeX now. As you will recognize
+ two runs are needed to make proper references within the document.
+
+ TeXshade needs lots of TeX's memory, so adjust your parameter set-
+ tings to make TeXshade feel comfortable. The documentation is a
+ good test for this. (If you encounter problems texing the doc, you
+ should tex and read section A of the FAQ-list (see d below) or
+ download an on-line version [PDF-, DVI-, or PostScript format] at
+ http://homepages.uni-tuebingen.de/beitz/)
+
+ The resulting file "texshade.dvi" can be viewed and printed using a
+ DVI-viewer which is able to display embedded PostScript. Another
+ possibility is to run "texshade.dvi" through DVIPS, a DVI to Post-
+ Script converter, and finally view and print the converted file
+ which will be most likely "texshade.ps" with GhostView from the GNU
+ free software foundation.
+
+ TeXshade makes use of "color.sty" by David Carlisle. This style is
+ part of the Standard LaTeX Graphics Bundle. Usually, the bundle is
+ present in a comprehensive LaTeX installation. If this is not the
+ case for your system you have to download the package from a CTAN-
+ server, e.g. ftp.dante.de.
+
+
+ (c) MAKING TEXSHADE.STY AVAILABLE FOR YOUR LATEX SYSTEM
+
+ In the final step, copy at least the files "texshade.sty" and
+ "ciliate.cod" to a directory searched by TeX in order to make these
+ files available for all documents you'll produce in the future. The
+ remaining files are example files which are not necessary for run-
+ ning TeXshade. Nevertheless, it would be a good idea to keep all
+ the files together.
+
+
+ (d) THE FAQ LIST
+
+ The FAQ list contains frequently asked questions about the package.
+ Use it as a helpful source for solving problems with TeXshade. You
+ get the list by simply running "tsfaq.tex" through LaTeX once.
+
+
+
+3 - CONTACT
+
+ E-Mail: ebeitz@pharmazie.uni-kiel.de
+ WWW: http://www.pharmazie.uni-kiel.de/chem/
+ (On-line documentation and updates)
+ Address: Eric Beitz, University of Kiel, Pharmaceutical Chemistry,
+ Gutenbergstrasse 76, D-24118 Kiel (Germany)
+
+
+
+4 - AGREEMENT
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ In order to receive a copy of the GNU General Public License write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
diff --git a/macros/latex/contrib/texshade/texshade.dtx b/macros/latex/contrib/texshade/texshade.dtx
new file mode 100644
index 0000000000..adf4e661c3
--- /dev/null
+++ b/macros/latex/contrib/texshade/texshade.dtx
@@ -0,0 +1,24180 @@
+% \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.txt' for further information!
+%
+%
+% Copyright (C) 1999-2018 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.
+% }
+%
+% \changes{1.19a}{2009-06-11}{%
+% Corrections: gaps are now treated correctly when setting domains.
+% Introduction: a special character can be displayed for stop-positions
+% in protein sequences indicated by `*' in the input file;
+% the stop character can be set using `stopchar'.
+% }
+%
+% \changes{1.20}{2009-10-05}{%
+% Corrections: landscape mode works now correctly;
+% annoying `Overfull \hbox ...' signals appearing after
+% `residuesperline*' commands are ignored;
+% domains work now with frequency corrected sequence logos.
+% Introduction: new commands for setting residue weight tables:
+% `weighttable' (with parameters: identity, structural,
+% PAM250, PAM100, and BLOSUM62),
+% `gappenalty', and `setweight';
+% similarity/identity percentage tables can be printed with
+% `similaritytable' and values for specific sequence pairs
+% can be utilized with `percentsimilarity{seq1}{seq2}' and
+% `percentidentity{seq1}{seq2}'.
+% }
+%
+% \changes{1.20a}{2009-11-30}{%
+% Corrections: identity/similarity tables work now without the need to
+% set a conservation plot in the feature line.
+% }
+%
+% \changes{1.21}{2010-03-01}{%
+% Corrections: `setdomain' ignored a changed `startnumber', corrected;
+% further bug fixes.
+% Introduction: in several commands sequence motifs can be given instead
+% of numeral sequence stretch definitions;
+% new type of sequence emphasis by lowercase characters:
+% `lowerregion' and `lowerblock'.
+% }
+%
+% \changes{1.22}{2010-10-11}{%
+% Corrections: minor bug fixes.
+% Introduction: `defshadingcolors' defines and names sets of shading
+% colors for later re-use within the alignment;
+% `changeshadingcolors' allows one to use different sets
+% of shading colors in different sequence blocks.
+% }
+%
+% \changes{1.23}{2011-05-13}{%
+% Introduction: `hideallmatchpositions' removes all positions in the
+% alignment where all residues match, i.e. a handy feature for
+% diverse mode to condense the output to the relevant sites.
+% }
+%
+% \changes{1.24}{2011-12-01}{%
+% Introduction: `rulerspace' allows one to adjust the space between the
+% ruler and the top or bottom sequence row;
+% the textsize of the ruler numbering can now be set;
+% Postscript color samples are shown in the manual.
+% }
+%
+% \changes{1.25}{2011-12-01}{%
+% Corrections: aligments with many seqs produced wrong calculation
+% of threshold shading, corrected.
+% Introduction: new feature style |S-S| for disulfide bridges;
+% hooks in top feature lines can be drawn down to alignment.
+% }
+%
+%
+%
+%
+% \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.25; 2018/01/17\\[2pt]}
+% \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.25 2018/01/17}
+% \medskip
+%
+% \emph{Corrections}: Aligments with many seqs produced wrong calculation
+% of threshold shading,\footnote{Noted by Kathryn Parker.} corrected; minor bug fixes.
+%
+% \emph{Introduction}: A new feature style |S-S| for disulfide bridges is
+% implemented; hooks in top feature lines can be drawn down to alignment.
+% \medskip
+%
+% \textbf{v1.24 2011/12/01}
+% \medskip
+%
+% \emph{Introductions:}
+% The space between the ruler and the top or bottom sequence row
+% can now be adjusted using |\rulerspace| and the textsize of the
+% ruler numbering can be set with |\setsize| or |\rulerLarge| etc.
+% Postscript color samples are shown in the manual next to the
+% color names list.
+% \medskip
+%
+% \textbf{v1.23 2011/05/13}
+% \medskip
+%
+% \emph{Introductions:}
+% In diverse mode sequence positions where all residues match do not
+% contain much information. A new command,
+% |\hideallmatchpositions|,\footnote{Requested by Matt Russell.}
+% will remove all such positions from the alignment and hence condense
+% the output considerably.
+% \medskip
+%
+% \textbf{v1.22 2010/10/11}
+% \medskip
+%
+% \emph{Introductions:}
+% Sets of shading colors can be defined and named using
+% |\defshadingcolors| (p.\ \pageref{Ldefshadingcolors}) and different
+% sets of colors can be selected for different sequence blocks by
+% |\changeshadingcolors| (\ref{Lchangeshadingcolors}).
+% \medskip
+%
+%
+% \textbf{v1.21 2010/03/01}
+% \medskip
+%
+% \emph{Corrections:} |\setdomain| now recognizes a changed |\startnumber|.
+%
+% \emph{Introductions:}
+% (a) Sequence motifs (\ref{Lshaderegion}) can be given as a selection pattern
+% in sequence stretch labeling commands, such as |\shaderegion|,
+% |\emphregion| or |\frameblock|, instead of numeral stretch definitions.
+%
+% (b) A new type of sequence emphasis by lowercase letters was implemented:
+% |\lowerregion| and |\lowerblock| (\ref{Llowerregion}).
+% \medskip
+%
+% \textbf{v1.20a 2009/11/30}
+% \medskip
+%
+% \emph{Corrections:} Identity/similarity tables
+% work now without having to set a conservation plot in the feature
+% line.
+% \medskip
+%
+%
+% \textbf{v1.20 2009/10/05}
+% \medskip
+%
+% \emph{Corrections:} Landscape mode works now correctly.
+% Annoying |Overfull \hbox ...| signals appearing after
+% |\residuesperline*| commands are ignored;
+% domains work now with frequency corrected sequence logos.
+%
+% \emph{Introductions:}
+% (a) New commands for setting residue weight tables were introduced
+% |\weighttable| (with parameters: |identity|, |structural|,
+% |PAM250|, |PAM100|, and |BLOSUM62|),
+% |\gappenalty|, and |\setweight|.
+% (b) Similarity/identity percentage tables can be printed with
+% |\similaritytable|\footnote{Asked for by Giovanni M.\ Lesa.} and
+% values for specific sequence pairs can be utilized with
+% |\percentsimilarity{|\meta{seqref1}|}{|\meta{seqref2}|}| and
+% |\percentidentity{|\meta{seqref1}|}{|\meta{seqref2}|}|.
+% \medskip
+%
+% \textbf{v1.19a 2009/06/11}
+% \medskip
+%
+% \emph{Correction:} Gaps are now treated correctly when setting
+% domains.
+%
+% \emph{Introduction:}
+% Stop-positions in protein sequences (|*| in the input file) can be
+% indicated by a special character (|\stopchar|) in the alignment
+% output.\footnote{Suggestion by Yun He.}
+% \medskip
+%
+%
+% \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
+%
+%
+% \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
+%
+%
+%
+% \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
+%
+%
+% \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
+%
+%
+% \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.
+%
+%
+%
+%
+%
+% \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 program is the possibility
+% to display only selected sequence domains, 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 further. 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{top}{1} \rulersteps{1}
+% \hidenumbering
+% \hideconsensus
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \setdomain{1}{point[8]:1J4N.pdb,81[CA]}
+% \showruler{top}{1} \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}
+% \residuesperline*{34}
+% \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}
+% \bigskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \residuesperline*{34}
+% \shadingmode[hydropathy]{functional}
+% \feature{top}{1}{158..163}{brace}{tinted}
+% \tintblock{1}{158..163}
+% \feature{top}{1}{QLVLC}{brace}{lowercased}
+% \lowerblock{1}{QLVLC}
+% \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}
+% \feature{top}{1}{QLVLC}{brace}{lowercased}
+% \lowerblock{1}{QLVLC}
+% \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}
+% \bigskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \residuesperline*{34}
+% \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}{[DE]RXXR[DE]}{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}{[DE]RXXR[DE]}{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}
+% \bigskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \residuesperline*{34}
+% \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:
+% \bigskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \residuesperline*{34}
+% \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
+% \bigskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \residuesperline*{34}
+% \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
+% \bigskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \residuesperline*{34}
+% \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})
+% \bigskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \residuesperline*{34}
+% \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}
+% \residuesperline*{34}
+% \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.}
+% \bargraphstretch{3}
+% \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.}
+% \bargraphstretch{3}
+% \featurestylenamescolor{Red}
+% \featurestylenamesrm \featurestylenamesit
+% \hideconsensus
+% \end{texshade}
+% \end{verbatim}}
+% \medskip
+%
+% The degree of similarity and identity between all sequences in the alignment
+% can be shown in a table using |\similaritytable| (\ref{simtable}) outside the |texshade|
+% environment: \label{simtableEx}
+%
+% \DeleteShortVerb{\|}
+% \begin{center}\similaritytable\end{center}
+% \MakeShortVerb{\|}
+%
+%
+% \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 frequency 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 |\shadebox| [\ref{Lshadebox}], |\molweight| and
+% |\charge| [\ref{molcharge}], and |\percentsimilarity|, |\percentidentity| and
+% |\similaritytable| [\ref{Lpercentidentity}]) 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}|
+%
+% See \ref{ident} for examples. 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.
+%
+% Once a set of shading colors is redefined, it can be saved using
+% |\defshadingcolors{|\meta{name}|}|\label{Ldefshadingcolors} for
+% later use in the document (see \ref{shaderegion}).
+%
+% \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!).
+%
+% \label{Lhideallmatchpositions}
+% Since alignment positions where all residues match do not contain
+% much information, those sites can be blanked out using
+% Ê|\hideallmatchpositions|. The resulting break in the alignment is
+% indicated by a gap and a vertical line. See the |\setdomain|
+% command (\ref{Lsetdomain})
+% for further information on how to change the gap and ruler colors.
+% A single-stepped ruler is also recommended (\ref{Lshowruler}).
+% Ê|\hideallmatchpositions| can be combined with |\setends|
+% (\ref{Lsetends}).
+%
+%
+% \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} \&
+% \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 (see section \ref{resweight} on residue
+% weight tables below). For an example output see page
+% \pageref{shadecons}. You can find more information on color scales
+% on page \pageref{Lgraphs}. The calculated consensus colors 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.
+%
+%
+% \subsubsection{Residue weight tables} \label{resweight}
+%
+% The degree of similarity between two amino acid residues is defined using
+% so-called \emph{residue weight tables}. The values usually range roughly
+% from $-10$ to 10, with positive values denoting similarity and negative
+% values dissimilarity. The most simple table sets pairs
+% of identical residues to a value of 10 and all others to 0, i.e. the
+% |identity| matrix. Several more matrices based on extensive protein alignments
+% exist and can be used, e.g. |PAM250| (|Point Accepted Mutations|), |PAM100|,
+% or |BLOSUM62| (|BLOcks of amino acid SUbstitution Matrix|); for details see
+% respective sources and section \ref{weightmatrix}. \TeXshade{} further contains a
+% |structural| matrix where
+% similarity is defined on simple comparisons of the sidechain properties with
+% respect to volume and hydropathy.
+%
+% For calculation of the consensus color shading or for bar graphs or color scales
+% in the |\feature| lines (\ref{Lfeature}), a residue weight table can be selected
+% by \label{Lweighttable} |\weighttable{|\meta{table}|}| with \meta{table}
+% being |identity|, |structural|, |PAM250|, |PAM100|, or |BLOSUM62| (default is
+% |identity|). Which matrix suits the analysis best needs to be decided case by case.
+% Due to the all-positive values of the |structural| matrix (section \ref{weightmatrix}) the similarity level
+% appears usually very high; the |identity| matrix simply represents the number
+% of identical residues at each position. The |PAM| and |BLOSUM| matrices provide
+% more differentiated results.
+% One can change individual values or even define his own weight table
+% using the command \label{Lsetweight}
+% |\setweight{|\meta{res.1}|}{|\meta{res.2}|}{|\meta{value}|}|, e.g.
+% |\setweight{E}{Q}{2}| or |\setweight{K}{C}{-5}|. A full table, thus, needs 200
+% entries ($20 * 20 / 2$). \label{Lgappenalty}
+% A value for the gap penalty is set with |\gappenalty{|\meta{value}|}|.
+%
+% \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}\label{Lrulerspace}
+% 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}). Finally, to adjust the distance
+% between the ruler and the top or bottom sequence row use
+% |\rulerspace{|\meta{length}|}|, e.\,g. |\rulerspace{1mm}|.
+%
+% \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.
+%
+% At certain instances a protein alignment input file may contain stop
+% positions, e.\,g. due to frame shifts in the underlying DNA sequence.
+% If such positions are labeled in the input with an |*| this will be
+% shown in the output as well as an asterisk, i.\,e. distinguishable from
+% a normal gap symbol. The character shown at stop positions can be
+% changed by |\stopchar{|\meta{symbol}|}|. \label{Lstopchar}
+%
+% \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 (e.g. 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
+% |\linewidth|. 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}|}|.
+% You have to take care yourself of the alignment width 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 three different formats
+% depending on whether (a) the user wants to select the positions manually,
+% (b) the selection should be based on a sequence motif to be found by \TeXshade{},
+% or (c) \TeXshade{} is supposed to select the residues based on 3D
+% coordinates provided by a PDB file.
+% \medskip
+%
+% (a) 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
+%
+% In order to shade residue number 13 and the region
+% 20--30 of sequence number 1 in red letters on a green background
+% 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
+%
+% (b) A sequence motif can be given, which will be found and labeled. A simple
+% example selecting all sequence motifs `NNAD' in sequence `1' would be:
+% \medskip
+%
+% \quad|\shaderegion{1}{NNAD}{Red}{Green}|
+% \medskip
+%
+% The definition can further include `X' for any residue and groups of residues in brackets
+% at uncertain positions. The example below will find all motifs in sequence `1'
+% that start with an asparagine, followed by any two residues, an acidic, a
+% basic residue, again any two residues and finally a glutamine.
+% \medskip
+%
+% \quad|\shaderegion{1}{NXX[DE][KR]XXQ}{Red}{Green}|
+% \medskip
+%
+% (c) 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|, |\lowerregion|, |\lowerblock|,
+% |\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
+%
+%
+% Another option is to change the whole set of shading colors for certain
+% sequence blocks, e.\,g.\ from |blues| to |reds| or self-defined color sets (see \ref{Lshadingmode}).
+% Therefore, the following command was implemented:
+% \medskip
+%
+% \quad |\changeshadingcolors{|\meta{seqref}|}{|\meta{selection}|}{|\meta{name}|}|
+% \medskip \label{Lchangeshadingcolors}
+%
+% Examples:
+% \medskip
+%
+% \quad |\changeshadingcolors{1}{10..50}{reds}|
+% \medskip
+%
+% \quad |\changeshadingcolors{AQP1}{[AS]NKD}{my_set}|
+% \medskip
+%
+% etc.
+%
+% \subsubsection{Emphasizing, tinting, lowercasing, and framing}
+%
+% \label{Lemphregion}\label{Lemphblock}
+% If it is preferred 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
+% or to switch the characters to lowercase
+% 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.
+% \medskip
+%
+% \label{Llowerregion}\label{Llowerblock}
+% \quad|\lowerregion{|\meta{seqref}|}{|\meta{selection}|}|
+% \medskip
+%
+% and
+% \medskip
+%
+% \quad|\lowerblock{|\meta{seqref}|}{|\meta{selection}|}|
+% \medskip
+%
+%
+% 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 \meta{selection} of the specified residues
+% are identical to the ones described before in several commands, e.\,g.
+% |\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\\
+% |S-S|& labels disulfide bridges\\
+% \end{tabular}
+% \end{center}
+%
+% 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|). See
+% \ref{resweight} for selecting an appropriate \emph{residue weight table}.
+%
+% (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
+% |\shadingmode| \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 (see section \ref{Lsetfamily}), e.\,g.\
+% \medskip
+%
+% |\setsize{featurenames}{large}| or |\featurestylenamesrm| etc.
+% \medskip
+%
+%
+%
+% 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|, |ruler|, 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.),
+% rulers (|\rulerrm| 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}
+%
+% The following commands give information on sequence properties,
+% such as molecular weight, charge or similarity data. They can
+% be used outside the |texshade| environment directly in the
+% document or in a caption text.
+%
+% \subsubsection{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 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}|
+%
+% \subsubsection{Similarity/identity data and tables}
+%
+% \label{simtable}
+% The degree of similarity and identity in percent for any two
+% sequences in the displayed alignment section can be read out
+% with the commands
+% \label{Lpercentsimilarity} \label{Lpercentidentity}
+% |\percentsimilarity{|\meta{seqref1}|}{|\meta{seqref2}|}| and
+% |\percentidentity{|\meta{seqref1}|}{|\meta{seqref2}|}|.
+%
+% Using the example alignment on page \pageref{simtableEx} and
+% typing outside the |texshade| environment in the document text the
+% following phrase:
+% \bigskip
+%
+% \quad\quad |AQP1 and AQP2 share a sequence similarity|
+%
+% \quad\quad |of \percentsimilarity{AQP1.pro}{AQP2.pro}\%|
+% \bigskip
+%
+% will result in the text:
+% \bigskip
+%
+% \quad\quad AQP1 and AQP2 share a sequence similarity of 69.6\%
+% \bigskip
+%
+% Likewise, |\percentidentity{1}{2}| will give the value |48.4|; note that
+% sequences can be referred to by their number or their assigned name. The
+% percent value is calculated by dividing the number of identical or similar
+% positions, respectively, by the total of non-gap positions shared by both
+% sequences. Here, only the part of the alignment is taken into account that
+% is actually displayed. Two residues are considered similar when this is
+% defined by the command |\pepsims| (see page \pageref{Lpepsims}).
+%
+% A full similarity/identity table showing values for all sequences of the
+% alignment can be set using |\similaritytable|.\label{Lsimilaritytable}
+% The labels and number format will be adjusted according to the language
+% settings (\ref{Lgermanlanguage}).
+% \medskip
+%
+% Example (see section \ref{simtableEx}):
+% \medskip
+%
+% \vbox{%
+% \quad |\begin{center}|
+% \medskip
+%
+% \quad\quad|\similaritytable|
+% \medskip
+%
+% \quad |\end{center}|
+% }
+% \bigskip
+%
+% The command generates a valid \LaTeX{} |tabular|
+% environment, which can be embedded into a |table| environment, e.g.
+% \medskip
+%
+% \vbox{%
+% \quad |\begin{table}[htdp]|
+%
+% \quad |\caption{Text ...}|
+%
+% \quad |\begin{center}|
+% \medskip
+%
+% \quad\quad|\similaritytable|
+% \medskip
+%
+% \quad |\end{center}|
+%
+% \quad |\end{table}|
+% }
+%
+% \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.7cm}\= \emph{CMYK}\hspace{1.6cm}
+% \=\emph{name}\hspace{2.5cm}\= \emph{CMYK}\\
+%
+% \textcolor{GreenYellow}{$\bullet$}GreenYellow \>{0.15,0,0.69,0}\>\textcolor{Yellow}{$\bullet$}Yellow \>{0,0,1,0}\\
+% \textcolor{Goldenrod}{$\bullet$}Goldenrod \>{0,0.10,0.84,0}\>\textcolor{Dandelion}{$\bullet$}Dandelion \>{0,0.29,0.84,0}\\
+% \textcolor{Apricot}{$\bullet$}Apricot \>{0,0.32,0.52,0}\>\textcolor{Peach}{$\bullet$}Peach \>{0,0.50,0.70,0}\\
+% \textcolor{Melon}{$\bullet$}Melon \>{0,0.46,0.50,0}\>\textcolor{YellowOrange}{$\bullet$}YellowOrange \>{0,0.42,1,0}\\
+% \textcolor{Orange}{$\bullet$}Orange \>{0,0.61,0.87,0}\>\textcolor{BurntOrange}{$\bullet$}BurntOrange \>{0,0.51,1,0}\\
+% \textcolor{Bittersweet}{$\bullet$}Bittersweet \>{0,0.75,1,0.24}\>\textcolor{RedOrange}{$\bullet$}RedOrange \>{0,0.77,0.87,0}\\
+% \textcolor{Mahagony}{$\bullet$}Mahagony \>{0,0.85,0.87,0.35}\>\textcolor{Maroon}{$\bullet$}Maroon \>{0,0.87,0.68,0.32}\\
+% \textcolor{BrickRed}{$\bullet$}BrickRed \>{0,0.89,0.94,0.28}\>\textcolor{Red}{$\bullet$}Red \>{0,1,1,0}\\
+% \textcolor{OrangeRed}{$\bullet$}OrangeRed \>{0,1,0.50,0}\>\textcolor{RubineRed}{$\bullet$}RubineRed \>{0,1,0.13,0}\\
+% \textcolor{WildStrawberry}{$\bullet$}WildStrawberry\>{0,0.96,0.39,0}\>\textcolor{Salmon}{$\bullet$}Salmon \>{0,0.53,0.38,0}\\
+% \textcolor{CarnationPink}{$\bullet$}CarnationPink \>{0,0.63,0,0}\>\textcolor{Magenta}{$\bullet$}Magenta \>{0,1,0,0}\\
+% \textcolor{VioletRed}{$\bullet$}VioletRed \>{0,0.81,0,0}\>\textcolor{Rhodamine}{$\bullet$}Rhodamine \>{0,0.82,0,0}\\
+% \textcolor{Mulberry}{$\bullet$}Mulberry \>{0.34,0.90,0,0.02}\>\textcolor{RedViolet}{$\bullet$}RedViolet \>{0.07,0.90,0,0.34}\\
+% \textcolor{Fuchsia}{$\bullet$}Fuchsia \>{0.47,0.91,0,0.08}\>\textcolor{Lavender}{$\bullet$}Lavender \>{0,0.48,0,0}\\
+% \textcolor{Thistle}{$\bullet$}Thistle \>{0.12,0.59,0,0}\>\textcolor{Orchid}{$\bullet$}Orchid \>{0.32,0.64,0,0}\\
+% \textcolor{DarkOrchid}{$\bullet$}DarkOrchid \>{0.40,0.80,0.20,0}\>\textcolor{Purple}{$\bullet$}Purple \>{0.45,0.86,0,0}\\
+% \textcolor{Plum}{$\bullet$}Plum \>{0.50,1,0,0}\>\textcolor{Violet}{$\bullet$}Violet \>{0.79,0.88,0,0}\\
+% \textcolor{RoyalPurple}{$\bullet$}RoyalPurple \>{0.75,0.90,0,0}\>\textcolor{BlueViolet}{$\bullet$}BlueViolet \>{0.86,0.91,0,0.04}\\
+% \textcolor{Periwinkle}{$\bullet$}Periwinkle \>{0.57,0.55,0,0}\>\textcolor{CadetBlue}{$\bullet$}CadetBlue \>{0.62,0.57,0.23,0}\\
+% \textcolor{CornflowerBlue}{$\bullet$}CornflowerBlue\>{0.65,0.13,0,0}\>\textcolor{MidnightBlue}{$\bullet$}MidnightBlue \>{0.98,0.13,0,0.43}\\
+% \textcolor{NavyBlue}{$\bullet$}NavyBlue \>{0.94,0.54,0,0}\>\textcolor{RoyalBlue}{$\bullet$}RoyalBlue \>{1,0.50,0,0}\\
+% \textcolor{Blue}{$\bullet$}Blue \>{1,1,0,0}\>\textcolor{Cerulean}{$\bullet$}Cerulean \>{0.94,0.11,0,0}\\
+% \textcolor{Cyan}{$\bullet$}Cyan \>{1,0,0,0}\>\textcolor{ProcessBlue}{$\bullet$}ProcessBlue \>{0.96,0,0,0}\\
+% \textcolor{SkyBlue}{$\bullet$}SkyBlue \>{0.62,0,0.12,0}\>\textcolor{Turquoise}{$\bullet$}Turquoise \>{0.85,0,0.20,0}\\
+% \textcolor{TealBlue}{$\bullet$}TealBlue \>{0.86,0,0.34,0.02}\>\textcolor{Aquamarine}{$\bullet$}Aquamarine \>{0.82,0,0.30,0}\\
+% \textcolor{BlueGreen}{$\bullet$}BlueGreen \>{0.85,0,0.33,0}\>\textcolor{Emerald}{$\bullet$}Emerald \>{1,0,0.50,0}\\
+% \textcolor{JungleGreen}{$\bullet$}JungleGreen \>{0.99,0,0.52,0}\>\textcolor{SeaGreen}{$\bullet$}SeaGreen \>{0.69,0,0.50,0}\\
+% \textcolor{Green}{$\bullet$}Green \>{1,0,1,0}\>\textcolor{ForestGreen}{$\bullet$}ForestGreen \>{0.91,0,0.88,0.12}\\
+% \textcolor{PineGreen}{$\bullet$}PineGreen \>{0.92,0,0.59,0.25}\>\textcolor{LimeGreen}{$\bullet$}LimeGreen \>{0.50,0,1,0}\\
+% \textcolor{YellowGreen}{$\bullet$}YellowGreen \>{0.44,0,0.74,0}\>\textcolor{SpringGreen}{$\bullet$}SpringGreen \>{0.26,0,0.76,0}\\
+% \textcolor{OliveGreen}{$\bullet$}OliveGreen \>{0.64,0,0.95,0.40}\>\textcolor{RawSienna}{$\bullet$}RawSienna \>{0,0.72,1,0.45}\\
+% \textcolor{Sepia}{$\bullet$}Sepia \>{0,0.83,1,0.70}\>\textcolor{Brown}{$\bullet$}Brown \>{0,0.81,1,0.60}\\
+% \textcolor{Tan}{$\bullet$}Tan \>{0.14,0.42,0.56,0}\>\>\\
+% \textcolor{White}{$\bullet$}White (Gray0) \>{0,0,0,0}\>\textcolor{Black}{$\bullet$}Black (Gray100) \>{0,0,0,1}\\
+% \textcolor{Gray5}{$\bullet$}Gray5 \>{0,0,0,0.05}\>\textcolor{Gray10}{$\bullet$}Gray10 \>{0,0,0,0.10}\\
+% \textcolor{Gray15}{$\bullet$}Gray15 \>{0,0,0,0.15}\>\textcolor{Gray20}{$\bullet$}Gray20 \>{0,0,0,0.20}\\
+% \textcolor{Gray25}{$\bullet$}Gray25 \>{0,0,0,0.25}\>\textcolor{Gray30}{$\bullet$}Gray30 \>{0,0,0,0.30}\\
+% \textcolor{LightGray}{$\bullet$}LightGray \>{0,0,0,0.33}\>\textcolor{Gray35}{$\bullet$}Gray35 \>{0,0,0,0.35}\\
+% \textcolor{Gray40}{$\bullet$}Gray40 \>{0,0,0,0.40}\>\textcolor{Gray45}{$\bullet$}Gray45 \>{0,0,0,0.45}\\
+% \textcolor{Gray50}{$\bullet$}Gray50 \>{0,0,0,0.50}\>\textcolor{Gray}{$\bullet$}Gray \>{0,0,0,0.50}\\
+% \textcolor{Gray55}{$\bullet$}Gray55 \>{0,0,0,0.55}\>\textcolor{Gray60}{$\bullet$}Gray60 \>{0,0,0,0.60}\\
+% \textcolor{Gray65}{$\bullet$}Gray65 \>{0,0,0,0.65}\>\textcolor{DarkGray}{$\bullet$}DarkGray \>{0,0,0,0.66}\\
+% \textcolor{Gray70}{$\bullet$}Gray70 \>{0,0,0,0.70}\>\textcolor{Gray75}{$\bullet$}Gray75 \>{0,0,0,0.75}\\
+% \textcolor{Gray80}{$\bullet$}Gray80 \>{0,0,0,0.80}\>\textcolor{Gray85}{$\bullet$}Gray85 \>{0,0,0,0.85}\\
+% \textcolor{Gray90}{$\bullet$}Gray90 \>{0,0,0,0.90}\>\textcolor{Gray95}{$\bullet$}Gray95 \>{0,0,0,0.95}\\
+% \textcolor{LightGreenYellow}{$\bullet$}LightGreenYellow\>{0.08,0,0.35,0}\>\textcolor{LightYellow}{$\bullet$}LightYellow \>{0,0,0.50,0}\\
+% \textcolor{LightGoldenrod}{$\bullet$}LightGoldenrod \>{0,0.05,0.42,0}\>\textcolor{LightDandelion}{$\bullet$}LightDandelion\> {0,0.15,0.42,0}\\
+% \textcolor{LightApricot}{$\bullet$}LightApricot \>{0,0.16,0.26,0}\>\textcolor{LightPeach}{$\bullet$}LightPeach \>{0,0.25,0.35,0}\\
+% \textcolor{LightMelon}{$\bullet$}LightMelon \>{0,0.23,0.25,0}\>\textcolor{LightYellowOrange}{$\bullet$}LightYellowOrange \>{0,0.21,0.50,0}\\
+% \textcolor{LightOrange}{$\bullet$}LightOrange \>{0,0.31,0.44,0}\>\textcolor{LightBurntOrange}{$\bullet$}LightBurntOrange \>{0,0.26,0.50,0}\\
+% \textcolor{LightBittersweet}{$\bullet$}LightBittersweet\>{0,0.38,0.50,0.12}\>\textcolor{LightRedOrange}{$\bullet$}LightRedOrange\>{0,0.39,0.44,0}\\
+% \textcolor{LightMahagony}{$\bullet$}LightMahagony \>{0,0.43,0.44,0.18}\>\textcolor{LightMaroon}{$\bullet$}LightMaroon \>{0,0.44,0.34,0.16}\\
+% \textcolor{LightBrickRed}{$\bullet$}LightBrickRed \>{0,0.45,0.47,0.14}\>\textcolor{LightRed}{$\bullet$}LightRed \>{0,0.50,0.50,0}\\
+% \textcolor{LightOrangeRed}{$\bullet$}LightOrangeRed \>{0,0.50,0.25,0}\>\textcolor{LightRubineRed}{$\bullet$}LightRubineRed \>{0,0.50,0.07,0}\\
+% \textcolor{LightWildStrawberry}{$\bullet$}LightWildStrawberry\>{0,0.48,0.20,0}\>\textcolor{LightSalmon}{$\bullet$}LightSalmon \>{0,0.27,0.19,0}\\
+% \textcolor{LightCarnationPink}{$\bullet$}LightCarnationPink \>{0,0.32,0,0} \>\textcolor{LightMagenta}{$\bullet$}LightMagenta \>{0,0.50,0,0}\\
+% \textcolor{LightVioletRed}{$\bullet$}LightVioletRed \>{0,0.40,0,0} \>\textcolor{LightRhodamine}{$\bullet$}LightRhodamine \>{0,0.41,0,0}\\
+% \textcolor{LightMulberry}{$\bullet$}LightMulberry \>{0.17,0.45,0,0.01}\>\textcolor{LightRedViolet}{$\bullet$}LightRedViolet \>{0.04,0.45,0,0.17}\\
+% \textcolor{LightFuchsia}{$\bullet$}LightFuchsia \>{0.24,0.46,0,0.04}\>\textcolor{LightLavender}{$\bullet$}LightLavender \> {0,0.24,0,0}\\
+% \textcolor{LightThistle}{$\bullet$}LightThistle \>{0.06,0.30,0,0} \>\textcolor{LightOrchid}{$\bullet$}LightOrchid \>{0.16,0.32,0,0}\\
+% \textcolor{LightDarkOrchid}{$\bullet$}LightDarkOrchid \>{0.20,0.40,0.10,0}\>\textcolor{LightPurple}{$\bullet$}LightPurple \>{0.23,0.43,0,0}\\
+% \textcolor{LightPlum}{$\bullet$}LightPlum \>{0.25,0.50,0,0} \>\textcolor{LightViolet}{$\bullet$}LightViolet \>{0.40,0.44,0,0}\\
+% \textcolor{LightRoyalPurple}{$\bullet$}LightRoyalPurple\>{0.38,0.45,0,0} \>\textcolor{LightBlueViolet}{$\bullet$}LightBlueViolet \>{0.43,0.46,0,0.02}\\
+% \textcolor{LightPeriwinkle}{$\bullet$}LightPeriwinkle \>{0.29,0.28,0,0} \>\textcolor{LightCadetBlue}{$\bullet$}LightCadetBlue \> {0.31,0.29,0.12,0}\\
+% \textcolor{LightCornflowerBlue}{$\bullet$}LightCornflowerBlue\>{0.33,0.07,0,0}\>\textcolor{LightMidnightBlue}{$\bullet$}LightMidnightBlue\>{0.49,0.07,0,0.22}\\
+% \textcolor{LightNavyBlue}{$\bullet$}LightNavyBlue \>{0.47,0.27,0,0} \>\textcolor{LightRoyalBlue}{$\bullet$}LightRoyalBlue \> {0.50,0.25,0,0}\\
+% \textcolor{LightBlue}{$\bullet$}LightBlue \>{0.50,0.50,0,0} \>\textcolor{LightCerulean}{$\bullet$}LightCerulean \> {0.47,0.06,0,0}\\
+% \textcolor{LightCyan}{$\bullet$}LightCyan \>{0.50,0,0,0} \>\textcolor{LightProcessBlue}{$\bullet$}LightProcessBlue \> {0.48,0,0,0}\\
+% \textcolor{LightSkyBlue}{$\bullet$}LightSkyBlue \>{0.31,0,0.06,0} \>\textcolor{LightTurquoise}{$\bullet$}LightTurquoise \>{0.43,0,0.10,0}\\
+% \textcolor{LightTealBlue}{$\bullet$}LightTealBlue \>{0.43,0,0.17,0.01}\>\textcolor{LightAquamarine}{$\bullet$}LightAquamarine \>{0.41,0,0.15,0}\\
+% \textcolor{LightBlueGreen}{$\bullet$}LightBlueGreen \>{0.43,0,0.17,0}\>\textcolor{LightEmerald}{$\bullet$}LightEmerald \>{0.50,0,0.25,0}\\
+% \textcolor{LightJungleGreen}{$\bullet$}LightJungleGreen\>{0.50,0,0.26,0} \>\textcolor{LightSeaGreen}{$\bullet$}LightSeaGreen \>{0.35,0,0.25,0}\\
+% \textcolor{LightGreen}{$\bullet$}LightGreen \>{0.50,0,0.50,0} \>\textcolor{LightForestGreen}{$\bullet$}LightForestGreen\>{0.46,0,0.44,0.06}\\
+% \textcolor{LightPineGreen}{$\bullet$}LightPineGreen \>{0.46,0,0.30,0.13}\>\textcolor{LightLimeGreen}{$\bullet$}LightLimeGreen\>{0.25,0,0.50,0}\\
+% \textcolor{LightYellowGreen}{$\bullet$}LightYellowGreen\>{0.22,0,0.37,0} \>\textcolor{LightSpringGreen}{$\bullet$}LightSpringGreen \>{0.13,0,0.38,0}\\
+% \textcolor{LightOliveGreen}{$\bullet$}LightOliveGreen \>{0.32,0,0.48,0.20} \>\textcolor{LightRawSienna}{$\bullet$}LightRawSienna\>{0,0.36,0.50,0.23}\\
+% \textcolor{LightSepia}{$\bullet$}LightSepia \>{0,0.44,0.50,0.35} \>\textcolor{LightBrown}{$\bullet$}LightBrown \>{0,0.41,0.50,0.30}\\
+% \textcolor{LightTan}{$\bullet$}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}\\
+%
+% \textcolor{BlueRed5}{$\bullet$}BlueRed5 \>{0.15,0.17,0.55} \>\textcolor{BlueRed10}{$\bullet$}BlueRed10 \> {0.20,0.23,0.57}\\
+% \textcolor{BlueRed15}{$\bullet$}BlueRed15 \> {0.24,0.29,0.60} \>\textcolor{BlueRed20}{$\bullet$}BlueRed20 \> {0.33,0.35,0.64}\\
+% \textcolor{BlueRed25}{$\bullet$}BlueRed25 \> {0.43,0.43,0.68} \>\textcolor{BlueRed30}{$\bullet$}BlueRed30 \> {0.52,0.52,0.73}\\
+% \textcolor{BlueRed35}{$\bullet$}BlueRed35 \> {0.60,0.60,0.78} \>\textcolor{BlueRed40}{$\bullet$}BlueRed40 \> {0.70,0.70,0.84}\\
+% \textcolor{BlueRed45}{$\bullet$}BlueRed45 \> {0.80,0.80,0.85} \>\textcolor{BlueRed50}{$\bullet$}BlueRed50 \> {0.86,0.82,0.82}\\
+% \textcolor{BlueRed55}{$\bullet$}BlueRed55 \> {0.87,0.73,0.73} \>\textcolor{BlueRed60}{$\bullet$}BlueRed60 \> {0.89,0.64,0.64}\\
+% \textcolor{BlueRed65}{$\bullet$}BlueRed65 \> {0.90,0.55,0.55} \>\textcolor{BlueRed70}{$\bullet$}BlueRed70 \> {0.91,0.47,0.46}\\
+% \textcolor{BlueRed75}{$\bullet$}BlueRed75 \> {0.91,0.39,0.37} \>\textcolor{BlueRed80}{$\bullet$}BlueRed80 \> {0.90,0.33,0.28}\\
+% \textcolor{BlueRed85}{$\bullet$}BlueRed85 \> {0.89,0.25,0.20} \>\textcolor{BlueRed90}{$\bullet$}BlueRed90 \> {0.88,0.23,0.14}\\
+% \textcolor{BlueRed95}{$\bullet$}BlueRed95 \> {0.87,0.21,0.09} \>\textcolor{BlueRed100}{$\bullet$}BlueRed100\> {0.87,0.16,0.04}\\
+% \textcolor{GreenRed5}{$\bullet$}GreenRed5 \> {0,1,0} \>\textcolor{GreenRed10}{$\bullet$}GreenRed10\> {0.05,0.95,0}\\
+% \textcolor{GreenRed15}{$\bullet$}GreenRed15 \> {0.10,0.90,0} \>\textcolor{GreenRed20}{$\bullet$}GreenRed20\> {0.15,0.85,0}\\
+% \textcolor{GreenRed25}{$\bullet$}GreenRed25 \> {0.20,0.80,0} \>\textcolor{GreenRed30}{$\bullet$}GreenRed30\> {0.25,0.75,0}\\
+% \textcolor{GreenRed35}{$\bullet$}GreenRed35 \> {0.30,0.70,0} \>\textcolor{GreenRed40}{$\bullet$}GreenRed40\> {0.35,0.65,0}\\
+% \textcolor{GreenRed45}{$\bullet$}GreenRed45 \> {0.40,0.60,0} \>\textcolor{GreenRed50}{$\bullet$}GreenRed50\> {0.45,0.55,0}\\
+% \textcolor{GreenRed55}{$\bullet$}GreenRed55 \> {0.50,0.50,0} \>\textcolor{GreenRed60}{$\bullet$}GreenRed60\> {0.55,0.45,0}\\
+% \textcolor{GreenRed65}{$\bullet$}GreenRed65 \> {0.60,0.40,0} \>\textcolor{GreenRed70}{$\bullet$}GreenRed70\> {0.65,0.35,0}\\
+% \textcolor{GreenRed75}{$\bullet$}GreenRed75 \> {0.70,0.30,0} \>\textcolor{GreenRed80}{$\bullet$}GreenRed80\> {0.75,0.25,0}\\
+% \textcolor{GreenRed85}{$\bullet$}GreenRed85 \> {0.80,0.20,0} \>\textcolor{GreenRed90}{$\bullet$}GreenRed90\> {0.85,0.15,0}\\
+% \textcolor{GreenRed95}{$\bullet$}GreenRed95 \> {0.90,0.10,0} \>\textcolor{GreenRed100}{$\bullet$}GreenRed100\> {0.95,0.05,0}\\
+% \textcolor{ColdHot5}{$\bullet$}ColdHot5 \> {0,0.08,1} \>\textcolor{ColdHot10}{$\bullet$}ColdHot10 \> {0,0.29,1}\\
+% \textcolor{ColdHot15}{$\bullet$}ColdHot15 \> {0,0.49,1} \>\textcolor{ColdHot20}{$\bullet$}ColdHot20 \> {0,0.70,1}\\
+% \textcolor{ColdHot25}{$\bullet$}ColdHot25 \> {0,0.90,1} \>\textcolor{ColdHot30}{$\bullet$}ColdHot30 \> {0,1,0.87}\\
+% \textcolor{ColdHot35}{$\bullet$}ColdHot35 \> {0,1,0.68} \>\textcolor{ColdHot40}{$\bullet$}ColdHot40 \> {0,1,0.46}\\
+% \textcolor{ColdHot45}{$\bullet$}ColdHot45 \> {0,1,0.25} \>\textcolor{ColdHot50}{$\bullet$}ColdHot50 \> {0,1,0.04}\\
+% \textcolor{ColdHot55}{$\bullet$}ColdHot55 \> {0.16,1,0} \>\textcolor{ColdHot60}{$\bullet$}ColdHot60 \> {0.35,1,0}\\
+% \textcolor{ColdHot65}{$\bullet$}ColdHot65 \> {0.56,1,0} \>\textcolor{ColdHot70}{$\bullet$}ColdHot70 \> {0.79,1,0}\\
+% \textcolor{ColdHot75}{$\bullet$}ColdHot75 \> {0.98,1,0} \>\textcolor{ColdHot80}{$\bullet$}ColdHot80 \> {1,0.82,0}\\
+% \textcolor{ColdHot85}{$\bullet$}ColdHot85 \> {1,0.60,0} \>\textcolor{ColdHot90}{$\bullet$}ColdHot90 \> {1,0.40,0}\\
+% \textcolor{ColdHot95}{$\bullet$}ColdHot95 \> {1,0.20,0} \>\textcolor{ColdHot100}{$\bullet$}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
+% \subsection{Residue weight tables}\label{weightmatrix}
+% \bigskip
+%
+% |identity|
+% \bigskip
+% \bigskip
+%
+%{\footnotesize\tt
+%
+%\weighttable{identity}
+%\hspace*{-2cm}
+%\begin{tabular}{lrrrrrrrrrrrrrrrrrrrr}
+%
+%C & \consCC &&&&&&&&&&&&&&&&&&& \\
+%
+%S & \consSC & \consSS &&&&&&&&&&&&&&&&&& \\
+%
+%T & \consTC & \consTS & \consTT &&&&&&&&&&&&&&&&& \\
+%
+%P & \consPC & \consPS & \consPT & \consPP &&&&&&&&&&&&&&&& \\
+%
+%A & \consAC & \consAS & \consAT & \consAP & \consAA
+%&&&&&&&&&&&&&&& \\
+%
+%G & \consGC & \consGS & \consGT & \consGP & \consGA
+%& \consGG &&&&&&&&&&&&&& \\
+%
+%N & \consNC & \consNS & \consNT & \consNP & \consNA
+%& \consNG & \consNN &&&&&&&&&&&&& \\
+%
+%D & \consDC & \consDS & \consDT & \consDP & \consDA
+%& \consDG & \consDN & \consDD &&&&&&&&&&&& \\
+%
+%E & \consEC & \consES & \consET & \consEP & \consEA
+%& \consEG & \consEN & \consED & \consEE &&&&&&&&&&& \\
+%
+%Q & \consQC & \consQS & \consQT & \consQP & \consQA
+%& \consQG & \consQN & \consQD & \consQE & \consQQ
+%&&&&&&&&&& \\
+%
+%H & \consHC & \consHS & \consHT & \consHP & \consHA
+%& \consHG & \consHN & \consHD & \consHE & \consHQ
+%& \consHH &&&&&&&&& \\
+%
+%R & \consRC & \consRS & \consRT & \consRP & \consRA
+%& \consRG & \consRN & \consRD & \consRE & \consRQ
+%& \consRH & \consRR &&&&&&&& \\
+%
+%K & \consKC & \consKS & \consKT & \consKP & \consKA
+%& \consKG & \consKN & \consKD & \consKE & \consKQ
+%& \consKH & \consKR & \consKK &&&&&&& \\
+%
+%M & \consMC & \consMS & \consMT & \consMP & \consMA
+%& \consMG & \consMN & \consMD & \consME & \consMQ
+%& \consMH & \consMR & \consMK & \consMM &&&&&& \\
+%
+%I & \consIC & \consIS & \consIT & \consIP & \consIA
+%& \consIG & \consIN & \consID & \consIE & \consIQ
+%& \consIH & \consIR & \consIK & \consIM & \consII
+%&&&&& \\
+%
+%L & \consLC & \consLS & \consLT & \consLP & \consLA
+%& \consLG & \consLN & \consLD & \consLE & \consLQ
+%& \consLH & \consLR & \consLK & \consLM & \consLI
+%& \consLL &&&& \\
+%
+%V & \consVC & \consVS & \consVT & \consVP & \consVA
+%& \consVG & \consVN & \consVD & \consVE & \consVQ
+%& \consVH & \consVR & \consVK & \consVM & \consVI
+%& \consVL & \consVV &&& \\
+%
+%F & \consFC & \consFS & \consFT & \consFP & \consFA
+%& \consFG & \consFN & \consFD & \consFE & \consFQ
+%& \consFH & \consFR & \consFK & \consFM & \consFI
+%& \consFL & \consFV & \consFF && \\
+%
+%Y & \consYC & \consYS & \consYT & \consYP & \consYA
+%& \consYG & \consYN & \consYD & \consYE & \consYQ
+%& \consYH & \consYR & \consYK & \consYM & \consYI
+%& \consYL & \consYV & \consYF & \consYY & \\
+%
+%W & \consWC & \consWS & \consWT & \consWP & \consWA
+%& \consWG & \consWN & \consWD & \consWE & \consWQ
+%& \consWH & \consWR & \consWK & \consWM & \consWI
+%& \consWL & \consWV & \consWF & \consWY & \consWW \\[1.5ex]
+%
+%& C & S & T & P & A & G & N & D & E & Q & H & R & K & M & I & L & V & F & Y & W \\
+%
+%\end{tabular}
+%}
+% \newpage
+%
+% |structural|
+% \bigskip
+% \bigskip
+%
+%{\footnotesize\tt
+%
+%\weighttable{structural}
+%\hspace*{-2cm}
+%\begin{tabular}{lrrrrrrrrrrrrrrrrrrrr}
+%
+%C & \consCC &&&&&&&&&&&&&&&&&&& \\
+%
+%S & \consSC & \consSS &&&&&&&&&&&&&&&&&& \\
+%
+%T & \consTC & \consTS & \consTT &&&&&&&&&&&&&&&&& \\
+%
+%P & \consPC & \consPS & \consPT & \consPP &&&&&&&&&&&&&&&& \\
+%
+%A & \consAC & \consAS & \consAT & \consAP & \consAA
+%&&&&&&&&&&&&&&& \\
+%
+%G & \consGC & \consGS & \consGT & \consGP & \consGA
+%& \consGG &&&&&&&&&&&&&& \\
+%
+%N & \consNC & \consNS & \consNT & \consNP & \consNA
+%& \consNG & \consNN &&&&&&&&&&&&& \\
+%
+%D & \consDC & \consDS & \consDT & \consDP & \consDA
+%& \consDG & \consDN & \consDD &&&&&&&&&&&& \\
+%
+%E & \consEC & \consES & \consET & \consEP & \consEA
+%& \consEG & \consEN & \consED & \consEE &&&&&&&&&&& \\
+%
+%Q & \consQC & \consQS & \consQT & \consQP & \consQA
+%& \consQG & \consQN & \consQD & \consQE & \consQQ
+%&&&&&&&&&& \\
+%
+%H & \consHC & \consHS & \consHT & \consHP & \consHA
+%& \consHG & \consHN & \consHD & \consHE & \consHQ
+%& \consHH &&&&&&&&& \\
+%
+%R & \consRC & \consRS & \consRT & \consRP & \consRA
+%& \consRG & \consRN & \consRD & \consRE & \consRQ
+%& \consRH & \consRR &&&&&&&& \\
+%
+%K & \consKC & \consKS & \consKT & \consKP & \consKA
+%& \consKG & \consKN & \consKD & \consKE & \consKQ
+%& \consKH & \consKR & \consKK &&&&&&& \\
+%
+%M & \consMC & \consMS & \consMT & \consMP & \consMA
+%& \consMG & \consMN & \consMD & \consME & \consMQ
+%& \consMH & \consMR & \consMK & \consMM &&&&&& \\
+%
+%I & \consIC & \consIS & \consIT & \consIP & \consIA
+%& \consIG & \consIN & \consID & \consIE & \consIQ
+%& \consIH & \consIR & \consIK & \consIM & \consII
+%&&&&& \\
+%
+%L & \consLC & \consLS & \consLT & \consLP & \consLA
+%& \consLG & \consLN & \consLD & \consLE & \consLQ
+%& \consLH & \consLR & \consLK & \consLM & \consLI
+%& \consLL &&&& \\
+%
+%V & \consVC & \consVS & \consVT & \consVP & \consVA
+%& \consVG & \consVN & \consVD & \consVE & \consVQ
+%& \consVH & \consVR & \consVK & \consVM & \consVI
+%& \consVL & \consVV &&& \\
+%
+%F & \consFC & \consFS & \consFT & \consFP & \consFA
+%& \consFG & \consFN & \consFD & \consFE & \consFQ
+%& \consFH & \consFR & \consFK & \consFM & \consFI
+%& \consFL & \consFV & \consFF && \\
+%
+%Y & \consYC & \consYS & \consYT & \consYP & \consYA
+%& \consYG & \consYN & \consYD & \consYE & \consYQ
+%& \consYH & \consYR & \consYK & \consYM & \consYI
+%& \consYL & \consYV & \consYF & \consYY & \\
+%
+%W & \consWC & \consWS & \consWT & \consWP & \consWA
+%& \consWG & \consWN & \consWD & \consWE & \consWQ
+%& \consWH & \consWR & \consWK & \consWM & \consWI
+%& \consWL & \consWV & \consWF & \consWY & \consWW \\[1.5ex]
+%
+%& C & S & T & P & A & G & N & D & E & Q & H & R & K & M & I & L & V & F & Y & W \\
+%
+%\end{tabular}
+%}
+% \newpage
+%
+% |PAM250|
+% \bigskip
+% \bigskip
+%
+%{\footnotesize\tt
+%
+%\weighttable{PAM250}
+%\hspace*{-2cm}
+%\begin{tabular}{lrrrrrrrrrrrrrrrrrrrr}
+%
+%C & \consCC &&&&&&&&&&&&&&&&&&& \\
+%
+%S & \consSC & \consSS &&&&&&&&&&&&&&&&&& \\
+%
+%T & \consTC & \consTS & \consTT &&&&&&&&&&&&&&&&& \\
+%
+%P & \consPC & \consPS & \consPT & \consPP &&&&&&&&&&&&&&&& \\
+%
+%A & \consAC & \consAS & \consAT & \consAP & \consAA
+%&&&&&&&&&&&&&&& \\
+%
+%G & \consGC & \consGS & \consGT & \consGP & \consGA
+%& \consGG &&&&&&&&&&&&&& \\
+%
+%N & \consNC & \consNS & \consNT & \consNP & \consNA
+%& \consNG & \consNN &&&&&&&&&&&&& \\
+%
+%D & \consDC & \consDS & \consDT & \consDP & \consDA
+%& \consDG & \consDN & \consDD &&&&&&&&&&&& \\
+%
+%E & \consEC & \consES & \consET & \consEP & \consEA
+%& \consEG & \consEN & \consED & \consEE &&&&&&&&&&& \\
+%
+%Q & \consQC & \consQS & \consQT & \consQP & \consQA
+%& \consQG & \consQN & \consQD & \consQE & \consQQ
+%&&&&&&&&&& \\
+%
+%H & \consHC & \consHS & \consHT & \consHP & \consHA
+%& \consHG & \consHN & \consHD & \consHE & \consHQ
+%& \consHH &&&&&&&&& \\
+%
+%R & \consRC & \consRS & \consRT & \consRP & \consRA
+%& \consRG & \consRN & \consRD & \consRE & \consRQ
+%& \consRH & \consRR &&&&&&&& \\
+%
+%K & \consKC & \consKS & \consKT & \consKP & \consKA
+%& \consKG & \consKN & \consKD & \consKE & \consKQ
+%& \consKH & \consKR & \consKK &&&&&&& \\
+%
+%M & \consMC & \consMS & \consMT & \consMP & \consMA
+%& \consMG & \consMN & \consMD & \consME & \consMQ
+%& \consMH & \consMR & \consMK & \consMM &&&&&& \\
+%
+%I & \consIC & \consIS & \consIT & \consIP & \consIA
+%& \consIG & \consIN & \consID & \consIE & \consIQ
+%& \consIH & \consIR & \consIK & \consIM & \consII
+%&&&&& \\
+%
+%L & \consLC & \consLS & \consLT & \consLP & \consLA
+%& \consLG & \consLN & \consLD & \consLE & \consLQ
+%& \consLH & \consLR & \consLK & \consLM & \consLI
+%& \consLL &&&& \\
+%
+%V & \consVC & \consVS & \consVT & \consVP & \consVA
+%& \consVG & \consVN & \consVD & \consVE & \consVQ
+%& \consVH & \consVR & \consVK & \consVM & \consVI
+%& \consVL & \consVV &&& \\
+%
+%F & \consFC & \consFS & \consFT & \consFP & \consFA
+%& \consFG & \consFN & \consFD & \consFE & \consFQ
+%& \consFH & \consFR & \consFK & \consFM & \consFI
+%& \consFL & \consFV & \consFF && \\
+%
+%Y & \consYC & \consYS & \consYT & \consYP & \consYA
+%& \consYG & \consYN & \consYD & \consYE & \consYQ
+%& \consYH & \consYR & \consYK & \consYM & \consYI
+%& \consYL & \consYV & \consYF & \consYY & \\
+%
+%W & \consWC & \consWS & \consWT & \consWP & \consWA
+%& \consWG & \consWN & \consWD & \consWE & \consWQ
+%& \consWH & \consWR & \consWK & \consWM & \consWI
+%& \consWL & \consWV & \consWF & \consWY & \consWW \\[1.5ex]
+%
+%& C & S & T & P & A & G & N & D & E & Q & H & R & K & M & I & L & V & F & Y & W \\
+%
+%\end{tabular}
+%}
+% \newpage
+%
+% |PAM100|
+% \bigskip
+% \bigskip
+%
+%{\footnotesize\tt
+%
+%\weighttable{PAM100}
+%\hspace*{-3cm}
+%\begin{tabular}{lrrrrrrrrrrrrrrrrrrrr}
+%
+%C & \consCC &&&&&&&&&&&&&&&&&&& \\
+%
+%S & \consSC & \consSS &&&&&&&&&&&&&&&&&& \\
+%
+%T & \consTC & \consTS & \consTT &&&&&&&&&&&&&&&&& \\
+%
+%P & \consPC & \consPS & \consPT & \consPP &&&&&&&&&&&&&&&& \\
+%
+%A & \consAC & \consAS & \consAT & \consAP & \consAA
+%&&&&&&&&&&&&&&& \\
+%
+%G & \consGC & \consGS & \consGT & \consGP & \consGA
+%& \consGG &&&&&&&&&&&&&& \\
+%
+%N & \consNC & \consNS & \consNT & \consNP & \consNA
+%& \consNG & \consNN &&&&&&&&&&&&& \\
+%
+%D & \consDC & \consDS & \consDT & \consDP & \consDA
+%& \consDG & \consDN & \consDD &&&&&&&&&&&& \\
+%
+%E & \consEC & \consES & \consET & \consEP & \consEA
+%& \consEG & \consEN & \consED & \consEE &&&&&&&&&&& \\
+%
+%Q & \consQC & \consQS & \consQT & \consQP & \consQA
+%& \consQG & \consQN & \consQD & \consQE & \consQQ
+%&&&&&&&&&& \\
+%
+%H & \consHC & \consHS & \consHT & \consHP & \consHA
+%& \consHG & \consHN & \consHD & \consHE & \consHQ
+%& \consHH &&&&&&&&& \\
+%
+%R & \consRC & \consRS & \consRT & \consRP & \consRA
+%& \consRG & \consRN & \consRD & \consRE & \consRQ
+%& \consRH & \consRR &&&&&&&& \\
+%
+%K & \consKC & \consKS & \consKT & \consKP & \consKA
+%& \consKG & \consKN & \consKD & \consKE & \consKQ
+%& \consKH & \consKR & \consKK &&&&&&& \\
+%
+%M & \consMC & \consMS & \consMT & \consMP & \consMA
+%& \consMG & \consMN & \consMD & \consME & \consMQ
+%& \consMH & \consMR & \consMK & \consMM &&&&&& \\
+%
+%I & \consIC & \consIS & \consIT & \consIP & \consIA
+%& \consIG & \consIN & \consID & \consIE & \consIQ
+%& \consIH & \consIR & \consIK & \consIM & \consII
+%&&&&& \\
+%
+%L & \consLC & \consLS & \consLT & \consLP & \consLA
+%& \consLG & \consLN & \consLD & \consLE & \consLQ
+%& \consLH & \consLR & \consLK & \consLM & \consLI
+%& \consLL &&&& \\
+%
+%V & \consVC & \consVS & \consVT & \consVP & \consVA
+%& \consVG & \consVN & \consVD & \consVE & \consVQ
+%& \consVH & \consVR & \consVK & \consVM & \consVI
+%& \consVL & \consVV &&& \\
+%
+%F & \consFC & \consFS & \consFT & \consFP & \consFA
+%& \consFG & \consFN & \consFD & \consFE & \consFQ
+%& \consFH & \consFR & \consFK & \consFM & \consFI
+%& \consFL & \consFV & \consFF && \\
+%
+%Y & \consYC & \consYS & \consYT & \consYP & \consYA
+%& \consYG & \consYN & \consYD & \consYE & \consYQ
+%& \consYH & \consYR & \consYK & \consYM & \consYI
+%& \consYL & \consYV & \consYF & \consYY & \\
+%
+%W & \consWC & \consWS & \consWT & \consWP & \consWA
+%& \consWG & \consWN & \consWD & \consWE & \consWQ
+%& \consWH & \consWR & \consWK & \consWM & \consWI
+%& \consWL & \consWV & \consWF & \consWY & \consWW \\[1.5ex]
+%
+%& C & S & T & P & A & G & N & D & E & Q & H & R & K & M & I & L & V & F & Y & W \\
+%
+%\end{tabular}
+%}
+% \newpage
+%
+% |BLOSUM62|
+%\bigskip
+%\bigskip
+%
+%{\footnotesize\tt
+%
+%\weighttable{BLOSUM62}
+%\hspace*{-2cm}
+%\begin{tabular}{lrrrrrrrrrrrrrrrrrrrr}
+%
+%C & \consCC &&&&&&&&&&&&&&&&&&& \\
+%
+%S & \consSC & \consSS &&&&&&&&&&&&&&&&&& \\
+%
+%T & \consTC & \consTS & \consTT &&&&&&&&&&&&&&&&& \\
+%
+%P & \consPC & \consPS & \consPT & \consPP &&&&&&&&&&&&&&&& \\
+%
+%A & \consAC & \consAS & \consAT & \consAP & \consAA
+%&&&&&&&&&&&&&&& \\
+%
+%G & \consGC & \consGS & \consGT & \consGP & \consGA
+%& \consGG &&&&&&&&&&&&&& \\
+%
+%N & \consNC & \consNS & \consNT & \consNP & \consNA
+%& \consNG & \consNN &&&&&&&&&&&&& \\
+%
+%D & \consDC & \consDS & \consDT & \consDP & \consDA
+%& \consDG & \consDN & \consDD &&&&&&&&&&&& \\
+%
+%E & \consEC & \consES & \consET & \consEP & \consEA
+%& \consEG & \consEN & \consED & \consEE &&&&&&&&&&& \\
+%
+%Q & \consQC & \consQS & \consQT & \consQP & \consQA
+%& \consQG & \consQN & \consQD & \consQE & \consQQ
+%&&&&&&&&&& \\
+%
+%H & \consHC & \consHS & \consHT & \consHP & \consHA
+%& \consHG & \consHN & \consHD & \consHE & \consHQ
+%& \consHH &&&&&&&&& \\
+%
+%R & \consRC & \consRS & \consRT & \consRP & \consRA
+%& \consRG & \consRN & \consRD & \consRE & \consRQ
+%& \consRH & \consRR &&&&&&&& \\
+%
+%K & \consKC & \consKS & \consKT & \consKP & \consKA
+%& \consKG & \consKN & \consKD & \consKE & \consKQ
+%& \consKH & \consKR & \consKK &&&&&&& \\
+%
+%M & \consMC & \consMS & \consMT & \consMP & \consMA
+%& \consMG & \consMN & \consMD & \consME & \consMQ
+%& \consMH & \consMR & \consMK & \consMM &&&&&& \\
+%
+%I & \consIC & \consIS & \consIT & \consIP & \consIA
+%& \consIG & \consIN & \consID & \consIE & \consIQ
+%& \consIH & \consIR & \consIK & \consIM & \consII
+%&&&&& \\
+%
+%L & \consLC & \consLS & \consLT & \consLP & \consLA
+%& \consLG & \consLN & \consLD & \consLE & \consLQ
+%& \consLH & \consLR & \consLK & \consLM & \consLI
+%& \consLL &&&& \\
+%
+%V & \consVC & \consVS & \consVT & \consVP & \consVA
+%& \consVG & \consVN & \consVD & \consVE & \consVQ
+%& \consVH & \consVR & \consVK & \consVM & \consVI
+%& \consVL & \consVV &&& \\
+%
+%F & \consFC & \consFS & \consFT & \consFP & \consFA
+%& \consFG & \consFN & \consFD & \consFE & \consFQ
+%& \consFH & \consFR & \consFK & \consFM & \consFI
+%& \consFL & \consFV & \consFF && \\
+%
+%Y & \consYC & \consYS & \consYT & \consYP & \consYA
+%& \consYG & \consYN & \consYD & \consYE & \consYQ
+%& \consYH & \consYR & \consYK & \consYM & \consYI
+%& \consYL & \consYV & \consYF & \consYY & \\
+%
+%W & \consWC & \consWS & \consWT & \consWP & \consWA
+%& \consWG & \consWN & \consWD & \consWE & \consWQ
+%& \consWH & \consWR & \consWK & \consWM & \consWI
+%& \consWL & \consWV & \consWF & \consWY & \consWW \\[1.5ex]
+%
+%& C & S & T & P & A & G & N & D & E & Q & H & R & K & M & I & L & V & F & Y & W \\
+%
+%\end{tabular}
+%}
+% \bigskip
+%
+%
+% \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|\hideallmatchpositions|
+% \hfill[\pageref{Lhideallmatchpositions}]
+%
+% \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}|}|
+%
+% \quad|\defshadingcolors{|\meta{name}|}|
+% \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}
+%
+% \quad|\weighttable{|\meta{table}|}|
+% \hfill[\pageref{Lweighttable}]
+%
+% \quad|\setweight{|\meta{res.1}|}{|\meta{res.2}|}{|\meta{value}|}|
+% \hfill[\pageref{Lsetweight}]
+%
+% \quad|\gappenalty{|\meta{value}|}|
+% \hfill[\pageref{Lgappenalty}]
+%
+% \vspace{1.5\baselineskip}
+%
+% \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|\rulerspace{|\meta{length}|}|
+% \hfill[\pageref{Lrulerspace}]
+%
+% \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|\stopchar{|\meta{symbol}|}|
+% \hfill [\pageref{Lstopchar}]
+%
+% \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}
+%
+%
+%
+%
+% \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|\changeshadingcolors{|\meta{seqref}|}{|\meta{selection}|}{|\meta{name}|}|
+% \hfill[\pageref{Lchangeshadingcolors}]
+%
+% \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|\lowerregion{|\meta{seqref}|}{|\meta{selection}|}|
+% \hfill[\pageref{Llowerregion}]
+%
+% \quad|\lowerblock{|\meta{seqref}|}{|\meta{selection}|}|
+% \hfill[\pageref{Llowerblock}]
+%
+% \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}|]}|\\
+% \> = |{S-S}|\\
+% \> = 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}
+%
+% \newpage
+%
+% \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}
+%
+% \newpage
+%
+% \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.),
+% rulers (|\rulerrm| 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}]
+%
+% \quad|\percentsimilarity{|\meta{seqref1}|}{|\meta{seqref2}|}|
+% \hfill[\pageref{Lpercentsimilarity}]
+%
+% \quad|\percentidentity{|\meta{seqref1}|}{|\meta{seqref2}|}|
+% \hfill[\pageref{Lpercentidentity}]
+%
+% \quad|\similaritytable|
+% \hfill[\pageref{Lsimilaritytable}]
+%
+% \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}
+ \usepackage[pdftex,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}
+%</driver>
+% \end{macrocode}
+% \subsection{\texttt{texshade.sty}---no comments}
+% \begin{macrocode}
+%<*texshade>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{texshade}[2018/01/17 LaTeX TeXshade (v1.25)]
+\message{Package `texshade', Version 1.25 of 2018/01/17.}
+
+\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 <return>. \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{<AMS symbol style `amssymb.sty' not installed - using round heads>}
+ \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\temp@@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
+\newlength\bar@length
+
+\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\ifregionallower
+\newif\ifframe@ \newif\ifregionaltint
+\newif\ifshading@
+\newif\ifshow@logo \newif\ifshow@sublogo
+\newif\ifhidechar \newif\ifsh@wg@ps
+\newif\ifsimmode
+\newif\ifregionaltintnow
+\newif\ifregionalemphnow
+\newif\ifregionallowernow
+\newif\ifregionalshadenow
+\newif\iftopfeaturenow
+\newif\ifttopfeaturenow
+\newif\iftttopfeaturenow
+\newif\ifttttopfeaturenow
+\newif\ifbottomfeaturenow
+\newif\ifbbottomfeaturenow
+\newif\ifbbbottomfeaturenow
+\newif\ifbbbbottomfeaturenow
+\newif\ifframenow
+\newif\ifshadingnow
+\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\questi@n{?} \def\st@p@char{*} \def\semic@n{;}
+\def\br@cket{[} \def\p@r@gr@ph{¤}
+\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}
+}
+
+\def\clear@simpairs{%
+\xdef\simpairCC{1} \xdef\simpairCS{0} \xdef\simpairCT{0} \xdef\simpairCP{0} \xdef\simpairCA{0}
+\xdef\simpairCG{0} \xdef\simpairCN{0} \xdef\simpairCD{0} \xdef\simpairCE{0} \xdef\simpairCQ{0}
+\xdef\simpairCH{0} \xdef\simpairCR{0} \xdef\simpairCK{0} \xdef\simpairCM{0} \xdef\simpairCI{0}
+\xdef\simpairCL{0} \xdef\simpairCV{0} \xdef\simpairCF{0} \xdef\simpairCY{0} \xdef\simpairCW{0}
+\xdef\simpairCB{0} \xdef\simpairCJ{0} \xdef\simpairCO{0} \xdef\simpairCU{0} \xdef\simpairCX{0} \xdef\simpairCZ{0}
+
+\xdef\simpairSC{0} \xdef\simpairSS{1} \xdef\simpairST{0} \xdef\simpairSP{0} \xdef\simpairSA{0}
+\xdef\simpairSG{0} \xdef\simpairSN{0} \xdef\simpairSD{0} \xdef\simpairSE{0} \xdef\simpairSQ{0}
+\xdef\simpairSH{0} \xdef\simpairSR{0} \xdef\simpairSK{0} \xdef\simpairSM{0} \xdef\simpairSI{0}
+\xdef\simpairSL{0} \xdef\simpairSV{0} \xdef\simpairSF{0} \xdef\simpairSY{0} \xdef\simpairSW{0}
+\xdef\simpairSB{0} \xdef\simpairSJ{0} \xdef\simpairSO{0} \xdef\simpairSU{0} \xdef\simpairSX{0} \xdef\simpairSZ{0}
+
+\xdef\simpairTC{0} \xdef\simpairTS{0} \xdef\simpairTT{1} \xdef\simpairTP{0} \xdef\simpairTA{0}
+\xdef\simpairTG{0} \xdef\simpairTN{0} \xdef\simpairTD{0} \xdef\simpairTE{0} \xdef\simpairTQ{0}
+\xdef\simpairTH{0} \xdef\simpairTR{0} \xdef\simpairTK{0} \xdef\simpairTM{0} \xdef\simpairTI{0}
+\xdef\simpairTL{0} \xdef\simpairTV{0} \xdef\simpairTF{0} \xdef\simpairTY{0} \xdef\simpairTW{0}
+\xdef\simpairTB{0} \xdef\simpairTJ{0} \xdef\simpairTO{0} \xdef\simpairTU{0} \xdef\simpairTX{0} \xdef\simpairTZ{0}
+
+\xdef\simpairPC{0} \xdef\simpairPS{0} \xdef\simpairPT{0} \xdef\simpairPP{1} \xdef\simpairPA{0}
+\xdef\simpairPG{0} \xdef\simpairPN{0} \xdef\simpairPD{0} \xdef\simpairPE{0} \xdef\simpairPQ{0}
+\xdef\simpairPH{0} \xdef\simpairPR{0} \xdef\simpairPK{0} \xdef\simpairPM{0} \xdef\simpairPI{0}
+\xdef\simpairPL{0} \xdef\simpairPV{0} \xdef\simpairPF{0} \xdef\simpairPY{0} \xdef\simpairPW{0}
+\xdef\simpairPB{0} \xdef\simpairPJ{0} \xdef\simpairPO{0} \xdef\simpairPU{0} \xdef\simpairPX{0} \xdef\simpairPZ{0}
+
+\xdef\simpairAC{0} \xdef\simpairAS{0} \xdef\simpairAT{0} \xdef\simpairAP{0} \xdef\simpairAA{1}
+\xdef\simpairAG{0} \xdef\simpairAN{0} \xdef\simpairAD{0} \xdef\simpairAE{0} \xdef\simpairAQ{0}
+\xdef\simpairAH{0} \xdef\simpairAR{0} \xdef\simpairAK{0} \xdef\simpairAM{0} \xdef\simpairAI{0}
+\xdef\simpairAL{0} \xdef\simpairAV{0} \xdef\simpairAF{0} \xdef\simpairAY{0} \xdef\simpairAW{0}
+\xdef\simpairAB{0} \xdef\simpairAJ{0} \xdef\simpairAO{0} \xdef\simpairAU{0} \xdef\simpairAX{0} \xdef\simpairAZ{0}
+
+\xdef\simpairGC{0} \xdef\simpairGS{0} \xdef\simpairGT{0} \xdef\simpairGP{0} \xdef\simpairGA{0}
+\xdef\simpairGG{1} \xdef\simpairGN{0} \xdef\simpairGD{0} \xdef\simpairGE{0} \xdef\simpairGQ{0}
+\xdef\simpairGH{0} \xdef\simpairGR{0} \xdef\simpairGK{0} \xdef\simpairGM{0} \xdef\simpairGI{0}
+\xdef\simpairGL{0} \xdef\simpairGV{0} \xdef\simpairGF{0} \xdef\simpairGY{0} \xdef\simpairGW{0}
+\xdef\simpairGB{0} \xdef\simpairGJ{0} \xdef\simpairGO{0} \xdef\simpairGU{0} \xdef\simpairGX{0} \xdef\simpairGZ{0}
+
+\xdef\simpairNC{0} \xdef\simpairNS{0} \xdef\simpairNT{0} \xdef\simpairNP{0} \xdef\simpairNA{0}
+\xdef\simpairNG{0} \xdef\simpairNN{1} \xdef\simpairND{0} \xdef\simpairNE{0} \xdef\simpairNQ{0}
+\xdef\simpairNH{0} \xdef\simpairNR{0} \xdef\simpairNK{0} \xdef\simpairNM{0} \xdef\simpairNI{0}
+\xdef\simpairNL{0} \xdef\simpairNV{0} \xdef\simpairNF{0} \xdef\simpairNY{0} \xdef\simpairNW{0}
+\xdef\simpairNB{0} \xdef\simpairNJ{0} \xdef\simpairNO{0} \xdef\simpairNU{0} \xdef\simpairNX{0} \xdef\simpairNZ{0}
+
+\xdef\simpairDC{0} \xdef\simpairDS{0} \xdef\simpairDT{0} \xdef\simpairDP{0} \xdef\simpairDA{0}
+\xdef\simpairDG{0} \xdef\simpairDN{0} \xdef\simpairDD{1} \xdef\simpairDE{0} \xdef\simpairDQ{0}
+\xdef\simpairDH{0} \xdef\simpairDR{0} \xdef\simpairDK{0} \xdef\simpairDM{0} \xdef\simpairDI{0}
+\xdef\simpairDL{0} \xdef\simpairDV{0} \xdef\simpairDF{0} \xdef\simpairDY{0} \xdef\simpairDW{0}
+\xdef\simpairDB{0} \xdef\simpairDJ{0} \xdef\simpairDO{0} \xdef\simpairDU{0} \xdef\simpairDX{0} \xdef\simpairDZ{0}
+
+\xdef\simpairEC{0} \xdef\simpairES{0} \xdef\simpairET{0} \xdef\simpairEP{0} \xdef\simpairEA{0}
+\xdef\simpairEG{0} \xdef\simpairEN{0} \xdef\simpairED{0} \xdef\simpairEE{1} \xdef\simpairEQ{0}
+\xdef\simpairEH{0} \xdef\simpairER{0} \xdef\simpairEK{0} \xdef\simpairEM{0} \xdef\simpairEI{0}
+\xdef\simpairEL{0} \xdef\simpairEV{0} \xdef\simpairEF{0} \xdef\simpairEY{0} \xdef\simpairEW{0}
+\xdef\simpairEB{0} \xdef\simpairEJ{0} \xdef\simpairEO{0} \xdef\simpairEU{0} \xdef\simpairEX{0} \xdef\simpairEZ{0}
+
+\xdef\simpairQC{0} \xdef\simpairQS{0} \xdef\simpairQT{0} \xdef\simpairQP{0} \xdef\simpairQA{0}
+\xdef\simpairQG{0} \xdef\simpairQN{0} \xdef\simpairQD{0} \xdef\simpairQE{0} \xdef\simpairQQ{1}
+\xdef\simpairQH{0} \xdef\simpairQR{0} \xdef\simpairQK{0} \xdef\simpairQM{0} \xdef\simpairQI{0}
+\xdef\simpairQL{0} \xdef\simpairQV{0} \xdef\simpairQF{0} \xdef\simpairQY{0} \xdef\simpairQW{0}
+\xdef\simpairQB{0} \xdef\simpairQJ{0} \xdef\simpairQO{0} \xdef\simpairQU{0} \xdef\simpairQX{0} \xdef\simpairQZ{0}
+
+\xdef\simpairHC{0} \xdef\simpairHS{0} \xdef\simpairHT{0} \xdef\simpairHP{0} \xdef\simpairHA{0}
+\xdef\simpairHG{0} \xdef\simpairHN{0} \xdef\simpairHD{0} \xdef\simpairHE{0} \xdef\simpairHQ{0}
+\xdef\simpairHH{1} \xdef\simpairHR{0} \xdef\simpairHK{0} \xdef\simpairHM{0} \xdef\simpairHI{0}
+\xdef\simpairHL{0} \xdef\simpairHV{0} \xdef\simpairHF{0} \xdef\simpairHY{0} \xdef\simpairHW{0}
+\xdef\simpairHB{0} \xdef\simpairHJ{0} \xdef\simpairHO{0} \xdef\simpairHU{0} \xdef\simpairHX{0} \xdef\simpairHZ{0}
+
+\xdef\simpairRC{0} \xdef\simpairRS{0} \xdef\simpairRT{0} \xdef\simpairRP{0} \xdef\simpairRA{0}
+\xdef\simpairRG{0} \xdef\simpairRN{0} \xdef\simpairRD{0} \xdef\simpairRE{0} \xdef\simpairRQ{0}
+\xdef\simpairRH{0} \xdef\simpairRR{1} \xdef\simpairRK{0} \xdef\simpairRM{0} \xdef\simpairRI{0}
+\xdef\simpairRL{0} \xdef\simpairRV{0} \xdef\simpairRF{0} \xdef\simpairRY{0} \xdef\simpairRW{0}
+\xdef\simpairRB{0} \xdef\simpairRJ{0} \xdef\simpairRO{0} \xdef\simpairRU{0} \xdef\simpairRX{0} \xdef\simpairRZ{0}
+
+\xdef\simpairKC{0} \xdef\simpairKS{0} \xdef\simpairKT{0} \xdef\simpairKP{0} \xdef\simpairKA{0}
+\xdef\simpairKG{0} \xdef\simpairKN{0} \xdef\simpairKD{0} \xdef\simpairKE{0} \xdef\simpairKQ{0}
+\xdef\simpairKH{0} \xdef\simpairKR{0} \xdef\simpairKK{1} \xdef\simpairKM{0} \xdef\simpairKI{0}
+\xdef\simpairKL{0} \xdef\simpairKV{0} \xdef\simpairKF{0} \xdef\simpairKY{0} \xdef\simpairKW{0}
+\xdef\simpairKB{0} \xdef\simpairKJ{0} \xdef\simpairKO{0} \xdef\simpairKU{0} \xdef\simpairKX{0} \xdef\simpairKZ{0}
+
+\xdef\simpairMC{0} \xdef\simpairMS{0} \xdef\simpairMT{0} \xdef\simpairMP{0} \xdef\simpairMA{0}
+\xdef\simpairMG{0} \xdef\simpairMN{0} \xdef\simpairMD{0} \xdef\simpairME{0} \xdef\simpairMQ{0}
+\xdef\simpairMH{0} \xdef\simpairMR{0} \xdef\simpairMK{0} \xdef\simpairMM{1} \xdef\simpairMI{0}
+\xdef\simpairML{0} \xdef\simpairMV{0} \xdef\simpairMF{0} \xdef\simpairMY{0} \xdef\simpairMW{0}
+\xdef\simpairMB{0} \xdef\simpairMJ{0} \xdef\simpairMO{0} \xdef\simpairMU{0} \xdef\simpairMX{0} \xdef\simpairMZ{0}
+
+\xdef\simpairIC{0} \xdef\simpairIS{0} \xdef\simpairIT{0} \xdef\simpairIP{0} \xdef\simpairIA{0}
+\xdef\simpairIG{0} \xdef\simpairIN{0} \xdef\simpairID{0} \xdef\simpairIE{0} \xdef\simpairIQ{0}
+\xdef\simpairIH{0} \xdef\simpairIR{0} \xdef\simpairIK{0} \xdef\simpairIM{0} \xdef\simpairII{1}
+\xdef\simpairIL{0} \xdef\simpairIV{0} \xdef\simpairIF{0} \xdef\simpairIY{0} \xdef\simpairIW{0}
+\xdef\simpairIB{0} \xdef\simpairIJ{0} \xdef\simpairIO{0} \xdef\simpairIU{0} \xdef\simpairIX{0} \xdef\simpairIZ{0}
+
+\xdef\simpairLC{0} \xdef\simpairLS{0} \xdef\simpairLT{0} \xdef\simpairLP{0} \xdef\simpairLA{0}
+\xdef\simpairLG{0} \xdef\simpairLN{0} \xdef\simpairLD{0} \xdef\simpairLE{0} \xdef\simpairLQ{0}
+\xdef\simpairLH{0} \xdef\simpairLR{0} \xdef\simpairLK{0} \xdef\simpairLM{0} \xdef\simpairLI{0}
+\xdef\simpairLL{1} \xdef\simpairLV{0} \xdef\simpairLF{0} \xdef\simpairLY{0} \xdef\simpairLW{0}
+\xdef\simpairLB{0} \xdef\simpairLJ{0} \xdef\simpairLO{0} \xdef\simpairLU{0} \xdef\simpairLX{0} \xdef\simpairLZ{0}
+
+\xdef\simpairVC{0} \xdef\simpairVS{0} \xdef\simpairVT{0} \xdef\simpairVP{0} \xdef\simpairVA{0}
+\xdef\simpairVG{0} \xdef\simpairVN{0} \xdef\simpairVD{0} \xdef\simpairVE{0} \xdef\simpairVQ{0}
+\xdef\simpairVH{0} \xdef\simpairVR{0} \xdef\simpairVK{0} \xdef\simpairVM{0} \xdef\simpairVI{0}
+\xdef\simpairVL{0} \xdef\simpairVV{1} \xdef\simpairVF{0} \xdef\simpairVY{0} \xdef\simpairVW{0}
+\xdef\simpairVB{0} \xdef\simpairVJ{0} \xdef\simpairVO{0} \xdef\simpairVU{0} \xdef\simpairVX{0} \xdef\simpairVZ{0}
+
+\xdef\simpairFC{0} \xdef\simpairFS{0} \xdef\simpairFT{0} \xdef\simpairFP{0} \xdef\simpairFA{0}
+\xdef\simpairFG{0} \xdef\simpairFN{0} \xdef\simpairFD{0} \xdef\simpairFE{0} \xdef\simpairFQ{0}
+\xdef\simpairFH{0} \xdef\simpairFR{0} \xdef\simpairFK{0} \xdef\simpairFM{0} \xdef\simpairFI{0}
+\xdef\simpairFL{0} \xdef\simpairFV{0} \xdef\simpairFF{1} \xdef\simpairFY{0} \xdef\simpairFW{0}
+\xdef\simpairFB{0} \xdef\simpairFJ{0} \xdef\simpairFO{0} \xdef\simpairFU{0} \xdef\simpairFX{0} \xdef\simpairFZ{0}
+
+\xdef\simpairYC{0} \xdef\simpairYS{0} \xdef\simpairYT{0} \xdef\simpairYP{0} \xdef\simpairYA{0}
+\xdef\simpairYG{0} \xdef\simpairYN{0} \xdef\simpairYD{0} \xdef\simpairYE{0} \xdef\simpairYQ{0}
+\xdef\simpairYH{0} \xdef\simpairYR{0} \xdef\simpairYK{0} \xdef\simpairYM{0} \xdef\simpairYI{0}
+\xdef\simpairYL{0} \xdef\simpairYV{0} \xdef\simpairYF{0} \xdef\simpairYY{1} \xdef\simpairYW{0}
+\xdef\simpairYB{0} \xdef\simpairYJ{0} \xdef\simpairYO{0} \xdef\simpairYU{0} \xdef\simpairYX{0} \xdef\simpairYZ{0}
+
+\xdef\simpairWC{0} \xdef\simpairWS{0} \xdef\simpairWT{0} \xdef\simpairWP{0} \xdef\simpairWA{0}
+\xdef\simpairWG{0} \xdef\simpairWN{0} \xdef\simpairWD{0} \xdef\simpairWE{0} \xdef\simpairWQ{0}
+\xdef\simpairWH{0} \xdef\simpairWR{0} \xdef\simpairWK{0} \xdef\simpairWM{0} \xdef\simpairWI{0}
+\xdef\simpairWL{0} \xdef\simpairWV{0} \xdef\simpairWF{0} \xdef\simpairWY{0} \xdef\simpairWW{1}
+\xdef\simpairWB{0} \xdef\simpairWJ{0} \xdef\simpairWO{0} \xdef\simpairWU{0} \xdef\simpairWX{0} \xdef\simpairWZ{0}
+
+\xdef\simpairBC{0} \xdef\simpairBS{0} \xdef\simpairBT{0} \xdef\simpairBP{0} \xdef\simpairBA{0}
+\xdef\simpairBG{0} \xdef\simpairBN{0} \xdef\simpairBD{0} \xdef\simpairBE{0} \xdef\simpairBQ{0}
+\xdef\simpairBH{0} \xdef\simpairBR{0} \xdef\simpairBK{0} \xdef\simpairBM{0} \xdef\simpairBI{0}
+\xdef\simpairBL{0} \xdef\simpairBV{0} \xdef\simpairBF{0} \xdef\simpairBY{0} \xdef\simpairBW{0}
+\xdef\simpairBB{1} \xdef\simpairBJ{0} \xdef\simpairBO{0} \xdef\simpairBU{0} \xdef\simpairBX{0} \xdef\simpairBZ{0}
+
+\xdef\simpairJC{0} \xdef\simpairJS{0} \xdef\simpairJT{0} \xdef\simpairJP{0} \xdef\simpairJA{0}
+\xdef\simpairJG{0} \xdef\simpairJN{0} \xdef\simpairJD{0} \xdef\simpairJE{0} \xdef\simpairJQ{0}
+\xdef\simpairJH{0} \xdef\simpairJR{0} \xdef\simpairJK{0} \xdef\simpairJM{0} \xdef\simpairJI{0}
+\xdef\simpairJL{0} \xdef\simpairJV{0} \xdef\simpairJF{0} \xdef\simpairJY{0} \xdef\simpairJW{0}
+\xdef\simpairJB{0} \xdef\simpairJJ{1} \xdef\simpairJO{0} \xdef\simpairJU{0} \xdef\simpairJX{0} \xdef\simpairJZ{0}
+
+\xdef\simpairOC{0} \xdef\simpairOS{0} \xdef\simpairOT{0} \xdef\simpairOP{0} \xdef\simpairOA{0}
+\xdef\simpairOG{0} \xdef\simpairON{0} \xdef\simpairOD{0} \xdef\simpairOE{0} \xdef\simpairOQ{0}
+\xdef\simpairOH{0} \xdef\simpairOR{0} \xdef\simpairOK{0} \xdef\simpairOM{0} \xdef\simpairOI{0}
+\xdef\simpairOL{0} \xdef\simpairOV{0} \xdef\simpairOF{0} \xdef\simpairOY{0} \xdef\simpairOW{0}
+\xdef\simpairOB{0} \xdef\simpairOJ{0} \xdef\simpairOO{1} \xdef\simpairOU{0} \xdef\simpairOX{0} \xdef\simpairOZ{0}
+
+\xdef\simpairUC{0} \xdef\simpairUS{0} \xdef\simpairUT{0} \xdef\simpairUP{0} \xdef\simpairUA{0}
+\xdef\simpairUG{0} \xdef\simpairUN{0} \xdef\simpairUD{0} \xdef\simpairUE{0} \xdef\simpairUQ{0}
+\xdef\simpairUH{0} \xdef\simpairUR{0} \xdef\simpairUK{0} \xdef\simpairUM{0} \xdef\simpairUI{0}
+\xdef\simpairUL{0} \xdef\simpairUV{0} \xdef\simpairUF{0} \xdef\simpairUY{0} \xdef\simpairUW{0}
+\xdef\simpairUB{0} \xdef\simpairUJ{0} \xdef\simpairUO{0} \xdef\simpairUU{1} \xdef\simpairUX{0} \xdef\simpairUZ{0}
+
+\xdef\simpairXC{0} \xdef\simpairXS{0} \xdef\simpairXT{0} \xdef\simpairXP{0} \xdef\simpairXA{0}
+\xdef\simpairXG{0} \xdef\simpairXN{0} \xdef\simpairXD{0} \xdef\simpairXE{0} \xdef\simpairXQ{0}
+\xdef\simpairXH{0} \xdef\simpairXR{0} \xdef\simpairXK{0} \xdef\simpairXM{0} \xdef\simpairXI{0}
+\xdef\simpairXL{0} \xdef\simpairXV{0} \xdef\simpairXF{0} \xdef\simpairXY{0} \xdef\simpairXW{0}
+\xdef\simpairXB{0} \xdef\simpairXJ{0} \xdef\simpairXO{0} \xdef\simpairXU{0} \xdef\simpairXX{1} \xdef\simpairXZ{0}
+
+\xdef\simpairZC{0} \xdef\simpairZS{0} \xdef\simpairZT{0} \xdef\simpairZP{0} \xdef\simpairZA{0}
+\xdef\simpairZG{0} \xdef\simpairZN{0} \xdef\simpairZD{0} \xdef\simpairZE{0} \xdef\simpairZQ{0}
+\xdef\simpairZH{0} \xdef\simpairZR{0} \xdef\simpairZK{0} \xdef\simpairZM{0} \xdef\simpairZI{0}
+\xdef\simpairZL{0} \xdef\simpairZV{0} \xdef\simpairZF{0} \xdef\simpairZY{0} \xdef\simpairZW{0}
+\xdef\simpairZB{0} \xdef\simpairZJ{0} \xdef\simpairZO{0} \xdef\simpairZU{0} \xdef\simpairZX{0} \xdef\simpairZZ{1}
+
+}
+
+\def\clear@sim@count{
+ \def\clear@sim@nums{%
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>\seq@count
+ \else
+ \expandafter\xdef\csname poscount\the\outerloopcount @\the\innerloopcount\endcsname{0}
+ \expandafter\xdef\csname identcount\the\outerloopcount @\the\innerloopcount\endcsname{0}
+ \expandafter\xdef\csname simcount\the\outerloopcount @\the\innerloopcount\endcsname{0}
+ \clear@sim@nums
+ \fi
+ }
+
+ \outerloopcount=1
+ \loop
+ \innerloopcount=\outerloopcount
+ \clear@sim@nums
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount<\seq@count \repeat
+}
+
+\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\consCB{0} \xdef\consCJ{0} \xdef\consCO{0} \xdef\consCU{0} \xdef\consCX{0} \xdef\consCZ{0}
+\expandafter\xdef\csname consC?\endcsname{0}
+
+\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\consTB{0} \xdef\consTJ{0} \xdef\consTO{0} \xdef\consTU{0} \xdef\consTX{0} \xdef\consTZ{0}
+\expandafter\xdef\csname consT?\endcsname{0}
+
+\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\consAB{0} \xdef\consAJ{0} \xdef\consAO{0} \xdef\consAU{0} \xdef\consAX{0} \xdef\consAZ{0}
+\expandafter\xdef\csname consA?\endcsname{0}
+
+\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\consNB{0} \xdef\consNJ{0} \xdef\consNO{0} \xdef\consNU{0} \xdef\consNX{0} \xdef\consNZ{0}
+\expandafter\xdef\csname consN?\endcsname{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\consEB{0} \xdef\consEJ{0} \xdef\consEO{0} \xdef\consEU{0} \xdef\consEX{0} \xdef\consEZ{0}
+\expandafter\xdef\csname consE?\endcsname{0}
+
+\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\consHB{0} \xdef\consHJ{0} \xdef\consHO{0} \xdef\consHU{0} \xdef\consHX{0} \xdef\consHZ{0}
+\expandafter\xdef\csname consH?\endcsname{0}
+
+\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\consKB{0} \xdef\consKJ{0} \xdef\consKO{0} \xdef\consKU{0} \xdef\consKX{0} \xdef\consKZ{0}
+\expandafter\xdef\csname consK?\endcsname{0}
+
+\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\consIB{0} \xdef\consIJ{0} \xdef\consIO{0} \xdef\consIU{0} \xdef\consIX{0} \xdef\consIZ{0}
+\expandafter\xdef\csname consI?\endcsname{0}
+
+\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\consVB{0} \xdef\consVJ{0} \xdef\consVO{0} \xdef\consVU{0} \xdef\consVX{0} \xdef\consVZ{0}
+\expandafter\xdef\csname consV?\endcsname{0}
+
+\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\consYB{0} \xdef\consYJ{0} \xdef\consYO{0} \xdef\consYU{0} \xdef\consYX{0} \xdef\consYZ{0}
+\expandafter\xdef\csname consY?\endcsname{0}
+
+\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{10} \xdef\consBJ{0} \xdef\consBO{0} \xdef\consBU{0} \xdef\consBX{0} \xdef\consBZ{0}
+\expandafter\xdef\csname consB.\endcsname{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{10} \xdef\consJO{0} \xdef\consJU{0} \xdef\consJX{0} \xdef\consJZ{0}
+\expandafter\xdef\csname consJ.\endcsname{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{10} \xdef\consOU{0} \xdef\consOX{0} \xdef\consOZ{0}
+\expandafter\xdef\csname consO.\endcsname{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{10} \xdef\consUX{0} \xdef\consUZ{0}
+\expandafter\xdef\csname consU.\endcsname{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{10} \xdef\consXZ{0}
+\expandafter\xdef\csname consX.\endcsname{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{10}
+\expandafter\xdef\csname consZ.\endcsname{0}
+\expandafter\xdef\csname consZ?\endcsname{0}
+
+\expandafter\xdef\csname cons..\endcsname{0}
+\expandafter\xdef\csname cons.?\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}
+
+\expandafter\xdef\csname cons==\endcsname{0}
+
+
+\def\gappenalty#1{%
+\expandafter\xdef\csname cons.C\endcsname{#1} \expandafter\xdef\csname consC.\endcsname{#1}
+\expandafter\xdef\csname cons.S\endcsname{#1} \expandafter\xdef\csname consS.\endcsname{#1}
+\expandafter\xdef\csname cons.T\endcsname{#1} \expandafter\xdef\csname consT.\endcsname{#1}
+\expandafter\xdef\csname cons.P\endcsname{#1} \expandafter\xdef\csname consP.\endcsname{#1}
+\expandafter\xdef\csname cons.A\endcsname{#1} \expandafter\xdef\csname consA.\endcsname{#1}
+\expandafter\xdef\csname cons.G\endcsname{#1} \expandafter\xdef\csname consG.\endcsname{#1}
+\expandafter\xdef\csname cons.N\endcsname{#1} \expandafter\xdef\csname consN.\endcsname{#1}
+\expandafter\xdef\csname cons.D\endcsname{#1} \expandafter\xdef\csname consD.\endcsname{#1}
+\expandafter\xdef\csname cons.E\endcsname{#1} \expandafter\xdef\csname consE.\endcsname{#1}
+\expandafter\xdef\csname cons.Q\endcsname{#1} \expandafter\xdef\csname consQ.\endcsname{#1}
+\expandafter\xdef\csname cons.H\endcsname{#1} \expandafter\xdef\csname consH.\endcsname{#1}
+\expandafter\xdef\csname cons.R\endcsname{#1} \expandafter\xdef\csname consR.\endcsname{#1}
+\expandafter\xdef\csname cons.K\endcsname{#1} \expandafter\xdef\csname consK.\endcsname{#1}
+\expandafter\xdef\csname cons.M\endcsname{#1} \expandafter\xdef\csname consM.\endcsname{#1}
+\expandafter\xdef\csname cons.I\endcsname{#1} \expandafter\xdef\csname consI.\endcsname{#1}
+\expandafter\xdef\csname cons.L\endcsname{#1} \expandafter\xdef\csname consL.\endcsname{#1}
+\expandafter\xdef\csname cons.V\endcsname{#1} \expandafter\xdef\csname consV.\endcsname{#1}
+\expandafter\xdef\csname cons.F\endcsname{#1} \expandafter\xdef\csname consF.\endcsname{#1}
+\expandafter\xdef\csname cons.Y\endcsname{#1} \expandafter\xdef\csname consY.\endcsname{#1}
+\expandafter\xdef\csname cons.W\endcsname{#1} \expandafter\xdef\csname consW.\endcsname{#1}
+\expandafter\xdef\csname cons.B\endcsname{#1} \expandafter\xdef\csname consB.\endcsname{#1}
+\expandafter\xdef\csname cons.J\endcsname{#1} \expandafter\xdef\csname consJ.\endcsname{#1}
+\expandafter\xdef\csname cons.O\endcsname{#1} \expandafter\xdef\csname consO.\endcsname{#1}
+\expandafter\xdef\csname cons.U\endcsname{#1} \expandafter\xdef\csname consU.\endcsname{#1}
+\expandafter\xdef\csname cons.X\endcsname{#1} \expandafter\xdef\csname consX.\endcsname{#1}
+\expandafter\xdef\csname cons.Z\endcsname{#1} \expandafter\xdef\csname consZ.\endcsname{#1}
+}
+
+\def\weighttable#1{%
+\xdef\first@{#1}
+
+\xdef\temp@{identity}
+\ifx\first@\temp@
+
+
+%%%% identity matrix
+
+\xdef\consCC{10} \xdef\consCS{0} \xdef\consCT{0} \xdef\consCP{0} \xdef\consCA{0}
+\xdef\consCG{0} \xdef\consCN{0} \xdef\consCD{0} \xdef\consCE{0} \xdef\consCQ{0}
+\xdef\consCH{0} \xdef\consCR{0} \xdef\consCK{0} \xdef\consCM{0} \xdef\consCI{0}
+\xdef\consCL{0} \xdef\consCV{0} \xdef\consCF{0} \xdef\consCY{0} \xdef\consCW{0}
+
+\xdef\consSC{0} \xdef\consSS{10} \xdef\consST{0} \xdef\consSP{0} \xdef\consSA{0}
+\xdef\consSG{0} \xdef\consSN{0} \xdef\consSD{0} \xdef\consSE{0} \xdef\consSQ{0}
+\xdef\consSH{0} \xdef\consSR{0} \xdef\consSK{0} \xdef\consSM{0} \xdef\consSI{0}
+\xdef\consSL{0} \xdef\consSV{0} \xdef\consSF{0} \xdef\consSY{0} \xdef\consSW{0}
+
+\xdef\consTC{0} \xdef\consTS{0} \xdef\consTT{10} \xdef\consTP{0} \xdef\consTA{0}
+\xdef\consTG{0} \xdef\consTN{0} \xdef\consTD{0} \xdef\consTE{0} \xdef\consTQ{0}
+\xdef\consTH{0} \xdef\consTR{0} \xdef\consTK{0} \xdef\consTM{0} \xdef\consTI{0}
+\xdef\consTL{0} \xdef\consTV{0} \xdef\consTF{0} \xdef\consTY{0} \xdef\consTW{0}
+
+\xdef\consPC{0} \xdef\consPS{0} \xdef\consPT{0} \xdef\consPP{10} \xdef\consPA{0}
+\xdef\consPG{0} \xdef\consPN{0} \xdef\consPD{0} \xdef\consPE{0} \xdef\consPQ{0}
+\xdef\consPH{0} \xdef\consPR{0} \xdef\consPK{0} \xdef\consPM{0} \xdef\consPI{0}
+\xdef\consPL{0} \xdef\consPV{0} \xdef\consPF{0} \xdef\consPY{0} \xdef\consPW{0}
+
+\xdef\consAC{0} \xdef\consAS{0} \xdef\consAT{0} \xdef\consAP{0} \xdef\consAA{10}
+\xdef\consAG{0} \xdef\consAN{0} \xdef\consAD{0} \xdef\consAE{0} \xdef\consAQ{0}
+\xdef\consAH{0} \xdef\consAR{0} \xdef\consAK{0} \xdef\consAM{0} \xdef\consAI{0}
+\xdef\consAL{0} \xdef\consAV{0} \xdef\consAF{0} \xdef\consAY{0} \xdef\consAW{0}
+
+\xdef\consGC{0} \xdef\consGS{0} \xdef\consGT{0} \xdef\consGP{0} \xdef\consGA{0}
+\xdef\consGG{10} \xdef\consGN{0} \xdef\consGD{0} \xdef\consGE{0} \xdef\consGQ{0}
+\xdef\consGH{0} \xdef\consGR{0} \xdef\consGK{0} \xdef\consGM{0} \xdef\consGI{0}
+\xdef\consGL{0} \xdef\consGV{0} \xdef\consGF{0} \xdef\consGY{0} \xdef\consGW{0}
+
+\xdef\consNC{0} \xdef\consNS{0} \xdef\consNT{0} \xdef\consNP{0} \xdef\consNA{0}
+\xdef\consNG{0} \xdef\consNN{10} \xdef\consND{0} \xdef\consNE{0} \xdef\consNQ{0}
+\xdef\consNH{0} \xdef\consNR{0} \xdef\consNK{0} \xdef\consNM{0} \xdef\consNI{0}
+\xdef\consNL{0} \xdef\consNV{0} \xdef\consNF{0} \xdef\consNY{0} \xdef\consNW{0}
+
+\xdef\consDC{0} \xdef\consDS{0} \xdef\consDT{0} \xdef\consDP{0} \xdef\consDA{0}
+\xdef\consDG{0} \xdef\consDN{0} \xdef\consDD{10} \xdef\consDE{0} \xdef\consDQ{0}
+\xdef\consDH{0} \xdef\consDR{0} \xdef\consDK{0} \xdef\consDM{0} \xdef\consDI{0}
+\xdef\consDL{0} \xdef\consDV{0} \xdef\consDF{0} \xdef\consDY{0} \xdef\consDW{0}
+
+\xdef\consEC{0} \xdef\consES{0} \xdef\consET{0} \xdef\consEP{0} \xdef\consEA{0}
+\xdef\consEG{0} \xdef\consEN{0} \xdef\consED{0} \xdef\consEE{10} \xdef\consEQ{0}
+\xdef\consEH{0} \xdef\consER{0} \xdef\consEK{0} \xdef\consEM{0} \xdef\consEI{0}
+\xdef\consEL{0} \xdef\consEV{0} \xdef\consEF{0} \xdef\consEY{0} \xdef\consEW{0}
+
+\xdef\consQC{0} \xdef\consQS{0} \xdef\consQT{0} \xdef\consQP{0} \xdef\consQA{0}
+\xdef\consQG{0} \xdef\consQN{0} \xdef\consQD{0} \xdef\consQE{0} \xdef\consQQ{10}
+\xdef\consQH{0} \xdef\consQR{0} \xdef\consQK{0} \xdef\consQM{0} \xdef\consQI{0}
+\xdef\consQL{0} \xdef\consQV{0} \xdef\consQF{0} \xdef\consQY{0} \xdef\consQW{0}
+
+\xdef\consHC{0} \xdef\consHS{0} \xdef\consHT{0} \xdef\consHP{0} \xdef\consHA{0}
+\xdef\consHG{0} \xdef\consHN{0} \xdef\consHD{0} \xdef\consHE{0} \xdef\consHQ{0}
+\xdef\consHH{10} \xdef\consHR{0} \xdef\consHK{0} \xdef\consHM{0} \xdef\consHI{0}
+\xdef\consHL{0} \xdef\consHV{0} \xdef\consHF{0} \xdef\consHY{0} \xdef\consHW{0}
+
+\xdef\consRC{0} \xdef\consRS{0} \xdef\consRT{0} \xdef\consRP{0} \xdef\consRA{0}
+\xdef\consRG{0} \xdef\consRN{0} \xdef\consRD{0} \xdef\consRE{0} \xdef\consRQ{0}
+\xdef\consRH{0} \xdef\consRR{10} \xdef\consRK{0} \xdef\consRM{0} \xdef\consRI{0}
+\xdef\consRL{0} \xdef\consRV{0} \xdef\consRF{0} \xdef\consRY{0} \xdef\consRW{0}
+
+\xdef\consKC{0} \xdef\consKS{0} \xdef\consKT{0} \xdef\consKP{0} \xdef\consKA{0}
+\xdef\consKG{0} \xdef\consKN{0} \xdef\consKD{0} \xdef\consKE{0} \xdef\consKQ{0}
+\xdef\consKH{0} \xdef\consKR{0} \xdef\consKK{10} \xdef\consKM{0} \xdef\consKI{0}
+\xdef\consKL{0} \xdef\consKV{0} \xdef\consKF{0} \xdef\consKY{0} \xdef\consKW{0}
+
+\xdef\consMC{0} \xdef\consMS{0} \xdef\consMT{0} \xdef\consMP{0} \xdef\consMA{0}
+\xdef\consMG{0} \xdef\consMN{0} \xdef\consMD{0} \xdef\consME{0} \xdef\consMQ{0}
+\xdef\consMH{0} \xdef\consMR{0} \xdef\consMK{0} \xdef\consMM{10} \xdef\consMI{0}
+\xdef\consML{0} \xdef\consMV{0} \xdef\consMF{0} \xdef\consMY{0} \xdef\consMW{0}
+
+\xdef\consIC{0} \xdef\consIS{0} \xdef\consIT{0} \xdef\consIP{0} \xdef\consIA{0}
+\xdef\consIG{0} \xdef\consIN{0} \xdef\consID{0} \xdef\consIE{0} \xdef\consIQ{0}
+\xdef\consIH{0} \xdef\consIR{0} \xdef\consIK{0} \xdef\consIM{0} \xdef\consII{10}
+\xdef\consIL{0} \xdef\consIV{0} \xdef\consIF{0} \xdef\consIY{0} \xdef\consIW{0}
+
+\xdef\consLC{0} \xdef\consLS{0} \xdef\consLT{0} \xdef\consLP{0} \xdef\consLA{0}
+\xdef\consLG{0} \xdef\consLN{0} \xdef\consLD{0} \xdef\consLE{0} \xdef\consLQ{0}
+\xdef\consLH{0} \xdef\consLR{0} \xdef\consLK{0} \xdef\consLM{0} \xdef\consLI{0}
+\xdef\consLL{10} \xdef\consLV{0} \xdef\consLF{0} \xdef\consLY{0} \xdef\consLW{0}
+
+\xdef\consVC{0} \xdef\consVS{0} \xdef\consVT{0} \xdef\consVP{0} \xdef\consVA{0}
+\xdef\consVG{0} \xdef\consVN{0} \xdef\consVD{0} \xdef\consVE{0} \xdef\consVQ{0}
+\xdef\consVH{0} \xdef\consVR{0} \xdef\consVK{0} \xdef\consVM{0} \xdef\consVI{0}
+\xdef\consVL{0} \xdef\consVV{10} \xdef\consVF{0} \xdef\consVY{0} \xdef\consVW{0}
+
+\xdef\consFC{0} \xdef\consFS{0} \xdef\consFT{0} \xdef\consFP{0} \xdef\consFA{0}
+\xdef\consFG{0} \xdef\consFN{0} \xdef\consFD{0} \xdef\consFE{0} \xdef\consFQ{0}
+\xdef\consFH{0} \xdef\consFR{0} \xdef\consFK{0} \xdef\consFM{0} \xdef\consFI{0}
+\xdef\consFL{0} \xdef\consFV{0} \xdef\consFF{10} \xdef\consFY{0} \xdef\consFW{0}
+
+\xdef\consYC{0} \xdef\consYS{0} \xdef\consYT{0} \xdef\consYP{0} \xdef\consYA{0}
+\xdef\consYG{0} \xdef\consYN{0} \xdef\consYD{0} \xdef\consYE{0} \xdef\consYQ{0}
+\xdef\consYH{0} \xdef\consYR{0} \xdef\consYK{0} \xdef\consYM{0} \xdef\consYI{0}
+\xdef\consYL{0} \xdef\consYV{0} \xdef\consYF{0} \xdef\consYY{10} \xdef\consYW{0}
+
+\xdef\consWC{0} \xdef\consWS{0} \xdef\consWT{0} \xdef\consWP{0} \xdef\consWA{0}
+\xdef\consWG{0} \xdef\consWN{0} \xdef\consWD{0} \xdef\consWE{0} \xdef\consWQ{0}
+\xdef\consWH{0} \xdef\consWR{0} \xdef\consWK{0} \xdef\consWM{0} \xdef\consWI{0}
+\xdef\consWL{0} \xdef\consWV{0} \xdef\consWF{0} \xdef\consWY{0} \xdef\consWW{10}
+
+\gappenalty{0} \xdef\m@trixf@ctor{10}
+
+\else
+
+\xdef\temp@{structural}
+\ifx\first@\temp@
+
+
+%%%% structural
+
+\xdef\consCC{10} \xdef\consCS{6} \xdef\consCT{3} \xdef\consCP{3} \xdef\consCA{3}
+\xdef\consCG{5} \xdef\consCN{3} \xdef\consCD{1} \xdef\consCE{0} \xdef\consCQ{1}
+\xdef\consCH{3} \xdef\consCR{3} \xdef\consCK{0} \xdef\consCM{3} \xdef\consCI{3}
+\xdef\consCL{3} \xdef\consCV{3} \xdef\consCF{5} \xdef\consCY{5} \xdef\consCW{5}
+
+\xdef\consSC{6} \xdef\consSS{10} \xdef\consST{8} \xdef\consSP{6} \xdef\consSA{8}
+\xdef\consSG{8} \xdef\consSN{8} \xdef\consSD{6} \xdef\consSE{5} \xdef\consSQ{5}
+\xdef\consSH{5} \xdef\consSR{5} \xdef\consSK{5} \xdef\consSM{3} \xdef\consSI{3}
+\xdef\consSL{3} \xdef\consSV{6} \xdef\consSF{5} \xdef\consSY{5} \xdef\consSW{3}
+
+\xdef\consTC{3} \xdef\consTS{8} \xdef\consTT{10} \xdef\consTP{6} \xdef\consTA{8}
+\xdef\consTG{6} \xdef\consTN{6} \xdef\consTD{5} \xdef\consTE{5} \xdef\consTQ{5}
+\xdef\consTH{3} \xdef\consTR{5} \xdef\consTK{6} \xdef\consTM{5} \xdef\consTI{5}
+\xdef\consTL{3} \xdef\consTV{6} \xdef\consTF{3} \xdef\consTY{3} \xdef\consTW{1}
+
+\xdef\consPC{3} \xdef\consPS{6} \xdef\consPT{6} \xdef\consPP{10} \xdef\consPA{8}
+\xdef\consPG{6} \xdef\consPN{3} \xdef\consPD{5} \xdef\consPE{5} \xdef\consPQ{5}
+\xdef\consPH{5} \xdef\consPR{5} \xdef\consPK{3} \xdef\consPM{3} \xdef\consPI{3}
+\xdef\consPL{5} \xdef\consPV{6} \xdef\consPF{5} \xdef\consPY{3} \xdef\consPW{3}
+
+\xdef\consAC{3} \xdef\consAS{8} \xdef\consAT{8} \xdef\consAP{8} \xdef\consAA{10}
+\xdef\consAG{8} \xdef\consAN{5} \xdef\consAD{6} \xdef\consAE{6} \xdef\consAQ{5}
+\xdef\consAH{3} \xdef\consAR{3} \xdef\consAK{5} \xdef\consAM{5} \xdef\consAI{3}
+\xdef\consAL{3} \xdef\consAV{8} \xdef\consAF{5} \xdef\consAY{3} \xdef\consAW{3}
+
+\xdef\consGC{5} \xdef\consGS{8} \xdef\consGT{6} \xdef\consGP{6} \xdef\consGA{8}
+\xdef\consGG{10} \xdef\consGN{5} \xdef\consGD{6} \xdef\consGE{6} \xdef\consGQ{3}
+\xdef\consGH{1} \xdef\consGR{5} \xdef\consGK{3} \xdef\consGM{1} \xdef\consGI{3}
+\xdef\consGL{3} \xdef\consGV{6} \xdef\consGF{3} \xdef\consGY{3} \xdef\consGW{5}
+
+\xdef\consNC{3} \xdef\consNS{8} \xdef\consNT{6} \xdef\consNP{3} \xdef\consNA{5}
+\xdef\consNG{5} \xdef\consNN{10} \xdef\consND{8} \xdef\consNE{6} \xdef\consNQ{5}
+\xdef\consNH{6} \xdef\consNR{5} \xdef\consNK{6} \xdef\consNM{1} \xdef\consNI{3}
+\xdef\consNL{1} \xdef\consNV{3} \xdef\consNF{3} \xdef\consNY{5} \xdef\consNW{0}
+
+\xdef\consDC{1} \xdef\consDS{6} \xdef\consDT{5} \xdef\consDP{5} \xdef\consDA{6}
+\xdef\consDG{6} \xdef\consDN{8} \xdef\consDD{10} \xdef\consDE{8} \xdef\consDQ{6}
+\xdef\consDH{5} \xdef\consDR{3} \xdef\consDK{5} \xdef\consDM{3} \xdef\consDI{1}
+\xdef\consDL{1} \xdef\consDV{5} \xdef\consDF{1} \xdef\consDY{3} \xdef\consDW{0}
+
+\xdef\consEC{0} \xdef\consES{5} \xdef\consET{5} \xdef\consEP{5} \xdef\consEA{6}
+\xdef\consEG{6} \xdef\consEN{6} \xdef\consED{8} \xdef\consEE{10} \xdef\consEQ{6}
+\xdef\consEH{3} \xdef\consER{5} \xdef\consEK{6} \xdef\consEM{3} \xdef\consEI{1}
+\xdef\consEL{1} \xdef\consEV{6} \xdef\consEF{3} \xdef\consEY{1} \xdef\consEW{1}
+
+\xdef\consQC{1} \xdef\consQS{5} \xdef\consQT{5} \xdef\consQP{5} \xdef\consQA{5}
+\xdef\consQG{3} \xdef\consQN{5} \xdef\consQD{6} \xdef\consQE{6} \xdef\consQQ{10}
+\xdef\consQH{6} \xdef\consQR{5} \xdef\consQK{6} \xdef\consQM{3} \xdef\consQI{1}
+\xdef\consQL{3} \xdef\consQV{3} \xdef\consQF{1} \xdef\consQY{3} \xdef\consQW{1}
+
+\xdef\consHC{3} \xdef\consHS{5} \xdef\consHT{3} \xdef\consHP{5} \xdef\consHA{3}
+\xdef\consHG{1} \xdef\consHN{6} \xdef\consHD{5} \xdef\consHE{3} \xdef\consHQ{6}
+\xdef\consHH{10} \xdef\consHR{6} \xdef\consHK{5} \xdef\consHM{3} \xdef\consHI{3}
+\xdef\consHL{5} \xdef\consHV{1} \xdef\consHF{3} \xdef\consHY{5} \xdef\consHW{1}
+
+\xdef\consRC{3} \xdef\consRS{5} \xdef\consRT{5} \xdef\consRP{5} \xdef\consRA{3}
+\xdef\consRG{5} \xdef\consRN{5} \xdef\consRD{3} \xdef\consRE{5} \xdef\consRQ{5}
+\xdef\consRH{6} \xdef\consRR{10} \xdef\consRK{8} \xdef\consRM{3} \xdef\consRI{3}
+\xdef\consRL{3} \xdef\consRV{3} \xdef\consRF{1} \xdef\consRY{1} \xdef\consRW{3}
+
+\xdef\consKC{0} \xdef\consKS{5} \xdef\consKT{6} \xdef\consKP{3} \xdef\consKA{5}
+\xdef\consKG{3} \xdef\consKN{6} \xdef\consKD{5} \xdef\consKE{6} \xdef\consKQ{6}
+\xdef\consKH{5} \xdef\consKR{8} \xdef\consKK{10} \xdef\consKM{3} \xdef\consKI{3}
+\xdef\consKL{3} \xdef\consKV{5} \xdef\consKF{1} \xdef\consKY{1} \xdef\consKW{1}
+
+\xdef\consMC{3} \xdef\consMS{5} \xdef\consMT{5} \xdef\consMP{3} \xdef\consMA{5}
+\xdef\consMG{1} \xdef\consMN{1} \xdef\consMD{3} \xdef\consME{3} \xdef\consMQ{3}
+\xdef\consMH{3} \xdef\consMR{3} \xdef\consMK{3} \xdef\consMM{10} \xdef\consMI{6}
+\xdef\consML{8} \xdef\consMV{6} \xdef\consMF{5} \xdef\consMY{3} \xdef\consMW{5}
+
+\xdef\consIC{3} \xdef\consIS{3} \xdef\consIT{5} \xdef\consIP{3} \xdef\consIA{3}
+\xdef\consIG{3} \xdef\consIN{3} \xdef\consID{1} \xdef\consIE{1} \xdef\consIQ{1}
+\xdef\consIH{3} \xdef\consIR{3} \xdef\consIK{3} \xdef\consIM{6} \xdef\consII{10}
+\xdef\consIL{8} \xdef\consIV{3} \xdef\consIF{6} \xdef\consIY{5} \xdef\consIW{5}
+
+\xdef\consLC{3} \xdef\consLS{3} \xdef\consLT{3} \xdef\consLP{5} \xdef\consLA{3}
+\xdef\consLG{3} \xdef\consLN{1} \xdef\consLD{1} \xdef\consLE{1} \xdef\consLQ{3}
+\xdef\consLH{5} \xdef\consLR{3} \xdef\consLK{3} \xdef\consLM{8} \xdef\consLI{8}
+\xdef\consLL{10} \xdef\consLV{3} \xdef\consLF{6} \xdef\consLY{5} \xdef\consLW{6}
+
+\xdef\consVC{3} \xdef\consVS{6} \xdef\consVT{6} \xdef\consVP{6} \xdef\consVA{8}
+\xdef\consVG{6} \xdef\consVN{3} \xdef\consVD{5} \xdef\consVE{6} \xdef\consVQ{3}
+\xdef\consVH{1} \xdef\consVR{3} \xdef\consVK{5} \xdef\consVM{6} \xdef\consVI{3}
+\xdef\consVL{3} \xdef\consVV{10} \xdef\consVF{6} \xdef\consVY{5} \xdef\consVW{5}
+
+\xdef\consFC{5} \xdef\consFS{5} \xdef\consFT{3} \xdef\consFP{5} \xdef\consFA{5}
+\xdef\consFG{3} \xdef\consFN{3} \xdef\consFD{1} \xdef\consFE{3} \xdef\consFQ{1}
+\xdef\consFH{3} \xdef\consFR{1} \xdef\consFK{1} \xdef\consFM{5} \xdef\consFI{6}
+\xdef\consFL{6} \xdef\consFV{6} \xdef\consFF{10} \xdef\consFY{8} \xdef\consFW{5}
+
+\xdef\consYC{5} \xdef\consYS{5} \xdef\consYT{3} \xdef\consYP{3} \xdef\consYA{3}
+\xdef\consYG{3} \xdef\consYN{5} \xdef\consYD{3} \xdef\consYE{1} \xdef\consYQ{3}
+\xdef\consYH{5} \xdef\consYR{1} \xdef\consYK{1} \xdef\consYM{3} \xdef\consYI{5}
+\xdef\consYL{5} \xdef\consYV{5} \xdef\consYF{8} \xdef\consYY{10} \xdef\consYW{5}
+
+\xdef\consWC{5} \xdef\consWS{3} \xdef\consWT{1} \xdef\consWP{3} \xdef\consWA{3}
+\xdef\consWG{5} \xdef\consWN{0} \xdef\consWD{0} \xdef\consWE{1} \xdef\consWQ{1}
+\xdef\consWH{1} \xdef\consWR{3} \xdef\consWK{1} \xdef\consWM{5} \xdef\consWI{5}
+\xdef\consWL{6} \xdef\consWV{5} \xdef\consWF{5} \xdef\consWY{5} \xdef\consWW{10}
+
+\gappenalty{0} \xdef\m@trixf@ctor{10}
+
+\else
+
+\xdef\temp@{PAM250}
+\ifx\first@\temp@
+
+%%%% PAM250
+
+\xdef\consCC{4} \xdef\consCS{0} \xdef\consCT{-2} \xdef\consCP{-3} \xdef\consCA{-2}
+\xdef\consCG{-3} \xdef\consCN{-4} \xdef\consCD{2} \xdef\consCE{-5} \xdef\consCQ{-5}
+\xdef\consCH{-3} \xdef\consCR{-4} \xdef\consCK{-5} \xdef\consCM{-5} \xdef\consCI{-2}
+\xdef\consCL{-6} \xdef\consCV{-2} \xdef\consCF{-4} \xdef\consCY{0} \xdef\consCW{-8}
+\xdef\consCB{-4} \xdef\consCZ{-5} \xdef\consCX{-3}
+
+\xdef\consSC{0} \xdef\consSS{3} \xdef\consST{1} \xdef\consSP{1} \xdef\consSA{1}
+\xdef\consSG{1} \xdef\consSN{1} \xdef\consSD{0} \xdef\consSE{0} \xdef\consSQ{-1}
+\xdef\consSH{-1} \xdef\consSR{0} \xdef\consSK{0} \xdef\consSM{-2} \xdef\consSI{-1}
+\xdef\consSL{-3} \xdef\consSV{-1} \xdef\consSF{-3} \xdef\consSY{-3} \xdef\consSW{-2}
+\xdef\consSB{0} \xdef\consSZ{0} \xdef\consSX{0}
+
+\xdef\consTC{-2} \xdef\consTS{1} \xdef\consTT{3} \xdef\consTP{0} \xdef\consTA{1}
+\xdef\consTG{0} \xdef\consTN{0} \xdef\consTD{0} \xdef\consTE{0} \xdef\consTQ{-1}
+\xdef\consTH{-1} \xdef\consTR{-1} \xdef\consTK{0} \xdef\consTM{-1} \xdef\consTI{0}
+\xdef\consTL{-2} \xdef\consTV{0} \xdef\consTF{-2} \xdef\consTY{-3} \xdef\consTW{-5}
+\xdef\consTB{0} \xdef\consTZ{-1} \xdef\consTX{0}
+
+\xdef\consPC{-3} \xdef\consPS{1} \xdef\consPT{0} \xdef\consPP{6} \xdef\consPA{1}
+\xdef\consPG{-1} \xdef\consPN{-1} \xdef\consPD{-1} \xdef\consPE{-1} \xdef\consPQ{0}
+\xdef\consPH{0} \xdef\consPR{0} \xdef\consPK{-1} \xdef\consPM{-2} \xdef\consPI{-2}
+\xdef\consPL{-3} \xdef\consPV{-1} \xdef\consPF{-5} \xdef\consPY{-5} \xdef\consPW{-6}
+\xdef\consPB{-1} \xdef\consPZ{0} \xdef\consPX{-1}
+
+\xdef\consAC{-2} \xdef\consAS{1} \xdef\consAT{1} \xdef\consAP{1} \xdef\consAA{2}
+\xdef\consAG{1} \xdef\consAN{0} \xdef\consAD{0} \xdef\consAE{0} \xdef\consAQ{0}
+\xdef\consAH{-1} \xdef\consAR{-2} \xdef\consAK{-1} \xdef\consAM{-1} \xdef\consAI{-1}
+\xdef\consAL{-2} \xdef\consAV{0} \xdef\consAF{-4} \xdef\consAY{-3} \xdef\consAW{-6}
+\xdef\consAB{0} \xdef\consAZ{0} \xdef\consAX{0}
+
+\xdef\consGC{-3} \xdef\consGS{1} \xdef\consGT{0} \xdef\consGP{-1} \xdef\consGA{1}
+\xdef\consGG{5} \xdef\consGN{0} \xdef\consGD{1} \xdef\consGE{0} \xdef\consGQ{-1}
+\xdef\consGH{-2} \xdef\consGR{-3} \xdef\consGK{-2} \xdef\consGM{-3} \xdef\consGI{-3}
+\xdef\consGL{-4} \xdef\consGV{-1} \xdef\consGF{-5} \xdef\consGY{-5} \xdef\consGW{-7}
+\xdef\consGB{0} \xdef\consGZ{0} \xdef\consGX{-1}
+
+\xdef\consNC{-4} \xdef\consNS{1} \xdef\consNT{0} \xdef\consNP{-1} \xdef\consNA{0}
+\xdef\consNG{0} \xdef\consNN{2} \xdef\consND{2} \xdef\consNE{1} \xdef\consNQ{1}
+\xdef\consNH{2} \xdef\consNR{0} \xdef\consNK{1} \xdef\consNM{-2} \xdef\consNI{-2}
+\xdef\consNL{-3} \xdef\consNV{-2} \xdef\consNF{-4} \xdef\consNY{-2} \xdef\consNW{-4}
+\xdef\consNB{2} \xdef\consNZ{1} \xdef\consNX{0}
+
+\xdef\consDC{-5} \xdef\consDS{0} \xdef\consDT{0} \xdef\consDP{-1} \xdef\consDA{0}
+\xdef\consDG{1} \xdef\consDN{2} \xdef\consDD{4} \xdef\consDE{3} \xdef\consDQ{2}
+\xdef\consDH{1} \xdef\consDR{-1} \xdef\consDK{0} \xdef\consDM{-3} \xdef\consDI{-2}
+\xdef\consDL{-4} \xdef\consDV{-2} \xdef\consDF{-6} \xdef\consDY{-4} \xdef\consDW{-7}
+\xdef\consDB{3} \xdef\consDZ{3} \xdef\consDX{-1}
+
+\xdef\consEC{-5} \xdef\consES{0} \xdef\consET{0} \xdef\consEP{-1} \xdef\consEA{0}
+\xdef\consEG{0} \xdef\consEN{1} \xdef\consED{3} \xdef\consEE{4} \xdef\consEQ{2}
+\xdef\consEH{1} \xdef\consER{-1} \xdef\consEK{0} \xdef\consEM{-2} \xdef\consEI{-2}
+\xdef\consEL{-3} \xdef\consEV{-2} \xdef\consEF{-5} \xdef\consEY{-4} \xdef\consEW{-7}
+\xdef\consEB{3} \xdef\consEZ{3} \xdef\consEX{-1}
+
+\xdef\consQC{-5} \xdef\consQS{-1} \xdef\consQT{-1} \xdef\consQP{0} \xdef\consQA{0}
+\xdef\consQG{-1} \xdef\consQN{1} \xdef\consQD{2} \xdef\consQE{2} \xdef\consQQ{4}
+\xdef\consQH{3} \xdef\consQR{1} \xdef\consQK{1} \xdef\consQM{-1} \xdef\consQI{-2}
+\xdef\consQL{-2} \xdef\consQV{-2} \xdef\consQF{-5} \xdef\consQY{-4} \xdef\consQW{-5}
+\xdef\consQB{1} \xdef\consQZ{3} \xdef\consQX{-1}
+
+\xdef\consHC{-3} \xdef\consHS{-1} \xdef\consHT{-1} \xdef\consHP{0} \xdef\consHA{-1}
+\xdef\consHG{-2} \xdef\consHN{2} \xdef\consHD{1} \xdef\consHE{1} \xdef\consHQ{3}
+\xdef\consHH{6} \xdef\consHR{2} \xdef\consHK{0} \xdef\consHM{-2} \xdef\consHI{-2}
+\xdef\consHL{-2} \xdef\consHV{-2} \xdef\consHF{-2} \xdef\consHY{-5} \xdef\consHW{-7}
+\xdef\consHB{1} \xdef\consHZ{2} \xdef\consHX{-1}
+
+\xdef\consRC{-4} \xdef\consRS{0} \xdef\consRT{-1} \xdef\consRP{0} \xdef\consRA{-2}
+\xdef\consRG{-3} \xdef\consRN{0} \xdef\consRD{-1} \xdef\consRE{-1} \xdef\consRQ{1}
+\xdef\consRH{2} \xdef\consRR{6} \xdef\consRK{3} \xdef\consRM{0} \xdef\consRI{-2}
+\xdef\consRL{-3} \xdef\consRV{-2} \xdef\consRF{-4} \xdef\consRY{-4} \xdef\consRW{2}
+\xdef\consRB{-1} \xdef\consRZ{0} \xdef\consRX{-1}
+
+\xdef\consKC{-5} \xdef\consKS{0} \xdef\consKT{0} \xdef\consKP{-1} \xdef\consKA{-1}
+\xdef\consKG{-2} \xdef\consKN{1} \xdef\consKD{0} \xdef\consKE{0} \xdef\consKQ{1}
+\xdef\consKH{0} \xdef\consKR{3} \xdef\consKK{5} \xdef\consKM{0} \xdef\consKI{-2}
+\xdef\consKL{-3} \xdef\consKV{-2} \xdef\consKF{-5} \xdef\consKY{-4} \xdef\consKW{-3}
+\xdef\consKB{1} \xdef\consKZ{-2} \xdef\consKX{-1}
+
+\xdef\consMC{-5} \xdef\consMS{-2} \xdef\consMT{-1} \xdef\consMP{-2} \xdef\consMA{-1}
+\xdef\consMG{-3} \xdef\consMN{-2} \xdef\consMD{-3} \xdef\consME{-2} \xdef\consMQ{-1}
+\xdef\consMH{-2} \xdef\consMR{0} \xdef\consMK{0} \xdef\consMM{6} \xdef\consMI{2}
+\xdef\consML{4} \xdef\consMV{2} \xdef\consMF{0} \xdef\consMY{-2} \xdef\consMW{-4}
+\xdef\consMB{-2} \xdef\consMZ{-2} \xdef\consMX{-1}
+
+\xdef\consIC{-2} \xdef\consIS{-1} \xdef\consIT{0} \xdef\consIP{-2} \xdef\consIA{-1}
+\xdef\consIG{-3} \xdef\consIN{-2} \xdef\consID{-2} \xdef\consIE{-2} \xdef\consIQ{-2}
+\xdef\consIH{-2} \xdef\consIR{-2} \xdef\consIK{-2} \xdef\consIM{2} \xdef\consII{5}
+\xdef\consIL{2} \xdef\consIV{4} \xdef\consIF{1} \xdef\consIY{-1} \xdef\consIW{-5}
+\xdef\consIB{-2} \xdef\consIZ{-2} \xdef\consIX{-1}
+
+\xdef\consLC{-6} \xdef\consLS{-3} \xdef\consLT{-2} \xdef\consLP{-3} \xdef\consLA{-2}
+\xdef\consLG{-4} \xdef\consLN{-3} \xdef\consLD{-4} \xdef\consLE{-3} \xdef\consLQ{-2}
+\xdef\consLH{-2} \xdef\consLR{-3} \xdef\consLK{-3} \xdef\consLM{4} \xdef\consLI{2}
+\xdef\consLL{6} \xdef\consLV{2} \xdef\consLF{2} \xdef\consLY{-1} \xdef\consLW{-2}
+\xdef\consLB{-3} \xdef\consLZ{-3} \xdef\consLX{-1}
+
+\xdef\consVC{-2} \xdef\consVS{-1} \xdef\consVT{0} \xdef\consVP{-1} \xdef\consVA{0}
+\xdef\consVG{-1} \xdef\consVN{-2} \xdef\consVD{-2} \xdef\consVE{-2} \xdef\consVQ{-2}
+\xdef\consVH{-2} \xdef\consVR{-2} \xdef\consVK{-2} \xdef\consVM{2} \xdef\consVI{4}
+\xdef\consVL{2} \xdef\consVV{4} \xdef\consVF{-1} \xdef\consVY{-2} \xdef\consVW{-6}
+\xdef\consVB{-2} \xdef\consVZ{-2} \xdef\consVX{-1}
+
+\xdef\consFC{-4} \xdef\consFS{-3} \xdef\consFT{-2} \xdef\consFP{-5} \xdef\consFA{-4}
+\xdef\consFG{-5} \xdef\consFN{-4} \xdef\consFD{-6} \xdef\consFE{-5} \xdef\consFQ{-5}
+\xdef\consFH{-2} \xdef\consFR{-4} \xdef\consFK{-5} \xdef\consFM{0} \xdef\consFI{1}
+\xdef\consFL{2} \xdef\consFV{-1} \xdef\consFF{9} \xdef\consFY{7} \xdef\consFW{0}
+\xdef\consFB{-4} \xdef\consFZ{-5} \xdef\consFX{-2}
+
+\xdef\consYC{0} \xdef\consYS{-3} \xdef\consYT{-3} \xdef\consYP{-5} \xdef\consYA{-3}
+\xdef\consYG{-5} \xdef\consYN{-2} \xdef\consYD{-4} \xdef\consYE{-4} \xdef\consYQ{-4}
+\xdef\consYH{0} \xdef\consYR{-4} \xdef\consYK{-4} \xdef\consYM{-2} \xdef\consYI{-1}
+\xdef\consYL{-1} \xdef\consYV{-2} \xdef\consYF{7} \xdef\consYY{10} \xdef\consYW{0}
+\xdef\consYB{-3} \xdef\consYZ{-4} \xdef\consYX{-2}
+
+\xdef\consWC{-8} \xdef\consWS{-2} \xdef\consWT{-5} \xdef\consWP{-6} \xdef\consWA{-6}
+\xdef\consWG{-7} \xdef\consWN{-4} \xdef\consWD{-7} \xdef\consWE{-7} \xdef\consWQ{-5}
+\xdef\consWH{-3} \xdef\consWR{2} \xdef\consWK{-3} \xdef\consWM{-4} \xdef\consWI{-5}
+\xdef\consWL{-2} \xdef\consWV{-6} \xdef\consWF{0} \xdef\consWY{0} \xdef\consWW{17}
+\xdef\consWB{-5} \xdef\consWZ{-6} \xdef\consWX{-4}
+
+\xdef\consBC{-4} \xdef\consBS{0} \xdef\consBT{0} \xdef\consBP{-1} \xdef\consBA{0}
+\xdef\consBG{0} \xdef\consBN{2} \xdef\consBD{3} \xdef\consBE{3} \xdef\consBQ{1}
+\xdef\consBH{1} \xdef\consBR{-1} \xdef\consBK{1} \xdef\consBM{-2} \xdef\consBI{-2}
+\xdef\consBL{-3} \xdef\consBV{-2} \xdef\consBF{-4} \xdef\consBY{-3} \xdef\consBW{-5}
+\xdef\consBB{3} \xdef\consBZ{2} \xdef\consBX{-1}
+
+\xdef\consZC{-5} \xdef\consZS{0} \xdef\consZT{-1} \xdef\consZP{0} \xdef\consZA{0}
+\xdef\consZG{0} \xdef\consZN{1} \xdef\consZD{3} \xdef\consZE{3} \xdef\consZQ{3}
+\xdef\consZH{2} \xdef\consZR{0} \xdef\consZK{0} \xdef\consZM{-2} \xdef\consZI{-2}
+\xdef\consZL{-3} \xdef\consZV{-2} \xdef\consZF{-5} \xdef\consZY{-4} \xdef\consZW{-6}
+\xdef\consZB{2} \xdef\consZZ{3} \xdef\consZX{-1}
+
+\xdef\consXC{-3} \xdef\consXS{0} \xdef\consXT{0} \xdef\consXP{-1} \xdef\consXA{0}
+\xdef\consXG{-1} \xdef\consXN{0} \xdef\consXD{-1} \xdef\consXE{-1} \xdef\consXQ{-1}
+\xdef\consXH{-1} \xdef\consXR{-1} \xdef\consXK{-1} \xdef\consXM{-1} \xdef\consXI{-1}
+\xdef\consXL{-1} \xdef\consXV{-1} \xdef\consXF{-2} \xdef\consXY{-2} \xdef\consXW{-4}
+\xdef\consXB{-1} \xdef\consXZ{-1} \xdef\consXX{-1}
+
+\expandafter\xdef\csname cons..\endcsname{1}
+\gappenalty{-8} \xdef\m@trixf@ctor{10}
+
+\else
+\xdef\temp@{PAM100} \xdef\m@trixf@ctor{10}
+\ifx\first@\temp@
+
+%%%% PAM100
+
+\xdef\consCC{14} \xdef\consCS{-1} \xdef\consCT{-5} \xdef\consCP{-6} \xdef\consCA{-5}
+\xdef\consCG{-8} \xdef\consCN{-8} \xdef\consCD{-11} \xdef\consCE{-11} \xdef\consCQ{-11}
+\xdef\consCH{-6} \xdef\consCR{-6} \xdef\consCK{-11} \xdef\consCM{-11} \xdef\consCI{-5}
+\xdef\consCL{-12} \xdef\consCV{-4} \xdef\consCF{-10} \xdef\consCY{-2} \xdef\consCW{-13}
+\xdef\consCB{-6} \xdef\consCZ{-8} \xdef\consCX{-5}
+
+\xdef\consSC{-1} \xdef\consSS{6} \xdef\consST{2} \xdef\consSP{1} \xdef\consSA{2}
+\xdef\consSG{1} \xdef\consSN{2} \xdef\consSD{-1} \xdef\consSE{-2} \xdef\consSQ{-3}
+\xdef\consSH{-4} \xdef\consSR{-1} \xdef\consSK{-2} \xdef\consSM{-4} \xdef\consSI{-4}
+\xdef\consSL{-7} \xdef\consSV{-4} \xdef\consSF{-5} \xdef\consSY{-6} \xdef\consSW{-4}
+\xdef\consSB{0} \xdef\consSZ{-2} \xdef\consSX{1}
+
+\xdef\consTC{-5} \xdef\consTS{2} \xdef\consTT{7} \xdef\consTP{-1} \xdef\consTA{2}
+\xdef\consTG{-3} \xdef\consTN{0} \xdef\consTD{-2} \xdef\consTE{-3} \xdef\consTQ{-3}
+\xdef\consTH{-5} \xdef\consTR{-4} \xdef\consTK{-1} \xdef\consTM{-2} \xdef\consTI{-1}
+\xdef\consTL{-5} \xdef\consTV{-1} \xdef\consTF{-6} \xdef\consTY{-6} \xdef\consTW{-10}
+\xdef\consTB{-1} \xdef\consTZ{-2} \xdef\consTX{-1}
+
+\xdef\consPC{-6} \xdef\consPS{1} \xdef\consPT{-1} \xdef\consPP{10} \xdef\consPA{1}
+\xdef\consPG{-3} \xdef\consPN{-3} \xdef\consPD{-4} \xdef\consPE{-3} \xdef\consPQ{-1}
+\xdef\consPH{-2} \xdef\consPR{-2} \xdef\consPK{-4} \xdef\consPM{-6} \xdef\consPI{-6}
+\xdef\consPL{-5} \xdef\consPV{-4} \xdef\consPF{-9} \xdef\consPY{-11} \xdef\consPW{-11}
+\xdef\consPB{-3} \xdef\consPZ{-1} \xdef\consPX{-2}
+
+\xdef\consAC{-5} \xdef\consAS{2} \xdef\consAT{2} \xdef\consAP{1} \xdef\consAA{6}
+\xdef\consAG{1} \xdef\consAN{-1} \xdef\consAD{-1} \xdef\consAE{0} \xdef\consAQ{-2}
+\xdef\consAH{-5} \xdef\consAR{-5} \xdef\consAK{-4} \xdef\consAM{-3} \xdef\consAI{-3}
+\xdef\consAL{-5} \xdef\consAV{0} \xdef\consAF{-7} \xdef\consAY{-6} \xdef\consAW{-11}
+\xdef\consAB{-1} \xdef\consAZ{-1} \xdef\consAX{-1}
+
+\xdef\consGC{-8} \xdef\consGS{1} \xdef\consGT{-3} \xdef\consGP{-3} \xdef\consGA{1}
+\xdef\consGG{8} \xdef\consGN{-1} \xdef\consGD{-1} \xdef\consGE{-2} \xdef\consGQ{-5}
+\xdef\consGH{-7} \xdef\consGR{-8} \xdef\consGK{-5} \xdef\consGM{-8} \xdef\consGI{-7}
+\xdef\consGL{-8} \xdef\consGV{-4} \xdef\consGF{-8} \xdef\consGY{-11} \xdef\consGW{-13}
+\xdef\consGB{-1} \xdef\consGZ{-2} \xdef\consGX{-2}
+
+\xdef\consNC{-8} \xdef\consNS{2} \xdef\consNT{0} \xdef\consNP{-3} \xdef\consNA{-1}
+\xdef\consNG{-1} \xdef\consNN{7} \xdef\consND{4} \xdef\consNE{1} \xdef\consNQ{-1}
+\xdef\consNH{2} \xdef\consNR{-3} \xdef\consNK{1} \xdef\consNM{-5} \xdef\consNI{-4}
+\xdef\consNL{-6} \xdef\consNV{-5} \xdef\consNF{-6} \xdef\consNY{-3} \xdef\consNW{-8}
+\xdef\consNB{4} \xdef\consNZ{0} \xdef\consNX{-1}
+
+\xdef\consDC{-11} \xdef\consDS{-1} \xdef\consDT{-2} \xdef\consDP{-4} \xdef\consDA{-1}
+\xdef\consDG{-1} \xdef\consDN{4} \xdef\consDD{8} \xdef\consDE{5} \xdef\consDQ{1}
+\xdef\consDH{-1} \xdef\consDR{-6} \xdef\consDK{-2} \xdef\consDM{-8} \xdef\consDI{-6}
+\xdef\consDL{-9} \xdef\consDV{-6} \xdef\consDF{-11} \xdef\consDY{-9} \xdef\consDW{-13}
+\xdef\consDB{4} \xdef\consDZ{3} \xdef\consDX{-2}
+
+\xdef\consEC{-11} \xdef\consES{-2} \xdef\consET{-3} \xdef\consEP{-3} \xdef\consEA{0}
+\xdef\consEG{-2} \xdef\consEN{1} \xdef\consED{5} \xdef\consEE{8} \xdef\consEQ{4}
+\xdef\consEH{-2} \xdef\consER{-5} \xdef\consEK{-2} \xdef\consEM{-6} \xdef\consEI{-5}
+\xdef\consEL{-7} \xdef\consEV{-5} \xdef\consEF{-11} \xdef\consEY{-7} \xdef\consEW{-14}
+\xdef\consEB{3} \xdef\consEZ{4} \xdef\consEX{-2}
+
+\xdef\consQC{-11} \xdef\consQS{-3} \xdef\consQT{-3} \xdef\consQP{-1} \xdef\consQA{-2}
+\xdef\consQG{-5} \xdef\consQN{-1} \xdef\consQD{1} \xdef\consQE{4} \xdef\consQQ{9}
+\xdef\consQH{4} \xdef\consQR{1} \xdef\consQK{-1} \xdef\consQM{-2} \xdef\consQI{-5}
+\xdef\consQL{-3} \xdef\consQV{-5} \xdef\consQF{-10} \xdef\consQY{-9} \xdef\consQW{-11}
+\xdef\consQB{0} \xdef\consQZ{5} \xdef\consQX{-2}
+
+\xdef\consHC{-6} \xdef\consHS{-4} \xdef\consHT{-5} \xdef\consHP{-2} \xdef\consHA{-5}
+\xdef\consHG{-7} \xdef\consHN{2} \xdef\consHD{-1} \xdef\consHE{-2} \xdef\consHQ{4}
+\xdef\consHH{11} \xdef\consHR{1} \xdef\consHK{-3} \xdef\consHM{-7} \xdef\consHI{-7}
+\xdef\consHL{-5} \xdef\consHV{-6} \xdef\consHF{-4} \xdef\consHY{-1} \xdef\consHW{-7}
+\xdef\consHB{1} \xdef\consHZ{1} \xdef\consHX{-2}
+
+\xdef\consRC{-6} \xdef\consRS{-1} \xdef\consRT{-4} \xdef\consRP{-2} \xdef\consRA{-5}
+\xdef\consRG{-8} \xdef\consRN{-3} \xdef\consRD{-6} \xdef\consRE{-5} \xdef\consRQ{1}
+\xdef\consRH{1} \xdef\consRR{10} \xdef\consRK{3} \xdef\consRM{-2} \xdef\consRI{-4}
+\xdef\consRL{-7} \xdef\consRV{-6} \xdef\consRF{-7} \xdef\consRY{-10} \xdef\consRW{1}
+\xdef\consRB{-3} \xdef\consRZ{-1} \xdef\consRX{-2}
+
+\xdef\consKC{-11} \xdef\consKS{-2} \xdef\consKT{-1} \xdef\consKP{-4} \xdef\consKA{-4}
+\xdef\consKG{-5} \xdef\consKN{1} \xdef\consKD{-2} \xdef\consKE{-2} \xdef\consKQ{-1}
+\xdef\consKH{-3} \xdef\consKR{3} \xdef\consKK{8} \xdef\consKM{1} \xdef\consKI{-4}
+\xdef\consKL{-6} \xdef\consKV{-6} \xdef\consKF{-11} \xdef\consKY{-10} \xdef\consKW{-9}
+\xdef\consKB{0} \xdef\consKZ{-1} \xdef\consKX{-2}
+
+\xdef\consMC{-11} \xdef\consMS{-4} \xdef\consMT{-2} \xdef\consMP{-6} \xdef\consMA{-3}
+\xdef\consMG{-8} \xdef\consMN{-5} \xdef\consMD{-8} \xdef\consME{-6} \xdef\consMQ{-2}
+\xdef\consMH{-7} \xdef\consMR{-2} \xdef\consMK{1} \xdef\consMM{13} \xdef\consMI{2}
+\xdef\consML{4} \xdef\consMV{1} \xdef\consMF{-2} \xdef\consMY{-8} \xdef\consMW{-11}
+\xdef\consMB{-4} \xdef\consMZ{-2} \xdef\consMX{-2}
+
+\xdef\consIC{-5} \xdef\consIS{-4} \xdef\consIT{-1} \xdef\consIP{-6} \xdef\consIA{-3}
+\xdef\consIG{-7} \xdef\consIN{-4} \xdef\consID{-6} \xdef\consIE{-5} \xdef\consIQ{-5}
+\xdef\consIH{-7} \xdef\consIR{-4} \xdef\consIK{-4} \xdef\consIM{2} \xdef\consII{9}
+\xdef\consIL{2} \xdef\consIV{5} \xdef\consIF{0} \xdef\consIY{-4} \xdef\consIW{-12}
+\xdef\consIB{-3} \xdef\consIZ{-3} \xdef\consIX{-2}
+
+\xdef\consLC{-12} \xdef\consLS{-7} \xdef\consLT{-5} \xdef\consLP{-5} \xdef\consLA{-5}
+\xdef\consLG{-8} \xdef\consLN{-6} \xdef\consLD{-9} \xdef\consLE{-7} \xdef\consLQ{-3}
+\xdef\consLH{-5} \xdef\consLR{-7} \xdef\consLK{-6} \xdef\consLM{4} \xdef\consLI{2}
+\xdef\consLL{9} \xdef\consLV{1} \xdef\consLF{0} \xdef\consLY{-5} \xdef\consLW{-7}
+\xdef\consLB{-5} \xdef\consLZ{-4} \xdef\consLX{-3}
+
+\xdef\consVC{-4} \xdef\consVS{-4} \xdef\consVT{-1} \xdef\consVP{-4} \xdef\consVA{0}
+\xdef\consVG{-4} \xdef\consVN{-5} \xdef\consVD{-6} \xdef\consVE{-5} \xdef\consVQ{-5}
+\xdef\consVH{-6} \xdef\consVR{-6} \xdef\consVK{-6} \xdef\consVM{1} \xdef\consVI{5}
+\xdef\consVL{1} \xdef\consVV{8} \xdef\consVF{-5} \xdef\consVY{-6} \xdef\consVW{-14}
+\xdef\consVB{-4} \xdef\consVZ{-3} \xdef\consVX{-2}
+
+\xdef\consFC{-10} \xdef\consFS{-5} \xdef\consFT{-6} \xdef\consFP{-9} \xdef\consFA{-7}
+\xdef\consFG{-8} \xdef\consFN{-6} \xdef\consFD{-11} \xdef\consFE{-11} \xdef\consFQ{-10}
+\xdef\consFH{-4} \xdef\consFR{-7} \xdef\consFK{-11} \xdef\consFM{-2} \xdef\consFI{0}
+\xdef\consFL{0} \xdef\consFV{-5} \xdef\consFF{12} \xdef\consFY{6} \xdef\consFW{-2}
+\xdef\consFB{-6} \xdef\consFZ{-7} \xdef\consFX{-4}
+
+\xdef\consYC{-2} \xdef\consYS{-6} \xdef\consYT{-6} \xdef\consYP{-11} \xdef\consYA{-6}
+\xdef\consYG{-11} \xdef\consYN{-3} \xdef\consYD{-9} \xdef\consYE{-7} \xdef\consYQ{-9}
+\xdef\consYH{-1} \xdef\consYR{-10} \xdef\consYK{-10} \xdef\consYM{-8} \xdef\consYI{-4}
+\xdef\consYL{-5} \xdef\consYV{-6} \xdef\consYF{6} \xdef\consYY{13} \xdef\consYW{-2}
+\xdef\consYB{-4} \xdef\consYZ{-6} \xdef\consYX{-4}
+
+\xdef\consWC{-13} \xdef\consWS{-4} \xdef\consWT{-10} \xdef\consWP{-11} \xdef\consWA{-11}
+\xdef\consWG{-13} \xdef\consWN{-8} \xdef\consWD{-13} \xdef\consWE{-14} \xdef\consWQ{-11}
+\xdef\consWH{-7} \xdef\consWR{1} \xdef\consWK{-9} \xdef\consWM{-11} \xdef\consWI{-12}
+\xdef\consWL{-7} \xdef\consWV{-14} \xdef\consWF{-2} \xdef\consWY{-2} \xdef\consWW{19}
+\xdef\consWB{-6} \xdef\consWZ{-8} \xdef\consWX{-6}
+
+\xdef\consBC{-6} \xdef\consBS{0} \xdef\consBT{-1} \xdef\consBP{-3} \xdef\consBA{-1}
+\xdef\consBG{-1} \xdef\consBN{4} \xdef\consBD{4} \xdef\consBE{3} \xdef\consBQ{0}
+\xdef\consBH{1} \xdef\consBR{-3} \xdef\consBK{0} \xdef\consBM{-4} \xdef\consBI{-3}
+\xdef\consBL{-5} \xdef\consBV{-4} \xdef\consBF{-6} \xdef\consBY{-4} \xdef\consBW{-6}
+\xdef\consBB{4} \xdef\consBZ{2} \xdef\consBX{-2}
+
+\xdef\consZC{-8} \xdef\consZS{-2} \xdef\consZT{-2} \xdef\consZP{-1} \xdef\consZA{-1}
+\xdef\consZG{-2} \xdef\consZN{0} \xdef\consZD{3} \xdef\consZE{4} \xdef\consZQ{5}
+\xdef\consZH{1} \xdef\consZR{-1} \xdef\consZK{-1} \xdef\consZM{-2} \xdef\consZI{-3}
+\xdef\consZL{-4} \xdef\consZV{-3} \xdef\consZF{-7} \xdef\consZY{-6} \xdef\consZW{-8}
+\xdef\consZB{2} \xdef\consZZ{5} \xdef\consZX{-2}
+
+\xdef\consXC{-5} \xdef\consXS{-1} \xdef\consXT{-1} \xdef\consXP{-2} \xdef\consXA{-1}
+\xdef\consXG{-2} \xdef\consXN{-1} \xdef\consXD{-2} \xdef\consXE{-2} \xdef\consXQ{-2}
+\xdef\consXH{-2} \xdef\consXR{-2} \xdef\consXK{-2} \xdef\consXM{-2} \xdef\consXI{-2}
+\xdef\consXL{-3} \xdef\consXV{-2} \xdef\consXF{-4} \xdef\consXY{-4} \xdef\consXW{-6}
+\xdef\consXB{-2} \xdef\consXZ{-2} \xdef\consXX{-2}
+
+\expandafter\xdef\csname cons..\endcsname{1}
+\gappenalty{-9} \xdef\m@trixf@ctor{10}
+
+\else
+\xdef\temp@{BLOSUM62}
+\ifx\first@\temp@
+
+%%%% BLOSUM62
+
+\xdef\consCC{9} \xdef\consCS{-1} \xdef\consCT{-1} \xdef\consCP{-3} \xdef\consCA{0}
+\xdef\consCG{-3} \xdef\consCN{-3} \xdef\consCD{-3} \xdef\consCE{-4} \xdef\consCQ{-3}
+\xdef\consCH{-3} \xdef\consCR{-3} \xdef\consCK{-3} \xdef\consCM{-1} \xdef\consCI{-1}
+\xdef\consCL{-1} \xdef\consCV{-1} \xdef\consCF{-2} \xdef\consCY{-2} \xdef\consCW{-2}
+
+\xdef\consSC{-1} \xdef\consSS{4} \xdef\consST{1} \xdef\consSP{-1} \xdef\consSA{1}
+\xdef\consSG{0} \xdef\consSN{1} \xdef\consSD{0} \xdef\consSE{0} \xdef\consSQ{0}
+\xdef\consSH{-1} \xdef\consSR{-1} \xdef\consSK{0} \xdef\consSM{-1} \xdef\consSI{-2}
+\xdef\consSL{-2} \xdef\consSV{-2} \xdef\consSF{-2} \xdef\consSY{-2} \xdef\consSW{-3}
+
+\xdef\consTC{-1} \xdef\consTS{1} \xdef\consTT{4} \xdef\consTP{1} \xdef\consTA{-1}
+\xdef\consTG{1} \xdef\consTN{0} \xdef\consTD{1} \xdef\consTE{0} \xdef\consTQ{0}
+\xdef\consTH{0} \xdef\consTR{-1} \xdef\consTK{0} \xdef\consTM{-1} \xdef\consTI{-2}
+\xdef\consTL{-2} \xdef\consTV{-2} \xdef\consTF{-2} \xdef\consTY{-2} \xdef\consTW{-3}
+
+\xdef\consPC{-3} \xdef\consPS{-1} \xdef\consPT{1} \xdef\consPP{7} \xdef\consPA{-1}
+\xdef\consPG{-2} \xdef\consPN{-1} \xdef\consPD{-1} \xdef\consPE{-1} \xdef\consPQ{-1}
+\xdef\consPH{-2} \xdef\consPR{-2} \xdef\consPK{-1} \xdef\consPM{-2} \xdef\consPI{-3}
+\xdef\consPL{-3} \xdef\consPV{-2} \xdef\consPF{-4} \xdef\consPY{-3} \xdef\consPW{-4}
+
+\xdef\consAC{0} \xdef\consAS{1} \xdef\consAT{-1} \xdef\consAP{-1} \xdef\consAA{4}
+\xdef\consAG{0} \xdef\consAN{-1} \xdef\consAD{-2} \xdef\consAE{-1} \xdef\consAQ{-1}
+\xdef\consAH{-2} \xdef\consAR{-1} \xdef\consAK{-1} \xdef\consAM{-1} \xdef\consAI{-1}
+\xdef\consAL{-1} \xdef\consAV{-2} \xdef\consAF{-2} \xdef\consAY{-2} \xdef\consAW{-3}
+
+\xdef\consGC{-3} \xdef\consGS{0} \xdef\consGT{1} \xdef\consGP{-2} \xdef\consGA{0}
+\xdef\consGG{6} \xdef\consGN{-2} \xdef\consGD{-1} \xdef\consGE{-2} \xdef\consGQ{-2}
+\xdef\consGH{-2} \xdef\consGR{-2} \xdef\consGK{-2} \xdef\consGM{-3} \xdef\consGI{-4}
+\xdef\consGL{-4} \xdef\consGV{0} \xdef\consGF{-3} \xdef\consGY{-3} \xdef\consGW{-2}
+
+\xdef\consNC{-3} \xdef\consNS{1} \xdef\consNT{0} \xdef\consNP{-2} \xdef\consNA{-2}
+\xdef\consNG{0} \xdef\consNN{6} \xdef\consND{1} \xdef\consNE{0} \xdef\consNQ{0}
+\xdef\consNH{-1} \xdef\consNR{0} \xdef\consNK{0} \xdef\consNM{-2} \xdef\consNI{-3}
+\xdef\consNL{-3} \xdef\consNV{-3} \xdef\consNF{-3} \xdef\consNY{-2} \xdef\consNW{-4}
+
+\xdef\consDC{-3} \xdef\consDS{0} \xdef\consDT{1} \xdef\consDP{-1} \xdef\consDA{-2}
+\xdef\consDG{-1} \xdef\consDN{1} \xdef\consDD{6} \xdef\consDE{2} \xdef\consDQ{0}
+\xdef\consDH{-1} \xdef\consDR{-2} \xdef\consDK{-1} \xdef\consDM{-3} \xdef\consDI{-3}
+\xdef\consDL{-4} \xdef\consDV{-3} \xdef\consDF{-3} \xdef\consDY{-3} \xdef\consDW{-4}
+
+\xdef\consEC{-4} \xdef\consES{0} \xdef\consET{0} \xdef\consEP{-1} \xdef\consEA{-1}
+\xdef\consEG{-2} \xdef\consEN{0} \xdef\consED{2} \xdef\consEE{5} \xdef\consEQ{2}
+\xdef\consEH{0} \xdef\consER{0} \xdef\consEK{1} \xdef\consEM{-2} \xdef\consEI{-3}
+\xdef\consEL{-3} \xdef\consEV{-3} \xdef\consEF{-3} \xdef\consEY{-2} \xdef\consEW{-3}
+
+\xdef\consQC{-3} \xdef\consQS{0} \xdef\consQT{0} \xdef\consQP{-1} \xdef\consQA{-1}
+\xdef\consQG{-2} \xdef\consQN{0} \xdef\consQD{0} \xdef\consQE{2} \xdef\consQQ{5}
+\xdef\consQH{0} \xdef\consQR{1} \xdef\consQK{1} \xdef\consQM{0} \xdef\consQI{-3}
+\xdef\consQL{-2} \xdef\consQV{-2} \xdef\consQF{-3} \xdef\consQY{-1} \xdef\consQW{-2}
+
+\xdef\consHC{-3} \xdef\consHS{-1} \xdef\consHT{0} \xdef\consHP{-2} \xdef\consHA{-2}
+\xdef\consHG{-2} \xdef\consHN{1} \xdef\consHD{1} \xdef\consHE{0} \xdef\consHQ{0}
+\xdef\consHH{8} \xdef\consHR{0} \xdef\consHK{-1} \xdef\consHM{-2} \xdef\consHI{-3}
+\xdef\consHL{-3} \xdef\consHV{-2} \xdef\consHF{-1} \xdef\consHY{2} \xdef\consHW{-2}
+
+\xdef\consRC{-3} \xdef\consRS{-1} \xdef\consRT{-1} \xdef\consRP{-2} \xdef\consRA{-1}
+\xdef\consRG{-2} \xdef\consRN{0} \xdef\consRD{-2} \xdef\consRE{0} \xdef\consRQ{1}
+\xdef\consRH{0} \xdef\consRR{5} \xdef\consRK{2} \xdef\consRM{-1} \xdef\consRI{-3}
+\xdef\consRL{-2} \xdef\consRV{-3} \xdef\consRF{-3} \xdef\consRY{-2} \xdef\consRW{-3}
+
+\xdef\consKC{-3} \xdef\consKS{0} \xdef\consKT{0} \xdef\consKP{-1} \xdef\consKA{-1}
+\xdef\consKG{-2} \xdef\consKN{0} \xdef\consKD{-1} \xdef\consKE{1} \xdef\consKQ{1}
+\xdef\consKH{-1} \xdef\consKR{2} \xdef\consKK{5} \xdef\consKM{-1} \xdef\consKI{-3}
+\xdef\consKL{-2} \xdef\consKV{-3} \xdef\consKF{-3} \xdef\consKY{-2} \xdef\consKW{-3}
+
+\xdef\consMC{-1} \xdef\consMS{-1} \xdef\consMT{-1} \xdef\consMP{-2} \xdef\consMA{-1}
+\xdef\consMG{-3} \xdef\consMN{-2} \xdef\consMD{-3} \xdef\consME{-2} \xdef\consMQ{0}
+\xdef\consMH{-2} \xdef\consMR{-1} \xdef\consMK{-1} \xdef\consMM{5} \xdef\consMI{1}
+\xdef\consML{2} \xdef\consMV{-2} \xdef\consMF{0} \xdef\consMY{-1} \xdef\consMW{-1}
+
+\xdef\consIC{-1} \xdef\consIS{-2} \xdef\consIT{-2} \xdef\consIP{-3} \xdef\consIA{-1}
+\xdef\consIG{-4} \xdef\consIN{-3} \xdef\consID{-3} \xdef\consIE{-3} \xdef\consIQ{-3}
+\xdef\consIH{-3} \xdef\consIR{-3} \xdef\consIK{-3} \xdef\consIM{1} \xdef\consII{4}
+\xdef\consIL{2} \xdef\consIV{1} \xdef\consIF{0} \xdef\consIY{-1} \xdef\consIW{-3}
+
+\xdef\consLC{-1} \xdef\consLS{-2} \xdef\consLT{-2} \xdef\consLP{-3} \xdef\consLA{-1}
+\xdef\consLG{-4} \xdef\consLN{-3} \xdef\consLD{-4} \xdef\consLE{-3} \xdef\consLQ{-2}
+\xdef\consLH{-3} \xdef\consLR{-2} \xdef\consLK{-2} \xdef\consLM{2} \xdef\consLI{2}
+\xdef\consLL{4} \xdef\consLV{3} \xdef\consLF{0} \xdef\consLY{-1} \xdef\consLW{-2}
+
+\xdef\consVC{-1} \xdef\consVS{-2} \xdef\consVT{-2} \xdef\consVP{-2} \xdef\consVA{0}
+\xdef\consVG{-3} \xdef\consVN{-3} \xdef\consVD{-3} \xdef\consVE{-2} \xdef\consVQ{-2}
+\xdef\consVH{-3} \xdef\consVR{-3} \xdef\consVK{-2} \xdef\consVM{1} \xdef\consVI{3}
+\xdef\consVL{1} \xdef\consVV{4} \xdef\consVF{-1} \xdef\consVY{-1} \xdef\consVW{-3}
+
+\xdef\consFC{-2} \xdef\consFS{-2} \xdef\consFT{-2} \xdef\consFP{-4} \xdef\consFA{-2}
+\xdef\consFG{-3} \xdef\consFN{-3} \xdef\consFD{-3} \xdef\consFE{-3} \xdef\consFQ{-3}
+\xdef\consFH{-1} \xdef\consFR{-3} \xdef\consFK{-3} \xdef\consFM{0} \xdef\consFI{0}
+\xdef\consFL{0} \xdef\consFV{-1} \xdef\consFF{6} \xdef\consFY{3} \xdef\consFW{1}
+
+\xdef\consYC{-2} \xdef\consYS{-2} \xdef\consYT{-2} \xdef\consYP{-3} \xdef\consYA{-2}
+\xdef\consYG{-3} \xdef\consYN{-2} \xdef\consYD{-3} \xdef\consYE{-2} \xdef\consYQ{-1}
+\xdef\consYH{2} \xdef\consYR{-2} \xdef\consYK{-2} \xdef\consYM{-1} \xdef\consYI{-1}
+\xdef\consYL{-1} \xdef\consYV{-1} \xdef\consYF{3} \xdef\consYY{7} \xdef\consYW{2}
+
+\xdef\consWC{-2} \xdef\consWS{-3} \xdef\consWT{-3} \xdef\consWP{-4} \xdef\consWA{-3}
+\xdef\consWG{-2} \xdef\consWN{-4} \xdef\consWD{-4} \xdef\consWE{-3} \xdef\consWQ{-2}
+\xdef\consWH{-2} \xdef\consWR{-3} \xdef\consWK{-3} \xdef\consWM{-1} \xdef\consWI{-3}
+\xdef\consWL{-2} \xdef\consWV{-3} \xdef\consWF{1} \xdef\consWY{2} \xdef\consWW{11}
+
+\gappenalty{0} \xdef\m@trixf@ctor{10}
+
+\else
+
+\message{<Unknown residue weight matrix - using `identity'>} \weighttable{identity}
+
+\fi
+\fi
+\fi
+\fi
+\fi
+}
+
+
+\def\setweight#1#2#3{%
+ \expandafter\xdef\csname cons#1#2\endcsname{#3}
+ \expandafter\xdef\csname cons#2#1\endcsname{#3}
+}
+
+\weighttable{identity}
+\gappenalty{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{Turquoise} {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@emphreg\the\loopcount\endcsname{%
+ \csname stack@@emphreg#1\endcsname}
+ \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{%
+ \csname stack@@lowerreg#1\endcsname}
+ \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{%
+ \csname stack@@framereg#1\endcsname}
+ \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{%
+ \csname stack@@shadingreg#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@@emphreg\the\loopcount\endcsname{%
+ \csname stack@emphreg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@@lowerreg\the\loopcount\endcsname{%
+ \csname stack@lowerreg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@@framereg\the\loopcount\endcsname{%
+ \csname stack@framereg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@@shadingreg\the\loopcount\endcsname{%
+ \csname stack@shadingreg\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}
+ \expandafter\xdef\csname res@num\questi@n #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@emphreg\the\loopcount\endcsname{%
+ \csname stack@emphreg\the\innerloopcount\endcsname}
+ \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{%
+ \csname stack@lowerreg\the\innerloopcount\endcsname}
+ \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{%
+ \csname stack@framereg\the\innerloopcount\endcsname}
+ \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{%
+ \csname stack@shadingreg\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{<Unknown shading mode - clearing `funcgroups'>}
+ \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\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\getregion@fromlowerstack#1{%
+ \xdef\temp@{#1}
+ \xdef\first@{\csname stack@lowerreg\temp@\endcsname}
+ \expandafter\get@fromemphstack\first@
+ \expandafter\xdef\csname lowerstart\temp@\endcsname{\first@}
+ \expandafter\xdef\csname lowerstop\temp@\endcsname{\second@}
+ \expandafter\xdef\csname lowerall\temp@\endcsname{\third@}
+ \expandafter\xdef\csname stack@lowerreg\temp@\endcsname{\last@}
+}
+\def\sort@lowerstack{%
+ \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@lowerstack
+ \fi\fi
+}
+\def\get@lowerregions#1..#2,#3@{%
+ \regionallowertrue
+ \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3}
+ \xdef\last@{\csname stack@lowerreg\seq@\endcsname}
+ \xdef\tmpstack{}
+ \sort@lowerstack
+ \expandafter\xdef\csname stack@lowerreg\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\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@emphstack
+ \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@fromshadingstack#1{%
+ \xdef\temp@{#1}
+ \xdef\first@{\csname stack@shadingreg\temp@\endcsname}
+ \expandafter\get@fromemphstack\first@
+ \expandafter\xdef\csname shadingstart\temp@\endcsname{\first@}
+ \expandafter\xdef\csname shadingstop\temp@\endcsname{\second@}
+ \expandafter\xdef\csname shadingstyle\temp@\endcsname{\third@}
+ \expandafter\xdef\csname stack@shadingreg\temp@\endcsname{\last@}
+}
+\def\get@shadingregions#1..#2,#3@{%
+ \shading@true
+ \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3}
+ \xdef\last@{\csname stack@shadingreg\seq@\endcsname}
+ \xdef\tmpstack{}
+ \sort@emphstack
+ \expandafter\xdef\csname stack@shadingreg\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\getarrow@shape#1#2#3#4&{%
+ \xdef\first@@{#1}\xdef\second@@{#2}\xdef\third@@{#3}\xdef\fourth@@{#4}
+ \ifx\temp@@\y@
+ \if\first@@ ` \xdef\first@@{a} \else
+ \if\first@@ ' \xdef\first@@{a} \else
+ \if\first@@ , \xdef\first@@{b} \else
+ \if\first@@ S \xdef\first@@{c} \xdef\second@@{-}
+ \fi\fi\fi\fi
+ \if\third@@ ` \xdef\third@@{a} \else
+ \if\third@@ ' \xdef\third@@{a} \else
+ \if\third@@ , \xdef\third@@{b} \else
+ \if\third@@ S \xdef\third@@{c} \xdef\second@@{-}
+ \fi\fi\fi\fi
+ \xdef\style@{\first@@ -\third@@\fourth@@}
+ \fi
+ \if\first@@ S
+ \xdef\style@{\first@@ -\third@@\fourth@@}
+ \else
+ \if\first@@ v
+ \if\second@@ =
+ \else \xdef\style@{\first@@ v\third@@\fourth@@} \fi
+ \else
+ \if\third@@ S
+ \xdef\style@{\first@@ -\third@@\fourth@@}
+ \else
+ \if\third@@ v
+ \if\second@@ =
+ \else \xdef\style@{\first@@ v\third@@\fourth@@} \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@get#1#2@{%
+ \xdef\temp@{#1} \xdef\third@@{#2@}
+ \ifx\temp@\ampers@nd
+ \else
+ \if \temp@ X
+ \xdef\temp@{\second@@}
+ \fi
+ \ifx\temp@\second@@
+ \xdef\third@@{\second@@}
+ \else
+ \expandafter\test@get\third@@
+ \fi
+ \fi
+}
+\def\get@@second@#1#2@{\xdef\second@@{#1}\xdef\first@@{#2@}}
+\def\get@@third@#1]#2@{\xdef\third@@{#1&@}\xdef\fifth@@{#2@}}
+\def\get@third@#1#2@{\xdef\third@@{#1}\xdef\fifth@@{#2@}}
+\def\find@motif{%
+ \expandafter\get@@second@\first@@
+ \ifx\second@@\ampers@nd
+ \else
+ \ifx\second@@\d@t
+ \else
+ \advance\temp@count by 1
+ \if \third@@ X
+ \xdef\third@@{\second@@}
+ \fi
+ \ifx\third@@\br@cket
+ \expandafter\get@@third@\fifth@@
+ \expandafter\test@get\third@@
+ \fi
+ \ifx\second@@\third@@
+ \ifx\nineth@@\n@
+ \xdef\st@rt{\the\temp@count}
+ \xdef\st@p{n}
+ \fi
+ \xdef\nineth@@{y}
+ \expandafter\get@third@\fifth@@
+ \ifx\third@@\ampers@nd
+ \xdef\st@p{\the\temp@count}
+ \xdef\list@{}
+ \xdef\tmpstack{}
+ \xdef\temp@{shade}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@reg\seq@\endcsname}
+ \loopcount=\style@
+ \sort@stack
+ \expandafter\xdef\csname stack@reg\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{emph}
+ \ifx\temp@\temp@@
+ \regionalemphtrue
+ \xdef\last@{\csname stack@emphreg\seq@\endcsname}
+ \sort@emphstack
+ \expandafter\xdef\csname stack@emphreg\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{lower}
+ \ifx\temp@\temp@@
+ \regionallowertrue
+ \xdef\last@{\csname stack@lowerreg\seq@\endcsname}
+ \sort@lowerstack
+ \expandafter\xdef\csname stack@lowerreg\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{tint}
+ \ifx\temp@\temp@@
+ \regionaltinttrue
+ \xdef\last@{\csname stack@tintreg\seq@\endcsname}
+ \sort@emphstack
+ \expandafter\xdef\csname stack@tintreg\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{frame}
+ \ifx\temp@\temp@@
+ \frame@true
+ \xdef\last@{\csname stack@framereg\seq@\endcsname}
+ \sort@emphstack
+ \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{shading}
+ \ifx\temp@\temp@@
+ \shading@true
+ \xdef\last@{\csname stack@shadingreg\seq@\endcsname}
+ \sort@emphstack
+ \expandafter\xdef\csname stack@shadingreg\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{ttttop}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@ttttop\seq@\endcsname}
+ \sort@fstack
+ \expandafter\xdef\csname stack@ttttop\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{tttop}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@tttop\seq@\endcsname}
+ \sort@fstack
+ \expandafter\xdef\csname stack@tttop\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{ttop}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@ttop\seq@\endcsname}
+ \sort@fstack
+ \expandafter\xdef\csname stack@ttop\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{top}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@top\seq@\endcsname}
+ \sort@fstack
+ \expandafter\xdef\csname stack@top\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{bottom}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@bottom\seq@\endcsname}
+ \sort@fstack
+ \expandafter\xdef\csname stack@bottom\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{bbottom}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@bbottom\seq@\endcsname}
+ \sort@fstack
+ \expandafter\xdef\csname stack@bbottom\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{bbbottom}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@bbbottom\seq@\endcsname}
+ \sort@fstack
+ \expandafter\xdef\csname stack@bbbottom\seq@\endcsname{\tmpstack}
+ \else
+ \xdef\temp@{bbbbottom}
+ \ifx\temp@\temp@@
+ \xdef\last@{\csname stack@bbbbottom\seq@\endcsname}
+ \sort@fstack
+ \expandafter\xdef\csname stack@bbbbottom\seq@\endcsname{\tmpstack}
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \xdef\fifth@@{\m@tif} \expandafter\get@third@\fifth@@
+ \xdef\nineth@@{n}
+ \fi
+ \else
+ \ifx\nineth@@\y@
+ \xdef\first@@{\second@@\first@@}
+ \advance\temp@count by -1
+ \fi
+ \xdef\nineth@@{n} \xdef\st@p{n}
+ \xdef\fifth@@{\m@tif} \expandafter\get@third@\fifth@@
+ \fi
+ \fi
+ \find@motif
+ \fi
+}
+\def\prep@motif{%
+
+ \def\get@motif@specs##1,##2,##3,##4,##5,&{%
+ \xdef\seq@{##1} \xdef\temp@@{##2} \xdef\@ll{##3} \def\fourth@@{##4} \xdef\fifth@@{##5&@}
+ }
+
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{\csname style\the\loopcount\endcsname;%
+ \csname start\the\loopcount\endcsname;%
+ \csname stop\the\loopcount\endcsname;%
+ \csname all\the\loopcount\endcsname;%
+ \csname stack@reg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{\csname emphstart\the\loopcount\endcsname;%
+ \csname emphstop\the\loopcount\endcsname;%
+ \csname emphall\the\loopcount\endcsname;%
+ \csname stack@emphreg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{\csname lowerstart\the\loopcount\endcsname;%
+ \csname lowerstop\the\loopcount\endcsname;%
+ \csname lowerall\the\loopcount\endcsname;%
+ \csname stack@lowerreg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{\csname tintstart\the\loopcount\endcsname;%
+ \csname tintstop\the\loopcount\endcsname;%
+ \csname tintall\the\loopcount\endcsname;%
+ \csname stack@tintreg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{\csname framestart\the\loopcount\endcsname;%
+ \csname framestop\the\loopcount\endcsname;%
+ \csname framestyle\the\loopcount\endcsname;%
+ \csname stack@framereg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{\csname shadingstart\the\loopcount\endcsname;%
+ \csname shadingstop\the\loopcount\endcsname;%
+ \csname shadingstyle\the\loopcount\endcsname;%
+ \csname stack@shadingreg\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@ttttop\the\loopcount\endcsname{\csname textttttop\the\loopcount\endcsname;%
+ \csname startttttop\the\loopcount\endcsname;%
+ \csname stopttttop\the\loopcount\endcsname;%
+ \csname stylettttop\the\loopcount\endcsname;%
+ \csname stack@ttttop\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{\csname texttttop\the\loopcount\endcsname;%
+ \csname starttttop\the\loopcount\endcsname;%
+ \csname stoptttop\the\loopcount\endcsname;%
+ \csname styletttop\the\loopcount\endcsname;%
+ \csname stack@tttop\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{\csname textttop\the\loopcount\endcsname;%
+ \csname startttop\the\loopcount\endcsname;%
+ \csname stopttop\the\loopcount\endcsname;%
+ \csname stylettop\the\loopcount\endcsname;%
+ \csname stack@ttop\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@top\the\loopcount\endcsname{\csname texttop\the\loopcount\endcsname;%
+ \csname starttop\the\loopcount\endcsname;%
+ \csname stoptop\the\loopcount\endcsname;%
+ \csname styletop\the\loopcount\endcsname;%
+ \csname stack@top\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@bottom\the\loopcount\endcsname{\csname textbottom\the\loopcount\endcsname;%
+ \csname startbottom\the\loopcount\endcsname;%
+ \csname stopbottom\the\loopcount\endcsname;%
+ \csname stylebottom\the\loopcount\endcsname;%
+ \csname stack@bottom\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{\csname textbbottom\the\loopcount\endcsname;%
+ \csname startbbottom\the\loopcount\endcsname;%
+ \csname stopbbottom\the\loopcount\endcsname;%
+ \csname stylebbottom\the\loopcount\endcsname;%
+ \csname stack@bbottom\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@bbbottom\the\loopcount\endcsname{\csname textbbbottom\the\loopcount\endcsname;%
+ \csname startbbbottom\the\loopcount\endcsname;%
+ \csname stopbbbottom\the\loopcount\endcsname;%
+ \csname stylebbbottom\the\loopcount\endcsname;%
+ \csname stack@bbbottom\the\loopcount\endcsname}
+ \expandafter\xdef\csname stack@bbbbottom\the\loopcount\endcsname{\csname textbbbbottom\the\loopcount\endcsname;%
+ \csname startbbbbottom\the\loopcount\endcsname;%
+ \csname stopbbbbottom\the\loopcount\endcsname;%
+ \csname stylebbbbottom\the\loopcount\endcsname;%
+ \csname stack@bbbbottom\the\loopcount\endcsname}
+ \ifnum\loopcount<\seq@num\repeat
+ \temp@@count=0
+ \loop
+ \advance\temp@@count by 1
+ \xdef\first@@{\csname motif\the\temp@@count\endcsname}
+ \expandafter\get@motif@specs\first@@
+ \xdef\first@@{\csname sequence\seq@\endcsname &@}
+ \temp@count=\csname res@count\seq@\endcsname
+ \xdef\f@text@{\@ll}
+ \xdef\style@{\fourth@@}
+ \xdef\m@tif{\fifth@@} \expandafter\get@third@\fifth@@
+ \xdef\nineth@@{n} \xdef\st@p{n}
+ \find@motif
+ \ifnum\temp@@count<\motif@num\repeat
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\getregion@fromstack{\the\loopcount}
+ \expandafter\getregion@fromtintstack{\the\loopcount}
+ \expandafter\getregion@fromemphstack{\the\loopcount}
+ \expandafter\getregion@fromlowerstack{\the\loopcount}
+ \expandafter\getregion@fromframestack{\the\loopcount}
+ \expandafter\getregion@fromshadingstack{\the\loopcount}
+ \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{ttttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbbbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \ifnum\loopcount<\seq@num\repeat
+}
+
+\def\test@motif#1#2@{%
+ \xdef\temp@{shade}
+ \ifx\temp@\temp@@ \xdef\style@{\the\loopcount} \fi
+ \xdef\temp@{emph}
+ \ifx\temp@\temp@@ \xdef\style@{0} \fi
+ \xdef\temp@{lower}
+ \ifx\temp@\temp@@ \xdef\style@{0} \fi
+ \xdef\temp@{tint}
+ \ifx\temp@\temp@@ \xdef\style@{0} \fi
+ \xdef\temp@{frame}
+ \ifx\temp@\temp@@ \xdef\style@{0} \fi
+ \xdef\temp@{shading}
+ \ifx\temp@\temp@@ \xdef\style@{0} \fi
+ \xdef\temp@{#1#2}
+ \xdef\first@{#1}
+ \ifx\first@\br@cket
+ \xdef\label@motif{y}
+ \temp@count=\motif@num
+ \advance\temp@count by 1
+ \xdef\motif@num{\the\temp@count}
+ \expandafter\xdef\csname motif\the\temp@count\endcsname{\seq@,\temp@@,\@ll,\style@,\temp@}
+ \xdef\list@{&}
+ \else
+ \expandafter\check@char\first@
+ \ifletter
+ \xdef\label@motif{y}
+ \temp@count=\motif@num
+ \advance\temp@count by 1
+ \xdef\motif@num{\the\temp@count}
+ \expandafter\xdef\csname motif\the\temp@count\endcsname{\seq@,\temp@@,\@ll,\style@,\temp@}
+ \xdef\list@{&}
+ \fi
+ \fi
+}
+
+\def\test@PDB#1:#2,#3,#4,#5,#6@{%
+ \xdef\last@{#1[,]&}\expandafter\opt@color\last@
+ \xdef\PDB@distance{no}
+ \ifx\f@color\comm@
+ \else
+ \xdef\f@color{\f@color .&&@}
+ \expandafter\coord@get\f@color
+ \xdef\temp@{\c@@rd @}
+ \expandafter\check@letter\temp@
+ \ifletter
+ \else
+ \temp@count=\c@@rd
+ \multiply\temp@count by \temp@count
+ \xdef\PDB@distance{\the\temp@count}
+ \fi
+ \fi
+ \xdef\PDB@hitpos{0}
+ \xdef\PDB@stack{}
+ \xdef\PDB@name{#2}
+ \xdef\PDB@type{point}
+ \ifx\fourth@\PDB@type
+ \xdef\PDB@{y}
+ \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\PDB@{y}
+ \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\PDB@{y}
+ \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@@}
+ \else
+ \xdef\temp@{\list@ @}
+ \expandafter\test@motif\temp@
+ \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 <return> to proceed. \MessageBreak
+ Type X <return> to quit. \MessageBreak
+}
+ \immediate\closein\structurefile\egroup
+ \simmodetrue \funcmodefalse \T@coffeefalse
+ \else
+ \message{<T-Coffee shading>}
+ \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 <return> to proceed. \MessageBreak
+ Type X <return> 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 <return> to proceed. \MessageBreak
+ Type X <return> 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 <return> to proceed. \MessageBreak
+ Type X <return> 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{<Unknown type - ignoring \noexpand\includePHD>}
+ \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 <return> to proceed. \MessageBreak
+ Type X <return> 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{<Sequence name `\first@' was not found - using first sequence.>}
+ \xdef\first@{1}
+ \fi
+}
+\def\get@name@number@table{%
+ \xdef\second@{n}%
+ \loopcount=0%
+ \loop%
+ \advance\loopcount by 1%
+ \expandafter\ifx\csname newseqname\the\loopcount\endcsname\first@%
+ \xdef\first@{\the\loopcount}\loopcount=\seq@num%
+ \xdef\second@{y}%
+ \fi%
+ \ifnum\loopcount=\seq@num\else\repeat%
+ \ifx\second@\n@%
+ \message{<Sequence name `\first@' was not found - using first sequence.>}%
+ \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 <return> to proceed. \MessageBreak
+ Type X <return> to quit. \MessageBreak
+}
+ \immediate\closein\structurefile\egroup
+ \else
+ \message{<reading PDB: \PDB@name>}
+ \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{<Too many \noexpand\funcgroups>}
+ \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
+
+ \expandafter\xdef\csname simpair\third@\first@\endcsname{1}
+ \expandafter\xdef\csname simpair\first@\third@\endcsname{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{<Ignored `\seq@' in \noexpand\shaderegion or \noexpand\shadeblock>}
+ \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@@{shade}
+ \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@
+ \ifx\list@\ampers@nd
+ \else
+ \loop
+ \xdef\list@{\list@ @}
+ \expandafter\get@regions\list@
+ \ifx\list@\ampers@nd\else\repeat
+ \fi
+ \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{<Ignored seq `\seq@' in \noexpand\tintregion or \noexpand\tintblock>}
+ \else
+ \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi
+ \xdef\list@{#2,&}
+ \xdef\temp@@{tint} \loopcount=0
+ \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@
+ \ifx\list@\ampers@nd
+ \else
+ \loop
+ \xdef\list@{\list@ @}
+ \expandafter\get@tintregions\list@
+ \ifx\list@\ampers@nd\else\repeat
+ \fi
+ \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\lowerregion#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{<Ignored seq `\seq@' in \noexpand\lowerregion or \noexpand\lowerblock>}
+ \else
+ \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi
+ \xdef\list@{#2,&}
+ \xdef\temp@@{lower} \loopcount=0
+ \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@
+ \ifx\list@\ampers@nd
+ \else
+ \loop
+ \xdef\list@{\list@ @}
+ \expandafter\get@lowerregions\list@
+ \ifx\list@\ampers@nd\else\repeat
+ \fi
+ \fi
+}
+\def\lowerblock#1#2{%
+ \xdef\seq@{#1}
+ \xdef\@ll{yes}
+ \lowerregion{#1}{#2}
+ \xdef\@ll{}
+}
+\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{<Ignored seq `\seq@' in \noexpand\emphregion or \noexpand\emphblock>}
+ \else
+ \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi
+ \xdef\list@{#2,&}
+ \xdef\temp@@{emph} \loopcount=0
+ \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@
+ \ifx\list@\ampers@nd
+ \else
+ \loop
+ \xdef\list@{\list@ @}
+ \expandafter\get@emphregions\list@
+ \ifx\list@\ampers@nd\else\repeat
+ \fi
+ \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{<Ignored seq `\seq@' in \noexpand\frameblock>}
+ \else
+ \xdef\@ll{#3}
+ \xdef\list@{#2,&}
+ \xdef\temp@@{frame} \loopcount=0
+ \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@
+ \ifx\list@\ampers@nd
+ \else
+ \loop
+ \xdef\list@{\list@ @}
+ \expandafter\get@frameregions\list@
+ \ifx\list@\ampers@nd\else\repeat
+ \fi
+ \fi
+}
+\def\changeshadingcolors#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{<Ignored seq `\seq@' in \noexpand\changeshadingcolors>}
+ \else
+ \xdef\@ll{#3}
+ \xdef\list@{#2,&}
+ \xdef\temp@@{shading} \loopcount=0
+ \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@
+ \ifx\list@\ampers@nd
+ \else
+ \loop
+ \xdef\list@{\list@ @}
+ \expandafter\get@shadingregions\list@
+ \ifx\list@\ampers@nd\else\repeat
+ \fi
+ \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 <return> to proceed. \MessageBreak
+ Type X <return> 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{<Ignored seq `\seq@' in \noexpand\feature>}
+ \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}
+ \def\f@text@{#5}
+ \xdef\f@color{\f@@color}
+ \xdef\temp@{#4&}
+ \ifx\temp@\ampers@nd
+ \xdef\list@{#3,&}
+ \xdef\style@{&}
+ \def\f@text@{#5}
+ \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} \xdef\temp@@{n}
+ \expandafter\get@firstfill\temp@
+ \if\second@@ ^ \xdef\second@@{_} \fi
+ \if\second@@ _ \xdef\temp@{\fill@char} \xdef\temp@@{y}\fi
+ \expandafter\getarrow@shape\temp@
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \xdef\list@{#3,&}
+ \xdef\@ll{\f@text@}
+ \xdef\temp@@{\bottop@}
+ \xdef\temp@{#3,,,:,,,,@} \expandafter\test@PDB\temp@
+ \fi
+ \loopcount=0
+ \ifx\list@\ampers@nd
+ \else
+ \loop
+ \advance\loopcount by 1\relax
+ \xdef\list@{\list@ @}
+ \expandafter\get@fregions\list@
+ \ifx\list@\ampers@nd\else\repeat
+ \fi
+ \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{<Ignored seq `#1' in \noexpand\constosingleseq>}
+ \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\rulerspace#1{\def\ruler@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{<No functional shading on DNA sequences>}
+ \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{<Unknown shading mode - using `similar'>}
+ \simmodetrue \funcmodefalse
+ \fi\fi\fi\fi\fi}
+\def\hideallmatchpositions{\xdef\all@out{y}}
+\def\showallmatchpositions{\xdef\all@out{n}}
+\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\stopchar#1{\def\st@p@char{#1}}
+\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}
+%%%%%%%%%%
+ \xdef\second@{#3@} \expandafter\get@nums\second@
+ \xdef\start@num{\first@} \xdef\end@num{\second@}
+ \ifnum\start@num<1 \xdef\start@num{1}\fi
+ \ifnum\end@num<\start@num \xdef\end@num{\start@num}\fi
+ \loopcount=\end@num
+ \advance\loopcount by 1
+ \advance\loopcount by -\start@num
+ \xdef\end@num{\the\loopcount}
+ \start@false
+%%%%%%%%%%
+ \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{<Ignored seq `#2' in \noexpand\startnumber>}
+ \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{<Ignored seq `#1' in \noexpand\seqlength>}
+ \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
+ \xdef\temp@{ruler}
+ \ifx\first@\temp@
+ \def\bottomruler@size{\csname #2\endcsname}
+ \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\rulertiny {\setsize{ruler}{tiny}}
+\def\rulerscriptsize {\setsize{ruler}{scriptsize}}
+\def\rulerfootnotesize{\setsize{ruler}{footnotesize}}
+\def\rulersmall {\setsize{ruler}{small}}
+\def\rulernormalsize {\setsize{ruler}{normalsize}}
+\def\rulerlarge {\setsize{ruler}{large}}
+\def\rulerLarge {\setsize{ruler}{Large}}
+\def\rulerLARGE {\setsize{ruler}{LARGE}}
+\def\rulerhuge {\setsize{ruler}{huge}}
+\def\rulerHuge {\setsize{ruler}{Huge}}
+\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\defshadingcolors#1{%
+ \expandafter\xdef\csname TextNomatch@#1\endcsname{\TextNomatch}
+ \expandafter\xdef\csname Nomatch@#1\endcsname{\Nomatch}
+ \expandafter\xdef\csname resn@m@tch@#1\endcsname{\resn@m@tch}
+
+ \expandafter\xdef\csname TextSimilar@#1\endcsname{\TextSimilar}
+ \expandafter\xdef\csname Similar@#1\endcsname{\Similar}
+ \expandafter\xdef\csname ressimm@tch@#1\endcsname{\ressimm@tch}
+
+ \expandafter\xdef\csname TextIdentical@#1\endcsname{\TextIdentical}
+ \expandafter\xdef\csname Identical@#1\endcsname{\Identical}
+ \expandafter\xdef\csname resm@tch@#1\endcsname{\resm@tch}
+
+ \expandafter\xdef\csname TextAllmatch@#1\endcsname{\TextAllmatch}
+ \expandafter\xdef\csname Allmatch@#1\endcsname{\Allmatch}
+ \expandafter\xdef\csname res@llm@tch@#1\endcsname{\res@llm@tch}
+
+ \expandafter\xdef\csname gap@fg@#1\endcsname{\gap@fg}
+ \expandafter\xdef\csname gap@bg@#1\endcsname{\gap@bg}
+
+}
+\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@
+ \similarresidues{Black}{LightGray}{upper}{up}
+ \conservedresidues{White}{DarkGray}{upper}{up}
+ \allmatchresidues{White}{Black}{upper}{up}
+ \else
+ \xdef\TextNomatch{\csname TextNomatch@#1\endcsname}
+ \xdef\Nomatch {\csname Nomatch@#1\endcsname}
+ \xdef\resn@m@tch {\csname resn@m@tch@#1\endcsname}
+ \xdef\TextSimilar{\csname TextSimilar@#1\endcsname}
+ \xdef\Similar {\csname Similar@#1\endcsname}
+ \xdef\ressimm@tch{\csname ressimm@tch@#1\endcsname}
+ \xdef\TextIdentical{\csname TextIdentical@#1\endcsname}
+ \xdef\Identical {\csname Identical@#1\endcsname}
+ \xdef\resm@tch {\csname resm@tch@#1\endcsname}
+ \xdef\TextAllmatch{\csname TextAllmatch@#1\endcsname}
+ \xdef\Allmatch {\csname Allmatch@#1\endcsname}
+ \xdef\res@llm@tch {\csname res@llm@tch@#1\endcsname}
+ \xdef\gap@fg {\csname gap@fg@#1\endcsname}
+ \xdef\gap@bg {\csname gap@bg@#1\endcsname}
+ \xdef\domgap@fg {\csname domgap@fg@#1\endcsname}
+ \xdef\domgap@bg {\csname domgap@bg@#1\endcsname}
+ \fi\fi\fi\fi\fi
+ \xdef\first@{#1}
+ \expandafter\defshadingcolors{\first@}
+}
+\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{<Ignoring `#2' in \noexpand\includeDSSP>}
+ \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{<Ignoring `#2' in \noexpand\includeHMMTOP>}
+ \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{<Ignoring `#2' in \noexpand\includeSTRIDE>}
+ \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{<Ignoring `#2' in \noexpand\includePHDsec>}
+ \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{<Ignoring `#2' in \noexpand\includePHDtopo>}
+ \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}
+}
+
+\def\decimal@IOO#1#2#3{#1#2\temp@#3}
+\def\decimal@IO#1#2{#1\temp@#2}
+\def\decimal@I#1{0\temp@#1}
+
+\def\percentsimilarity#1#2{%
+ \xdef\first@{#2@}\expandafter\check@letter\first@%
+ \xdef\first@{#2}\xdef\second@@{#2}%
+ \ifletter\get@name@number@table\xdef\second@@{\first@}\fi%
+ \xdef\first@{#1@}\expandafter\check@letter\first@%
+ \xdef\first@{#1}\xdef\first@@{#1}%
+ \ifletter\get@name@number@table\xdef\first@@{\first@}\fi%
+ \ifnum\first@@<\second@@%
+ \loopcount=\csname simcount\first@@ @\second@@\endcsname%
+ \temp@count=\csname poscount\first@@ @\second@@\endcsname%
+ \else%
+ \ifnum\first@@=\second@@ \loopcount=1 \temp@count=1%
+ \else%
+ \loopcount=\csname simcount\second@@ @\first@@\endcsname%
+ \temp@count=\csname poscount\second@@ @\first@@\endcsname%
+ \fi%
+ \fi%
+ \multiply\loopcount by 1000%
+ \divide\loopcount by \temp@count%
+ \xdef\first@{\the\loopcount}%
+ \ifgerm@n\xdef\temp@{,}\else\xdef\temp@{.}\fi%
+ \ifnum\first@=1000 100\temp@0%
+ \else%
+ \ifnum\first@>99 \expandafter\decimal@IOO\first@%
+ \else%
+ \ifnum\first@>9 \expandafter\decimal@IO\first@%
+ \else%
+ \ifnum\first@>0 \expandafter\decimal@I\first@%
+ \else 0\temp@0%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+}
+
+\def\percentidentity#1#2{%
+ \xdef\first@{#2@}\expandafter\check@letter\first@%
+ \xdef\first@{#2}\xdef\second@@{#2}%
+ \ifletter\get@name@number@table\xdef\second@@{\first@}\fi%
+ \xdef\first@{#1@}\expandafter\check@letter\first@%
+ \xdef\first@{#1}\xdef\first@@{#1}%
+ \ifletter\get@name@number@table\xdef\first@@{\first@}\fi%
+ \ifnum\first@@<\second@@%
+ \loopcount=\csname identcount\first@@ @\second@@\endcsname%
+ \temp@count=\csname poscount\first@@ @\second@@\endcsname%
+ \else%
+ \ifnum\first@@=\second@@ \loopcount=1 \temp@count=1%
+ \else%
+ \loopcount=\csname identcount\second@@ @\first@@\endcsname%
+ \temp@count=\csname poscount\second@@ @\first@@\endcsname%
+ \fi%
+ \fi%
+ \multiply\loopcount by 1000%
+ \divide\loopcount by \temp@count%
+ \xdef\first@{\the\loopcount}%
+ \ifgerm@n\xdef\temp@{,}\else\xdef\temp@{.}\fi%
+ \ifnum\first@=1000 100\temp@0%
+ \else%
+ \ifnum\first@>99 \expandafter\decimal@IOO\first@%
+ \else%
+ \ifnum\first@>9 \expandafter\decimal@IO\first@%
+ \else%
+ \ifnum\first@>0 \expandafter\decimal@I\first@%
+ \else 0\temp@0%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+}
+
+\def\similaritytable{%
+ \def\name@loop{%
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>\seq@num\relax
+ \else
+ \immediate\write\exp@rtfile{&\string\multicolumn{1}{c}{\string\kern1ex\string\begin{rotopo}{90}\csname newseqname\the\outerloopcount\endcsname\string\end{rotopo}}}
+ \name@loop\fi
+ }
+ \def\inner@loop{%
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>\seq@num\relax
+ \else
+ \ifnum\innerloopcount=\outerloopcount\relax \immediate\write\exp@rtfile{& {---\hss}}\fi
+ \ifnum\innerloopcount>\outerloopcount\relax \immediate\write\exp@rtfile{& \string\percentsimilarity{\the\outerloopcount}{\the\innerloopcount}}\fi
+ \ifnum\innerloopcount<\outerloopcount\relax \immediate\write\exp@rtfile{& \string\percentidentity{\the\outerloopcount}{\the\innerloopcount}}\fi
+ \inner@loop\fi
+ }
+ \def\outer@loop{%
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>\seq@num\relax
+ \else
+ \immediate\write\exp@rtfile{\csname newseqname\the\outerloopcount\endcsname}
+ \innerloopcount=0 \inner@loop \immediate\write\exp@rtfile{&\string\\}
+ \outer@loop\fi
+ }
+ \xdef\temp@{l|}
+ \outerloopcount=0
+ \loop
+ \advance\outerloopcount by 1
+ \xdef\temp@{\temp@ r}
+ \ifnum\outerloopcount<\seq@num\repeat
+ \advance\outerloopcount by 1 \xdef\seq@num@plus{\the\outerloopcount}
+ \advance\outerloopcount by 1 \xdef\seq@num@plus@plus{\the\outerloopcount}
+ \ifnum\seq@num<3 \xdef\temp@@{$\approx$} \else
+ \ifnum\seq@num<5 \xdef\temp@@{simil.}\ifgerm@n\def\temp@@{\string\"{A}hnl.}\fi\ifsp@nish\xdef\temp@@{simil.}\fi\else
+ \xdef\temp@@{similarity}
+ \ifgerm@n\ifnum\seq@num=5\def\temp@@{\string\"{A}hnlichk.}\else\def\temp@@{\string\"{A}hnlichkeit}\fi\fi\ifsp@nish\xdef\temp@@{similitud}\fi\fi
+ \fi
+ \xdef\temp@@@{identity}\ifgerm@n\def\temp@@@{Identit\string\"{a}t}\fi\ifsp@nish\xdef\temp@@@{identidad}\fi
+
+ \immediate\openout\exp@rtfile = simtable.tmp
+ \immediate\write\exp@rtfile{\string\begin{tabular}{\temp@ |r}}
+ \immediate\write\exp@rtfile{\string\multicolumn{\seq@num@plus@plus}{c}{}\string\\[\name@@width]}
+ \immediate\write\exp@rtfile{\string\multicolumn{1}{c}{}}
+ \outerloopcount=0 \name@loop \immediate\write\exp@rtfile{&\string\\ \string\cline{2-\seq@num@plus}}
+ \immediate\write\exp@rtfile{&\string\multicolumn{\seq@num}{|c|}{}&\string\\[-2ex]}
+ \outerloopcount=0 \outer@loop
+ \immediate\write\exp@rtfile{\string\cline{2-\seq@num@plus}}
+ \immediate\write\exp@rtfile{\string\multicolumn{\seq@num@plus}{c}{}&}
+ \immediate\write\exp@rtfile{\string\multicolumn{1}{r}{\string\kern1.5ex\string\begin{rotopo}{90}\kern1em\% \temp@@\string\end{rotopo}}\string\\[-2ex]}
+ \immediate\write\exp@rtfile{\string\multicolumn{1}{c}{}&\string\multicolumn{\seq@num}{l}{\% \temp@@@}&\string\\}
+ \immediate\write\exp@rtfile{\string\end{tabular}}
+ \immediate\closeout\exp@rtfile
+
+ \input{simtable.tmp}
+}
+
+\def\identitytable{\similaritytable}
+
+%%%%% 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
+ \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
+ \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
+ \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\questi@n
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{%
+ \csname seq\the\loopcount\endcsname3\st@p@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
+ \fi
+ \else
+ \xdef\first@{\csname res\the\loopcount\endcsname}
+ \ifx\first@\equ@l
+ \def\first@{\dom@char} \def\third@{9}
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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@} \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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\third@{8}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\third@{7}\def\first@{\st@p@char}
+ \else
+ \def\first@{{}} \def\third@{8}
+ \fi
+ \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \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 lower@seq0\endcsname\y@
+ \expandafter\xdef\csname lower@seq0\endcsname{n}
+ \xdef\first@{;\first@}\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@\questi@n\def\first@{\st@p@char}\fi
+ \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\third@{8}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\third@{7}\def\first@{\st@p@char}
+ \else
+ \def\first@{{}} \def\third@{8}
+ \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
+ \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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 lower@seq0\endcsname\y@
+ \expandafter\xdef\csname lower@seq0\endcsname{n}
+ \xdef\first@{;\first@}\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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\third@{/}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\first@{\st@p@char}\def\third@{*}
+ \else
+ \def\first@{{}} \def\third@{/}
+ \fi
+ \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\st@p@char}\fi
+ \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n}
+ \xdef\first@{=\st@p@char}\fi
+ \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n}
+ \xdef\first@{,\st@p@char}\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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \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@\questi@n\def\first@{\st@p@char}\fi
+ \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\third@{8}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\third@{7}\def\first@{\st@p@char}
+ \else
+ \def\first@{{}} \def\third@{8}
+ \fi
+ \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \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 lower@seq0\endcsname\y@
+ \expandafter\xdef\csname lower@seq0\endcsname{n}
+ \xdef\first@{;\first@}\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@\questi@n\def\first@{\st@p@char}\fi
+ \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\third@{8}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\third@{7}\def\first@{\st@p@char}
+ \else
+ \def\first@{{}} \def\third@{8}
+ \fi
+ \fi
+ \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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 lower@seq0\endcsname\y@
+ \expandafter\xdef\csname lower@seq0\endcsname{n}
+ \xdef\first@{;\first@}\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@\questi@n\def\first@{\st@p@char}\fi
+ \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\third@{8}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\third@{7}\def\first@{\st@p@char}
+ \else
+ \def\first@{{}} \def\third@{8}
+ \fi
+ \fi
+ \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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 lower@seq0\endcsname\y@
+ \expandafter\xdef\csname lower@seq0\endcsname{n}
+ \xdef\first@{;\first@}\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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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%
+ 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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\third@{/}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\first@{\st@p@char}\def\third@{*}
+ \else
+ \def\first@{{}} \def\third@{/}
+ \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
+ \fi
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\second@{/}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\first@{\st@p@char}\def\second@{*}
+ \else
+ \def\first@{{}} \def\second@{/}
+ \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 lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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%
+ 0\first@}
+ \else
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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%
+ \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
+ \ifx\first@\questi@n
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@start\the\loopcount\endcsname
+ \def\first@{{}} \def\second@{/}
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname%
+ <\csname seq@len\the\loopcount\endcsname
+ \def\first@{\st@p@char}\def\second@{*}
+ \else
+ \def\first@{{}} \def\second@{/}
+ \fi
+ \fi
+ \fi
+ \xdef\third@{noshade}
+ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\third@
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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%
+ *\first@}
+ \else
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \xdef\first@{;\first@}\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%
+ \second@\first@}
+ \fi
+ \ifnum\loopcount<\seq@count \repeat
+ \xdef\first@{\csname res0\endcsname}
+ \expandafter\ifx\csname lower@seq0\endcsname\y@
+ \expandafter\xdef\csname lower@seq0\endcsname{n}
+ \xdef\first@{;\first@}\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
+ \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@fromshadingstack@first{%
+ \expandafter\getregion@fromshadingstack{\the\loopcount}
+ \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname<\first@@
+ \getregion@fromshadingstack@first
+ \fi
+ \fi
+}
+
+\def\calc@shading{%
+ \xdef\shading@style{&}
+ \loopcount=-1
+ \loop
+ \advance\loopcount by 1
+ \ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
+ \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi
+ \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>\first@@
+ \else
+ \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname<\first@@
+ \getregion@fromshadingstack@first
+ \else
+ \xdef\shading@style{\csname shadingstyle\the\loopcount\endcsname}
+ \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname=\first@@
+ \expandafter\getregion@fromshadingstack{\the\loopcount}
+ \fi
+ \fi
+ \fi\fi
+ \ifnum\loopcount<\seq@count \repeat
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \ifx\shading@style\ampers@nd
+ \else
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{%
+ \csname seq\the\loopcount\endcsname¤\shading@style)}
+ \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
+ \else
+ \expandafter\ifx\csname emphall\the\loopcount\endcsname\y@
+ \innerloopcount=1
+ \fi
+ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{y}
+ \fi
+ \fi
+}
+
+\def\calc@regemph{%
+ \loopcount=-1 \innerloopcount=0
+ \loop
+ \advance\loopcount by 1
+ \ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
+ \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi
+ \expandafter\ifx\csname emphstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname emphstart\the\loopcount\endcsname>\first@@
+ \else
+ \expandafter\ifnum\csname emphstop\the\loopcount\endcsname<\first@@
+ \getregion@fromemphstack@first
+ \else
+ \expandafter\ifx\csname emphall\the\loopcount\endcsname\y@
+ \innerloopcount=1
+ \fi
+ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{y}
+ \expandafter\ifnum\csname emphstop\the\loopcount\endcsname=\first@@
+ \expandafter\getregion@fromemphstack{\the\loopcount}
+ \fi
+ \fi
+ \fi\fi
+ \ifnum\loopcount<\seq@count \repeat
+ \loopcount=0
+ \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{y}
+ \fi
+ \ifnum\innerloopcount>0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{y}
+ \ifnum\loopcount<\seq@count \repeat
+ \fi
+}
+
+\def\getregion@fromlowerstack@first{%
+ \expandafter\getregion@fromlowerstack{\the\loopcount}
+ \expandafter\ifx\csname lowerstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname lowerstop\the\loopcount\endcsname<\first@@
+ \getregion@fromlowerstack@first
+ \else
+ \expandafter\ifx\csname lowerall\the\loopcount\endcsname\y@
+ \innerloopcount=1
+ \fi
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{y}
+ \fi
+ \fi
+}
+
+\def\calc@reglower{%
+ \loopcount=-1 \innerloopcount=0
+ \loop
+ \advance\loopcount by 1
+ \ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
+ \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi
+ \expandafter\ifx\csname lowerstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname lowerstart\the\loopcount\endcsname>\first@@
+ \else
+ \expandafter\ifnum\csname lowerstop\the\loopcount\endcsname<\first@@
+ \getregion@fromlowerstack@first
+ \else
+ \expandafter\ifx\csname lowerall\the\loopcount\endcsname\y@
+ \innerloopcount=1
+ \fi
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{y}
+ \expandafter\ifnum\csname lowerstop\the\loopcount\endcsname=\first@@
+ \expandafter\getregion@fromlowerstack{\the\loopcount}
+ \fi
+ \fi
+ \fi\fi
+ \ifnum\loopcount<\seq@count \repeat
+ \loopcount=0
+ \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{y}
+ \fi
+ \ifnum\innerloopcount>0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{y}
+ \ifnum\loopcount<\seq@count \repeat
+ \fi
+}
+
+\def\getregion@fromtintstack@first{%
+ \expandafter\getregion@fromtintstack{\the\loopcount}
+ \expandafter\ifx\csname tintstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname tintstop\the\loopcount\endcsname<\first@@
+ \getregion@fromtintstack@first
+ \else
+ \expandafter\ifx\csname tintall\the\loopcount\endcsname\y@
+ \innerloopcount=1
+ \fi
+ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{y}
+ \fi
+ \fi
+}
+
+\def\calc@regtint{%
+ \loopcount=-1 \innerloopcount=0
+ \loop
+ \advance\loopcount by 1
+ \ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
+ \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi
+ \expandafter\ifx\csname tintstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname tintstart\the\loopcount\endcsname>\first@@
+ \else
+ \expandafter\ifnum\csname tintstop\the\loopcount\endcsname<\first@@
+ \getregion@fromtintstack@first
+ \else
+ \expandafter\ifx\csname tintall\the\loopcount\endcsname\y@
+ \innerloopcount=1
+ \fi
+ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{y}
+ \expandafter\ifnum\csname tintstop\the\loopcount\endcsname=\first@@
+ \expandafter\getregion@fromtintstack{\the\loopcount}
+ \fi
+ \fi
+ \fi\fi
+ \ifnum\loopcount<\seq@count \repeat
+ \loopcount=0
+ \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@
+ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{y}
+ \fi
+ \ifnum\innerloopcount>0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{y}
+ \ifnum\loopcount<\seq@count \repeat
+ \fi
+}
+
+\def\getregion@fromframestack@first{%
+ \expandafter\getregion@fromframestack{\the\loopcount}
+ \expandafter\ifx\csname framestart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname framestop\the\loopcount\endcsname<\first@@
+ \getregion@fromframestack@first
+ \else
+ \ifnum\frame@on=0
+ \xdef\frame@on{1}
+ \xdef\frame@{1}
+ \expandafter\xdef\csname fr@style\the\loopcount\endcsname{%
+ \csname framestyle\the\loopcount\endcsname}
+ \innerloopcount=\pos@count
+ \advance\innerloopcount by -\frame@pos
+ \xdef\styleframe{\styleframe&\the\innerloopcount;&;}
+ \xdef\frame@pos{\the\pos@count}
+ \fi
+ \expandafter\ifnum\csname framestop\the\loopcount\endcsname=\first@@
+ \expandafter\getregion@fromframestack{\the\loopcount}
+ \ifnum\frame@on=1
+ \xdef\frame@on{0}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \advance\innerloopcount by -\frame@pos
+ \xdef\styleframe{\styleframe&\the\innerloopcount;%
+ \csname fr@style\the\loopcount\endcsname;}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \xdef\frame@pos{\the\innerloopcount}
+ \fi
+ \fi
+ \ifnum\pos@count=\res@perline
+ \ifnum\frame@on=1
+ \innerloopcount=\pos@count
+ \advance\innerloopcount by 1
+ \advance\innerloopcount by -\frame@pos
+ \xdef\styleframe{\styleframe&\the\innerloopcount;%
+ \csname fr@style\the\loopcount\endcsname;}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \xdef\frame@pos{\the\innerloopcount}
+ \fi
+ \fi
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname=\end@num\relax
+ \ifnum\frame@on=1
+ \innerloopcount=\pos@count
+ \advance\innerloopcount by 1
+ \advance\innerloopcount by -\frame@pos
+ \xdef\styleframe{\styleframe&\the\innerloopcount;%
+ \csname fr@style\the\loopcount\endcsname;}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \xdef\frame@pos{\the\innerloopcount}
+ \fi
+ \fi
+ \fi
+ \fi
+}
+
+\def\calc@frame{%
+% \advance\pos@count by -1
+ \loopcount=-1 \innerloopcount=0
+ \loop
+ \advance\loopcount by 1
+ \ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
+ \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi
+ \expandafter\ifx\csname framestart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname framestart\the\loopcount\endcsname>\first@@
+ \else
+ \expandafter\ifnum\csname framestop\the\loopcount\endcsname<\first@@
+ \getregion@fromframestack@first
+ \else
+ \ifnum\frame@on=0
+ \xdef\frame@on{1}
+ \xdef\frame@{1}
+ \expandafter\xdef\csname fr@style\the\loopcount\endcsname{%
+ \csname framestyle\the\loopcount\endcsname}
+ \innerloopcount=\pos@count
+ \advance\innerloopcount by -\frame@pos
+ \xdef\styleframe{\styleframe&\the\innerloopcount;&;}
+ \xdef\frame@pos{\the\pos@count}
+ \fi
+ \expandafter\ifnum\csname framestop\the\loopcount\endcsname=\first@@
+ \expandafter\getregion@fromframestack{\the\loopcount}
+ \ifnum\frame@on=1
+ \xdef\frame@on{0}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \advance\innerloopcount by -\frame@pos
+ \xdef\styleframe{\styleframe&\the\innerloopcount;%
+ \csname fr@style\the\loopcount\endcsname;}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \xdef\frame@pos{\the\innerloopcount}
+ \fi
+ \fi
+ \ifnum\pos@count=\res@perline
+ \ifnum\frame@on=1
+ \innerloopcount=\pos@count
+ \advance\innerloopcount by 1
+ \advance\innerloopcount by -\frame@pos
+ \xdef\styleframe{\styleframe&\the\innerloopcount;%
+ \csname fr@style\the\loopcount\endcsname;}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \xdef\frame@pos{\the\innerloopcount}
+ \fi
+ \fi
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname=\end@num\relax
+ \ifnum\frame@on=1
+ \innerloopcount=\pos@count
+ \advance\innerloopcount by 1
+ \advance\innerloopcount by -\frame@pos
+ \xdef\styleframe{\styleframe&\the\innerloopcount;%
+ \csname fr@style\the\loopcount\endcsname;}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \xdef\frame@pos{\the\innerloopcount}
+ \fi
+ \fi
+ \fi
+ \fi\fi
+ \ifnum\loopcount<\seq@count \repeat
+% \advance\pos@count by 1
+}
+
+\def\get@nextres#1#2:{%
+ \xdef\first@{#1}
+ \xdef\temp@{#2:}
+ \ifx\first@\gap@char \expandafter\get@nextres\temp@
+ \else
+ \if\first@ @
+ \xdef\temp@{}
+ \else
+ \xdef\temp@{+\first@}
+ \expandafter\xdef\csname last@res\bottop@\endcsname{}
+ \fi
+ \fi}
+\def\get@@nextres#1#2:{%
+ \xdef\first@{#1}
+ \xdef\temp@@{#2:}
+ \ifx\first@\gap@char \expandafter\get@@nextres\temp@@
+ \else
+ \if\first@ @
+ \xdef\temp@@{}
+ \else
+ \xdef\temp@@{+\first@}
+ \expandafter\xdef\csname last@res\bottop@\endcsname{}
+ \fi
+ \fi}
+
+\def\char@get#1#2@{\xdef\first@{#1} \xdef\tr@nsl@ted{#2@}}
+\def\trans@now#1#2@{%
+ \xdef\first@{#1}
+ \xdef\tr@nsl@ted{#2@}
+ \ifx\first@\ampers@nd
+ \else
+ \expandafter\check@char\first@
+ \ifletter
+ \xdef\triplet@{\triplet@\first@}
+ \advance\triple@count by 1
+ \ifnum\triple@count=1
+ \xdef\out@{\out@{-}}
+ \fi
+ \ifnum\triple@count=3
+ \expandafter\ifx\csname @\triplet@\endcsname\relax
+ \expandafter\xdef\csname @\triplet@\endcsname{?} \fi
+ \xdef\out@{\out@\csname @\triplet@\endcsname\out@@{-}}
+ \triple@count=0
+ \xdef\triplet@{}
+ \xdef\out@@{}
+ \fi
+ \fi
+ \if\first@ -
+ \ifnum\triple@count<2
+ \xdef\out@{\out@{-}}
+ \else
+ \xdef\out@@{\out@@{-}}
+ \fi
+ \fi
+ \if\first@ +
+ \expandafter\char@get\tr@nsl@ted
+ \xdef\triplet@{\triplet@\first@}
+ \advance\triple@count by 1
+ \ifnum\triple@count=3
+ \expandafter\ifx\csname @\triplet@\endcsname\relax
+ \expandafter\xdef\csname @\triplet@\endcsname{?} \fi
+ \xdef\out@{\out@\csname @\triplet@\endcsname\out@@}
+ \triple@count=0
+ \xdef\triplet@{}
+ \xdef\out@@{}
+ \fi
+ \fi
+ \if\first@ 2
+ \loop
+ \expandafter\char@get\tr@nsl@ted
+ \ifx\first@\ampers@nd
+ \lettertrue
+ \xdef\tr@nsl@ted{&@}
+ \else
+ \expandafter\check@char\first@
+ \fi
+ \ifletter\else\xdef\out@{\out@{-}}\repeat
+ \xdef\out@{\out@{-}}
+ \fi
+ \expandafter\trans@now\tr@nsl@ted
+ \fi
+}
+
+\def\do@translation{%
+ \xdef\triplet@{}
+ \xdef\out@{}
+ \xdef\out@@{}
+ \xdef\tr@nsl@ted{\tr@nsl@ted &@}
+ \triple@count=0
+ \expandafter\trans@now\tr@nsl@ted
+ \xdef\tr@nsl@ted{\out@}
+}
+
+\def\trans@pep#1#2@{%
+ \xdef\first@{#1}
+ \xdef\tr@nsl@ted{#2@}
+ \ifx\first@\ampers@nd
+ \else
+ \expandafter\check@char\first@
+ \ifletter
+ \xdef\out@{\out@\csname rev@\first@\endcsname}
+ \else
+ \xdef\out@{\out@{-}{-}{-}}
+ \fi
+ \expandafter\trans@pep\tr@nsl@ted
+ \fi
+}
+
+\def\rev@translation{%
+ \xdef\out@{}
+ \xdef\tr@nsl@ted{\tr@nsl@ted &@}
+ \expandafter\trans@pep\tr@nsl@ted
+ \xdef\tr@nsl@ted{\out@}
+}
+
+
+\def\sum@up{%
+ \advance\innerloopcount by 1
+ \xdef\second@@@{\csname res\the\innerloopcount\endcsname}
+ \xdef\third@@@{\csname cons\first@@@\second@@@\endcsname}
+ \advance\temp@count by \third@@@
+ \ifnum\innerloopcount<\seq@count\sum@up\fi
+}
+
+\def\sum@up@cons{%
+ \innerloopcount=\outerloopcount
+ \xdef\first@@@{\csname res\the\outerloopcount\endcsname}
+ \sum@up
+ \advance\outerloopcount by 1\relax
+ \ifnum\outerloopcount<\seq@count
+ \sum@up@cons
+ \else
+ \innerloopcount=\seq@count
+ \advance\innerloopcount by -1
+ \multiply\innerloopcount by \seq@count
+ \multiply\temp@count by 2
+ \multiply\temp@count by \m@trixf@ctor
+ \divide\temp@count by \innerloopcount
+
+ \ifnum\temp@count>100 \temp@count=100 \fi
+ \ifnum\temp@count<0 \temp@count=0 \fi
+ \xdef\cons@val{\the\temp@count}
+ \ifx\first@\equ@l \xdef\cons@val{N} \fi
+
+ \ifx\T@coffee@bcons\y@
+ \xdef\cons@val{\csname TC@num0\endcsname}
+ \if\cons@val *
+ \xdef\cons@val{99}
+ \fi
+ \fi
+ \ifx\T@coffee@ccons\y@
+ \xdef\cons@val{\csname TC@num0\endcsname}
+ \if\cons@val *
+ \xdef\cons@val{99}
+ \fi
+ \fi
+ \fi
+}
+
+\def\collect@cons@res{%
+ \xdef\temp@{\temp@\csname res\the\innerloopcount\endcsname}
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>\seq@count\relax
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \else
+ \collect@cons@res
+ \fi
+}
+
+\def\sum@@up{%
+ \advance\innerloopcount by 1
+ \xdef\second@@@{\csname res\the\innerloopcount\endcsname}
+
+ \ifx\first@@@\d@t
+ \else
+ \ifx\first@@@\questi@n
+ \else
+ \ifx\first@@@\equ@l
+ \else
+ \ifx\second@@@\d@t
+ \else
+ \ifx\second@@@\questi@n
+ \else
+ \ifx\second@@@\equ@l
+ \else
+ \xdef\third@@@{\csname poscount\the\outerloopcount @\the\innerloopcount\endcsname}
+ \temp@@count=\third@@@
+ \advance\temp@@count by 1
+ \expandafter\xdef\csname poscount\the\outerloopcount @\the\innerloopcount\endcsname{\the\temp@@count}
+
+ \xdef\third@@@{\csname simcount\the\outerloopcount @\the\innerloopcount\endcsname}
+ \temp@@count=\third@@@
+ \xdef\third@@@{\csname simpair\first@@@\second@@@\endcsname}
+ \advance\temp@@count by \third@@@
+ \expandafter\xdef\csname simcount\the\outerloopcount @\the\innerloopcount\endcsname{\the\temp@@count}
+
+ \ifx\first@@@\second@@@
+ \xdef\third@@@{\csname identcount\the\outerloopcount @\the\innerloopcount\endcsname}
+ \temp@@count=\third@@@
+ \advance\temp@@count by 1
+ \expandafter\xdef\csname identcount\the\outerloopcount @\the\innerloopcount\endcsname{\the\temp@@count}
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+
+ \ifnum\innerloopcount<\seq@count\sum@@up\fi
+}
+
+\def\sum@up@sim{%
+ \innerloopcount=\outerloopcount
+ \xdef\first@@@{\csname res\the\outerloopcount\endcsname}
+ \sum@@up
+ \advance\outerloopcount by 1\relax
+ \ifnum\outerloopcount<\seq@count
+ \sum@up@sim
+ \fi
+}
+
+\def\collect@similarity{%
+ \xdef\temp@{\temp@\csname res\the\innerloopcount\endcsname}
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>\seq@count\relax
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@sim
+ \else
+ \collect@similarity
+ \fi
+}
+
+
+\def\sum@up@bits{%
+ \ifx\first@@@\second@@@
+ \ifx\first@@@\d@t
+ \temp@count=0\relax
+ \else
+ \temp@count=100\relax
+ \fi
+ \else
+ \temp@count=0
+% \xdef\third@@@{\csname cons\first@@@\second@@@\endcsname}\temp@count=\third@@@ %%% or if only identical =0
+ \fi
+ \multiply\temp@count by \last@
+ \divide\temp@count by 100
+ \expandafter\ifx\csname info@\subfamily@seq @\the\outerloopcount\endcsname\relax
+ \expandafter\xdef\csname info@\subfamily@seq @\the\outerloopcount\endcsname{0}
+ \fi
+ \xdef\third@@@{\csname info@\subfamily@seq @\the\outerloopcount\endcsname}
+ \advance\temp@count by \third@@@
+ \expandafter\xdef\csname info@\subfamily@seq @\the\outerloopcount\endcsname{\the\temp@count}
+}
+\def\sum@up@info{%
+ \ifnum\outerloopcount=\subfamily@seq \advance\outerloopcount by 1 \fi
+ \ifnum\outerloopcount>\seq@count
+ \else
+ \xdef\first@@@{\csname res\the\outerloopcount\endcsname}
+ \sum@up@bits
+ \advance\outerloopcount by 1\relax
+ \fi
+ \ifnum\outerloopcount>\seq@count\else\sum@up@info\fi
+}
+\def\collect@info{%
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \xdef\second@@@{\csname res\subfamily@seq\endcsname}
+ \sum@up@info
+}
+
+\def\calc@grouping{%
+ \xdef\second@{\csname res@num\d@t\endcsname}
+ \innerloopcount=\seq@count
+ \advance\innerloopcount by -\second@
+ \xdef\second@{\the\innerloopcount}
+ \xdef\seventh@{0}
+ \innerloopcount=0
+ \outerloopcount=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname}
+ \xdef\first@{\csname res@num\first@@\endcsname}
+ \ifnum\first@>0
+ \temp@count=\csname log2@\first@\endcsname
+ \advance\temp@count by -\csname log2@\second@\endcsname
+ \advance\temp@count by \csname res@corr\first@@\endcsname
+ \multiply\temp@count by -\first@
+ \divide\temp@count by \second@
+ \advance\innerloopcount by \temp@count\relax
+ \temp@count=\second@ %%%
+ \advance\temp@count by -\first@ %%%
+ \advance\temp@count by \seventh@ %%%
+ \xdef\seventh@{\the\temp@count} %%%
+ \fi
+ \expandafter\xdef\csname res@num\first@@\endcsname{0}
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>90\else\repeat
+ \expandafter\xdef\csname res@num\d@t\endcsname{0}
+ \if\seq@type P
+ \temp@count=\csname log2@20\endcsname
+ \ifnum\sig@max=100000 \xdef\sig@max{2321} \fi
+ \else
+ \temp@count=\csname log2@4\endcsname
+ \ifnum\sig@max=100000 \xdef\sig@max{1000} \fi
+ \fi
+ \xdef\bit@max{\the\temp@count}
+ \advance\temp@count by -\innerloopcount
+ \multiply\temp@count by \second@
+ \divide\temp@count by \seq@count
+ \xdef\last@{\the\temp@count}
+ \expandafter\xdef\csname bit@pos\the\loopcount\endcsname{\last@}
+ \temp@count=\bit@total
+ \advance\temp@count by \last@
+ \xdef\bit@total{\the\temp@count}
+ \collect@info
+}
+\def\do@grouping{%
+ \ifnum\loopcount>\total@pos
+ \else
+ \triple@count=1
+ \loop
+ \xdef\first@{\csname seq\the\triple@count\endcsname}
+ \expandafter\dis@get\first@
+ \ifx\first@\ampers@nd
+ \else
+ \innerloopcount=\csname res@num\first@\endcsname
+ \advance\innerloopcount by 1
+ \expandafter\xdef\csname res@num\first@\endcsname{\the\innerloopcount}
+ \fi
+ \advance\triple@count by 1\relax
+ \ifnum\triple@count>\seq@count
+ \calc@grouping
+ \advance\loopcount by 1
+ \do@grouping
+ \else
+ \repeat
+ \fi
+}
+\def\total@frequency@correction{%
+ \innerloopcount=0
+ \outerloopcount=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname}
+ \xdef\first@{\csname res@corr\first@@\endcsname}
+ \advance\innerloopcount by \first@\relax
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>90\else\repeat
+ \xdef\res@num@total{\the\innerloopcount}
+ \outerloopcount=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname}
+ \xdef\first@{\csname res@corr\first@@\endcsname}
+ \innerloopcount=\first@\relax
+ \ifnum\innerloopcount>0
+ \multiply\innerloopcount by 1000\relax
+ \divide\innerloopcount by \res@num@total\relax
+ \innerloopcount=\csname log2@\the\innerloopcount\endcsname
+ \advance\innerloopcount by -5644\relax
+ \multiply\innerloopcount by -1\relax
+ \fi
+ \expandafter\xdef\csname res@corr\first@@\endcsname{\the\innerloopcount}
+ \ifnum\the\innerloopcount>\corr@max \xdef\corr@max{\the\innerloopcount}\fi
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>90\else\repeat
+}
+\def\calc@total@frequency{%
+ \ifnum\loopcount>\total@pos
+ \else
+ \triple@count=1
+ \loop
+ \xdef\first@{\csname seq\the\triple@count\endcsname}
+ \expandafter\tot@get\first@
+ \ifx\first@\ampers@nd
+ \else
+ \innerloopcount=\csname res@corr\first@\endcsname
+ \advance\innerloopcount by 1
+ \expandafter\xdef\csname res@corr\first@\endcsname{\the\innerloopcount}
+ \fi
+ \advance\triple@count by 1\relax
+ \ifnum\triple@count>\seq@count
+ \advance\loopcount by 1
+ \calc@total@frequency
+ \else
+ \repeat
+ \fi
+}
+\def\prep@logo{%
+ \if\seq@type P
+ \ifx\do@freq@correction\y@
+ \xdef\do@freq@correction{n}
+ \loopcount=1
+ \loop
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@}
+ \advance\loopcount by 1
+ \ifnum\loopcount>\seq@count\else\repeat
+ \xdef\corr@max{0}
+ \loopcount=1
+ \calc@total@frequency
+ \total@frequency@correction
+ \fi
+ \fi
+}
+\def\define@subfamilies{%
+ \xdef\first@{\csname group@num1\endcsname}
+ \advance\loopcount by -1
+ \xdef\last@{\the\loopcount}
+ \outerloopcount=\bit@total
+ \divide\outerloopcount by \last@
+ \xdef\bit@mean{\the\outerloopcount}
+ \multiply\outerloopcount by \subfamily@threshold\relax
+ \divide\outerloopcount by 100\relax
+ \xdef\sub@threshold{\the\outerloopcount}
+ \ifnum\first@=0
+ \clear@res@nums{1}
+ \clear@res@nums{2}
+ \immediate\write\featurefile{TeXshade subfamily logo data file for \alignfilename}
+ \immediate\write\featurefile{--}
+ \immediate\write\featurefile{Average information content [1000*bits per position]: \bit@mean}
+ \immediate\write\featurefile{Subfamily threshold setting [percent]: \subfamily@threshold}
+ \immediate\write\featurefile{=> \bit@mean\space * 0.\subfamily@threshold\space = \sub@threshold\space [1000*bits per position]}
+ \immediate\write\featurefile{}
+ \expandafter\xdef\csname subfamily@num\subfamily@seq\endcsname{2}
+ \immediate\write\featurefile{Automatic subfamily assignment around sequence no. \subfamily@seq:}
+ \immediate\write\featurefile{[sequence pair: average shared information *1000, subfamily number]}
+ \temp@count=1
+ \outerloopcount=1
+ \loop
+ \ifnum\outerloopcount=\subfamily@seq \advance\outerloopcount by 1 \fi
+ \ifnum\outerloopcount>\seq@count
+ \else
+ \xdef\first@{\csname info@\subfamily@seq @\the\outerloopcount\endcsname}
+ \loopcount=\first@\relax
+ \divide\loopcount by \last@\relax
+ \ifnum\loopcount>\sub@threshold
+ \expandafter\xdef\csname subfamily@num\the\outerloopcount\endcsname{2}
+ \advance\temp@count by 1\relax
+ \else
+ \expandafter\xdef\csname subfamily@num\the\outerloopcount\endcsname{1}
+ \fi
+ \xdef\first@@{\csname subfamily@num\the\outerloopcount\endcsname}
+ \immediate\write\featurefile{\subfamily@seq-\the\outerloopcount:\space\the\loopcount,\space subfamily: \first@@}
+ \advance\outerloopcount by 1
+ \fi
+ \ifnum\outerloopcount>\seq@count\else\repeat
+ \immediate\write\featurefile{}
+ \immediate\write\featurefile{//}
+ \ifnum\temp@count>0
+ \expandafter\xdef\csname group@num2\endcsname{\the\temp@count}
+ \else
+ \message{<No subfamilies found (check threshold) - hiding subfamily logo>}
+ \show@sublogofalse
+ \immediate\write\featurefile{<No subfamilies found (check threshold) - hiding subfamily logo>}
+ \fi
+ \loopcount=\seq@count
+ \advance\loopcount by -\temp@count
+ \ifnum\loopcount>0
+ \expandafter\xdef\csname group@num1\endcsname{\the\loopcount}
+ \else
+ \message{<No subfamilies found (check threshold) - hiding subfamily logo>}
+ \immediate\write\featurefile{<No subfamilies found (check threshold) - hiding subfamily logo>}
+ \show@sublogofalse
+ \fi
+ \else
+ \immediate\write\featurefile{TeXshade subfamily logo data file for \alignfilename}
+ \immediate\write\featurefile{--}
+ \immediate\write\featurefile{Average information content [1000*bits per position]: \bit@mean}
+ \immediate\write\featurefile{Subfamily threshold setting [percent]: \subfamily@threshold}
+ \immediate\write\featurefile{=> \bit@mean\space * 0.\subfamily@threshold\space = \sub@threshold\space [1000*bits per position]}
+ \immediate\write\featurefile{}
+ \immediate\write\featurefile{User defined subfamily: \sub@family@setting}
+ \immediate\write\featurefile{}
+ \immediate\write\featurefile{//}
+ \fi
+}
+\def\prep@sublogo{%
+ \message{<Calculating subfamily logo...>}
+ \immediate\openout\featurefile = sublogo.txt
+ \if\seq@type P
+ \ifx\do@freq@correction\y@
+ \xdef\do@freq@correction{n}
+ \loopcount=1
+ \loop
+ \xdef\first@{\csname @rd\the\loopcount\endcsname} %%%
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\first@\endcsname &@}
+ \advance\loopcount by 1
+ \ifnum\loopcount>\seq@count\else\repeat
+ \xdef\corr@max{0}
+ \loopcount=1
+ \calc@total@frequency
+ \total@frequency@correction
+ \fi
+ \fi
+ \loopcount=1
+ \loop
+ \xdef\first@{\csname @rd\the\loopcount\endcsname} %%%
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\first@\endcsname &@}
+ \advance\loopcount by 1
+ \ifnum\loopcount>\seq@count\else\repeat
+ \loopcount=1
+ \do@grouping
+ \define@subfamilies
+ \ifshow@sublogo
+ \loopcount=1
+ \loop
+ \xdef\first@{\csname @rd\the\loopcount\endcsname} %%%
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\first@\endcsname &@}
+ \advance\loopcount by 1
+ \ifnum\loopcount>\seq@count\else\repeat
+ \xdef\first@{\csname group@num1\endcsname}
+ \xdef\first@@{\csname log2@\first@\endcsname}
+ \xdef\second@{\csname group@num2\endcsname}
+ \xdef\second@@{\csname log2@\second@\endcsname}
+ \loopcount=\first@
+ \advance\loopcount by \second@
+ \xdef\third@{\the\loopcount}
+ \xdef\third@@{\csname log2@\third@\endcsname}
+ \loopcount=\first@@
+ \advance\loopcount by -\third@@
+ \multiply\loopcount by \first@
+ \divide\loopcount by \third@
+ \xdef\first@@@{\the\loopcount}
+ \loopcount=\second@@
+ \advance\loopcount by -\third@@
+ \multiply\loopcount by \second@
+ \divide\loopcount by \third@
+ \xdef\second@@@{\the\loopcount}
+ \loopcount=\bit@max
+ \advance\loopcount by \first@@@
+ \advance\loopcount by \second@@@
+ \xdef\group@correction{\the\loopcount}
+ \loopcount=1 \total@count=0
+ \do@sublogo
+ \immediate\closeout\featurefile
+ \openin\sublogofile = sublogo.txt\relax
+ \read@header
+ \else
+ \immediate\closeout\featurefile
+ \fi
+}
+\def\read@header{%
+ \read\sublogofile to \first@\relax
+ \xdef\first@{\expandafter\string\first@}
+ \ifx\first@\par@ \read@header
+ \else
+ \xdef\first@{\first@ @}
+ \expandafter\seq@get\first@
+ \ifx\first@\he@derend
+ \else\read@header
+ \fi
+ \fi
+}
+\def\read@sublogo{%
+ \xdef\stack@sublogo{}%
+ \loopcount=1 %
+ \loop%
+ \ifeof\sublogofile%
+ \advance\loopcount by \res@perline%
+ \else%
+ \read\sublogofile to \first@\relax%
+ \xdef\first@{\expandafter\string\first@}%
+ \ifx\first@\par@%
+ \advance\loopcount by \res@perline%
+ \else
+ \xdef\first@{\first@ @}%
+ \expandafter\sublogo@get\first@%
+ \xdef\stack@sublogo{\stack@sublogo\first@}%
+ \advance\loopcount by 1%
+ \fi%
+ \fi%
+ \ifnum\loopcount=\res@perline\else\repeat%
+}
+\def\calc@sublogo{%
+ \xdef\seventh@{\csname res@num.2\endcsname}
+ \xdef\first@{\csname group@num2\endcsname}
+ \innerloopcount=\first@
+ \advance\innerloopcount by -\seventh@
+ \xdef\seventh@{\the\innerloopcount}
+ \xdef\eighth@{\csname res@num.1\endcsname}
+ \xdef\first@{\csname group@num1\endcsname}
+ \innerloopcount=\first@
+ \advance\innerloopcount by -\eighth@
+ \xdef\eighth@{\the\innerloopcount}
+ \xdef\nineth@{n}
+ \xdef\pos@max{0}
+ \xdef\pos@min{0}
+ \outerloopcount=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname}
+ \xdef\first@{\csname res@num\first@@ 1\endcsname} \xdef\temp@{\first@}
+ \temp@count=\first@
+ \ifnum\seventh@>0 \multiply\temp@count by \seventh@ \fi
+ \xdef\first@{\the\temp@count}
+ \xdef\second@{\csname res@num\first@@ 2\endcsname}
+ \temp@count=\temp@
+ \advance\temp@count by \second@\relax
+ \ifnum\temp@count>0
+ \temp@count=\second@
+ \ifnum\eighth@>0 \multiply\temp@count by \eighth@ \fi
+ \advance\temp@count by -\first@
+ \xdef\last@{\csname bit@pos\the\loopcount\endcsname}
+ \multiply\temp@count by \last@
+ \ifnum\seventh@>0 \divide\temp@count by \seventh@ \fi
+ \ifnum\eighth@>0 \divide\temp@count by \eighth@ \fi
+ \multiply\temp@count by \bit@max
+ \divide\temp@count by \group@correction
+ \ifx\hide@negatives\y@
+ \ifnum\temp@count>0 \else \temp@count=1 \fi%
+ \else
+ \ifnum\temp@count=0 \temp@count=1 \fi%
+ \fi
+ \expandafter\xdef\csname res@val\first@@\endcsname{\the\temp@count}
+ \expandafter\xdef\csname res@num\first@@ 1\endcsname{0}
+ \expandafter\xdef\csname res@num\first@@ 2\endcsname{0}
+ \xdef\nineth@{y}
+ \else
+ \expandafter\xdef\csname res@val\first@@\endcsname{0}
+ \expandafter\xdef\csname res@num\first@@ 1\endcsname{0}
+ \expandafter\xdef\csname res@num\first@@ 2\endcsname{0}
+ \fi
+ \ifnum\temp@count>\pos@max \xdef\pos@max{\the\temp@count}\fi
+ \ifnum\temp@count<\pos@min \xdef\pos@min{\the\temp@count}\fi
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>90\else\repeat
+ \expandafter\xdef\csname res@val\d@t\endcsname{0}
+ \expandafter\xdef\csname res@num\d@t 1\endcsname{0}
+ \expandafter\xdef\csname res@num\d@t 2\endcsname{0}
+ \temp@count=\pos@min\relax
+ \multiply\temp@count by -1\relax
+ \xdef\pos@min{\the\temp@count}
+ \ifnum\pos@min>\pos@max \xdef\pos@max{\pos@min}\fi
+ \temp@count=\pos@max
+ \multiply\temp@count by 100 \relax
+ \divide\temp@count by \bit@max \relax
+ \xdef\sublogo@num{\sublogo@num\the\temp@count,}
+ \ifnum\pos@max<\sig@max \xdef\sublogo@sig{\sublogo@sig n} \else \xdef\sublogo@sig{\sublogo@sig y} \fi
+ \ifx\nineth@\y@
+ \xdef\tmpstack{&:&,}
+ \outerloopcount=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname}
+ \xdef\second@@{\csname res@val\first@@\endcsname}
+ \ifnum\second@@=0
+ \else
+ \xdef\third@{\tmpstack @} \xdef\tmpstack{}
+ \sort@logostack
+ \fi
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>90
+ \immediate\write\featurefile{\expandafter\string\tmpstack&:&,}
+ \else\repeat
+ \else
+ \immediate\write\featurefile{\expandafter\string O:0,&:&,}
+ \fi
+}
+\def\do@sublogo{%
+ \ifnum\loopcount>\total@pos
+ \xdef\sublogo@sig{\sublogo@sig &@}
+ \else
+ \triple@count=1
+ \loop
+ \xdef\first@{\csname seq\the\triple@count\endcsname}
+ \expandafter\dis@get\first@
+ \ifnum\triple@count=\start@seq
+ \ifx\first@\d@t\else \advance\total@count by 1\relax\fi
+ \fi
+ \ifnum\loopcount<\start@number
+ \else
+ \ifnum\total@count>\end@num
+ \else
+ \ifx\first@\ampers@nd
+ \else
+ \xdef\second@{\csname subfamily@num\the\triple@count\endcsname}
+ \innerloopcount=\csname res@num\first@\second@\endcsname
+ \advance\innerloopcount by 1
+ \expandafter\xdef\csname res@num\first@\second@\endcsname{\the\innerloopcount}
+ \fi
+ \fi
+ \fi
+ \advance\triple@count by 1\relax
+ \ifnum\triple@count>\seq@count
+ \ifnum\loopcount<\start@number
+ \else
+ \ifnum\total@count>\end@num
+ \else
+ \calc@sublogo
+ \fi
+ \fi
+ \advance\loopcount by 1
+ \do@sublogo
+ \else
+ \repeat
+ \fi
+}
+\def\calc@logo{%
+ \xdef\second@{\csname res@num\d@t\endcsname}
+ \innerloopcount=\seq@count
+ \advance\innerloopcount by -\second@
+ \xdef\second@{\the\innerloopcount}
+ \xdef\seventh@{0}
+ \innerloopcount=0
+ \outerloopcount=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname}
+ \xdef\first@{\csname res@num\first@@\endcsname}
+ \ifnum\first@>0
+ \temp@count=\csname log2@\first@\endcsname
+ \advance\temp@count by -\csname log2@\second@\endcsname
+ \advance\temp@count by \csname res@corr\first@@\endcsname %%%% correct for background freq.
+ \multiply\temp@count by -\first@
+ \divide\temp@count by \second@
+ \advance\innerloopcount by \temp@count\relax
+ \fi
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>90\else\repeat
+ \if\seq@type P
+ \temp@count=\csname log2@20\endcsname
+ \else
+ \temp@count=\csname log2@4\endcsname
+ \fi
+ \advance\temp@count by -\innerloopcount
+ \multiply\temp@count by \second@
+ \divide\temp@count by \seq@count
+ \xdef\last@{\the\temp@count}
+ \xdef\nineth@{n}
+ \outerloopcount=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname}
+ \xdef\first@{\csname res@num\first@@\endcsname}
+ \ifnum\first@>0
+ \temp@count=\last@
+ \multiply\temp@count by \first@\relax
+ \divide\temp@count by \second@\relax
+ \ifnum\temp@count=0 %
+ \temp@count=1 %
+ \fi%
+ \expandafter\xdef\csname res@val\first@@\endcsname{\the\temp@count}
+ \expandafter\xdef\csname res@num\first@@\endcsname{0}
+ \xdef\nineth@{y}
+ \else
+ \expandafter\xdef\csname res@val\first@@\endcsname{0}
+ \fi
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>90\else\repeat
+ \expandafter\xdef\csname res@val\d@t\endcsname{0}
+ \expandafter\xdef\csname res@num\d@t\endcsname{0}
+ \ifx\nineth@\y@
+ \xdef\tmpstack{&:&,}
+ \outerloopcount=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname}
+ \xdef\second@@{\csname res@val\first@@\endcsname}
+ \ifnum\second@@>0
+ \xdef\third@{\tmpstack @} \xdef\tmpstack{}
+ \sort@logostack
+ \fi
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount>90
+ \xdef\stack@sequencelogo{\stack@sequencelogo\tmpstack&:&,}
+ \else\repeat
+ \else
+ \xdef\stack@sequencelogo{\stack@sequencelogo O:0,&:&,}
+ \fi
+}
+\def\get@fromlogostack#1:#2,#3@{%
+ \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3}
+}
+\def\sort@logostack{%
+ \expandafter\get@fromlogostack\third@
+ \ifx\first@\ampers@nd
+ \xdef\tmpstack{\tmpstack\first@@:\second@@,}
+ \else
+ \ifnum\second@@<0
+ \ifnum\second@>0
+ \xdef\tmpstack{\tmpstack\first@@:\second@@,\first@:\second@,\third@}
+ \else
+ \temp@count=\second@@\relax \multiply\temp@count by -1\relax
+ \triple@count=\second@\relax \multiply\triple@count by -1\relax
+ \ifnum\temp@count<\triple@count
+ \xdef\tmpstack{\tmpstack\first@@:\second@@,\first@:\second@,\third@}
+ \else
+ \xdef\tmpstack{\tmpstack\first@:\second@,}
+ \xdef\third@@{\third@ .}
+ \ifx\third@@\d@t
+ \xdef\third@{&:&,@}
+ \else
+ \xdef\third@{\third@ @}
+ \fi
+ \sort@logostack
+ \fi
+ \fi
+ \else
+ \ifnum\second@@<\second@
+ \xdef\tmpstack{\tmpstack\first@@:\second@@,\first@:\second@,\third@}
+ \else
+ \xdef\tmpstack{\tmpstack\first@:\second@,}
+ \xdef\third@@{\third@ .}
+ \ifx\third@@\d@t
+ \xdef\third@{&:&,@}
+ \else
+ \xdef\third@{\third@ @}
+ \fi
+ \sort@logostack
+ \fi
+ \fi
+ \fi
+}
+
+
+\def\calc@feature{%
+% \advance\pos@count by -1
+ \loopcount=-1 \innerloopcount=0
+ \loop
+ \advance\loopcount by 1
+ \ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
+ \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>\first@@
+ \else
+ \expandafter\ifnum\csname stop\bottop@\the\loopcount\endcsname<\first@@
+ \expandafter\getregion@fromfstack{\the\loopcount}
+ \else
+ \innerloopcount=\loopcount
+ \expandafter\ifnum\csname featureon\bottop@\endcsname=0
+ \expandafter\xdef\csname featureon\bottop@\endcsname{1}
+ \expandafter\xdef\csname feature@\bottop@\endcsname{1}
+ \expandafter\xdef\csname ftext\bottop@\the\loopcount\endcsname{%
+ \csname text\bottop@\the\loopcount\endcsname}
+ \expandafter\xdef\csname fstyle\bottop@\the\loopcount\endcsname{%
+ \csname style\bottop@\the\loopcount\endcsname}
+ \innerloopcount=\pos@count
+ \advance\innerloopcount by -\csname featurepos\bottop@\endcsname
+ \expandafter\xdef\csname textfeature\bottop@\endcsname{%
+ \csname textfeature\bottop@\endcsname%
+ &\the\innerloopcount;{};}
+ \expandafter\xdef\csname stylefeature\bottop@\endcsname{%
+ \csname stylefeature\bottop@\endcsname%
+ &\the\innerloopcount;&;}
+ \expandafter\xdef\csname featurepos\bottop@\endcsname{\the\pos@count}
+ \xdef\temp@@@{n}
+ \xdef\fourth@{}
+ \xdef\temp@{\csname ftext\bottop@\the\loopcount\endcsname}
+ \xdef\temp@{\temp@[,]:[,][]&}\expandafter\graph@opt@color\temp@
+ \ifx\fourth@\tr@ns \xdef\temp@@@{y} \fi
+ \xdef\fourth@{}
+ \xdef\temp@{\csname fstyle\bottop@\the\loopcount\endcsname}
+ \xdef\temp@{\temp@[,]:[,][]&}\expandafter\graph@opt@color\temp@
+ \ifx\fourth@\tr@ns \xdef\temp@@@{y} \fi
+ \ifx\temp@@@\y@
+ \ifnum\loopcount=0
+ \message{<No translations of the consensus sequence>}
+ \expandafter\xdef\csname ftext\bottop@\the\loopcount\endcsname{%
+ No consensus translations!}
+ \expandafter\xdef\csname fstyle\bottop@\the\loopcount\endcsname{%
+ ///}
+ \else
+ \if\seq@type P
+ \expandafter\xdef\csname collect@res\bottop@\endcsname{yes}
+ \expandafter\xdef\csname tr@nsseq\bottop@\endcsname{\the\loopcount}
+ \expandafter\xdef\csname tr@nslate\bottop@\endcsname{%
+ \csname res\the\loopcount\endcsname}
+ \else
+ \expandafter\xdef\csname collect@res\bottop@\endcsname{yes}
+ \expandafter\xdef\csname tr@nsseq\bottop@\endcsname{\the\loopcount}
+ \expandafter\ifx\csname res\the\loopcount\endcsname\gap@char
+ \expandafter\xdef\csname triple@count\bottop@\endcsname{0}
+ \expandafter\xdef\csname tr@nslate\bottop@\endcsname{-}
+ \else
+ \expandafter\xdef\csname triple@count\bottop@\endcsname{1}
+ \expandafter\xdef\csname tr@nslate\bottop@\endcsname{%
+ \csname res\the\loopcount\endcsname}
+ \expandafter\xdef\csname last@@res\bottop@\endcsname{%
+ \csname res\the\loopcount\endcsname}
+ \fi
+ \fi
+ \fi
+ \fi
+ \xdef\temp@{plot}
+ \ifx\temp@\fourth@
+ \ifnum\loopcount=0
+ \message{<No bar graphs/scales with the consensus sequence>}
+ \expandafter\xdef\csname ftext\bottop@\the\loopcount\endcsname{}
+ \expandafter\xdef\csname fstyle\bottop@\the\loopcount\endcsname{%
+ ///}
+ \else
+ \expandafter\xdef\csname collect@val\bottop@\endcsname{yes}
+ \expandafter\xdef\csname v@lseq\bottop@\endcsname{\the\loopcount}
+ \expandafter\xdef\csname ffourth@\bottop@\endcsname{\ffourth@}
+ \xdef\temp@{\ffourth@\csname res\the\loopcount\endcsname}
+ \expandafter\xdef\csname v@l\bottop@\endcsname{\csname \temp@\endcsname}
+ \fi
+ \fi
+ \xdef\temp@{cons}
+ \ifx\temp@\fourth@
+ \expandafter\xdef\csname collect@cons@graph\bottop@\endcsname{yes}
+ \expandafter\xdef\csname v@lseq\bottop@\endcsname{\the\loopcount}
+ \expandafter\xdef\csname ffourth@\bottop@\endcsname{\ffourth@}
+ \innerloopcount=1
+ \collect@cons@res
+ \expandafter\xdef\csname v@l\bottop@\endcsname{\cons@val}
+ \fi
+ \else
+ \ifnum\pos@count=1\relax
+ \xdef\temp@{\csname fstyle\bottop@\the\loopcount\endcsname @}
+ \expandafter\getstyle@right\temp@
+ \xdef\temp@@@{n}
+ \xdef\fourth@{}
+ \xdef\temp@{\csname ftext\bottop@\the\loopcount\endcsname}
+ \xdef\temp@{\temp@[,]:[,][]&}\expandafter\graph@opt@color\temp@
+ \ifx\fourth@\tr@ns \xdef\temp@@@{y} \fi
+ \xdef\fourth@{}
+ \xdef\temp@{\csname fstyle\bottop@\the\loopcount\endcsname}
+ \xdef\temp@{\temp@[,]:[,][]&}\expandafter\graph@opt@color\temp@
+ \ifx\fourth@\tr@ns \xdef\temp@@@{y} \fi
+ \ifx\temp@@@\y@
+ \if\seq@type P
+ \expandafter\xdef\csname tr@nslate\bottop@\endcsname{%
+ \csname res\the\loopcount\endcsname}
+ \else
+ \expandafter\ifnum\csname triple@count\bottop@\endcsname=2
+ \expandafter\ifx\csname res\the\loopcount\endcsname\gap@char
+ \else
+ \expandafter\xdef\csname tr@nslate\bottop@\endcsname{%
+ +\csname last@res\bottop@\endcsname%
+ \csname tr@nslate\bottop@\endcsname}
+ \fi
+ \fi
+ \expandafter\ifnum\csname triple@count\bottop@\endcsname=1
+ \expandafter\xdef\csname last@res\bottop@\endcsname{%
+ \csname last@@res\bottop@\endcsname}
+ \expandafter\ifx\csname res\the\loopcount\endcsname\gap@char
+ \expandafter\xdef\csname tr@nslate\bottop@\endcsname{%
+ +\csname last@res\bottop@\endcsname%
+ \csname tr@nslate\bottop@\endcsname}
+ \fi
+ \fi
+ \fi
+ \fi
+ \xdef\temp@{plot}
+ \ifx\temp@\fourth@
+ \expandafter\ifx\csname res\the\loopcount\endcsname\gap@char
+ \expandafter\xdef\csname v@l\bottop@\endcsname{N}
+ \else
+ \xdef\temp@{\ffourth@\csname res\the\loopcount\endcsname}
+ \expandafter\xdef\csname v@l\bottop@\endcsname{%
+ \csname \temp@\endcsname}
+ \fi
+ \fi
+ \xdef\temp@{cons}
+ \ifx\temp@\fourth@
+ \innerloopcount=1
+ \collect@cons@res
+ \expandafter\xdef\csname v@l\bottop@\endcsname{\cons@val}
+ \fi
+ \fi
+ \fi
+ \expandafter\ifnum\csname stop\bottop@\the\loopcount\endcsname=\first@@
+ \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\temp@@@{n}
+ \xdef\fourth@{}
+ \xdef\temp@{\csname ftext\bottop@\the\loopcount\endcsname}
+ \xdef\temp@{\temp@[,]:[,][]&}\expandafter\graph@opt@color\temp@
+ \ifx\fourth@\tr@ns
+ \ifx\f@color\comm@
+ \xdef\f@color{} \else \xdef\f@color{[\f@color]}
+ \fi
+ \xdef\tr@nsl@ted{\csname tr@nslate\bottop@\endcsname}
+ \if\seq@type N \do@translation \else \rev@translation \fi
+ \xdef\temp@{translate:\tr@nsl@ted\f@color}
+ \xdef\temp@@@{y}
+ \else
+ \xdef\temp@{\csname ftext\bottop@\the\loopcount\endcsname}
+ \fi
+ \xdef\fourth@{}
+ \xdef\temp@@{\csname fstyle\bottop@\the\loopcount\endcsname}
+ \xdef\temp@@{\temp@@[,]:[,][]&}\expandafter\graph@opt@color\temp@@
+ \ifx\fourth@\tr@ns
+ \ifx\f@color\comm@
+ \xdef\f@color{} \else \xdef\f@color{[\f@color]}
+ \fi
+ \xdef\tr@nsl@ted{\csname tr@nslate\bottop@\endcsname}
+ \if\seq@type N \do@translation \else \rev@translation \fi
+ \xdef\temp@@{translate:\tr@nsl@ted\f@color}
+ \xdef\temp@@@{y}
+ \else
+ \xdef\temp@@{plot}
+ \ifx\temp@@\fourth@
+ \xdef\temp@@{plot\f@color[\fffourth@]:\csname v@l\bottop@\endcsname[\ff@color]}
+ \expandafter\xdef\csname collect@val\bottop@\endcsname{no}
+ \expandafter\xdef\csname v@l\bottop@\endcsname{}
+ \else
+ \xdef\temp@@{cons}
+ \ifx\temp@@\fourth@
+ \xdef\temp@@{plot\f@color[\fffourth@]:\csname v@l\bottop@\endcsname[\ff@color]}
+ \expandafter\xdef\csname collect@cons@graph\bottop@\endcsname{no}
+ \expandafter\xdef\csname v@l\bottop@\endcsname{}
+ \else
+ \xdef\temp@@{\csname fstyle\bottop@\the\loopcount\endcsname}
+ \fi
+ \fi
+ \fi
+ \ifx\temp@@@\y@
+ \expandafter\xdef\csname collect@res\bottop@\endcsname{no}
+ \expandafter\xdef\csname tr@nslate\bottop@\endcsname{}
+ \fi
+ \expandafter\ifnum\csname featureon\bottop@\endcsname=1
+ \expandafter\xdef\csname featureon\bottop@\endcsname{0}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \advance\innerloopcount by -\csname featurepos\bottop@\endcsname
+ \expandafter\xdef\csname textfeature\bottop@\endcsname{%
+ \csname textfeature\bottop@\endcsname%
+ &\the\innerloopcount;\temp@;}
+ \expandafter\xdef\csname stylefeature\bottop@\endcsname{%
+ \csname stylefeature\bottop@\endcsname%
+ &\the\innerloopcount;\temp@@;}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \expandafter\xdef\csname %
+ featurepos\bottop@\endcsname{\the\innerloopcount}
+ \fi
+ \fi
+ \ifnum\pos@count=\res@perline
+ \expandafter\ifnum\csname featureon\bottop@\endcsname=1
+ \innerloopcount=\pos@count
+ \advance\innerloopcount by 1
+ \advance\innerloopcount by -\csname featurepos\bottop@\endcsname
+ \xdef\temp@{\csname fstyle\bottop@\the\loopcount\endcsname @}
+ \expandafter\getstyle@left\temp@
+ \xdef\temp@@@{n}
+ \xdef\fourth@{}
+ \xdef\temp@{\csname ftext\bottop@\the\loopcount\endcsname}
+ \xdef\temp@{\temp@[,]:[,][]&}\expandafter\graph@opt@color\temp@
+ \ifx\fourth@\tr@ns
+ \ifx\f@color\comm@
+ \xdef\f@color{} \else \xdef\f@color{[\f@color]}
+ \fi
+ \expandafter\ifnum\csname triple@count\bottop@\endcsname=2
+ \if\seq@type N
+ \xdef\temp@{\csname sequence\the\loopcount\endcsname:}
+ \expandafter\get@nextres\temp@
+ \xdef\tr@nsl@ted{\csname tr@nslate\bottop@\endcsname\temp@}
+ \do@translation
+ \xdef\temp@@@{2}
+ \else
+ \xdef\tr@nsl@ted{\csname tr@nslate\bottop@\endcsname}
+ \rev@translation
+ \xdef\temp@@@{}
+ \fi
+ \xdef\temp@{translate:\tr@nsl@ted\f@color}
+ \else
+ \xdef\tr@nsl@ted{\csname tr@nslate\bottop@\endcsname}
+ \if\seq@type N \do@translation \else \rev@translation \fi
+ \xdef\temp@{translate:\tr@nsl@ted\f@color}
+ \xdef\temp@@@{}
+ \fi
+ \else \xdef\temp@{\csname ftext\bottop@\the\loopcount\endcsname}
+ \fi
+ \xdef\fourth@{}
+ \xdef\temp@@{\csname fstyle\bottop@\the\loopcount\endcsname}
+ \xdef\temp@@{\temp@@[,]:[,][]&}\expandafter\graph@opt@color\temp@@
+ \ifx\fourth@\tr@ns
+ \ifx\f@color\comm@
+ \xdef\f@color{} \else \xdef\f@color{[\f@color]}
+ \fi
+ \expandafter\ifnum\csname triple@count\bottop@\endcsname=2
+ \if\seq@type N
+ \xdef\temp@@{\csname sequence\the\loopcount\endcsname:}
+ \expandafter\get@@nextres\temp@@
+ \xdef\tr@nsl@ted{\csname tr@nslate\bottop@\endcsname\temp@@}
+ \do@translation
+ \xdef\temp@@@{2}
+ \else
+ \xdef\tr@nsl@ted{\csname tr@nslate\bottop@\endcsname}
+ \rev@translation
+ \xdef\temp@@@{}
+ \fi
+ \xdef\temp@@{translate:\tr@nsl@ted\f@color}
+ \else
+ \xdef\tr@nsl@ted{\csname tr@nslate\bottop@\endcsname}
+ \if\seq@type N \do@translation \else \rev@translation \fi
+ \xdef\temp@@{translate:\tr@nsl@ted\f@color}
+ \xdef\temp@@@{}
+ \fi
+ \else
+ \xdef\temp@@{plot}
+ \ifx\temp@@\fourth@
+ \xdef\temp@@{plot\f@color[\fffourth@]:\csname v@l\bottop@\endcsname[\ff@color]}
+ \else
+ \xdef\temp@@{cons}
+ \ifx\temp@@\fourth@
+ \xdef\temp@@{plot\f@color[\fffourth@]:\csname v@l\bottop@\endcsname[\ff@color]}
+ \else
+ \xdef\temp@@{\style@@}
+ \fi
+ \fi
+ \fi
+ \ifx\temp@@@\n@
+ \else
+ \expandafter\xdef\csname tr@nslate\bottop@\endcsname{\temp@@@}
+ \fi
+ \expandafter\xdef\csname textfeature\bottop@\endcsname{%
+ \csname textfeature\bottop@\endcsname%
+ &\the\innerloopcount;\temp@;}
+ \expandafter\xdef\csname stylefeature\bottop@\endcsname{%
+ \csname stylefeature\bottop@\endcsname%
+ &\the\innerloopcount;\temp@@;}
+ \innerloopcount=\pos@count \advance\innerloopcount by 1
+ \expandafter\xdef\csname %
+ featurepos\bottop@\endcsname{\the\innerloopcount}
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifnum\loopcount<\seq@count \repeat
+% \advance\pos@count by 1
+}
+
+\def\add@to@rule@tens{%
+ \advance\innerloopcount by \ruler@step\relax
+ \ifnum\innerloopcount=0
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi
+ \fi
+ \expandafter\ifnum\csname res@count\rule@num\endcsname>\innerloopcount \add@to@rule@tens
+ \else
+ \xdef\rule@tens{\the\innerloopcount}
+ \fi
+}
+
+
+\def\c@nsensus{%
+ \ifnum\pos@count>\res@perline
+ \else
+ \loopcount=0
+ \ifx\g@p\n@
+ \global\advance\cons@count by 1\relax
+ \fi
+ \ifnum\cons@count=0\relax
+ \ifx\allow@zero\n@ \global\advance\cons@count by 1 \fi
+ \fi
+ \ifT@coffee
+ \xdef\TC@line{\csname T@coffee0\endcsname}
+ \expandafter\TC@get\TC@line
+ \fi
+ \expandafter\xdef\csname res@count0\endcsname{\the\cons@count}
+ \loop
+ \advance\loopcount by 1
+ \ifT@coffee
+ \xdef\TC@line{\csname T@coffee\the\loopcount\endcsname}
+ \expandafter\TC@get\TC@line
+ \xdef\TC@first@{\csname TC@num\the\loopcount\endcsname}
+ \fi
+ \xdef\seq@line{\csname sequence\the\loopcount\endcsname}
+ \expandafter\residue@get\seq@line
+ \xdef\first@{\csname res\the\loopcount\endcsname}
+ \innerloopcount=\csname res@num\first@\endcsname
+ \advance\innerloopcount by 1
+ \expandafter\xdef\csname res@num\first@\endcsname{\the\innerloopcount}
+ \expandafter\check@char\first@
+ \ifx\dom@in\y@ %%%%%%%%%%%*****
+ \xdef\temp@{\csname dom@num\the\loopcount\endcsname}
+ \expandafter\get@dom@count\temp@
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\temp@}
+ \fi %%%%%%%%%%%*****
+ \ifletter
+ \ifx\dom@in\y@
+ \else
+ \res@count=\csname res@count\the\loopcount\endcsname
+ \advance\res@count by 1
+ \ifnum\res@count=0\relax
+ \ifx\allow@zero\n@ \advance\res@count by 1 \fi
+ \fi
+ \fi
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
+ \ifnum\loopcount=\exp@rt@num \xdef\sixth@{\the\res@count}\xdef\seventh@{y}\fi
+ \ifnum\loopcount=\rule@num\relax
+ \expandafter\ifnum\csname res@count\rule@num\endcsname>\rule@tens
+ \innerloopcount=\rule@tens \add@to@rule@tens
+ \fi
+ \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens
+ \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax
+ \xdef\temp@{\rule@tens}
+ \else
+ \xdef\temp@{\csname alt@ruler\rule@tens\endcsname}
+ \fi
+ \xdef\ruler@{\ruler@ !<\temp@>}
+ \else
+ \xdef\ruler@{\ruler@ -}
+ \fi
+ \xdef\temp@{\csname res@count\rule@num\endcsname}
+ \expandafter\ifx\csname alt@ruler\temp@\endcsname\relax
+ \else
+ \expandafter\xdef\csname alt@ruler\temp@\endcsname{\temp@}
+ \fi
+ \fi
+ \ifx\collect@valtop\yes
+ \ifnum\v@lseqtop=\loopcount
+ \xdef\v@ltop{\v@ltop,\csname \ffourth@top\first@\endcsname}
+ \fi\fi
+ \ifx\collect@valttop\yes
+ \ifnum\v@lseqttop=\loopcount
+ \xdef\v@lttop{\v@lttop,\csname \ffourth@ttop\first@\endcsname}
+ \fi\fi
+ \ifx\collect@valtttop\yes
+ \ifnum\v@lseqtttop=\loopcount
+ \xdef\v@ltttop{\v@ltttop,\csname \ffourth@tttop\first@\endcsname}
+ \fi\fi
+ \ifx\collect@valttttop\yes
+ \ifnum\v@lseqttttop=\loopcount
+ \xdef\v@lttttop{\v@lttttop,\csname \ffourth@ttttop\first@\endcsname}
+ \fi\fi
+ \ifx\collect@valbottom\yes
+ \ifnum\v@lseqbottom=\loopcount
+ \xdef\v@lbottom{\v@lbottom,\csname \ffourth@bottom\first@\endcsname}
+ \fi\fi
+ \ifx\collect@valbbottom\yes
+ \ifnum\v@lseqbbottom=\loopcount
+ \xdef\v@lbbottom{\v@lbbottom,\csname \ffourth@bbottom\first@\endcsname}
+ \fi\fi
+ \ifx\collect@valbbbottom\yes
+ \ifnum\v@lseqbbbottom=\loopcount
+ \xdef\v@lbbbottom{\v@lbbbottom,\csname \ffourth@bbbottom\first@\endcsname}
+ \fi\fi
+ \ifx\collect@valbbbbottom\yes
+ \ifnum\v@lseqbbbbottom=\loopcount
+ \xdef\v@lbbbbottom{\v@lbbbbottom,\csname \ffourth@bbbbottom\first@\endcsname}
+ \fi\fi
+ \ifx\collect@restop\yes
+ \ifnum\tr@nsseqtop=\loopcount
+ \xdef\last@restop{\last@@restop}
+ \xdef\last@@restop{\first@}
+ \xdef\tr@nslatetop{\tr@nslatetop\first@}
+ \innerloopcount=\triple@counttop
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>3 \innerloopcount=1 \fi
+ \xdef\triple@counttop{\the\innerloopcount}
+ \fi\fi
+ \ifx\collect@resttop\yes
+ \ifnum\tr@nsseqttop=\loopcount
+ \xdef\last@resttop{\last@@resttop}
+ \xdef\last@@resttop{\first@}
+ \xdef\tr@nslatettop{\tr@nslatettop\first@}
+ \innerloopcount=\triple@countttop
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>3 \innerloopcount=1 \fi
+ \xdef\triple@countttop{\the\innerloopcount}
+ \fi\fi
+ \ifx\collect@restttop\yes
+ \ifnum\tr@nsseqtttop=\loopcount
+ \xdef\last@restttop{\last@@restttop}
+ \last@@restttop{\first@}
+ \xdef\tr@nslatetttop{\tr@nslatetttop\first@}
+ \innerloopcount=\triple@counttttop
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>3 \innerloopcount=1 \fi
+ \xdef\triple@counttttop{\the\innerloopcount}
+ \fi\fi
+ \ifx\collect@resttttop\yes
+ \ifnum\tr@nsseqttttop=\loopcount
+ \xdef\last@resttttop{\last@@resttttop}
+ \xdef\last@@resttttop{\first@}
+ \xdef\tr@nslatettttop{\tr@nslatettttop\first@}
+ \innerloopcount=\triple@countttttop
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>3 \innerloopcount=1 \fi
+ \xdef\triple@countttttop{\the\innerloopcount}
+ \fi\fi
+ \ifx\collect@resbottom\yes
+ \ifnum\tr@nsseqbottom=\loopcount
+ \xdef\last@resbottom{\last@@resbottom}
+ \xdef\last@@resbottom{\first@}
+ \xdef\tr@nslatebottom{\tr@nslatebottom\first@}
+ \innerloopcount=\triple@countbottom
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>3 \innerloopcount=1 \fi
+ \xdef\triple@countbottom{\the\innerloopcount}
+ \fi\fi
+ \ifx\collect@resbbottom\yes
+ \ifnum\tr@nsseqbbottom=\loopcount
+ \xdef\last@resbbottom{\last@@resbbottom}
+ \xdef\last@@resbbottom{\first@}
+ \xdef\tr@nslatebbottom{\tr@nslatebbottom\first@}
+ \innerloopcount=\triple@countbbottom
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>3 \innerloopcount=1 \fi
+ \xdef\triple@countbbottom{\the\innerloopcount}
+ \fi\fi
+ \ifx\collect@resbbbottom\yes
+ \ifnum\tr@nsseqbbbottom=\loopcount
+ \xdef\last@resbbbottom{\last@@resbbbottom}
+ \xdef\last@@resbbbottom{\first@}
+ \xdef\tr@nslatebbbottom{\tr@nslatebbbottom\first@}
+ \innerloopcount=\triple@countbbbottom
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>3 \innerloopcount=1 \fi
+ \xdef\triple@countbbbottom{\the\innerloopcount}
+ \fi\fi
+ \ifx\collect@resbbbbottom\yes
+ \ifnum\tr@nsseqbbbbottom=\loopcount
+ \xdef\last@resbbbbottom{\last@@resbbbbottom}
+ \xdef\last@@resbbbbottom{\first@}
+ \xdef\tr@nslatebbbbottom{\tr@nslatebbbbottom\first@}
+ \innerloopcount=\triple@countbbbbottom
+ \advance\innerloopcount by 1
+ \ifnum\innerloopcount>3 \innerloopcount=1 \fi
+ \xdef\triple@countbbbbottom{\the\innerloopcount}
+ \fi\fi
+ \innerloopcount=\csname mol@weight\the\loopcount\endcsname
+ \advance\innerloopcount by \csname \prefix@ mw\first@\endcsname
+ \expandafter\xdef\csname mol@weight\the\loopcount\endcsname{%
+ \the\innerloopcount}
+ \innerloopcount=\csname ch@rge\the\loopcount\endcsname
+ \advance\innerloopcount by \csname pepcharge\first@\endcsname
+ \expandafter\xdef\csname ch@rge\the\loopcount\endcsname{%
+ \the\innerloopcount}
+ \else
+ \ifnum\loopcount=\rule@num \xdef\ruler@{\ruler@ -} \fi
+ \ifx\collect@valtop\yes
+ \ifnum\v@lseqtop=\loopcount
+ \xdef\v@ltop{\v@ltop,N}
+ \fi\fi
+ \ifx\collect@valttop\yes
+ \ifnum\v@lseqttop=\loopcount
+ \xdef\v@lttop{\v@lttop,N}
+ \fi\fi
+ \ifx\collect@valtttop\yes
+ \ifnum\v@lseqtttop=\loopcount
+ \xdef\v@ltttop{\v@ltttop,N}
+ \fi\fi
+ \ifx\collect@valttttop\yes
+ \ifnum\v@lseqttttop=\loopcount
+ \xdef\v@lttttop{\v@lttttop,N}
+ \fi\fi
+ \ifx\collect@valbottom\yes
+ \ifnum\v@lseqbottom=\loopcount
+ \xdef\v@lbottom{\v@lbottom,N}
+ \fi\fi
+ \ifx\collect@valbbottom\yes
+ \ifnum\v@lseqbbottom=\loopcount
+ \xdef\v@lbbottom{\v@lbbottom,N}
+ \fi\fi
+ \ifx\collect@valbbbottom\yes
+ \ifnum\v@lseqbbbottom=\loopcount
+ \xdef\v@lbbbottom{\v@lbbbottom,N}
+ \fi\fi
+ \ifx\collect@valbbbbottom\yes
+ \ifnum\v@lseqbbbbottom=\loopcount
+ \xdef\v@lbbbbottom{\v@lbbbbottom,N}
+ \fi\fi
+ \ifx\collect@restop\yes
+ \ifnum\tr@nsseqtop=\loopcount
+ \xdef\tr@nslatetop{\tr@nslatetop -}
+ \fi\fi
+ \ifx\collect@resttop\yes
+ \ifnum\tr@nsseqttop=\loopcount
+ \xdef\tr@nslatettop{\tr@nslatettop -}
+ \fi\fi
+ \ifx\collect@restttop\yes
+ \ifnum\tr@nsseqtttop=\loopcount
+ \xdef\tr@nslatetttop{\tr@nslatetttop -}
+ \fi\fi
+ \ifx\collect@resttttop\yes
+ \ifnum\tr@nsseqttttop=\loopcount
+ \xdef\tr@nslatettttop{\tr@nslatettttop -}
+ \fi\fi
+ \ifx\collect@resbottom\yes
+ \ifnum\tr@nsseqbottom=\loopcount
+ \xdef\tr@nslatebottom{\tr@nslatebottom -}
+ \fi\fi
+ \ifx\collect@resbbottom\yes
+ \ifnum\tr@nsseqbbottom=\loopcount
+ \xdef\tr@nslatebbottom{\tr@nslatebbottom -}
+ \fi\fi
+ \ifx\collect@resbbbottom\yes
+ \ifnum\tr@nsseqbbbottom=\loopcount
+ \xdef\tr@nslatebbbottom{\tr@nslatebbbottom -}
+ \fi\fi
+ \ifx\collect@resbbbbottom\yes
+ \ifnum\tr@nsseqbbbbottom=\loopcount
+ \xdef\tr@nslatebbbbottom{\tr@nslatebbbbottom -}
+ \fi\fi
+ \fi
+ \ifnum\loopcount<\seq@count \repeat
+ \ifx\collect@cons@graphtop\yes
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \xdef\v@ltop{\v@ltop,\cons@val}
+ \fi
+ \ifx\collect@cons@graphttop\yes
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \xdef\v@lttop{\v@lttop,\cons@val}
+ \fi
+ \ifx\collect@cons@graphtttop\yes
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \xdef\v@ltttop{\v@ltttop,\cons@val}
+ \fi
+ \ifx\collect@cons@graphttttop\yes
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \xdef\v@lttttop{\v@lttttop,\cons@val}
+ \fi
+ \ifx\collect@cons@graphbottom\yes
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \xdef\v@lbottom{\v@lbottom,\cons@val}
+ \fi
+ \ifx\collect@cons@graphbbottom\yes
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \xdef\v@lbbottom{\v@lbbottom,\cons@val}
+ \fi
+ \ifx\collect@cons@graphbbbottom\yes
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \xdef\v@lbbbottom{\v@lbbbottom,\cons@val}
+ \fi
+ \ifx\collect@cons@graphbbbbottom\yes
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \xdef\v@lbbbbottom{\v@lbbbbottom,\cons@val}
+ \fi
+ \ifx\collect@cons@colors\y@
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \outerloopcount=\cons@val
+ \advance\outerloopcount by 4
+ \divide\outerloopcount by 5
+ \multiply\outerloopcount by 5
+ \ifnum\outerloopcount<5\relax\outerloopcount=5\fi
+ \xdef\c@nscol{\c@nscol\the\outerloopcount,}
+ \fi
+ \ifx\exp@rt\y@
+ \ifx\seventh@\y@
+ \outerloopcount=1\relax
+ \temp@count=0\relax
+ \sum@up@cons
+ \outerloopcount=\cons@val
+ \advance\outerloopcount by 4
+ \divide\outerloopcount by 5
+ \multiply\outerloopcount by 5
+ \ifnum\outerloopcount<5\relax\outerloopcount=5\fi
+ \xdef\seventh@{n}
+ \immediate\write\exp@rtfile{\string color col\the\outerloopcount, resi \sixth@}
+ \fi
+ \fi
+
+ \xdef\g@p{n}
+ \ifregionalshadenow \calc@regshade \fi
+ \ifregionaltintnow \calc@regtint \fi
+ \ifregionalemphnow \calc@regemph \fi
+ \ifregionallowernow \calc@reglower \fi
+ \ifframenow \calc@frame \fi
+ \ifshadingnow\iffuncmode\else\ifT@coffee\else \calc@shading \fi\fi\fi
+ \iftopfeaturenow \xdef\bottop@{top} \calc@feature \fi
+ \ifttopfeaturenow \xdef\bottop@{ttop} \calc@feature \fi
+ \iftttopfeaturenow \xdef\bottop@{tttop} \calc@feature \fi
+ \ifttttopfeaturenow \xdef\bottop@{ttttop} \calc@feature \fi
+ \ifbottomfeaturenow \xdef\bottop@{bottom} \calc@feature \fi
+ \ifbbottomfeaturenow \xdef\bottop@{bbottom} \calc@feature \fi
+ \ifbbbottomfeaturenow \xdef\bottop@{bbbottom} \calc@feature \fi
+ \ifbbbbottomfeaturenow \xdef\bottop@{bbbbottom} \calc@feature \fi
+ \ifnum\seq@count>1 \innerloopcount=1 \collect@similarity \fi
+ \advance\pos@count by 1
+ \ifshow@logo \calc@logo \fi
+ \ifall@fshade \all@funcshade
+ \else
+ \ifT@coffee \T@coffee@shade
+ \else
+ \ifnum\cons@num>0 \loopcount=\cons@num \else \loopcount=\seq@count \fi
+ \xdef\match@case{0} \xdef\m@x{1}
+ \iffuncmode
+ \xdef\prfx{\prefix@} \xdef\prefix@{func} \xdef\c@se{3} \check@sim
+ \xdef\prefix@{\prfx}
+ \else \xdef\c@se{1} \check@ident \fi
+ \ifcase\match@case \unc@nserved \or \c@nserved \or \allm@tch \else \functi@nal \fi
+ \fi
+ \fi
+ \ifnum\rule@num=0
+ \ifx\g@p\y@
+ \xdef\ruler@{\ruler@ -}
+ \else
+ \ifnum\cons@count=\rule@tens
+ \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax
+ \xdef\temp@{\rule@tens}
+ \else
+ \xdef\temp@{\csname alt@ruler\rule@tens\endcsname}
+ \fi
+ \xdef\ruler@{\ruler@ !<\temp@>}
+ \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step\relax
+ \ifnum\innerloopcount=0
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi
+ \fi
+ \xdef\rule@tens{\the\innerloopcount}
+ \else
+ \xdef\ruler@{\ruler@ -}
+ \fi
+ \expandafter\ifx\csname alt@ruler\the\cons@count\endcsname\relax
+ \else
+ \expandafter\xdef\csname alt@ruler\the\cons@count\endcsname{\the\cons@count}
+ \fi
+ \fi
+ \fi
+ \expandafter\ifnum\csname res@count\start@seq\endcsname<\end@num\relax
+ \c@nsensus
+ \else
+ \global\stop@true
+ \loopcount=\pos@count \advance\loopcount by -1 \relax
+ \res@perline=\loopcount
+ \iftopfeature \xdef\bottop@{top} \calc@feature \fi
+ \ifttopfeature \xdef\bottop@{ttop} \calc@feature \fi
+ \iftttopfeature \xdef\bottop@{tttop} \calc@feature \fi
+ \ifttttopfeature \xdef\bottop@{ttttop} \calc@feature \fi
+ \ifbottomfeature \xdef\bottop@{bottom} \calc@feature \fi
+ \ifbbottomfeature \xdef\bottop@{bbottom} \calc@feature \fi
+ \ifbbbottomfeature \xdef\bottop@{bbbottom} \calc@feature \fi
+ \ifbbbbottomfeature \xdef\bottop@{bbbbottom} \calc@feature \fi
+ \pos@count=0
+ \fi
+ \fi}
+
+\def\prep@reexp@rtfile{
+ \loopcount=0
+ \loop
+ \advance\loopcount by 5
+ \immediate\write\exp@rtfile{\string set_color col\the\loopcount, \csname\c@nsc@l\the\loopcount\endcsname}
+ \ifnum\loopcount>95\else\repeat
+}
+
+\def\c@unt{%
+ \advance\loopcount by 1
+ \ifT@coffee
+ \xdef\seq@line{\csname T@coffee\the\loopcount\endcsname}
+ \expandafter\TC@get\seq@line
+ \fi
+ \xdef\seq@line{\csname sequence\the\loopcount\endcsname}
+ \expandafter\residue@get\seq@line
+ \xdef\first@{\csname res\the\loopcount\endcsname}
+ \expandafter\check@char\first@
+ \ifletter
+ \res@count=\csname res@count\the\loopcount\endcsname
+ \advance\res@count by 1
+ \ifnum\res@count=0
+ \ifx\allow@zero\n@ \advance\res@count by 1 \fi
+ \fi
+ \ifx\dom@in\y@
+ \xdef\temp@{\csname dom@num\the\loopcount\endcsname}
+ \expandafter\get@dom@count\temp@
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\temp@}
+ \fi %%%%%%%%%%%*****
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
+ \ifnum\rule@num=\loopcount
+ \temp@count=\csname res@count\the\loopcount\endcsname
+ \advance\temp@count by \ruler@step
+ \divide\temp@count by \ruler@step
+ \multiply\temp@count by \ruler@step
+ \xdef\rule@tens{\the\temp@count}
+ \fi
+ \fi
+ \ifnum\loopcount<\seq@count \c@unt\fi}
+\def\count@first{%
+ \advance\end@count by 1
+ \ifnum\end@count<\start@number
+ \loopcount=0
+ \ifT@coffee
+ \xdef\seq@line{\csname T@coffee\the\loopcount\endcsname}
+ \expandafter\TC@get\seq@line
+ \fi
+ \c@unt
+ \count@first
+ \fi}
+\def\findc@nsensus{%
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname sequence\the\loopcount\endcsname{%
+ \csname sequence\the\loopcount\endcsname @}
+ \ifnum\loopcount<\seq@count \repeat
+ \end@count=0 \count@first \end@count=0 \xdef\start@number{0}
+ \topfeaturenowfalse \bottomfeaturenowfalse
+ \ttopfeaturenowfalse \bbottomfeaturenowfalse
+ \tttopfeaturenowfalse \bbbottomfeaturenowfalse
+ \ttttopfeaturenowfalse \bbbbottomfeaturenowfalse
+ \innerloopcount=\cons@count
+ \advance\innerloopcount by \res@perline \advance\innerloopcount by 1
+ \loopcount=0
+ \ifregionalshade
+ \expandafter\ifx\csname start\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \regionalshadenowtrue
+ \fi
+ \fi
+ \fi
+ \ifregionaltint
+ \expandafter\ifx\csname tintstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname tintstart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \regionaltintnowtrue
+ \fi
+ \fi
+ \fi
+ \ifregionalemph
+ \expandafter\ifx\csname emphstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname emphstart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \regionalemphnowtrue
+ \fi
+ \fi
+ \fi
+ \ifregionallower
+ \expandafter\ifx\csname lowerstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname lowerstart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \regionallowernowtrue
+ \fi
+ \fi
+ \fi
+ \ifframe@
+ \expandafter\ifx\csname framestart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname framestart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \framenowtrue
+ \fi
+ \fi
+ \fi
+ \ifshading@
+ \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \shadingnowtrue
+ \fi
+ \fi
+ \fi
+ \iftopfeature
+ \xdef\bottop@{top}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \topfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifttopfeature
+ \xdef\bottop@{ttop}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \ttopfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \iftttopfeature
+ \xdef\bottop@{tttop}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \tttopfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifttttopfeature
+ \xdef\bottop@{ttttop}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \ttttopfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifbottomfeature
+ \xdef\bottop@{bottom}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \bottomfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifbbottomfeature
+ \xdef\bottop@{bbottom}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \bbottomfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifbbbottomfeature
+ \xdef\bottop@{bbbottom}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \bbbottomfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifbbbbottomfeature
+ \xdef\bottop@{bbbbottom}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \bbbbottomfeaturenowtrue
+ \fi
+ \fi
+ \fi
+\loop
+ \advance\loopcount by 1
+ \ifnumbers@left
+ \innerloopcount=\csname seq@len\the\loopcount\endcsname\relax
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname=%
+ \innerloopcount
+ \res@count=\innerloopcount
+ \else
+ \res@count=\csname res@count\the\loopcount\endcsname
+ \advance\res@count by 1
+ \ifnum\res@count=0
+ \ifx\allow@zero\n@ \advance\res@count by 1 \fi
+ \fi
+ \fi
+ \ifx\dom@in\y@
+ \xdef\temp@{\csname dom@num\the\loopcount\endcsname}
+ \expandafter\get@dom@count\temp@
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\the\res@count,\temp@}
+ \fi %%%%%%%%%%*****
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
+ \ifnames@right
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{%
+ \csname res@count\the\loopcount\endcsname)}
+ \else
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{%
+ <\csname newseqname\the\loopcount\endcsname>
+ \csname res@count\the\loopcount\endcsname)}
+ \fi
+ \ifx\dom@in\y@
+ \else
+ \expandafter\ifnum\csname res@count\the\loopcount\endcsname=%
+ \innerloopcount
+ \else
+ \res@count=\csname res@count\the\loopcount\endcsname
+ \advance\res@count by -1
+ \ifnum\res@count=0
+ \ifx\allow@zero\n@ \advance\res@count by -1 \fi
+ \fi
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
+ \fi
+ \fi
+ \else
+ \ifnames@right
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{}
+ \else
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{%
+ <\csname newseqname\the\loopcount\endcsname>}
+ \fi
+ \fi
+ \ifx\dom@in\y@
+ \xdef\temp@{\csname dom@num@break\the\loopcount\endcsname}
+ \expandafter\get@dom@count\temp@
+ \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{\temp@}
+ \innerloopcount=\res@count
+ \else
+ \innerloopcount=\csname res@count\the\loopcount\endcsname
+ \advance\innerloopcount by \res@perline
+ \fi
+ \advance\innerloopcount by 1
+ \ifregionalshade
+ \expandafter\ifx\csname start\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \regionalshadenowtrue
+ \fi
+ \fi
+ \fi
+ \ifregionaltint
+ \expandafter\ifx\csname tintstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname tintstart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \regionaltintnowtrue
+ \fi
+ \fi
+ \fi
+ \ifregionalemph
+ \expandafter\ifx\csname emphstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname emphstart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \regionalemphnowtrue
+ \fi
+ \fi
+ \fi
+ \ifregionallower
+ \expandafter\ifx\csname lowerstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname lowerstart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \regionallowernowtrue
+ \fi
+ \fi
+ \fi
+ \ifframe@
+ \expandafter\ifx\csname framestart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname framestart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \framenowtrue
+ \fi
+ \fi
+ \fi
+ \ifshading@
+ \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \shadingnowtrue
+ \fi
+ \fi
+ \fi
+ \iftopfeature
+ \xdef\bottop@{top}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \topfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifttopfeature
+ \xdef\bottop@{ttop}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \ttopfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \iftttopfeature
+ \xdef\bottop@{tttop}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \tttopfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifttttopfeature
+ \xdef\bottop@{ttttop}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \ttttopfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifbottomfeature
+ \xdef\bottop@{bottom}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \bottomfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifbbottomfeature
+ \xdef\bottop@{bbottom}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \bbottomfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifbbbottomfeature
+ \xdef\bottop@{bbbottom}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \bbbottomfeaturenowtrue
+ \fi
+ \fi
+ \fi
+ \ifbbbbottomfeature
+ \xdef\bottop@{bbbbottom}
+ \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd
+ \else
+ \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>%
+ \innerloopcount
+ \else
+ \bbbbottomfeaturenowtrue
+ \fi
+ \fi
+ \fi
+\ifnum\loopcount<\seq@count \repeat
+ \c@nsensus}
+
+%%%%% Output routines
+
+\def\white@box{%
+ \bgroup
+ \fboxsep-0.5pt\fboxrule0.5pt
+ \fcolorbox{Black}{White}{\box@hstrut\box@wstrut}\egroup}
+\def\box@rule{\vrule depth\box@depth height\box@height width\box@width}
+\def\box@hstrut{\vrule depth\box@depth height\box@height width 0pt}
+\def\box@wstrut{\vrule depth 0pt height 0pt width\box@width}
+\def\do@legend{%
+ \baselineskip=1.2\baselineskip
+ \xdef\first@{White}
+ \fontfamily{\legend@family}%
+ \fontseries{\legend@series}%
+ \fontshape{\legend@shape}%
+ \ifT@coffee
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \def\res@@style{\csname no@style\endcsname}%
+ \def\temp@{X}\xdef\low@up{lower}%
+ \expandafter\ifx\csname n@m@tch\the\loopcount\endcsname\low@up%
+ \def\temp@{x}\fi%
+ \ifhidechar\xdef\temp@{}\fi%
+ \textcolor{TC0}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{schlecht}%
+ \else\ifsp@nish\kern2ex\legend@size{mala}%
+ \else\kern2ex\legend@size{bad}\fi\fi}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC1}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{\legend@size{}}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC2}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{\legend@size{}}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC3}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{\legend@size{}}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC4}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{Grad der}%
+ \else\ifsp@nish\kern2ex\legend@size{conservaci\'on}%
+ \else\kern2ex\legend@size{level of}\fi\fi}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC5}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{Konservierung}%
+ \else\ifsp@nish\kern2ex\legend@size{}%
+ \else\kern2ex\legend@size{conservation}\fi\fi}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC6}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{\legend@size{}}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC7}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{\legend@size{}}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC8}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{\legend@size{}}
+ \newline\hbox{}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \textcolor{TC9}{\box@rule}%
+ \kern-\box@width\textcolor{Black}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{gut}%
+ \else\ifsp@nish\kern2ex\legend@size{buena}%
+ \else\kern2ex\legend@size{good}\fi\fi}
+ \newline\hbox{}%
+ \else
+ \iffuncmode
+ \ifnum\fgroup@num>0
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \xdef\third@{\csname fg@color\the\loopcount\endcsname}%
+ \noindent%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left\hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \ifx\third@\first@\white@box\else\textcolor{\third@}{\box@rule}\fi%
+ \xdef\third@{\csname fg@textcolor\the\loopcount\endcsname}%
+ \def\res@@style{\csname func@style\the\loopcount\endcsname}%
+ \def\temp@{X}\xdef\low@up{lower}%
+ \expandafter\ifx\csname funcm@tch\the\loopcount\endcsname\low@up%
+ \def\temp@{x}\fi%
+ \ifhidechar\xdef\temp@{}\fi%
+ \kern-\box@width\textcolor{\third@}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \kern2ex\textcolor{\legend@fg}{%
+ \legend@size{\csname fgroup@name\the\loopcount\endcsname}}
+ \newline\hbox{}%
+ \ifnum\loopcount<\fgroup@num \repeat
+ \fi
+ \else
+ \noindent
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@\ifnumbers@left \hbox to \number@width{\hss}\fi\fi%
+ \hbox to \hspace@legend{\hss}%
+ \ifx\Nomatch\first@\white@box\else\textcolor{\Nomatch}{\box@rule}\fi%
+ \def\res@@style{\csname no@style\endcsname}%
+ \def\temp@{X}\xdef\low@up{lower}\ifx\resn@m@tch\low@up\def\temp@{x}\fi%
+ \ifhidechar\xdef\temp@{}\fi%
+ \kern-\box@width\textcolor{\TextNomatch}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{nicht konserviert}%
+ \else\ifsp@nish\kern2ex\legend@size{no conservado}%
+ \else\kern2ex\legend@size{non-conserved}\fi\fi}
+ \newline\hbox{}\noindent%
+ \ifsimmode%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi
+ \ifnumbers@\ifnumbers@left \hbox to \number@width{\hss}\fi\fi
+ \hbox to \hspace@legend{\hss}%
+ \ifx\Similar\first@\white@box\else\textcolor{\Similar}{\box@rule}\fi
+ \def\res@@style{\csname sim@style\endcsname}%
+ \def\temp@{X}\xdef\low@up{lower}\ifx\ressimm@tch\low@up\def\temp@{x}\fi%
+ \ifhidechar\xdef\temp@{}\fi%
+ \kern-\box@width\textcolor{\TextSimilar}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{\"ahnlich}%
+ \else\ifsp@nish\kern2ex\legend@size{similar}%
+ \else\kern2ex\legend@size{similar}\fi\fi}
+ \newline\hbox{}\noindent%
+ \fi%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi
+ \ifnumbers@\ifnumbers@left \hbox to \number@width{\hss}\fi\fi
+ \hbox to \hspace@legend{\hss}%
+ \ifx\Identical\first@\white@box\else\textcolor{\Identical}{\box@rule}\fi
+ \def\res@@style{\csname id@style\endcsname}%
+ \def\temp@{X}\xdef\low@up{lower}\ifx\resm@tch\low@up\def\temp@{x}\fi%
+ \ifhidechar\xdef\temp@{}\fi%
+ \kern-\box@width\textcolor{\TextIdentical}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{$\ge$\,\thresh@ld\% konserviert}%
+ \else\ifsp@nish\kern2ex\legend@size{$\ge$\,\thresh@ld\% conservado}%
+ \else\kern2ex\legend@size{$\ge$\,\thresh@ld\% conserved}\fi\fi}
+ \newline\hbox{}\noindent%
+ \ifall@shade%
+ \ifnames@\ifnames@right\else\hbox to \name@width{\hss}\fi\fi
+ \ifnumbers@\ifnumbers@left \hbox to \number@width{\hss}\fi\fi
+ \hbox to \hspace@legend{\hss}%
+ \ifx\Allmatch\first@\white@box\else\textcolor{\Allmatch}{\box@rule}\fi
+ \def\res@@style{\csname all@style\endcsname}%
+ \def\temp@{X}\xdef\low@up{lower}\ifx\res@llm@tch\low@up\def\temp@{x}\fi%
+ \ifhidechar\xdef\temp@{}\fi%
+ \kern-\box@width\textcolor{\TextAllmatch}{\hbox to \box@width{%
+ \legend@size{\res@@style{\hss\temp@\hss}}}}%
+ \ifnum\all@thresh@ld=100
+ \textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{alle identisch}%
+ \else\ifsp@nish\kern2ex\legend@size{todos id\'enticos}%
+ \else\kern2ex\legend@size{all match}\fi\fi}
+ \else
+ \textcolor{\legend@fg}{%
+ \ifgerm@n\kern2ex\legend@size{$\ge$\,\all@thresh@ld\% konserviert}%
+ \else\ifsp@nish\kern2ex\legend@size{$\ge$\,\all@thresh@ld\% conservado}%
+ \else\kern2ex\legend@size{$\ge$\,\all@thresh@ld\% conserved}\fi\fi}
+ \fi
+ \newline\hbox{}\noindent
+ \fi
+ \fi
+ \fi
+}
+\def\put@name<#1>#2@{%
+ \ifnames@%
+ \expandafter\ifx\csname hide@name\the\loopcount\endcsname\yes%
+ \xdef\temp@{}\else\xdef\temp@{#1}\fi%
+ \expandafter\ifx\csname name@col\the\loopcount\endcsname\yes%
+ \def\second@{\names@fg}%
+ \else\def\second@{\csname name@col\the\loopcount\endcsname}\fi%
+ \fontfamily{\namestext@family}%
+ \fontseries{\namestext@series}%
+ \fontshape{\namestext@shape}%
+ \selectfont%
+ \textcolor{\second@}{%
+ \hbox to \name@width{\@kern\namestext@size{\temp@}\hss}}\fi%
+ \xdef\first@{#2@}%
+}
+\def\put@number#1)#2@{%
+ \ifnumbers@%
+ \expandafter\ifx\csname hide@number\the\loopcount\endcsname\yes%
+ \xdef\temp@{}\else\xdef\temp@{#1}\fi%
+ \expandafter\ifx\csname number@col\the\loopcount\endcsname\yes%
+ \def\second@{\numbering@fg}%
+ \else\def\second@{\csname number@col\the\loopcount\endcsname}\fi%
+ \fontfamily{\numbertext@family}%
+ \fontseries{\numbertext@series}%
+ \fontshape{\numbertext@shape}%
+ \selectfont%
+ \textcolor{\second@}{%
+ \hbox to \number@width{\hss\numbertext@size{\temp@}\@kern}}\fi%
+ \xdef\first@{#2@}%
+}
+\def\special@shading#1)#2#3#4@{%
+ \xdef\second@{@\second@#1}%
+ \xdef\third@{\second@}%
+ \xdef\first@{#4@}%
+ \xdef\second@{#3}%
+ \xdef\last@{#2}%
+ \def\res@@style{\csname relax\endcsname}%
+}
+\def\special@shade#1)#2#3#4@{%
+ \xdef\second@{\second@#1}%
+ \xdef\boxc@l@r{\csname bgseqregion\second@\endcsname}%
+ \xdef\textc@l@r{\csname fgseqregion\second@\endcsname}%
+ \xdef\first@{#4@}%
+ \xdef\second@{#3}%
+ \def\res@@style{\csname relax\endcsname}%
+}
+\def\get@second@#1#2@{\xdef\second@{#1}\xdef\first@{#2@}}
+\def\next@char#1#2#3@{%
+ \xdef\first@{#3@}%
+ \xdef\second@{#2}%
+ \xdef\last@{#1}%
+ \xdef\temp@@{}%
+ \xdef\third@{}%
+ \ifx\last@\p@r@gr@ph\expandafter\special@shading\first@\fi%
+ \ifx\last@\ampers@nd\def\last@{0}\expandafter\special@shade\first@%
+ \else%
+ \ifT@coffee%
+ \xdef\boxc@l@r{\csname fg@color#1\endcsname}%
+ \xdef\textc@l@r{\csname fg@textcolor#1\endcsname}%
+ \def\res@@style{\csname func@style#1\endcsname}%
+ \if\last@ *\def\last@{0}\fi
+ \if\last@ /\def\last@{10}\fi
+ \if\last@ !\def\last@{11}\fi
+ \else%
+ \iffuncmode%
+ \xdef\boxc@l@r{\csname fg@color#1\endcsname}%
+ \xdef\textc@l@r{\csname fg@textcolor#1\endcsname}%
+ \def\res@@style{\csname func@style#1\endcsname}%
+ \if\last@ *\def\last@{0}\fi
+ \if\last@ /\def\last@{10}\fi
+ \if\last@ !\def\last@{11}\fi
+ \else%
+ \ifcase\last@\xdef\boxc@l@r{\csname Allmatch\third@\endcsname}%
+ \xdef\textc@l@r{\csname TextAllmatch\third@\endcsname}%
+ \def\res@@style{\all@style}%
+ \or\xdef\boxc@l@r{\csname Identical\third@\endcsname}%
+ \xdef\textc@l@r{\csname TextIdentical\third@\endcsname}%
+ \def\res@@style{\id@style}%
+ \or\xdef\boxc@l@r{\csname Similar\third@\endcsname}%
+ \xdef\textc@l@r{\csname TextSimilar\third@\endcsname}%
+ \def\res@@style{\sim@style}%
+ \or\xdef\boxc@l@r{\csname Nomatch\third@\endcsname}%
+ \xdef\textc@l@r{\csname TextNomatch\third@\endcsname}%
+ \def\res@@style{\no@style}%
+ \or\xdef\boxc@l@r{\csname ConsNomatch\third@\endcsname}%
+ \xdef\textc@l@r{\csname ConsTextNomatch\third@\endcsname}%
+ \def\res@@style{\csname relax\endcsname}%
+ \or\xdef\boxc@l@r{\csname ConsMatch\third@\endcsname}%
+ \xdef\textc@l@r{\csnam ConsTextMatch\third@\endcsname}%
+ \def\res@@style{\csname relax\endcsname}%
+ \or\xdef\boxc@l@r{\csname ConsAllmatch\third@\endcsname}%
+ \xdef\textc@l@r{\csname ConsTextAllmatch\third@\endcsname}%
+ \def\res@@style{\csname relax\endcsname}%
+ \or\xdef\boxc@l@r{\csname gap@bg\third@\endcsname}%
+ \xdef\textc@l@r{\csname gap@fg\third@\endcsname}%
+ \def\res@@style{\csname relax\endcsname}%
+ \or\xdef\boxc@l@r{White}\xdef\textc@l@r{White}%
+ \def\res@@style{\csname relax\endcsname}%
+ \else\xdef\boxc@l@r{\csname domgap@bg\endcsname}%
+ \xdef\textc@l@r{\csname domgap@fg\endcsname}%
+ \def\res@@style{\csname relax\endcsname}%
+ \fi\fi\fi\fi%
+ \ifx\second@\comm@%
+ \def\temp@{\res@style}%
+ \expandafter\get@second@\first@%
+ \else%
+ \def\temp@{\csname relax\endcsname}%
+ \fi%
+ \ifx\second@\equ@l%
+ \xdef\temp@@{\light@}%
+ \expandafter\get@second@\first@%
+ \fi%
+ \ifx\second@\semic@n%
+ \expandafter\get@second@\first@%
+ \xdef\first@@{\first@}%
+ \xdef\first@{\second@}%
+ \make@lower%
+ \xdef\second@{\first@}%
+ \xdef\first@{\first@@}%
+ \fi%
+ \textcolor{\temp@@\boxc@l@r}{\box@rule}%
+ \ifhidechar%
+ \ifx\second@\o@%
+ \def\second@{\gap@rule}%
+ \hbox to -\box@width{\hss\textcolor{\temp@@\textc@l@r}%
+ {\residues@size{\res@@style{\temp@{\second@}}}}\hss}%
+ \kern\box@width%
+ \fi%
+ \else%
+ \ifx\second@\o@\def\second@{\gap@rule}\fi%
+ \hbox to -\box@width{\hss\textcolor{\temp@@\textc@l@r}%
+ {\residues@size{\res@@style{\temp@{\second@}}}}\hss}%
+ \kern\box@width\fi%
+}
+\def\put@char{%
+ \ifnum\innerloopcount>\res@perline
+ \else
+ \expandafter\next@char\first@
+ \advance\innerloopcount by 1
+ \put@char%
+ \fi}
+\def\next@cons#1#2#3@{%
+ \xdef\last@{#1}%
+ \xdef\third@{}%
+ \ifx\last@\p@r@gr@ph\expandafter\special@shading\first@\fi%
+ \ifx\last@\ampers@nd\def\last@{0}\expandafter\special@shade\first@%
+ \else%
+ \ifx\collect@cons@colors\y@%
+ \if\last@ *%
+ \xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@bg}%
+ \else%
+ \if\last@ !%
+ \xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@bg}%
+ \else%
+ \if\last@ /%
+ \xdef\boxc@l@r{White}\xdef\textc@l@r{White}%
+ \else%
+ \expandafter\get@item\first@@@%
+ \xdef\first@@@{\first@}%
+ \ifx\box@scale\y@%
+ \xdef\boxc@l@r{\c@nssc@le\fourth@}%
+ \else%
+ \xdef\first@{T-Coffee}%
+ \ifx\first@\c@nssc@le%
+ \xdef\boxc@l@r{TC\last@}%
+ \else
+ \xdef\boxc@l@r{\c@nssc@le}%
+ \fi%
+ \fi%
+ \ifx\text@scale\y@%
+ \xdef\textc@l@r{\c@nsc@l\fourth@}%
+ \else%
+ \xdef\first@{T-Coffee}%
+ \ifx\first@\c@nsc@l%
+ \xdef\textc@l@r{TC\last@}%
+ \else
+ \xdef\textc@l@r{\c@nsc@l}%
+ \fi%
+ \fi\fi\fi\fi%
+ \def\res@@style{\csname relax\endcsname}%
+ \else%
+ \ifT@coffee%
+ \if\last@ *%
+ \xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@bg}%
+ \else%
+ \if\last@ !%
+ \xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@bg}%
+ \else%
+ \if\last@ /%
+ \xdef\boxc@l@r{White}\xdef\textc@l@r{White}%
+ \else%
+ \xdef\boxc@l@r{White}\xdef\textc@l@r{TC\last@}%
+ \def\res@@style{\csname relax\endcsname}%
+ \fi
+ \fi%
+ \fi%
+ \else%
+ \ifcase#1\xdef\boxc@l@r{\csname Allmatch\third@\endcsname}%
+ \xdef\textc@l@r{\csname TextAllmatch\third@\endcsname}%
+ \def\res@@style{\all@style}%
+ \or\xdef\boxc@l@r{\csname Identical\third@\endcsname}%
+ \xdef\textc@l@r{\csname TextIdentical\third@\endcsname}%
+ \def\res@@style{\id@style}%
+ \or\xdef\boxc@l@r{\csname Similar\third@\endcsname}%
+ \xdef\textc@l@r{\csname TextSimilar\third@\endcsname}%
+ \def\res@@style{\sim@style}%
+ \or\xdef\boxc@l@r{\csname Nomatch\third@\endcsname}%
+ \xdef\textc@l@r{\csname TextNomatch\third@\endcsname}%
+ \def\res@@style{\no@style}%
+ \or\xdef\boxc@l@r{\ConsNomatch}\xdef\textc@l@r{\ConsTextNomatch}%
+ \def\res@@style{\csname relax\endcsname}%
+ \or\xdef\boxc@l@r{\ConsMatch}\xdef\textc@l@r{\ConsTextMatch}%
+ \def\res@@style{\csname relax\endcsname}%
+ \or\xdef\boxc@l@r{\ConsAllmatch}\xdef\textc@l@r{\ConsTextAllmatch}%
+ \def\res@@style{\csname relax\endcsname}%
+ \or\xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@fg}%
+ \def\res@@style{\csname relax\endcsname}%
+ \or\xdef\boxc@l@r{White}\xdef\textc@l@r{White}%
+ \def\res@@style{\csname relax\endcsname}%
+ \else\xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@fg}%
+ \def\res@@style{\csname relax\endcsname}%
+ \fi\fi\fi\fi%
+ \xdef\first@{#3@}%
+ \xdef\second@{#2}%
+ \ifx\second@\comm@%
+ \def\temp@{\res@style}%
+ \expandafter\get@second@\first@%
+ \else%
+ \def\temp@{\csname relax\endcsname}%
+ \fi%
+ \ifx\second@\semic@n%
+ \expandafter\get@second@\first@%
+ \xdef\first@@{\first@}%
+ \xdef\first@{\second@}%
+ \make@lower%
+ \xdef\second@{\first@}%
+ \xdef\first@{\first@@}%
+ \fi%
+ \textcolor{\boxc@l@r}{\box@rule}%
+ \ifhidechar%
+ \ifx\second@\o@%
+ \def\second@{\gap@rule}%
+ \hbox to -\box@width{\hss\textcolor{\textc@l@r}%
+ {\residues@size{\res@@style{\temp@{\second@}}}}\hss}%
+ \kern\box@width%
+ \fi%
+ \else%
+ \ifx\second@\o@\def\second@{\gap@rule}\fi%
+ \hbox to -\box@width{\hss\textcolor{\textc@l@r}%
+ {\residues@size{\res@@style{\temp@{\second@}}}}\hss}%
+ \kern\box@width\fi%
+}
+\def\put@cons{%
+ \ifnum\innerloopcount>\res@perline
+ \else
+ \expandafter\next@cons\first@
+ \advance\innerloopcount by 1
+ \put@cons%
+ \fi}
+\def\put@line{%
+ \ifnames@right\else\def\@kern{\kern0em}\expandafter\put@name\first@\fi
+ \ifnumbers@left\def\@kern{\kern1em}\expandafter\put@number\first@\fi
+ \fontfamily{\residues@family}%
+ \fontseries{\residues@series}%
+ \fontshape{\residues@shape}%
+ \selectfont%
+ \ifx\cons@now\y@%
+ \innerloopcount=1\relax\put@cons%
+ \else
+ \innerloopcount=1\relax\put@char%
+ \fi
+ \ifnumbers@right\def\@kern{\kern0em}\expandafter\put@number\first@\fi
+ \ifnames@right\def\@kern{\kern1em}\expandafter\put@name\first@\fi
+ \newline\hbox{}%
+}
+
+\def\set@consensus{%
+ \ifnames@right
+ \ifnumbers@left
+ \ifnumbers@right
+ \xdef\consensus{)\consensus)<\cons@name>}%
+ \else
+ \xdef\consensus{)\consensus<\cons@name>}%
+ \fi
+ \else
+ \xdef\consensus{\consensus)<\cons@name>}%
+ \fi
+ \else
+ \ifnumbers@left
+ \ifnumbers@right
+ \xdef\consensus{<\cons@name>)\consensus)}%
+ \else
+ \xdef\consensus{<\cons@name>)\consensus}%
+ \fi
+ \else
+ \xdef\consensus{<\cons@name>\consensus)}%
+ \fi
+ \fi}
+
+\def\get@rulenum<#1>#2@{%
+ \xdef\first@{#2@}%
+ \xdef\fill@char{#1[,]&}%
+ \expandafter\opt@color\fill@char%
+ \ifx\f@color\comm@\xdef\f@color{\ruler@fg}\fi%
+ \ifcase\rule@top
+ \ifnum\ruler@rot=0 %
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathtt{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathsf{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathrm{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \fi\fi\fi
+ \else
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\tt\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\sf\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\rm\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \fi\fi\fi
+ \fi
+ \else
+ \ifnum\ruler@rot=0 %
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathtt{\fourth@}}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathsf{\fourth@}}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathrm{\fourth@}}}}%
+ \fi\fi\fi
+ \else
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\tt\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\sf\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\rm\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \fi\fi\fi
+ \fi
+ \fi}
+
+\def\next@rulechar#1#2@{%
+ \xdef\third@{#1}%
+ \xdef\first@{#2@}%
+ \xdef\second@{!}%
+ \ifx\third@\second@ \expandafter\get@rulenum\first@%
+ \else \xdef\third@{}\xdef\f@color{Black}\fi
+ \textcolor{\f@color}{\hbox to \box@width{\hss\third@\hss}}%
+ }
+
+\def\put@rulechar{%
+ \ifnum\innerloopcount>\res@perline
+ \else
+ \expandafter\next@rulechar\first@
+ \advance\innerloopcount by 1
+ \put@rulechar%
+ \fi}
+
+\def\put@ruler{%
+ \ifnames@right%
+ \ifnumbers@left%
+ \ifnumbers@right%
+ \xdef\ruler@{)\ruler@)<>}%
+ \else%
+ \xdef\ruler@{)\ruler@<>}%
+ \fi%
+ \else%
+ \xdef\ruler@{\ruler@)<>}%
+ \fi%
+ \else%
+ \ifnumbers@left%
+ \ifnumbers@right%
+ \xdef\ruler@{<>)\ruler@)}%
+ \else%
+ \xdef\ruler@{<>)\ruler@}%
+ \fi%
+ \else%
+ \xdef\ruler@{<>\ruler@)}%
+ \fi%
+ \fi%
+ \xdef\first@{\ruler@ @}%
+ \ifnum\rule@top=1%
+ \vspace{\ruler@sp@ce}%
+ \vspace{-\baselineskip}%
+ \newline\hbox{}%
+ \fi%
+ \ifnames@right\else\def\@kern{\kern0em}\expandafter\put@name\first@\fi%
+ \ifnumbers@left\def\@kern{\kern1em}\expandafter\put@number\first@\fi%
+ \vspace{-0.25\baselineskip}%
+ \ifnum\rule@top=0%
+ \vspace{\ruler@sp@ce}%
+ \fi%
+ \fontfamily{\ruler@family}%
+ \fontseries{m}%
+ \fontshape{n}%
+ \selectfont%
+ \innerloopcount=1\relax\put@rulechar%
+ \newline\hbox{}%
+}
+\def\get@firstfill#1#2&{\xdef\second@@{#1}\xdef\fill@char{#2&}}
+\def\get@firstv@l#1,#2&{\xdef\second@@{#1}\xdef\fill@char{#2&}}
+\def\get@tripletfill#1#2#3#4&{%
+ \multiply\temp@count by -1%
+ \def\second@@{#1}\def\second@@@{#2}\def\second@@@@{#3}\def\fill@char{#4&}}
+
+
+\def\putfeature@style#1{%
+ \residues@size%
+ \setbox1=\hbox{\ensuremath{\overrightarrow{\hbox{}}}}%
+ \arrow@height=\ht1%
+ \arrow@width=\wd1%
+ \xdef\second@@{#1}%
+ \xdef\last@{\second@@::&}\expandafter\test@fill\last@%
+ \xdef\last@{empty}%
+ \ifx\second@@\last@%
+ \hbox to \second@\box@width{\hss}%
+ \else%
+ \xdef\last@{translate}%
+ \ifx\second@@\last@%
+ \fontfamily{\featurestyles@family}%
+ \fontseries{\featurestyles@series}%
+ \fontshape{\featurestyles@shape}%
+ \selectfont%
+ \xdef\fill@char{\fill@char &}%
+ \if\seq@type N%
+ \loop%
+ \expandafter\get@firstfill\fill@char%
+ \if\second@@ -\def\second@@{\hss}\fi%
+ \hbox to \box@width{\hss\textcolor{\f@color}{\featurestyles@size{\second@@}}\hss}%
+ \ifx\fill@char\ampers@nd\else\repeat%
+ \else%
+ \temp@count=1%
+ \loop%
+ \expandafter\get@tripletfill\fill@char%
+ \if\second@@ -\ifnum\tr@nsstyle>0\hbox to \box@width{\hss}\fi%
+ \else%
+ \ifcase\tr@nsstyle%
+ \hbox{\trans@size\textcolor{\f@color}%
+ {\hss\second@@\second@@@\second@@@@\,\hss}}%
+ \or%
+ \ifnum\temp@count=1%
+ \vbox{\trans@size%
+ \hbox to \box@width{\textcolor{\f@color}{\second@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@@}}}%
+ \else%
+ \vbox{\trans@size%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@@}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\second@@\hss}}}%
+ \fi%
+ \or%
+ \ifnum\temp@count=1%
+ \vbox{\trans@size%
+ \hbox to \box@width{\textcolor{\f@color}%
+ {\hss\second@@\second@@@\second@@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss}}}%
+ \else%
+ \vbox{\trans@size%
+ \hbox to \box@width{\textcolor{\f@color}{\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}%
+ {\hss\second@@\second@@@\second@@@@\hss}}}%
+ \fi%
+ \or%
+ \vbox{\trans@size%
+ \hbox to \box@width{\textcolor{\f@color}{\second@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@@}}}%
+ \or%
+ \vbox{\trans@size%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@@\hss}}}%
+ \fi%
+ \fi%
+ \ifx\fill@char\ampers@nd\else\repeat%
+ \fi%
+ \else%
+ \xdef\last@{brace}%
+ \ifx\second@@\last@%
+ \xdef\last@{top}%
+ \textcolor{\f@color}{%
+ \ifx\bottop@\last@%
+ \ensuremath{\overbrace{\hbox to \second@\box@width{\hss%
+ \rule[0.2\arrow@height]{0pt}{0pt}\hss}}}%
+ \else%
+ \xdef\last@{ttop}%
+ \ifx\bottop@\last@%
+ \ensuremath{\overbrace{\hbox to \second@\box@width{\hss%
+ \rule[0.2\arrow@height]{0pt}{0pt}\hss}}}%
+ \else%
+ \xdef\last@{tttop}%
+ \ifx\bottop@\last@%
+ \ensuremath{\overbrace{\hbox to \second@\box@width{\hss%
+ \rule[0.2\arrow@height]{0pt}{0pt}\hss}}}%
+ \else%
+ \xdef\last@{ttttop}%
+ \ifx\bottop@\last@%
+ \ensuremath{\overbrace{\hbox to \second@\box@width{\hss%
+ \rule[0.2\arrow@height]{0pt}{0pt}\hss}}}%
+ \else%
+ \raisebox{1.75\arrow@height}{\ensuremath{\underbrace{\hbox to %
+ \second@\box@width{}}}}%
+ \fi\fi\fi\fi}%
+ \else%
+ \xdef\last@{fill}%
+ \ifx\second@@\last@%
+ \fontfamily{\featurestyles@family}%
+ \fontseries{\featurestyles@series}%
+ \fontshape{\featurestyles@shape}%
+ \selectfont%
+ \xdef\last@{bottom}%
+ \ifx\bottop@\temp@\xdef\last@{0.35}\else\xdef\last@{0}\fi%
+ \kern0.15\box@width%
+ \loopcount=0\relax%
+ \loop%
+ \advance\loopcount by 1\relax%
+ \raisebox{\last@\arrow@height}{%
+ \hbox to \box@width{\hss{\textcolor{\f@color}{\featurestyles@size\fill@char}}\hss}}%
+ \ifnum\loopcount<\second@ \repeat%
+ \else%
+ \xdef\last@{bar}%
+ \ifx\second@@\last@%
+ \setlength\arrow@width{\pm@shift\box@height}%
+ \setlength\arrow@width{\b@r@stretch\arrow@width}%
+ \ifx\fill@char\N@%
+ \raisebox{\pm@shift\box@height}{\vrule width\box@width}%
+ \else%
+ \kern-0.6\box@width%
+ \ifx\frame@color\back@color%
+ \else%
+ \setlength\arrow@height{\box@height}%
+ \advance\arrow@height by -\pm@shift\box@height%
+ \setlength\arrow@height{\b@r@stretch\arrow@height}%
+ \raisebox{\arrow@width}{%
+ \hbox to \box@width{\hss{\textcolor{\back@color}{\vrule depth\arrow@width%
+ height\arrow@height width\box@width}}\hss}}%
+ \kern-\box@width%
+ \fi%
+ \setlength\arrow@height{\fill@char\box@height}%
+ \setlength\arrow@height{\b@r@stretch\arrow@height}%
+ \divide\arrow@height by 100\relax%
+ \ifdim\arrow@height<0pt%
+ \arrow@height=-\arrow@height%
+ \raisebox{\arrow@width}{%
+ \hbox to \box@width{\hss{\textcolor{\frame@color}{\vrule depth\arrow@height width0.8\box@width}}\hss}}%
+ \else%
+ \raisebox{\arrow@width}{%
+ \hbox to \box@width{\hss{\textcolor{\frame@color}{\vrule height\arrow@height width0.8\box@width}}\hss}}\fi%
+ \kern-\box@width%
+ \raisebox{\arrow@width}{\textcolor{Black}{\vrule height0.25pt depth0.25pt width\box@width}}%
+ \fi%
+ \else%
+ \xdef\last@{color}%
+ \ifx\second@@\last@%
+ \setlength\arrow@height{\fill@char\box@height}%
+ \setlength\arrow@height{\sc@le@stretch\arrow@height}%
+ \divide\arrow@height by 100\relax%
+ \raisebox{0.2\box@height}{%
+ \hbox to \box@width{\hss{\textcolor{\f@color}{\vrule height\arrow@height width\box@width}}\hss}}%
+ \else%
+ \xdef\last@{plotcolor}%
+ \ifx\second@@\last@%
+ \xdef\fill@char{\fill@char,&}%
+ \loop%
+ \expandafter\get@firstv@l\fill@char%
+ \ifx\second@@\N@\hbox to \box@width{\hss}%
+ \else
+ \loopcount=\second@@%
+ \ifx\T@coffee@ccons\y@%
+ \else%
+ \advance\loopcount by -\pm@shift%
+ \advance\loopcount by 4%
+ \divide\loopcount by 5%
+ \multiply\loopcount by 5%
+ \ifnum\loopcount>100\loopcount=100\fi%
+ \ifnum\loopcount<5\loopcount=5\fi%
+ \fi%
+ \setlength\arrow@height{50\box@height}%
+ \divide\arrow@height by 100\relax%
+ \setlength\arrow@height{\sc@le@stretch\arrow@height}%
+ \raisebox{0.2\box@height}{%
+ \hbox to \box@width{\hss{\textcolor{\f@color\the\loopcount}{\vrule height\arrow@height width\box@width}}\hss}}%
+ \fi
+ \ifx\fill@char\ampers@nd\else\repeat%
+ \else%
+ \xdef\last@{plotbar}%
+ \ifx\second@@\last@%
+ \xdef\fill@char{\fill@char,&}%
+ \ifnum\pm@shift>0%
+ \setlength\arrow@width{0pt}%
+ \else
+ \setlength\arrow@width{-\pm@shift\box@height}%
+ \divide\arrow@width by 100%
+ \setlength\arrow@width{\b@r@stretch\arrow@width}%
+ \fi%
+ \loop%
+ \expandafter\get@firstv@l\fill@char%
+ \ifx\second@@\N@\hbox to \box@width{\hss}%
+ \else\relax%
+ \ifx\frame@color\back@color%
+ \else%
+ \setlength\arrow@height{\b@r@stretch\box@height}%
+ \hbox to \box@width{\hss{\textcolor{\back@color}%
+ {\vrule height\arrow@height width\box@width}}\hss}%
+ \kern-\box@width%
+ \fi%
+ \ifx\T@coffee@bcons\y@%
+ \ifnum\second@@=99 \xdef\second@@{0}\fi%
+ \fi
+ \setlength\arrow@height{\second@@\box@height}%
+ \ifx\T@coffee@bcons\y@%
+ \setlength\arrow@height{11\arrow@height}%
+ \fi
+ \divide\arrow@height by 100\relax%
+ \setlength\arrow@height{\b@r@stretch\arrow@height}%
+ \ifdim\arrow@height<0pt%
+ \arrow@height=-\arrow@height%
+ \raisebox{\arrow@width}{%
+ \hbox to \box@width{\hss{\textcolor{\frame@color}%
+ {\vrule depth\arrow@height width0.8\box@width}}\hss}}%
+ \else%
+ \raisebox{\arrow@width}{%
+ \hbox to \box@width{\hss{\textcolor{\frame@color}%
+ {\vrule height\arrow@height width0.8\box@width}}\hss}}\fi%
+ \kern-\box@width%
+ \raisebox{\arrow@width}{\textcolor{Black}%
+ {\vrule height0.25pt depth0.25pt width\box@width}}%
+ \fi
+ \ifx\fill@char\ampers@nd\else\repeat%
+ \else%
+ \xdef\last@{helix}%
+ \ifx\second@@\last@%
+ \fontfamily{cmr}%
+ \fontseries{m}%
+ \fontshape{it}%
+ \selectfont%
+ \ifx\bottop@\temp@\xdef\last@{0.35}\else\xdef\last@{0}\fi%
+ \kern0.15\box@width%
+ \setbox1=\hbox{\ensuremath{\helixhook}\kern-1.13exo\kern-1.02ex}%
+ \arrow@width=\second@\box@width%
+ \divide\arrow@width by \wd1%
+ \arrow@width=2\wd1%
+ \loop%
+ \textcolor{\f@color}{\raisebox{-0.25ex}{\ensuremath{\helixhook}}%
+ \kern-1.13ex\raisebox{0.3ex}{o}}\kern-1.02ex%
+ \advance\arrow@width by \wd1\relax%
+ \ifdim\arrow@width<\second@\box@width \repeat%
+ \textcolor{\f@color}{\raisebox{-0.25ex}{\ensuremath{\helixhook}}}%
+ \else%
+ \xdef\last@{box}%
+ \ifx\second@@\last@%
+ \fontfamily{\featurestyles@family}%
+ \fontseries{\featurestyles@series}%
+ \fontshape{\featurestyles@shape}%
+ \selectfont%
+ \kern-\second@\box@width%
+ \bgroup%
+ \textcolor{\back@color}{%
+ \vrule width\second@\box@width height\box@height depth\box@depth}%
+ \kern-\second@\box@width%
+ \fboxsep-\rule@@thick\fboxrule\rule@@thick%
+ \textcolor{\frame@color}{%
+ \fbox{\makebox[\second@\box@width]%
+ {\vrule\@height\box@height\@depth\box@depth \@width\z@}}}%
+ \egroup%
+ \setbox1=\hbox{\residues@size{\fill@char}}%
+ \temp@count=\wd1 \xdef\wd@{\the\temp@count}%
+ \width@tmp=\second@\box@width%
+ \temp@count=\width@tmp%
+ \xdef\sb@{\the\temp@count}%
+ \ifnum\wd@>\sb@ \xdef\fill@char{}\fi%
+ \hbox to -\second@\box@width{\hss\textcolor{\f@color}%
+ {\residues@size{\fill@char}}\hss}%
+ \else%
+ \expandafter\get@shape\second@@%
+ \xdef\last@{arrow}%
+ \ifx\second@@\last@%
+ \kern-0.75\box@width%
+ \ifx\bottop@\temp@ \xdef\last@{0.35}\else\xdef\last@{-0.55}\fi%
+ \textcolor{\f@color}{%
+ \raisebox{\last@\arrow@height}{%
+ \if\first@@ b \xdef\first@@{,}\fi%
+ \if\first@@ ,%
+ \rule{0.1\arrow@height}{\arrow@height}\kern-0.35\arrow@height%
+ \else%
+ \if\first@@ |%
+ \rule{0.1\arrow@height}{2\arrow@height}\kern-0.35\arrow@height%
+ \else%
+ \if\first@@ `\xdef\first@@{'}\fi%
+ \if\first@@ '%
+ \rule[\arrow@height]%
+ {0.1\arrow@height}{\arrow@height}\kern-0.35\arrow@height%
+ \else%
+ \if\first@@ '%
+ \rule[\arrow@height]%
+ {0.1\arrow@height}{\arrow@height}\kern-0.35\arrow@height%
+ \else%
+ \if\first@@ -%
+ \rule{0pt}{0pt}\kern-0.35\arrow@height%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \if\third@@ v%
+ \if\first@@ v%
+ \ensuremath{\overleftarrow{\hbox to %
+ \second@\box@width{\rule[0.4\arrow@height]{0pt}{0pt}\hss}}}%
+ \kern-\arrow@width%
+ \ensuremath{\overrightarrow{\hbox%
+ {\rule[0.4\arrow@height]{0pt}{0pt}\hss}}}%
+ \else%
+ \ensuremath{\overrightarrow{\hbox to %
+ \second@\box@width{\rule[0.4\arrow@height]{0pt}{0pt}\hss}}}%
+ \fi%
+ \else%
+ \if\first@@ v%
+ \ensuremath{\overleftarrow{\hbox to %
+ \second@\box@width{\rule[0.4\arrow@height]{0pt}{0pt}\hss}}}%
+ \else
+ \kern0.35\arrow@height%
+ \rule[0.9\arrow@height]{\second@\box@width}{0.1\arrow@height}%
+ \kern0.35\arrow@height%
+ \fi
+ \if\third@@ ,%
+ \kern-0.4\arrow@height\rule{0.1\arrow@height}{\arrow@height}%
+ \else%
+ \if\third@@ |%
+ \kern-0.4\arrow@height\rule{0.1\arrow@height}{2\arrow@height}%
+ \else%
+ \if\third@@ `\xdef\third@@{'}\fi%
+ \if\third@@ '%
+ \kern-0.4\arrow@height%
+ \rule[\arrow@height]{0.1\arrow@height}{\arrow@height}%
+ \fi%
+ \fi%
+ \fi%
+ \fi}}%
+ \else%
+ \xdef\last@{doublearrow}%
+ \ifx\second@@\last@%
+ \setbox1=\hbox{\ensuremath{\Rightarrow}}%
+ \arrow@height=\ht1%
+ \arrow@width=\wd1%
+ \setbox1=\hbox to \second@\box@width{}%
+ \width@tmp=\wd1%
+ \kern-0.75\box@width%
+ \xdef\temp@{top}%
+ \ifx\bottop@\temp@ \xdef\last@{0.25}%
+ \else%
+ \xdef\temp@{ttop}%
+ \ifx\bottop@\temp@ \xdef\last@{0.25}%
+ \else%
+ \xdef\temp@{tttop}%
+ \ifx\bottop@\temp@ \xdef\last@{0.25}%
+ \else%
+ \xdef\temp@{ttttop}%
+ \ifx\bottop@\temp@ \xdef\last@{0.25}%
+ \else%
+ \xdef\last@{-0.25}\fi\fi\fi\fi%
+ \textcolor{\f@color}{%
+ \raisebox{\last@\arrow@height}{%
+ \if\first@@ b \xdef\first@@{,}\fi%
+ \if\first@@ ,%
+ \rule[-0.5\arrow@height]{0.1\arrow@height}{1.5\arrow@height}%
+ \kern-0.1\arrow@height%
+ \else%
+ \if\first@@ |%
+ \rule[-0.5\arrow@height]{0.1\arrow@height}{2.25\arrow@height}%
+ \kern-0.1\arrow@height%
+ \else%
+ \if\first@@ a \xdef\first@@{'}\fi%
+ \if\first@@ ` \xdef\first@@{'}\fi%
+ \if\first@@ '%
+ \rule[0.4\arrow@height]%
+ {0.1\arrow@height}{1.5\arrow@height}%
+ \kern-0.1\arrow@height%
+ \else%
+ \if\first@@ <%
+ \ensuremath{\Leftarrow}\kern-0.5\arrow@width%
+ \advance\width@tmp by -0.5\arrow@width
+ \else
+ \rule{0pt}{0pt}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \if\third@@ >%
+ \advance\width@tmp by -0.5\arrow@width%
+ \rule[0.37\arrow@height]{\width@tmp}{0.1\arrow@height}%
+ \kern-\width@tmp%
+ \rule[0.9\arrow@height]{\width@tmp}{0.1\arrow@height}%
+ \kern-0.5\arrow@width\ensuremath{\Rightarrow}%
+ \else%
+ \rule[0.37\arrow@height]{\width@tmp}{0.1\arrow@height}%
+ \kern-\width@tmp%
+ \rule[0.9\arrow@height]{\width@tmp}{0.1\arrow@height}%
+ \if\first@@ b \xdef\first@@{,}\fi%
+ \if\third@@ ,%
+ \kern-0.05\arrow@height%
+ \rule[-0.5\arrow@height]{0.1\arrow@height}{1.5\arrow@height}%
+ \else%
+ \if\third@@ |%
+ \kern-0.05\arrow@height%
+ \rule[-0.5\arrow@height]{0.1\arrow@height}{2.25\arrow@height}%
+ \else%
+ \if\first@@ a \xdef\first@@{'}\fi%
+ \if\third@@ ` \xdef\third@@{'}\fi%
+ \if\third@@ '%
+ \kern-0.05\arrow@height%
+ \rule[0.4\arrow@height]{0.1\arrow@height}{1.5\arrow@height}%
+ \else%
+ \if\third@@ a%
+ \kern-0.05\arrow@height%
+ \rule[0.4\arrow@height]{0.1\arrow@height}{1.5\arrow@height}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi}}%
+ \else
+ \loopcount=0\relax%
+ \width@tmp=\arrow@height%
+ \temp@@length=\rule@@thick%
+ \advance\width@tmp by -0.5\temp@@length%
+ \if\first@@ o\xdef\first@@{O}\fi%
+ \if\third@@ o\xdef\third@@{O}\fi%
+ \xdef\last@{bottom}%
+ \ifx\fe@turep@s\last@%
+ \vspace{-20pt}\message{(((-20pt)))}%
+ \fi%
+ \textcolor{\f@color}{%
+ \if\first@@ ,%
+ \rule{\temp@@length}{\arrow@height}\kern-\temp@@length%
+ \else%
+ \if\first@@ b%
+ \xdef\last@{bottom}%
+ \ifx\fe@turep@s\last@%
+ \rule{\temp@@length}{\arrow@height}\kern-\temp@@length%
+ \else
+ \xdef\shift@feature{y}%
+ \kern-\temp@@length%
+ \rule[-\bar@length]{\temp@@length}{\bar@length}%
+ \kern-\temp@@length%
+ \rule{\temp@@length}{\arrow@height}\kern-\temp@@length%
+ \fi
+ \else%
+ \if\first@@ |%
+ \rule{\temp@@length}{2\arrow@height}\kern-\temp@@length%
+ \else%
+ \if\first@@ O%
+ \raisebox{0.06ex}{\ensuremath{\bullet}}\kern-0.55ex%
+ \rule[\width@tmp]{0.65ex}{\temp@@length}%
+ \else%
+ \if\first@@ S%
+ \xdef\last@{bottom}%
+ \ifx\fe@turep@s\last@%
+ \advance\width@tmp by 0.5\temp@@length%
+ \kern0.5\box@width%
+ \kern-2\temp@@length%
+ \rule[\width@tmp]{\temp@@length}{\arrow@height}%
+ \advance\width@tmp by -0.5\temp@@length%
+ \kern-\temp@@length%
+ \rule[\width@tmp]{0.5\temp@@length}{\temp@@length}%
+ \rule[\width@tmp]{0.5\box@width}{\temp@@length}%
+ \else%
+ \kern0.5\box@width%
+ \kern-2\temp@@length%
+ \rule{\temp@@length}{\arrow@height}%
+ \kern-\temp@@length%
+ \rule[\width@tmp]{0.5\temp@@length}{\temp@@length}%
+ \rule[\width@tmp]{0.5\box@width}{\temp@@length}%
+ \fi%
+ \else%
+ \if\first@@ c%
+ \xdef\last@{bottom}%
+ \ifx\fe@turep@s\last@%
+ \advance\width@tmp by 0.5\temp@@length%
+ \raisebox{\arrow@height}{\rule[\box@height]{0pt}{\bar@length}}%%%%%%%%%%%%%%%%%%%%%%%
+ \kern0.5\box@width%
+ \kern-2\temp@@length%
+ \rule[2\arrow@height]{\temp@@length}{\bar@length}%%%%%%%%%%%%%%%%%%%%%%
+ \kern-\temp@@length%%%%%%%%%%%%%%%%%%%%%%%%%
+ \rule[\width@tmp]{\temp@@length}{\arrow@height}%
+ \advance\width@tmp by -0.5\temp@@length%
+ \kern-\temp@@length%
+ \rule[\width@tmp]{0.5\temp@@length}{\temp@@length}%
+ \rule[\width@tmp]{0.5\box@width}{\temp@@length}%
+ \else%
+ \xdef\shift@feature{y}%
+ \kern0.5\box@width%
+ \kern-2\temp@@length%
+ \rule[-\bar@length]{\temp@@length}{\bar@length}%
+ \kern-\temp@@length%
+ \rule{\temp@@length}{\arrow@height}%
+ \kern-\temp@@length%
+ \rule[\width@tmp]{0.5\temp@@length}{\temp@@length}%
+ \rule[\width@tmp]{0.5\box@width}{\temp@@length}%
+ \fi%
+ \else%
+ \if\first@@ <%
+ \raisebox{0.06ex}{\ensuremath{\blacktriangleleft}}\kern-0.35ex%
+ \else
+ \if\first@@ `\xdef\first@@{'}\fi%
+ \if\first@@ '%
+ \advance\width@tmp by 0.5\temp@@length%
+ \rule[\width@tmp]{\temp@@length}{\arrow@height}\kern-\temp@@length%
+ \advance\width@tmp by -0.5\temp@@length%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \loopcount=\second@%
+ \if\first@@ <\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi%
+ \if\third@@ >\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi%
+ \if\first@@ O\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi%
+ \if\third@@ O\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi%
+ \if\first@@ S\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi%
+ \if\third@@ S\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi%
+ \if\first@@ c\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi%
+ \if\third@@ c\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi%
+ \xdef\second@{\the\loopcount}%
+ \rule[\width@tmp]{\second@\box@width}{\temp@@length}%
+ \setbox1=\hbox{\residues@size{\fill@char}}%
+ \kern-\second@\box@width%
+ \hbox to \second@\box@width{\textcolor{\backtext@color}{\hss\rule[\width@tmp]{1.2\wd1}{\temp@@length}\hss}}%
+ \kern-\second@\box@width%
+ \hbox to \second@\box@width{\textcolor{\frame@color}{\residues@size{\hss\fill@char\hss}}}%
+ \if\third@@ ,%
+ \kern-\temp@@length\rule{\temp@@length}{\arrow@height}%
+ \else%
+ \if\third@@ b%
+ \xdef\last@{bottom}%
+ \ifx\fe@turep@s\last@%
+ \kern-\temp@@length\rule{\temp@@length}{\arrow@height}%
+ \else
+ \xdef\shift@feature{y}%
+ \kern-\temp@@length%
+ \rule[-\bar@length]{\temp@@length}{\bar@length}%
+ \kern-\temp@@length\rule{\temp@@length}{\arrow@height}%
+ \fi
+ \else%
+ \if\third@@ |%
+ \kern-\temp@@length\rule{\temp@@length}{2\arrow@height}%
+ \else%
+ \if\third@@ O%
+ \rule[\width@tmp]{0.65ex}{\temp@@length}%
+ \kern-0.55ex\raisebox{0.06ex}{\ensuremath{\bullet}}%
+ \else%
+ \if\third@@ S%
+ \rule[\width@tmp]{0.5\box@width}{\temp@@length}%
+ \rule[\width@tmp]{0.5\temp@@length}{\temp@@length}%
+ \xdef\last@{bottom}%
+ \ifx\fe@turep@s\last@%
+ \advance\width@tmp by 0.5\temp@@length%
+ \kern-\temp@@length\rule[\width@tmp]{\temp@@length}{\arrow@height}%
+ \else
+ \kern-\temp@@length\rule{\temp@@length}{\arrow@height}%
+ \fi%
+ \else%
+ \if\third@@ c%
+ \xdef\shift@feature{y}%
+ \rule[\width@tmp]{0.5\box@width}{\temp@@length}%
+ \xdef\last@{bottom}%
+ \ifx\fe@turep@s\last@%
+ \kern-\temp@@length%%%%%%%%%%%%%%%%%%%%%%%%%
+ \rule[2\arrow@height]{\temp@@length}{\bar@length}%%%%%%%%%%%%%%%%%%%%%%
+ \advance\width@tmp by 0.5\temp@@length%
+ \kern-\temp@@length\rule[\width@tmp]{\temp@@length}{\arrow@height}%
+ \else
+ \kern-\temp@@length\rule[-\bar@length]{\temp@@length}{\bar@length}%
+ \kern-\temp@@length\rule{\temp@@length}{\arrow@height}%
+ \fi%
+ \else%
+ \if\third@@ >%
+ \kern-0.35ex\raisebox{0.06ex}{\ensuremath{\blacktriangleright}}%
+ \else
+ \if\third@@ `\xdef\third@@{'}\fi%
+ \if\third@@ '%
+ \advance\width@tmp by 0.5\temp@@length%
+ \kern-\temp@@length\rule[\width@tmp]{\temp@@length}{\arrow@height}%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+ \fi}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+}
+\def\next@featuretext&#1;#2;#3@{%
+ \xdef\first@{#3@}%
+ \xdef\last@{fill:#2:&}\expandafter\test@fill\last@%
+ \ifx\f@color\comm@\xdef\f@color{Black}\fi%
+ \fontfamily{\featuretext@family}%
+ \fontseries{\featuretext@series}%
+ \fontshape{\featuretext@shape}%
+ \selectfont%
+ \xdef\last@{translate}%
+ \ifx\last@\second@@%
+ \xdef\fill@char{\fill@char &}%
+ \if\seq@type N
+ \loop%
+ \expandafter\get@firstfill\fill@char%
+ \if\second@@ -\def\second@@{\hss}\fi%
+ \hbox to \box@width{\hss\textcolor{\f@color}{%
+ \featuretext@size{\strut\second@@}}\hss}%
+ \ifx\fill@char\ampers@nd\else\repeat%
+ \else
+ \hbox to #1\box@width{\hss%
+ \temp@count=1%
+ \loop%
+ \expandafter\get@tripletfill\fill@char%
+ \if\second@@ -\ifnum\tr@nstextstyle>0\hbox to \box@width{\hss}\fi%
+ \else%
+ \ifcase\tr@nstextstyle%
+ \hbox{\transtext@size\textcolor{\f@color}%
+ {\hss\second@@\second@@@\second@@@@\,\hss}}%
+ \or%
+ \ifnum\temp@count=1%
+ \vbox{\transtext@size%
+ \hbox to \box@width{\textcolor{\f@color}{\second@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@@}}}%
+ \else%
+ \vbox{\transtext@size%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@@}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\second@@\hss}}}%
+ \fi%
+ \or%
+ \ifnum\temp@count=1%
+ \vbox{\transtext@size%
+ \hbox to \box@width{\textcolor{\f@color}%
+ {\hss\second@@\second@@@\second@@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss}}}%
+ \else%
+ \vbox{\transtext@size%
+ \hbox to \box@width{\textcolor{\f@color}{\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}%
+ {\hss\second@@\second@@@\second@@@@\hss}}}%
+ \fi%
+ \or%
+ \vbox{\transtext@size%
+ \hbox to \box@width{\textcolor{\f@color}{\second@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@@}}}%
+ \or%
+ \vbox{\transtext@size%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@\hss}}%
+ \hbox to \box@width{\textcolor{\f@color}{\hss\second@@@@\hss}}}%
+ \fi%
+ \fi%
+ \ifx\fill@char\ampers@nd\else\repeat%
+ \hss}
+ \fi%
+ \else%
+ \textcolor{\f@color}{%
+ \hbox to #1\box@width{\hss\featuretext@size{\strut\fourth@}\hss}}%
+ \fi%
+ \advance\loopcount by -#1%
+}
+\def\put@featuretext{%
+ \if\first@ @%
+ \else
+ \expandafter\next@featuretext\first@%
+ \put@featuretext%
+ \fi}
+\def\next@featurestyle&#1;#2;#3@{%
+ \xdef\first@{#2}%
+ \xdef\second@{#1}%
+ \ifx\first@\ampers@nd \hbox to \second@\box@width{\hss}%
+ \else%
+ \hbox to \second@\box@width%
+ {\hss\expandafter\putfeature@style{\first@}\hss}\fi%
+ \xdef\first@{#3@}%
+ \advance\loopcount by -\second@%
+}
+\def\put@featurestyle{%
+ \if\first@ @%
+ \else
+ \expandafter\next@featurestyle\first@%
+ \put@featurestyle%
+ \fi
+}
+\def\put@feature{%
+ \vspace{-\baselineskip}%
+ \newline\hbox{}%
+ \xdef\temp@{ttttop}%
+ \ifx\temp@\bottop@%
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname textfeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featuretext%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \else%
+ \xdef\temp@{tttop}%
+ \ifx\temp@\bottop@%
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname textfeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featuretext%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \else%
+ \xdef\temp@{ttop}%
+ \ifx\temp@\bottop@%
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname textfeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featuretext%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \else%
+ \xdef\temp@{top}%
+ \ifx\temp@\bottop@%
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname textfeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featuretext%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \else
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname stylefeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featurestyle%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \fi\fi\fi\fi%
+ \newline\hbox{}%
+ \ifx\temp@\bottop@%
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname stylefeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featurestyle%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \else%
+ \xdef\temp@{ttop}%
+ \ifx\temp@\bottop@%
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname stylefeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featurestyle%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \else
+ \xdef\temp@{tttop}%
+ \ifx\temp@\bottop@%
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname stylefeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featurestyle%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \else
+ \xdef\temp@{ttttop}%
+ \ifx\temp@\bottop@%
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname stylefeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featurestyle%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\fstyles@family}\fontseries{\fstyles@series}\fontshape{\fstyles@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname fstyles@fg@\bottop@\endcsname}{\hbox to \name@width{\fstyles@size\csname featurestylesn@me\bottop@\endcsname\hss}}\fi\fi%
+ \else
+ \ifnames@right\else\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\csname textfeature\bottop@\endcsname @}%
+ \xdef\first@{\csname textfeature\bottop@\endcsname @}%
+ \loopcount=\res@perline%
+ \put@featuretext%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \ifnames@right\ifnames@%
+ \fontfamily{\ftext@family}\fontseries{\ftext@series}\fontshape{\ftext@shape}%
+ \selectfont%
+ \kern1em\hbox to \loopcount\box@width{\hss}%
+ \textcolor{\csname ftext@fg@\bottop@\endcsname}{\hbox to \name@width{\ftext@size\csname featuretextn@me\bottop@\endcsname\hss}}\fi\fi%
+ \fi\fi\fi\fi%
+ \newline\hbox{}%
+}
+\def\put@@@frame#1{%
+ \xdef\last@{#1[,]&}\expandafter\opt@color\last@%
+ \xdef\second@@{\fourth@}%
+ \ifx\f@color\comm@%
+ \xdef\third@@{0.2\box@width}%
+ \else%
+ \xdef\third@@{\f@color}%
+ \fi%
+ \setlength\arrow@width{\temp@@length}%
+ \advance\arrow@width by -\third@@%
+ \textcolor{\second@@}{%
+ \rule{\second@\box@width}{\third@@}%
+ \kern-\second@\box@width%
+ \rule{\third@@}{\arrow@width}%
+ \kern-\third@@%
+ \rule[\arrow@width]{\second@\box@width}{\third@@}%
+ \kern-\third@@%
+ \rule{\third@@}{\arrow@width}}%
+}
+\def\next@frame&#1;#2;#3@{%
+ \xdef\first@{#2}%
+ \xdef\second@{#1}%
+ \ifx\first@\ampers@nd \hbox to \second@\box@width{\hss}%
+ \else%
+ \expandafter\put@@@frame{\first@}%
+ \fi%
+ \xdef\first@{#3@}%
+}
+\def\put@@frame{%
+ \if\first@ @%
+ \else
+ \expandafter\next@frame\first@%
+ \put@@frame%
+ \fi%
+}
+\def\put@frame{%
+ \ifx\hide@seqs\n@%
+ \ifshow@cons\ifnum\cons@top=1 \vspace{-\baselineskip}\fi\fi%
+ \temp@count=\seq@count%
+ \ifx\hide@seqs\y@
+ \advance\temp@count by -1
+ \else
+ \loopcount=1%
+ \xdef\first@{true}%
+ \loop%
+ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@%
+ \advance\temp@count by -1\fi%
+ \advance\loopcount by 1%
+ \ifnum\loopcount>\seq@count\else\repeat%
+ \fi
+ \ifnum\temp@count>0%
+ \setlength\temp@@length{\box@height}%
+ \advance\temp@@length by \box@depth%
+ \setlength\arrow@height{0.5\temp@@length}%
+ \setlength\temp@@length{\temp@count\temp@@length}%
+ \advance\temp@@length by \arrow@height%
+ \setlength\arrow@width{\sep@space}%
+ \setlength\arrow@width{\seq@gap@num\arrow@width}%
+ \advance\temp@@length by \arrow@width%
+ \vspace{\arrow@height}%
+ \vspace{-\temp@@length}%
+ \vspace{-\baselineskip}%
+ \newline\hbox{}%
+ \ifnames@right\else\ifnames@\hbox to \name@width{\hss}\fi\fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \xdef\first@{\styleframe @}%
+ \put@@frame%
+ \vspace{-\arrow@height}%
+ \ifshow@cons\ifnum\cons@top=1 \vspace{\baselineskip}\fi\fi%
+ \newline\hbox{}%
+ \fi%
+ \fi%
+}
+\def\decimal@A#1#2@{%
+ \def\decimal@AB##1##2@{\xdef\temp@{##1.##2}}%
+ \xdef\temp@@{#1}%
+ \xdef\temp@{#2@}%
+ \expandafter\decimal@AB\temp@%
+ \xdef\temp@{\temp@@\temp@}%
+}
+\def\decimal@B#1#2@{\xdef\temp@{#1.#2}}
+\def\decimal@C#1#2@{\xdef\temp@{0.#1#2}}
+\def\decimal@D#1#2@{\xdef\temp@{0.0#1#2}}
+\def\decimal@E#1#2@{\xdef\temp@{0.00#1#2}}
+\def\correct@CGSO{%
+ \setlength\temp@@length{0.12\logo@height}%
+ \multiply\temp@@length by \third@ %
+ \if\seq@type P %
+ \divide\temp@@length by 4322 %
+ \else%
+ \divide\temp@@length by 4000 %
+ \fi%
+ \loopcount=\third@%
+ \multiply\loopcount by 94 %
+ \divide\loopcount by 100 %
+ \xdef\third@{\the\loopcount}%
+}
+\def\correct@Q{%
+ \setlength\temp@@length{0.063\logo@height}%
+ \multiply\temp@@length by \third@%
+ \if\seq@type P %
+ \divide\temp@@length by 4322 %
+ \else%
+ \divide\temp@@length by 4000 %
+ \fi%
+ \multiply\temp@@length by 10 %
+ \loopcount=\third@%
+ \multiply\loopcount by 83 %
+ \divide\loopcount by 100 %
+ \xdef\third@{\the\loopcount}%
+}
+\def\correct@JUV{%
+ \setlength\temp@@length{0.12\logo@height}%
+ \multiply\temp@@length by \third@ %
+ \if\seq@type P %
+ \divide\temp@@length by 4322 %
+ \else%
+ \divide\temp@@length by 4000 %
+ \fi%
+ \loopcount=\third@%
+ \multiply\loopcount by 97 %
+ \divide\loopcount by 100 %
+ \xdef\third@{\the\loopcount}%
+}
+\def\next@logo#1:#2,#3@{%
+ \xdef\first@{#1}\xdef\second@{#2}\xdef\last@{#3}%
+ \ifx\first@\ampers@nd%
+ \ifx\clear@logo\n@%
+ \ifx\hide@sig\n@%
+ \expandafter\firstchar@get\sublogo@sig%
+ \xdef\sublogo@sig{\third@}%
+ \ifx\first@\y@%
+ \loopcount=\temp@count%
+ \ifnum\loopcount<0 \loopcount=0\fi%
+ \xdef\fourth@{\the\loopcount @}%
+ \ifnum\loopcount>9999 \expandafter\decimal@A\fourth@ \else%
+ \ifnum\loopcount>999 \expandafter\decimal@B\fourth@ \else%
+ \ifnum\loopcount>99 \expandafter\decimal@C\fourth@ \else%
+ \ifnum\loopcount>9 \expandafter\decimal@D\fourth@ \else%
+ \expandafter\decimal@E\fourth@%
+ \fi\fi\fi\fi%
+ \raisebox{\temp@\logo@height}{%
+ \hbox to \box@width{\textcolor{\sig@color}{\hss\residues@size{\sig@char}\hss}}}%
+ \kern-\box@width%
+ \fi%
+ \fi%
+ \fi%
+ \temp@count=0%
+ \kern\box@width%
+ \advance\outerloopcount by 1 %
+ \else%
+ \ifnum#2=1%
+ \temp@count=0%
+ \else%
+ \if\seq@type N%
+ \loopcount=\second@%
+ \multiply\loopcount by 2%
+ \xdef\second@{\the\loopcount}%
+ \fi%
+ \xdef\third@{\second@}%
+ \if\first@ C\correct@CGSO \else%
+ \if\first@ G\correct@CGSO \else%
+ \if\first@ S\correct@CGSO \else%
+ \if\first@ O\correct@CGSO \else%
+ \if\first@ Q\correct@Q \else%
+ \if\first@ J\correct@JUV \else%
+ \if\first@ U\correct@JUV \else%
+ \if\first@ V\correct@JUV \else%
+ \setlength\temp@@length{0pt}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
+ \loopcount=\third@
+ \multiply\loopcount by \logo@stretch@IOOO%
+ \ifnum\loopcount>0 %
+ \divide\loopcount by 1000 \xdef\fl@g{}%
+ \xdef\tint@{}%
+ \else%
+ \divide\loopcount by -1000 \xdef\fl@g{-}%
+ \xdef\tint@{\sublogo@tint}%
+ \fi%
+ \ifnum\loopcount=0\relax\loopcount=1\relax\fi
+ \xdef\third@{\the\loopcount @}%
+ \ifnum\loopcount>9999 \expandafter\decimal@A\third@ \else%
+ \ifnum\loopcount>999 \expandafter\decimal@B\third@ \else%
+ \ifnum\loopcount>99 \expandafter\decimal@C\third@ \else%
+ \ifnum\loopcount>9 \expandafter\decimal@D\third@ \else%
+ \expandafter\decimal@E\third@%
+ \fi\fi\fi\fi%
+ \xdef\third@{\fl@g\temp@}%
+ \ifnum\temp@count<0 %
+ \ifnum\second@<0 \else\temp@count=0 \fi%
+ \fi%
+ \ifnum\temp@count>0 %
+ \loopcount=\temp@count \xdef\fl@g{}%
+ \else
+ \loopcount=-\temp@count \xdef\fl@g{-}%
+ \fi%
+ \xdef\fourth@{\the\loopcount @}%
+ \ifnum\loopcount>9999 \expandafter\decimal@A\fourth@ \else%
+ \ifnum\loopcount>999 \expandafter\decimal@B\fourth@ \else%
+ \ifnum\loopcount>99 \expandafter\decimal@C\fourth@ \else%
+ \ifnum\loopcount>9 \expandafter\decimal@D\fourth@ \else%
+ \expandafter\decimal@E\fourth@%
+ \fi\fi\fi\fi%
+ \xdef\fourth@{\fl@g\temp@}%
+ \if\first@ W%
+ \hbox to \box@width{\hss%
+ \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{\char@stretch@W}[\third@]%
+ {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{W}\hss}}}}}\hss}%
+ \kern-\box@width%
+ \else%
+ \hbox to \box@width{\hss%
+ \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{\char@stretch}[\third@]%
+ {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{\first@}\hss}}}}}\hss}%
+ \kern-\box@width%
+ \fi%
+ \advance\temp@count by \second@%
+ \fi%
+ \fi%
+ \xdef\temp@{\last@.}%
+ \ifx\temp@\d@t%
+ \else%
+ \xdef\last@{#3@}%
+ \ifnum\outerloopcount>\res@perline%
+ \else
+ \expandafter\next@logo\last@%
+ \fi%
+ \fi%
+}
+
+\def\put@logo{%
+ \ifx\clear@logo\y@%
+ \ifnum\logo@top=1 %
+ \vspace{-0.5\baselineskip}%
+ \else
+ \vspace{-0.75\baselineskip}%
+ \fi%
+ \else%
+ \ifnum\sublogo@top=1 %
+ \vspace{-0.5\baselineskip}%
+ \else
+ \vspace{-0.75\baselineskip}%
+ \fi%
+ \fi%
+ \newline\hbox{}%
+ \ifnames@right%
+ \else%
+ \fontfamily{\namestext@family}\fontseries{\namestext@series}\fontshape{\namestext@shape}%
+ \selectfont%
+ \ifnames@
+ \textcolor{\names@fg}{%
+ \raisebox{2\logo@height}{\hbox to \name@width{\namestext@size{\logo@name}\hss}}%
+ \ifx\clear@logo\n@
+ \ifx\hide@negatives\n@%
+ \kern-\name@width\raisebox{-3\logo@height}{\hbox to \name@width{\namestext@size{\sublogo@name@neg}\hss}}%
+ \fi%
+ \fi}%
+ \fi%
+ \fi%
+ \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
+ \fontfamily{cmss}\fontseries{m}\fontshape{n}\selectfont%
+ \ifx\show@logoscale\n@%
+ \if\seq@type P%
+ \ifnum\corr@max>600\relax%
+ \rule[5.4\logo@height]{0pt}{0pt}%
+ \else%
+ \rule[4.4\logo@height]{0pt}{0pt}%
+ \fi%
+ \else%
+ \rule[4.0688\logo@height]{0pt}{0pt}%
+ \fi%
+ \else%
+ \xdef\first@{right}%
+ \ifx\show@logoscale\first@%
+ \else%
+ \textcolor{\logo@scalecol}{%
+ \kern-0.7\box@width%
+ \rule[-0.05\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[2\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[4\logo@height]{0.4\box@width}{0.1\box@width}%
+ \if\seq@type P%
+ \kern-0.4\box@width%
+ \rule[1\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[3\logo@height]{0.4\box@width}{0.1\box@width}%
+ \ifnum\corr@max>600\relax%
+ \kern-0.4\box@width\rule[5\logo@height]{0.4\box@width}{0.1\box@width}\fi%
+ \setbox1=\hbox{\bottomruler@size 2}%
+ \kern-1.2\box@width%
+ \ifdim\logo@height>1.25\ht1 \relax%
+ \raisebox{-0.5\ht1}{\raisebox{1\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 1}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{3\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 3}}}%
+ \kern-0.6\box@width%
+ \ifnum\corr@max>600\relax%
+ \raisebox{-0.5\ht1}{\raisebox{5\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 5}}}%
+ \kern-0.6\box@width%
+ \fi
+ \fi
+ \raisebox{-0.5\ht1}{\raisebox{2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 2}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 4}}}%
+ \kern0.6\box@width%
+ \ifnum\corr@max>600\relax%
+ \rule[5.4\logo@height]{0pt}{0pt}%
+ \else
+ \rule[4.4\logo@height]{0pt}{0pt}%
+ \fi
+ \else%
+ \setbox1=\hbox{\bottomruler@size 2}%
+ \kern-1.2\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 1}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 2}}}%
+ \kern0.6\box@width%
+ \rule[4.0688\logo@height]{0pt}{0pt}%
+ \fi%
+ \kern-0.1\box@width%
+ \ifnum\corr@max>600\relax%
+ \rule{0.1\box@width}{5\logo@height}%
+ \else%
+ \rule{0.1\box@width}{4\logo@height}%
+ \fi%
+ \ifx\clear@logo\n@%
+ \ifx\hide@negatives\n@%
+ \kern-0.4\box@width%
+ \rule[-2\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[-4\logo@height]{0.4\box@width}{0.1\box@width}%
+ \if\seq@type P%
+ \kern-0.4\box@width%
+ \rule[-\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[-3\logo@height]{0.4\box@width}{0.1\box@width}%
+ \ifnum\corr@max>600\relax%
+ \kern-0.4\box@width\rule[-5\logo@height]{0.4\box@width}{0.1\box@width}\fi%
+ \setbox1=\hbox{\bottomruler@size 2}%
+ \kern-1.2\box@width%
+ \ifdim\logo@height>1.25\ht1 \relax%
+ \raisebox{-0.5\ht1}{\raisebox{-\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -1}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{-3\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -3}}}%
+ \kern-0.6\box@width%
+ \ifnum\corr@max>600\relax%
+ \raisebox{-0.5\ht1}{\raisebox{-5\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -5}}}%
+ \kern-0.6\box@width%
+ \fi
+ \fi
+ \raisebox{-0.5\ht1}{\raisebox{-2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -2}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{-4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -4}}}%
+ \kern0.6\box@width%
+ \ifnum\corr@max>600\relax%
+ \rule[-5.4\logo@height]{0pt}{0pt}%
+ \else
+ \rule[-4.4\logo@height]{0pt}{0pt}%
+ \fi
+ \else%
+ \setbox1=\hbox{\bottomruler@size 2}%
+ \kern-1.2\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{-2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -1}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{-4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -2}}}%
+ \kern0.6\box@width%
+ \rule[-4.0688\logo@height]{0pt}{0pt}%
+ \fi%
+ \kern-0.1\box@width%
+ \ifnum\corr@max>600\relax%
+ \rule[-5\logo@height]{0.1\box@width}{5\logo@height}%
+ \else%
+ \rule[-4\logo@height]{0.1\box@width}{4\logo@height}%
+ \fi%
+ \fi%
+ \fi
+ \kern0.3\box@width}%
+ \fi%
+ \fi%
+ \temp@count=0%
+ \outerloopcount=1 \expandafter\next@logo\last@%
+ \ifx\clear@logo\n@%
+ \ifx\hide@negatives\n@%
+ \textcolor{\logo@scalecol}{%
+ \kern-\res@perline\box@width\rule[-0.03\box@width]{\res@perline\box@width}{0.06\box@width}}%
+ \fi%
+ \fi%
+ \def\@kern{\kern1em}%
+ \ifx\show@logoscale\n@%
+ \else%
+ \xdef\first@{left}%
+ \ifx\show@logoscale\first@%
+ \kern0.1\box@width%
+ \else%
+ \def\@kern{\kern2em}%
+ \textcolor{\logo@scalecol}{%
+ \kern0.3\box@width%
+ \rule[-0.05\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[2\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[4\logo@height]{0.4\box@width}{0.1\box@width}%
+ \if\seq@type P%
+ \kern-0.4\box@width%
+ \rule[1\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[3\logo@height]{0.4\box@width}{0.1\box@width}%
+ \ifnum\corr@max>600\relax%
+ \kern-0.4\box@width\rule[5\logo@height]{0.4\box@width}{0.1\box@width}\fi%
+ \setbox1=\hbox{\bottomruler@size 2}%
+ \kern0.2\box@width%
+ \ifdim\logo@height>1.25\ht1 \relax%
+ \raisebox{-0.5\ht1}{\raisebox{1\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 1 \hss}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{3\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 3 \hss}}}%
+ \kern-0.6\box@width%
+ \ifnum\corr@max>600\relax%
+ \raisebox{-0.5\ht1}{\raisebox{5\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 5 \hss}}}%
+ \kern-0.6\box@width%
+ \fi
+ \fi
+ \raisebox{-0.5\ht1}{\raisebox{2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 2 \hss}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 4 \hss}}}%
+ \kern-0.8\box@width%
+ \ifnum\corr@max>600\relax%
+ \rule[5.4\logo@height]{0pt}{0pt}%
+ \else
+ \rule[4.4\logo@height]{0pt}{0pt}%
+ \fi
+ \else%
+ \setbox1=\hbox{\bottomruler@size 2}%
+ \kern0.2\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 1 \hss}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 2 \hss}}}%
+ \kern-0.8\box@width%
+ \rule[4.0688\logo@height]{0pt}{0pt}%
+ \fi%
+ \kern-0.4\box@width%
+ \ifnum\corr@max>600\relax%
+ \rule{0.1\box@width}{5\logo@height}%
+ \else%
+ \rule{0.1\box@width}{4\logo@height}%
+ \fi%
+ \ifx\clear@logo\n@%
+ \ifx\hide@negatives\n@%
+ \kern-0.1\box@width%
+ \rule[-2\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[-4\logo@height]{0.4\box@width}{0.1\box@width}%
+ \if\seq@type P%
+ \kern-0.4\box@width%
+ \rule[-\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width%
+ \rule[-3\logo@height]{0.4\box@width}{0.1\box@width}%
+ \ifnum\corr@max>600\relax%
+ \kern-0.4\box@width\rule[-5\logo@height]{0.4\box@width}{0.1\box@width}\fi%
+ \setbox1=\hbox{\bottomruler@size 2}%
+ \kern0.2\box@width%
+ \ifdim\logo@height>1.25\ht1 \relax%
+ \raisebox{-0.5\ht1}{\raisebox{-\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -1 \hss}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{-3\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -3 \hss}}}%
+ \kern-0.6\box@width%
+ \ifnum\corr@max>600\relax%
+ \raisebox{-0.5\ht1}{\raisebox{-5\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -5 \hss}}}%
+ \kern-0.6\box@width%
+ \fi
+ \fi
+ \raisebox{-0.5\ht1}{\raisebox{-2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -2 \hss}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{-4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -4 \hss}}}%
+ \kern-0.8\box@width%
+ \ifnum\corr@max>600\relax%
+ \rule[-5.4\logo@height]{0pt}{0pt}%
+ \else
+ \rule[-4.4\logo@height]{0pt}{0pt}%
+ \fi
+ \else%
+ \setbox1=\hbox{\bottomruler@size 2}%
+ \kern0.2\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{-2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -1 \hss}}}%
+ \kern-0.6\box@width%
+ \raisebox{-0.5\ht1}{\raisebox{-4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -2 \hss}}}%
+ \kern-0.8\box@width%
+ \rule[-4.0688\logo@height]{0pt}{0pt}%
+ \fi%
+ \kern-0.4\box@width%
+ \ifnum\corr@max>600\relax%
+ \rule[-5\logo@height]{0.1\box@width}{5\logo@height}%
+ \else%
+ \rule[-4\logo@height]{0.1\box@width}{4\logo@height}%
+ \fi%
+ \fi%
+ \fi%
+ \kern-0.3\box@width}%
+ \fi%
+ \fi%
+ \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\def\@kern{\kern1em}\fi\fi%
+ \ifnames@right%
+ \fontfamily{\namestext@family}\fontseries{\namestext@series}\fontshape{\namestext@shape}%
+ \selectfont%
+ \ifnames@
+ \textcolor{\names@fg}{%
+ \raisebox{2\logo@height}{\hbox to \name@width{\namestext@size{\@kern\logo@name}\hss}}%
+ \ifx\clear@logo\n@
+ \ifx\hide@negatives\n@%
+ \kern-\name@width\raisebox{-3\logo@height}{\hbox to \name@width{\namestext@size{\@kern\sublogo@name@neg}\hss}}%
+ \fi%
+ \fi}%
+ \fi%
+ \fi%
+ \ifx\clear@logo\y@\xdef\stack@sequencelogo{}%
+ \else%
+ \ifx\hide@negatives\n@ \newline\hbox{}\fi%
+ \fi%
+ \newline\hbox{}%
+}
+
+\def\set@lines{%
+ \pos@count=1
+ \xdef\frame@pos{1}\xdef\bar@pos{0}%
+ \xdef\featurepostop{1} \xdef\featureposbottom{1}%
+ \xdef\featureposttop{1} \xdef\featureposbbottom{1}%
+ \xdef\featurepostttop{1} \xdef\featureposbbbottom{1}%
+ \xdef\featureposttttop{1} \xdef\featureposbbbbottom{1}%
+ \findc@nsensus%
+ \noindent%
+ \setlength{\bar@length}{0pt}%
+ \xdef\fe@turep@s{top}%
+ \ifnum\feature@ttttop=1
+ \advance\bar@length by \feature@tttop\baselineskip%
+ \advance\bar@length by \feature@ttop\baselineskip%
+ \advance\bar@length by \feature@top\baselineskip%
+ \multiply\bar@length by 2%
+ \advance\bar@length by \tttt@sp@ce%
+ \advance\bar@length by \ttt@sp@ce%
+ \advance\bar@length by \tt@sp@ce%
+ \ifnum\featureonttttop=0 \xdef\feature@ttttop{0} \fi
+ \xdef\bottop@{ttttop}%
+ \xdef\shift@feature{n}%
+ \put@feature%
+ \advance\bar@length by -\baselineskip%
+ \ifx\shift@feature\y@ \vspace{-\bar@length}\fi%
+ \setlength{\bar@length}{0pt}%
+ \vspace{\tttt@sp@ce}%
+ \vspace{-\baselineskip}%
+ \newline\hbox{}%
+ \else
+ \iffix@\ifttttopfeature \vspace{\tttt@sp@ce}\newline\hbox{}\newline\hbox{}\fi\fi
+ \fi
+ \ifnum\feature@tttop=1
+ \advance\bar@length by \feature@ttop\baselineskip%
+ \advance\bar@length by \feature@top\baselineskip%
+ \multiply\bar@length by 2%
+ \advance\bar@length by \ttt@sp@ce%
+ \advance\bar@length by \tt@sp@ce%
+ \ifnum\featureontttop=0 \xdef\feature@tttop{0} \fi
+ \xdef\bottop@{tttop}%
+ \xdef\shift@feature{n}%
+ \put@feature%
+ \advance\bar@length by -\baselineskip%
+ \ifx\shift@feature\y@ \vspace{-\bar@length}\fi%
+ \setlength{\bar@length}{0pt}%
+ \vspace{\ttt@sp@ce}%
+ \vspace{-\baselineskip}%
+ \newline\hbox{}%
+ \else
+ \iffix@\iftttopfeature \vspace{\ttt@sp@ce}\newline\hbox{}\newline\hbox{}\fi\fi
+ \fi
+ \ifnum\feature@ttop=1
+ \advance\bar@length by \feature@top\baselineskip%
+ \multiply\bar@length by 2%
+ \advance\bar@length by \tt@sp@ce\message{tt\the\bar@length tt}%
+ \ifnum\featureonttop=0 \xdef\feature@ttop{0} \fi
+ \xdef\bottop@{ttop}%
+ \xdef\shift@feature{n}%
+ \put@feature%
+ \advance\bar@length by -\baselineskip%
+ \ifx\shift@feature\y@ \vspace{-\bar@length}\fi%
+ \setlength{\bar@length}{0pt}%
+ \vspace{\tt@sp@ce}%
+ \vspace{-\baselineskip}%
+ \newline\hbox{}%
+ \else
+ \iffix@\ifttopfeature \vspace{\tt@sp@ce}\newline\hbox{}\newline\hbox{}\fi\fi
+ \fi
+ \ifnum\feature@top=1
+ \ifnum\featureontop=0 \xdef\feature@top{0} \fi
+ \xdef\bottop@{top}%
+ \put@feature%
+ \vspace{\t@sp@ce}%
+ \vspace{-\baselineskip}%
+ \newline\hbox{}%
+ \else
+ \iffix@\iftopfeature \vspace{\t@sp@ce}\newline\hbox{}\newline\hbox{}\fi\fi
+ \fi
+ \ifnum\rule@num<0 \else \ifnum\rule@top=0 \loopcount=0 \put@ruler \fi\fi
+ \ifshow@logo\ifnum\logo@top=0
+ \xdef\last@{\stack@sequencelogo @}%
+ \ifx\logo@name@user\ampers@nd\xdef\logo@name{logo}\else\xdef\logo@name{\logo@name@user}\fi
+ \xdef\clear@logo{y}%
+ \put@logo%
+ \xdef\clear@logo{n}%
+ \fi\fi
+ \ifshow@sublogo\ifnum\sublogo@top=0
+ \read@sublogo%
+ \xdef\last@{\stack@sublogo @}%
+ \ifx\sublogo@name@user\ampers@nd\xdef\logo@name{subfamily}\else\xdef\logo@name{\sublogo@name@user}\fi
+ \put@logo%
+ \fi\fi
+ \set@consensus
+ \ifshow@cons\ifnum\cons@top=0
+ \xdef\cons@now{y}%
+ \xdef\first@{\consensus @}%
+ \xdef\first@@@{\c@nscol @}%
+ \loopcount=0\relax%
+ \put@line%
+ \xdef\c@nscol{}%
+ \xdef\cons@now{no}%
+ \fi\fi
+ \ifx\hide@seqs\n@%
+ \loopcount=0 %
+ \loop
+ \advance\loopcount by 1 %
+ \xdef\second@{\csname hide@seq\the\loopcount\endcsname}%
+ \xdef\first@{noshade}\nosh@defalse%
+ \ifx\second@\first@ \nosh@detrue \xdef\second@{false}\fi
+ \xdef\first@{false}%
+ \ifx\second@\first@
+ \ifnames@right
+ \ifnumbers@right
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{%
+ \csname seq\the\loopcount\endcsname%
+ \csname res@count\the\loopcount\endcsname)%
+ <\csname newseqname\the\loopcount\endcsname>}%
+ \else
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{%
+ \csname seq\the\loopcount\endcsname%
+ <\csname newseqname\the\loopcount\endcsname>}%
+ \fi
+ \else
+ \ifnumbers@right
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{%
+ \csname seq\the\loopcount\endcsname%
+ \csname res@count\the\loopcount\endcsname)}%
+ \fi
+ \fi
+ \xdef\first@{\csname seq\the\loopcount\endcsname @}%
+ \expandafter\ifx\csname seq@gap\the\loopcount\endcsname\yes%
+ \ifnum\finger@linenum=0\seq@skip%
+ \else%
+ \ifnum\loopcount<\seq@count\seq@skip\fi%
+ \fi%
+ \fi%
+ \put@line%
+ \fi%
+ \ifnum\loopcount<\seq@count\repeat%
+ \fi%
+ \ifshow@cons\ifnum\cons@top=1 %
+ \xdef\cons@now{y}%
+ \xdef\first@{\consensus @}%
+ \xdef\first@@@{\c@nscol @}%
+ \loopcount=0\relax%
+ \put@line%
+ \xdef\c@nscol{}%
+ \xdef\cons@now{no}%
+ \fi\fi%
+ \ifnum\frame@=1 %
+ \ifnum\frame@on=0 \xdef\frame@{0}\fi%
+ \put@frame%
+ \fi%
+ \ifshow@logo\ifnum\logo@top=1 %
+ \xdef\last@{\stack@sequencelogo @}%
+ \ifx\logo@name@user\ampers@nd\xdef\logo@name{logo}\else\xdef\logo@name{\logo@name@user}\fi
+ \xdef\clear@logo{y}%
+ \put@logo%
+ \xdef\clear@logo{n}%
+ \fi\fi%
+ \ifshow@sublogo\ifnum\sublogo@top=1
+ \read@sublogo%
+ \xdef\last@{\stack@sublogo @}
+ \ifx\sublogo@name@user\ampers@nd\xdef\logo@name{subfamily}\else\xdef\logo@name{\sublogo@name@user}\fi
+ \put@logo%
+ \fi\fi%
+ \ifnum\rule@num<0 %
+ \else%
+ \ifnum\rule@top=1 %
+ \loopcount=0\relax%
+ \ifnum\ruler@rot=0 %
+ \else \vspace{\ruler@width}\vspace{-1.75\baselineskip}\newline\hbox{}%
+ \fi
+ \put@ruler%
+ \ifnum\ruler@rot=0 \vspace{0.25\baselineskip}\fi%
+ \fi%
+ \fi%
+ \xdef\fe@turep@s{bottom}%
+ \setlength{\bar@length}{0pt}%
+ \xdef\b@feature@count{0}
+ \ifnum\feature@bottom=1 %
+ \ifnum\featureonbottom=0 \xdef\feature@bottom{0}\fi%
+ \xdef\bottop@{bottom}%
+ \vspace{\b@sp@ce}%
+ \if\bottom@stretch y%
+ \vspace{-\box@height}%
+ \vspace{\b@r@stretch\box@height}%
+ \fi%
+ \put@feature%
+ \temp@@count=\b@feature@count%
+ \advance\temp@@count by 1%
+ \xdef\b@feature@count{\the\temp@@count}%
+ \else
+ \iffix@
+ \if\bottom@stretch y%
+ \vspace{-\box@height}%
+ \vspace{\b@r@stretch\box@height}%
+ \fi%
+ \ifbottomfeature%
+ \vspace{\b@sp@ce}\newline\hbox{}\newline\hbox{}%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum\feature@bbottom=1 %
+ \advance\bar@length by \b@feature@count \baselineskip%
+ \multiply\bar@length by \b@r@stretch%
+ \multiply\bar@length by 2%
+ \advance\bar@length by \bb@sp@ce\message{bb\the\bar@length bb}%
+ \ifnum\featureonbbottom=0 \xdef\feature@bbottom{0}\fi%
+ \xdef\bottop@{bbottom}%
+ \vspace{\bb@sp@ce}%
+ \if\bbottom@stretch y%
+ \advance\bar@length by -\box@height%
+ \advance\bar@length by \b@r@stretch\box@height%
+ \vspace{-\box@height}%
+ \vspace{\b@r@stretch\box@height}%
+ \fi%
+% \vspace{-\bar@length}%%%%%%%%%%%%%%%%%%%%%%%
+ \setlength{\bar@length}{0pt}%%%%%%%%%%%%%%%%%%%%%%%
+ \put@feature%
+ \temp@@count=\b@feature@count%
+ \advance\temp@@count by 1%
+ \xdef\b@feature@count{\the\temp@@count}%
+ \else
+ \iffix@
+ \if\bbottom@stretch y%
+ \vspace{-\box@height}%
+ \vspace{\b@r@stretch\box@height}%
+ \fi%
+ \ifbbottomfeature
+ \vspace{\bb@sp@ce}\newline\hbox{}\newline\hbox{}%
+ \fi
+ \fi
+ \fi
+ \ifnum\feature@bbbottom=1 %
+ \advance\bar@length by \b@feature@count\baselineskip%
+ \multiply\bar@length by \b@r@stretch%
+ \multiply\bar@length by 2%
+ \advance\bar@length by \bbb@sp@ce\message{bbb\the\bar@length bbb}%
+ \ifnum\featureonbbbottom=0 \xdef\feature@bbbottom{0}\fi%
+ \xdef\bottop@{bbbottom}%
+ \vspace{\bbb@sp@ce}%
+ \if\bbbottom@stretch y%
+ \vspace{-\box@height}%
+ \vspace{\b@r@stretch\box@height}%
+ \fi%
+ \put@feature%
+ \temp@@count=\b@feature@count%
+ \advance\temp@@count by 1%
+ \xdef\b@feature@count{\the\temp@@count}%
+ \else
+ \iffix@
+ \if\bbbottom@stretch y%
+ \vspace{-\box@height}%
+ \vspace{\b@r@stretch\box@height}%
+ \fi%
+ \ifbbbottomfeature
+ \vspace{\bbb@sp@ce}\newline\hbox{}\newline\hbox{}%
+ \fi
+ \fi
+ \fi
+ \ifnum\feature@bbbbottom=1 %
+ \advance\bar@length by \b@feature@count\baselineskip%
+ \multiply\bar@length by \b@r@stretch%
+ \multiply\bar@length by 2%
+ \advance\bar@length by \bbbb@sp@ce\message{bbbb\the\bar@length bbbb}%
+ \ifnum\featureonbbbbottom=0 \xdef\feature@bbbbottom{0}\fi%
+ \xdef\bottop@{bbbbottom}%
+ \vspace{\bbbb@sp@ce}%
+ \if\bbbbottom@stretch y%
+ \vspace{-\box@height}%
+ \vspace{\b@r@stretch\box@height}%
+ \fi%
+ \put@feature%
+ \else
+ \iffix@
+ \if\bbbbottom@stretch y%
+ \vspace{-\box@height}%
+ \vspace{\b@r@stretch\box@height}%
+ \fi%
+ \ifbbbbottomfeature
+ \vspace{\bbbb@sp@ce}\newline\hbox{}\newline\hbox{}%
+ \fi
+ \fi
+ \fi
+ \xdef\consensus{} \xdef\ruler@{}
+ \xdef\styleframe{}
+ \xdef\textfeaturetop{} \xdef\textfeaturebottom{}
+ \xdef\textfeaturettop{} \xdef\textfeaturebbottom{}
+ \xdef\textfeaturetttop{} \xdef\textfeaturebbbottom{}
+ \xdef\textfeaturettttop{} \xdef\textfeaturebbbbottom{}
+ \xdef\stylefeaturetop{} \xdef\stylefeaturebottom{}
+ \xdef\stylefeaturettop{} \xdef\stylefeaturebbottom{}
+ \xdef\stylefeaturetttop{} \xdef\stylefeaturebbbottom{}
+ \xdef\stylefeaturettttop{} \xdef\stylefeaturebbbbottom{}
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \xdef\seq@line{\csname sequence\the\loopcount\endcsname}
+ \expandafter\remove@fromseq\seq@line
+ \ifnum\loopcount<\seq@count \repeat}
+
+\def\block@output{%
+ \expandafter\ifnum\csname res@count\start@seq\endcsname<\end@num\relax
+ \message{.}
+ \ifx\out@put\y@
+ \vbox{\set@lines}\par
+ \block@skip
+ \else
+ \pos@count=1
+ \findc@nsensus
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1\relax
+ \xdef\seq@line{\csname sequence\the\loopcount\endcsname}
+ \expandafter\remove@fromseq\seq@line
+ \ifT@coffee
+ \xdef\TC@cons{\csname TC0\endcsname}
+ \expandafter\remove@fromTC\TC@cons
+ \fi
+ \ifnum\loopcount<\seq@count \repeat
+ \fi
+ \ifstop@
+ \else
+ \advance\seq@pointer by -\res@perline
+ \ifnum\seq@pointer>\res@perline \block@output \fi
+ \fi
+ \fi}
+
+%%%%% Basic input routines
+
+\def\savedseqlength#1#2#3{%
+ \expandafter\xdef\csname savelength#1seq#2\endcsname{#3}}
+
+\def\set@savedseqlength{%
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\ifx%
+ \csname savelength\@lign@count seq\the\loopcount\endcsname\relax
+ \else
+ \expandafter\xdef\csname seq@len\the\loopcount\endcsname{%
+ \csname savelength\@lign@count seq\the\loopcount\endcsname}
+ \fi
+ \ifnum\loopcount<\seq@count\repeat
+}
+
+\def\save@lengths{%
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1\relax
+ \immediate\write\@auxout{%
+ \string\savedseqlength{\@lign@count}{\the\loopcount}%
+ {\csname res@count\the\loopcount\endcsname}}
+ \ifnum\loopcount<\seq@count \repeat
+}
+
+\def\do@cleanup{%
+ \expandafter\firstchar@get\third@
+ \expandafter\check@char\first@
+ \ifletter
+ \xdef\second@{\second@\first@}
+ \else
+ \ifnumber
+ \ifx\first@\gre@ter
+ \xdef\second@{\second@{$>$}}
+ \else
+ \ifx\first@\sm@ller
+ \xdef\second@{\second@{$<$}}
+ \else
+ \xdef\second@{\second@\first@}
+ \fi\fi
+ \else
+ \ifnum\code@num=6
+ \xdef\second@{\second@\#}
+ \else
+ \ifnum\code@num=14
+ \xdef\second@{\second@\%}
+ \else
+ \xdef\second@{\second@\noexpand\string\first@}
+ \fi\fi
+ \fi
+ \fi
+ \ifx\third@\@t \else \do@cleanup \fi
+}
+
+\def\cleanup@name{%
+ \xdef\third@{\csname seqname\the\loopcount\endcsname @}
+ \xdef\second@{}
+ \do@cleanup
+ \expandafter\xdef\csname newseqname\the\loopcount\endcsname{\second@}
+}
+
+\def\clear@seq{%
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\def\csname sequence\the\loopcount\endcsname{}
+ \ifnum\loopcount<\seq@count \repeat
+ \xdef\consensus{}
+ \xdef\constopo{}
+ \xdef\frame@on{0}
+ \xdef\textfeaturetop{} \xdef\featureontop{0}
+ \xdef\textfeaturettop{} \xdef\featureonttop{0}
+ \xdef\textfeaturetttop{} \xdef\featureontttop{0}
+ \xdef\textfeaturettttop{} \xdef\featureonttttop{0}
+ \xdef\textfeaturebottom{} \xdef\featureonbottom{0}
+ \xdef\textfeaturebbottom{} \xdef\featureonbbottom{0}
+ \xdef\textfeaturebbbottom{} \xdef\featureonbbbottom{0}
+ \xdef\textfeaturebbbbottom{} \xdef\featureonbbbbottom{0}
+ \xdef\styleframe{}
+ \xdef\stylefeaturetop{}
+ \xdef\stylefeaturettop{}
+ \xdef\stylefeaturetttop{}
+ \xdef\stylefeaturettttop{}
+ \xdef\stylefeaturebottom{}
+ \xdef\stylefeaturebbottom{}
+ \xdef\stylefeaturebbbottom{}
+ \xdef\stylefeaturebbbbottom{}}
+\def\guess@protein{\seqtype{P}\message{<Seqtype guess: protein>}}
+\def\guess@DNA{\seqtype{N}\message{<Seqtype guess: nucleotide>}}
+\def\allmatch@out{%
+ \xdef\leave@in{n}
+ \loopcount=1
+ \xdef\seq@line{\csname seq\the\loopcount\endcsname}
+ \expandafter\res@get\seq@line
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\seq@line}
+ \ifnum\loopcount=\start@seq\relax
+ \expandafter\check@char\first@
+ \ifletter
+ \advance\temp@@count by 1
+ \ifnum\temp@@count=\end@num\relax
+ \advance\temp@count by 1
+ \xdef\second@{\the\temp@count}
+ \advance\temp@count by -1
+ \fi
+ \fi
+ \fi
+ \ifx\first@\ampers@nd
+ \ifx\domain@active\y@
+ \xdef\stack@dom{\stack@dom\the\temp@count;}
+ \fi
+ \xdef\stack@dom{\stack@dom &;&;@}
+ \else
+ \xdef\first@@{\first@}
+ \advance\temp@count by 1
+ \loop
+ \advance\loopcount by 1
+ \xdef\seq@line{\csname seq\the\loopcount\endcsname}
+ \expandafter\res@get\seq@line
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\seq@line}
+ \ifx\first@@\first@\else\xdef\leave@in{y}\fi
+ \ifnum\loopcount=\start@seq\relax
+ \expandafter\check@char\first@
+ \ifletter
+ \advance\temp@@count by 1
+ \ifnum\temp@@count=\end@num\relax \xdef\second@{\the\temp@count}\fi
+ \fi
+ \fi
+ \ifnum\loopcount<\seq@count\repeat
+ \ifx\leave@in\y@
+ \ifx\domain@active\n@
+ \ifnum\start@seq=0
+ \xdef\domain@active{y}
+ \xdef\stack@dom{\stack@dom\the\temp@count;}
+ \else
+ \ifnum\temp@@count<\start@num\relax
+ \else
+ \ifnum\temp@@count>\end@num\relax
+ \else
+ \xdef\domain@active{y}
+ \xdef\stack@dom{\stack@dom\the\temp@count;}
+ \fi
+ \fi
+ \fi
+ \else
+ \ifnum\start@seq>0
+ \ifnum\temp@@count<\end@num\relax
+ \else
+ \xdef\domain@active{n}
+ \xdef\stack@dom{\stack@dom\second@;}
+ \fi
+ \fi
+ \fi
+ \else
+ \ifx\domain@active\y@
+ \xdef\domain@active{n}
+ \advance\temp@count by -1
+ \xdef\stack@dom{\stack@dom\the\temp@count;}
+ \advance\temp@count by 1
+ \fi
+ \fi
+ \allmatch@out
+ \fi
+}
+\def\domain@count{%
+ \xdef\@ddg@p{n}
+ \loopcount=0
+ \ifT@coffee
+ \xdef\seq@line{\csname T@cof\the\loopcount\endcsname}
+ \expandafter\res@get\seq@line
+ \expandafter\xdef\csname TC@num\the\loopcount\endcsname{\first@}
+ \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\seq@line}
+ \fi
+ \loop
+ \advance\loopcount by 1
+ \xdef\seq@line{\csname seq\the\loopcount\endcsname}
+ \expandafter\res@get\seq@line
+ \expandafter\xdef\csname res\the\loopcount\endcsname{\first@}
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\seq@line}
+ \ifT@coffee
+ \xdef\seq@line{\csname T@cof\the\loopcount\endcsname}
+ \expandafter\res@get\seq@line
+ \expandafter\xdef\csname TC@num\the\loopcount\endcsname{\first@}
+ \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\seq@line}
+ \fi
+ \ifnum\loopcount<\seq@count\repeat
+ \ifx\first@\ampers@nd
+ \else
+ \ifnum\next@domain@num>-99999\relax
+ \ifnum\domain@seq=0
+ \temp@count=\csname dom@count0\endcsname
+ \advance\temp@count by 1
+ \expandafter\xdef\csname dom@count0\endcsname{\the\temp@count}
+ \fi
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \xdef\first@{\csname res\the\loopcount\endcsname}
+ \expandafter\check@char\first@
+ \ifletter
+ \temp@count=\csname dom@count\the\loopcount\endcsname
+ \advance\temp@count by 1
+ \expandafter\xdef\csname dom@count\the\loopcount\endcsname{\the\temp@count}
+ \if\seq@type A \relax
+ \temp@count=\char@num
+ \ifnum\temp@count>96 \advance\temp@count by -32 \fi
+ \ifnum\temp@count=69 \guess@protein
+ \else
+ \ifnum\temp@count=70 \guess@protein
+ \else
+ \ifnum\temp@count=73 \guess@protein
+ \else
+ \ifnum\temp@count=76 \guess@protein
+ \else
+ \ifnum\temp@count=80 \guess@protein
+ \else
+ \ifnum\temp@count=81 \guess@protein
+ \fi\fi\fi\fi\fi\fi
+ \fi
+ \else
+ \ifx\d@m@in\y@
+ \ifnum\loopcount=\domain@seq \xdef\@ddg@p{y} \fi
+ \fi
+ \fi
+ \ifnum\loopcount<\seq@count\repeat
+ \ifx\@ddg@p\y@
+ \ifx\g@p\n@
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{%
+ \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname}
+ \fi
+ \expandafter\xdef\csname sequence\the\loopcount\endcsname{%
+ \csname sequence\the\loopcount\endcsname \csname res\the\loopcount\endcsname}
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{%
+ \csname dom@num\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,}
+ \ifnum\loopcount<\seq@count\repeat
+ \advance\total@count by 1
+ \advance\outerloopcount by 1 \ifnum\outerloopcount=\res@perline \outerloopcount=0 \fi
+ \fi
+ \fi
+ \expandafter\ifnum\csname dom@count\domain@seq\endcsname=\next@domain@num
+ \xdef\d@m@in{y}
+ \advance\total@count by 1
+ \advance\outerloopcount by 1 \ifnum\outerloopcount=\res@perline \outerloopcount=0 \fi
+ \loopcount=0
+ \ifx\g@p\y@
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{%
+ \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname}
+ \fi
+ \fi
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{%
+ \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname}
+ \fi
+ \loop
+ \advance\loopcount by 1
+ \ifx\g@p\y@
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{%
+ \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname}
+ \fi
+ \expandafter\xdef\csname sequence\the\loopcount\endcsname{%
+ \csname sequence\the\loopcount\endcsname\equ@l}
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{%
+ \csname dom@num\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,}
+ \ifnum\outerloopcount=0
+ \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{%
+ \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,}
+ \fi
+ \fi
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{%
+ \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname}
+ \fi
+ \expandafter\xdef\csname sequence\the\loopcount\endcsname{%
+ \csname sequence\the\loopcount\endcsname \csname res\the\loopcount\endcsname}
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{%
+ \csname dom@num\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,}
+ \ifnum\outerloopcount=0
+ \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{%
+ \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,}
+ \fi
+ \ifnum\loopcount<\seq@count\repeat
+ \ifx\@ddg@p\n@
+ \expandafter\get@item\domain@num@list
+ \xdef\domain@num@list{\first@}
+ \fi
+ \ifx\fourth@\ampers@nd \xdef\next@domain@num{-99999}
+ \else
+ \loopcount=\next@domain@num
+ \advance\loopcount by 1
+ \ifnum\loopcount=\fourth@
+ \xdef\g@p{n}
+ \else
+ \xdef\g@p{y}
+ \advance\total@count by 1
+ \advance\outerloopcount by 1
+ \ifnum\outerloopcount=\res@perline
+ \outerloopcount=0
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{%
+ \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,}
+ \ifnum\loopcount<\seq@count\repeat
+ \fi
+ \fi
+ \xdef\next@domain@num{\fourth@} \xdef\end@num{\fourth@}
+ \fi
+ \fi
+ \domain@count
+ \fi
+ \fi
+}
+\def\residue@count{%
+ \expandafter\res@get\seq@line
+ \if\first@\ampers@nd
+ \else
+ \advance\total@count by 1
+ \advance\innerloopcount by 1
+ \ifstart@ \advance\res@count by 1 \fi
+ \ifnum\start@seq=0
+ \advance\end@count by 1
+%%%%%%%%%%
+ \ifnum\end@count=\start@num\relax
+ \xdef\start@number{\the\innerloopcount}
+ \start@true \res@count=1
+ \fi
+%%%%%%%%%%
+ \else
+ \expandafter\check@char\first@
+ \ifletter
+ \advance\end@count by 1
+ \if\seq@type A \relax
+ \temp@count=\char@num
+ \ifnum\temp@count>96 \advance\temp@count by -32 \fi
+ \ifnum\temp@count=69 \guess@protein
+ \else
+ \ifnum\temp@count=70 \guess@protein
+ \else
+ \ifnum\temp@count=73 \guess@protein
+ \else
+ \ifnum\temp@count=76 \guess@protein
+ \else
+ \ifnum\temp@count=80 \guess@protein
+ \else
+ \ifnum\temp@count=81 \guess@protein
+ \fi\fi\fi\fi\fi\fi
+ \fi
+ \fi
+ \ifnum\end@count=\start@num\relax
+ \xdef\start@number{\the\innerloopcount}
+ \start@true \res@count=1
+ \fi
+ \fi
+ \residue@count
+ \fi}
+\def\clean@seq{%
+ \expandafter\res@get\seq@line
+ \if\first@\ampers@nd \xdef\seq@line{\seq@@line}
+ \else
+ \expandafter\check@char\first@
+ \ifnum\char@num>64
+ \ifnum\char@num>96 \make@upper \fi
+ \xdef\seq@@line{\seq@@line\first@}
+ \else
+ \ifnum\char@num=46
+ \xdef\seq@@line{\seq@@line\d@t}
+ \else
+ \ifnum\char@num=45
+ \xdef\seq@@line{\seq@@line\d@t}
+ \else
+ \ifnum\char@num=42
+ \xdef\seq@@line{\seq@@line\questi@n}
+ \fi
+ \fi
+ \fi
+ \fi
+ \clean@seq
+ \fi}
+\def\read@loop{%
+ \read\alignfile to \inline
+ \xdef\last@{\expandafter\string\inline}
+ \ifx\last@\par@
+ \else
+ \xdef\inline{\inline @}
+ \expandafter\seq@get\inline
+ \ifstop@
+ \else
+ \innerloopcount=\csname @rd\the\loopcount\endcsname\relax
+ \expandafter\ifx\csname seq@name\the\loopcount\endcsname\first@
+ \xdef\seq@@line{} \xdef\seq@line{\seq@line &@} \clean@seq
+ \expandafter\xdef\csname sequence\the\innerloopcount\endcsname{%
+ \csname sequence\the\innerloopcount\endcsname\seq@line}
+ \advance\loopcount by 1
+ \ifnum\loopcount>\seq@count
+ \loopcount=1
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifeof\alignfile
+ \ifx\all@out\y@
+ \xdef\domain@seq{0}
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@}
+ \ifnum\loopcount<\seq@count\repeat
+ \xdef\domain@active{n}
+ \xdef\stack@dom{}
+ \temp@count=0
+ \temp@@count=0
+ \allmatch@out
+ \xdef\dom@in{y}
+ \fi
+ \ifx\dom@in\y@
+ \loopcount=0
+ \ifT@coffee
+ \xdef\temp@{\csname T@coffee\the\loopcount\endcsname}
+ \expandafter\get@temp\temp@
+ \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@}
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{}
+ \fi
+ \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0}
+ \loop
+ \advance\loopcount by 1
+ \ifT@coffee
+ \xdef\temp@{\csname T@coffee\the\loopcount\endcsname}
+ \expandafter\get@temp\temp@
+ \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@}
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{}
+ \fi
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@}
+ \expandafter\xdef\csname sequence\the\loopcount\endcsname{}
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{}
+ \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{}
+ \expandafter\xdef\csname dom@count\the\loopcount\endcsname{\csname res@count\the\loopcount\endcsname}
+ \ifnum\loopcount<\seq@count\repeat
+ \xdef\domain@num@list{}
+ \xdef\last@{\stack@dom}
+ \get@domain
+ \xdef\domain@num@list{\domain@num@list &,@}
+ \expandafter\get@item\domain@num@list
+ \xdef\next@domain@num{\fourth@} \xdef\domain@num@list{\first@}
+ \xdef\d@m@in{n}
+ \domain@count
+ \loopcount=0
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @}
+ \fi
+ \loop
+ \advance\loopcount by 1
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @}
+ \fi
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\csname dom@num\the\loopcount\endcsname @}
+ \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{%
+ \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,@}
+ \ifnum\loopcount<\seq@count\repeat
+ \if\seq@type A \guess@DNA \fi
+ \advance\seq@pointer by \total@count\relax
+ \xdef\total@pos{\the\total@count}
+
+ \else
+
+ \ifnum\start@seq=0
+ \xdef\seq@line{\csname sequence1\endcsname &@}
+ \else
+ \xdef\seq@line{\csname sequence\start@seq\endcsname &@}
+ \fi
+ \res@count=0
+ \innerloopcount=0
+ \residue@count
+ \if\seq@type A \guess@DNA \fi
+ \advance\seq@pointer by \res@count\relax
+ \xdef\total@pos{\the\total@count}
+ \ifx\end@num\n@\xdef\end@num{\the\end@count}\fi
+ \total@count=\end@count\relax
+ \xdef\first@{\csname res@count\start@seq\endcsname}
+ \advance\total@count by \first@\relax
+ \xdef\first@{\the\total@count}
+ \ifnum\end@num>\total@count\xdef\end@num{\the\total@count}\fi
+ \fi
+ \ifshow@sublogo \prep@sublogo \fi
+ \ifshow@logo \prep@logo \fi
+ \ifx\label@motif\y@ \prep@motif \fi
+ \ifnum\seq@pointer>\res@perline \block@output \fi
+ \else \read@loop
+ \fi}
+\def\read@fasta{%
+ \read\alignfile to \inline
+ \xdef\last@{\expandafter\string\inline}
+ \ifx\last@\par@
+ \else
+ \xdef\seq@line{\inline}
+ \xdef\inline{\inline @}
+ \expandafter\firstchar@get\inline
+ \ifstop@
+ \else
+ \ifx\first@\gre@ter
+ \advance\loopcount by 1\relax
+ \expandafter\seq@get\third@
+ \xdef\seq@name{\first@}
+ \xdef\second@{\first@ &}
+ \ifx\second@\ampers@nd \xdef\seq@name{seq\the\loopcount}\fi
+ \innerloopcount=\csname @rd\the\loopcount\endcsname\relax
+ \else
+ \expandafter\ifx\csname seq@name\the\loopcount\endcsname\seq@name
+ \xdef\seq@@line{} \xdef\seq@line{\seq@line &@} \clean@seq
+ \expandafter\xdef\csname sequence\the\innerloopcount\endcsname{%
+ \csname sequence\the\innerloopcount\endcsname\seq@line}
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifeof\alignfile
+ \ifx\all@out\y@
+ \xdef\domain@seq{0}
+ \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@}
+ \ifnum\loopcount<\seq@count\repeat
+ \xdef\domain@active{n}
+ \xdef\stack@dom{}
+ \temp@count=0
+ \temp@@count=0
+ \allmatch@out
+ \xdef\dom@in{y}
+ \fi
+ \ifx\dom@in\y@
+ \loopcount=0
+ \ifT@coffee
+ \xdef\temp@{\csname T@coffee\the\loopcount\endcsname}
+ \expandafter\get@temp\temp@
+ \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@}
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{}
+ \fi
+ \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0}
+ \loop
+ \advance\loopcount by 1
+ \ifT@coffee
+ \xdef\temp@{\csname T@coffee\the\loopcount\endcsname}
+ \expandafter\get@temp\temp@
+ \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@}
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{}
+ \fi
+ \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@}
+ \expandafter\xdef\csname sequence\the\loopcount\endcsname{}
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{}
+ \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{}
+ \expandafter\xdef\csname dom@count\the\loopcount\endcsname{\csname res@count\the\loopcount\endcsname}
+ \ifnum\loopcount<\seq@count\repeat
+ \xdef\domain@num@list{}
+ \xdef\last@{\stack@dom}
+ \get@domain
+ \xdef\domain@num@list{\domain@num@list &,@}
+ \expandafter\get@item\domain@num@list
+ \xdef\next@domain@num{\fourth@} \xdef\domain@num@list{\first@}
+ \xdef\d@m@in{n}
+ \domain@count
+ \loopcount=0
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @}
+ \fi
+ \loop
+ \advance\loopcount by 1
+ \ifT@coffee
+ \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @}
+ \fi
+ \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\csname dom@num\the\loopcount\endcsname @}
+ \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{%
+ \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,@}
+ \ifnum\loopcount<\seq@count\repeat
+ \if\seq@type A \guess@DNA \fi
+ \advance\seq@pointer by \total@count\relax
+ \xdef\total@pos{\the\total@count}
+
+ \else
+
+ \ifnum\start@seq=0
+ \xdef\seq@line{\csname sequence1\endcsname &@}
+ \else
+ \xdef\seq@line{\csname sequence\start@seq\endcsname &@}
+ \fi
+ \res@count=0
+ \innerloopcount=0
+ \residue@count
+ \if\seq@type A \guess@DNA \fi
+ \advance\seq@pointer by \res@count
+ \xdef\total@pos{\the\total@count}
+ \ifx\end@num\n@\xdef\end@num{\the\end@count}\fi
+ \total@count=\end@count\relax
+ \xdef\first@{\csname res@count\start@seq\endcsname}
+ \advance\total@count by \first@\relax
+ \xdef\first@{\the\total@count}
+ \ifnum\end@num>\total@count\xdef\end@num{\the\total@count}\fi
+ \fi
+ \ifshow@sublogo \prep@sublogo \fi
+ \ifshow@logo \prep@logo \fi
+ \ifx\label@motif\y@ \prep@motif \fi
+ \ifnum\seq@pointer>\res@perline \block@output \fi
+ \else
+ \read@fasta
+ \fi}
+\def\read@lines{%
+ \openin\alignfile = \alignfilename
+ \clear@seq
+ \ifnum\start@seq>0
+ \xdef\start@seq{\csname @rd\start@seq\endcsname} \fi
+ \loopcount=\start@num
+ \advance\loopcount by -\csname res@count\start@seq\endcsname\relax
+ \expandafter\ifnum\csname res@count\start@seq\endcsname<\start@num\relax
+ \xdef\start@num{\the\loopcount}
+ \else \start@true \fi
+ \res@count=0 \seq@pointer=0 \end@count=0 \total@count=0
+ \xdef\start@number{0}
+ \ifx\exp@rt\y@ \prep@reexp@rtfile \fi
+ \ifx\f@st@\y@
+ \loopcount=0
+ \read@fasta
+ \else
+ \loopcount=1
+ \read@loop
+ \fi
+ \ifnum\seq@pointer>0
+ \ifstop@
+ \else
+ \res@count=\res@perline
+ \res@perline=\seq@pointer
+ \block@output
+ \fi
+ \fi
+ \ifshow@sublogo \closein\sublogofile \fi
+ \ifx\exp@rt\y@ \closeout\exp@rtfile \fi
+ \closein\alignfile
+ \message{)}
+}
+
+
+%%%%% Read alignment, decide whether MSF or ALN, interpret
+
+\def\readalignfile#1{%
+ \def\alignfilename{#1}
+ \xdef\first@{byhand}
+ \ifx\alignfilename\first@
+ \else
+ \openin\alignfile = #1
+ \ifeof\alignfile
+ \PackageError{TeXshade}
+ {File `#1' not found}
+ {\MessageBreak
+ The alignment file you specified is missing or you have \MessageBreak
+ misspelled it. \MessageBreak\MessageBreak
+ Stop here, otherwise you're likely getting in trouble. \MessageBreak
+ Type X <return> to quit. \MessageBreak
+}
+ \else
+ \message{(\alignfilename :}
+ \xdef\seq@type{A} \xdef\he@der{no} \xdef\f@st@{no}
+ \xdef\first@line{y}
+ \seq@count=0 \loopcount=0 \innerloopcount=0 \temp@count=0
+ \loop
+ \read\alignfile to \inline
+ \xdef\test@{\expandafter\string\inline}
+ \ifx\test@\par@ \innerloopcount=0
+ \else
+ \xdef\msfline{\inline & & & & @}
+ \expandafter\inf@@get\msfline
+ \ifx\first@\@msf \expandafter\type@get\msfline \fi
+ \ifx\second@\@msf \expandafter\type@get\msfline \fi
+ \ifx\third@\@msf \expandafter\type@get\msfline \fi
+ \ifx\first@\n@me \advance\loopcount by 1\relax
+ \expandafter\xdef\csname seqname\the\loopcount\endcsname{\second@}
+ \expandafter\xdef\csname seq@len\the\loopcount\endcsname{\fourth@}
+ \fi
+ \ifx\first@\he@derend
+ \ifnum\loopcount>0 \xdef\he@der{yes} \fi
+ \fi
+ \xdef\alnline{\inline @}
+ \expandafter\check@letter\alnline
+ \ifletter
+ \expandafter\seq@get\alnline
+ \advance\innerloopcount by 1\relax
+ \seq@count=\innerloopcount
+ \expandafter\xdef\csname newseqname\the\seq@count\endcsname{\first@}
+ \else
+ \expandafter\firstchar@get\alnline
+ \ifx\first@\gre@ter
+ \ifx\first@line\y@ \xdef\f@st@{y}\fi
+ \expandafter\seq@get\third@
+ \advance\temp@count by 1\relax
+ \xdef\second@{\first@ &}
+ \ifx\second@\ampers@nd \xdef\first@{seq\the\temp@count}\fi
+ \expandafter\xdef\csname seq@name\the\temp@count\endcsname{\first@}
+ \fi
+ \fi
+ \fi
+ \xdef\first@line{n}
+ \ifeof\alignfile \else\repeat
+ \closein\alignfile
+ \xdef\first@{no}
+ \ifx\he@der\first@
+ \loopcount=0
+ \ifx\f@st@\y@
+ \seq@count=\temp@count \loopcount=0
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname seqname\the\loopcount\endcsname{%
+ \csname seq@name\the\loopcount\endcsname}
+ \expandafter\xdef\csname newseqname\the\loopcount\endcsname{%
+ \csname seq@name\the\loopcount\endcsname}
+ \expandafter\xdef\csname seq@len\the\loopcount\endcsname{99999999}
+ \ifnum\loopcount<\seq@count \repeat
+ \else
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname seqname\the\loopcount\endcsname{%
+ \csname newseqname\the\loopcount\endcsname}
+ \expandafter\xdef\csname seq@len\the\loopcount\endcsname{99999999}
+ \ifnum\loopcount<\seq@count \repeat
+ \fi
+ \else
+ \seq@count=\loopcount \loopcount=0 \box@width=0pt
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname newseqname\the\loopcount\endcsname{%
+ \csname seqname\the\loopcount\endcsname}
+ \ifnum\loopcount<\seq@count \repeat
+ \fi
+ \set@savedseqlength
+ \loopcount=0 \xdef\seq@order{}
+ \expandafter\xdef\csname stack@dom\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@top\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@ttttop\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@bottom\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@bbbottom\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@bbbbottom\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname seq@start\the\loopcount\endcsname{1}
+ \expandafter\xdef\csname name@col\the\loopcount\endcsname{yes}
+ \expandafter\xdef\csname number@col\the\loopcount\endcsname{yes}
+ \loop
+ \advance\loopcount by 1
+ \expandafter\xdef\csname @rd\the\loopcount\endcsname{\the\loopcount}
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{0}
+ \cleanup@name
+ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n}
+ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n}
+ \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n}
+ \expandafter\xdef\csname hide@seq\the\loopcount\endcsname{false}
+ \expandafter\xdef\csname hide@@@seq\the\loopcount\endcsname{false}
+ \expandafter\xdef\csname hide@name\the\loopcount\endcsname{no}
+ \expandafter\xdef\csname name@col\the\loopcount\endcsname{yes}
+ \expandafter\xdef\csname hide@number\the\loopcount\endcsname{no}
+ \expandafter\xdef\csname number@col\the\loopcount\endcsname{yes}
+ \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{&;&;&;@}
+ \expandafter\xdef\csname stack@top\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@ttttop\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@bottom\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@bbbottom\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname stack@bbbbottom\the\loopcount\endcsname{&;&;&;&;@}
+ \expandafter\xdef\csname seq@gap\the\loopcount\endcsname{no}
+ \expandafter\xdef\csname seq@start\the\loopcount\endcsname{1}
+ \expandafter\xdef\csname mol@weight\the\loopcount\endcsname{0}
+ \expandafter\xdef\csname ch@rge\the\loopcount\endcsname{0}
+ \ifnum\loopcount=1 \xdef\seq@order{\the\loopcount}
+ \else \xdef\seq@order{\seq@order,\the\loopcount}\fi
+ \ifnum\loopcount<\seq@count \repeat
+ \xdef\seq@order{\seq@order,@}
+ \killseq@count=\seq@count
+% \seq@percent=100
+% \ifnum\seq@count>0 \divide\seq@percent by \seq@count \fi
+ \fi
+ \fi
+}
+
+%%%%% TeXshade
+
+\def\calc@widths{%
+ \fontfamily{cmss}\fontseries{m}\fontshape{n}
+ \selectfont
+ \setbox1=\hbox{\residues@size{A}}\logo@height=\ht1
+ \setlength\logo@height{\logo@stretch\logo@height}
+ \fontfamily{\residues@family}
+ \fontseries{\residues@series}
+ \fontshape{\residues@shape}
+ \selectfont
+ \setbox1=\hbox{\residues@size{W}}\box@width=1.15\wd1
+ \global\setlength\box@width{\char@stretch\box@width}
+ \box@height=1.2\ht1
+ \setbox1=\hbox{\residues@size{g}}\box@depth=1.1\dp1
+ \global\setlength\box@height{\line@stretch\box@height}
+ \global\setlength\box@depth{\line@stretch\box@depth}
+ \baselineskip=\box@height \advance\baselineskip by \box@depth
+ \lineskip=0pt
+ \ifshow@cons\setbox1=\hbox{\cons@name}\name@width=\wd1\else\name@width=0pt\fi
+ \loopcount=0
+ \expandafter\getregion@fromstack{\the\loopcount}
+ \expandafter\getregion@fromtintstack{\the\loopcount}
+ \expandafter\getregion@fromemphstack{\the\loopcount}
+ \expandafter\getregion@fromlowerstack{\the\loopcount}
+ \expandafter\getregion@fromframestack{\the\loopcount}
+ \expandafter\getregion@fromshadingstack{\the\loopcount}
+ \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{ttttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbbbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \fontfamily{\namestext@family}
+ \fontseries{\namestext@series}
+ \fontshape{\namestext@shape}
+ \selectfont
+ \ifshow@logo
+ \ifx\logo@name@user\ampers@nd
+ \setbox1=\hbox{\namestext@size logo\kern1em}
+ \else
+ \setbox1=\hbox{\namestext@size\logo@name@user\kern1em}
+ \fi
+ \ifnum\wd1>\name@width \name@width=\wd1 \fi
+ \fi
+ \ifshow@sublogo
+ \ifx\sublogo@name@user\ampers@nd
+ \setbox1=\hbox{\namestext@size family\kern1em}
+ \else
+ \setbox1=\hbox{\namestext@size\sublogo@name@user\kern1em}
+ \fi
+ \ifnum\wd1>\name@width \name@width=\wd1 \fi
+ \ifx\hide@negatives\n@
+ \setbox1=\hbox{\namestext@size\sublogo@name@neg\kern1em}
+ \fi
+ \ifnum\wd1>\name@width \name@width=\wd1 \fi
+ \fi
+ \loopcount=1
+ \loop
+ \setbox1=\hbox{\namestext@size\csname newseqname\the\loopcount\endcsname}
+ \ifnum\wd1>\name@width \name@width=\wd1 \fi
+ \ifnum\ht1>\box@height
+ \box@height=1.1\ht1
+ \global\setlength\box@height{\line@stretch\box@height}
+ \baselineskip=\box@height \advance\baselineskip by \box@depth
+ \fi
+ \ifnum\dp1>\box@depth
+ \box@depth=1.1\dp1
+ \global\setlength\box@depth{\line@stretch\box@depth}
+ \baselineskip=\box@height \advance\baselineskip by \box@depth
+ \fi
+ \expandafter\getregion@fromstack{\the\loopcount}
+ \expandafter\getregion@fromtintstack{\the\loopcount}
+ \expandafter\getregion@fromemphstack{\the\loopcount}
+ \expandafter\getregion@fromlowerstack{\the\loopcount}
+ \expandafter\getregion@fromframestack{\the\loopcount}
+ \expandafter\getregion@fromshadingstack{\the\loopcount}
+ \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{ttttop} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \xdef\bottop@{bbbbottom} \expandafter\getregion@fromfstack{\the\loopcount}
+ \innerloopcount = \csname seq@len\the\loopcount\endcsname
+ \advance\innerloopcount by \csname seq@start\the\loopcount\endcsname
+ \advance\innerloopcount by -1
+ \expandafter\xdef\csname seq@len\the\loopcount\endcsname{\the\innerloopcount}
+ \advance\loopcount by 1
+ \ifnum\loopcount>\seq@count \else \repeat
+ \advance\name@width by -2em
+ \global\xdef\name@@width{\the\name@width}
+ \advance\name@width by 3em
+ \fontfamily{\numbertext@family}
+ \fontseries{\numbertext@series}
+ \fontshape{\numbertext@shape}
+ \selectfont
+ \setbox1=\hbox{\bottomruler@size\num@width\,-}
+ \xdef\ruler@width{\the\wd1}
+ \setbox1=\hbox{\numbertext@size\num@width}
+ \number@width=\wd1
+ \advance\number@width by 1em
+ \loopcount=\linewidth
+ \ifnames@ \advance\loopcount by -\name@width \fi
+ \width@tmp=1.6\box@width
+ \ifnumbers@
+ \ifnumbers@left
+ \advance\loopcount by -\number@width
+ \else
+ \xdef\first@{left}
+ \ifx\show@logoscale\first@
+ \advance\loopcount by -\width@tmp
+ \fi
+ \fi
+ \ifnumbers@right
+ \advance\loopcount by -\number@width
+ \else
+ \xdef\first@{right}
+ \ifx\show@logoscale\first@
+ \advance\loopcount by -\width@tmp
+ \fi
+ \fi
+ \else
+ \xdef\first@{left}
+ \ifx\show@logoscale\first@
+ \advance\loopcount by -\width@tmp
+ \fi
+ \xdef\first@{right}
+ \ifx\show@logoscale\first@
+ \advance\loopcount by -\width@tmp
+ \fi
+ \xdef\first@{leftright}
+ \ifx\show@logoscale\first@
+ \advance\loopcount by -\width@tmp
+ \advance\loopcount by -\width@tmp
+ \fi
+ \fi
+ \divide\loopcount by \box@width
+ \divide\loopcount by 5 \multiply\loopcount by 5
+ \ifrpl@fix\else
+ \ifnum\res@perline>\loopcount \res@perline=\loopcount\fi\fi
+ \ifnum\finger@linenum>0
+ \width@tmp=\linewidth
+ \ifnames@ \advance\width@tmp by -\name@width \fi
+ \ifnumbers@ \advance\width@tmp by -\number@width \fi
+ \divide\width@tmp by \finger@linenum
+ \global\setlength\box@width{\width@tmp}
+ \fi
+ \center@fill=\linewidth
+ \ifnames@ \advance\center@fill by -\name@width \fi
+ \ifnumbers@ \advance\center@fill by -\number@width \fi
+ \width@tmp=\box@width \multiply\width@tmp by \res@perline
+ \advance\center@fill by -\width@tmp
+ \ifx\out@put\y@\leftskip\c@factor\center@fill\fi
+ \ifx\logo@colors@set\n@
+ \if\seq@type N
+ \clearlogocolors[Yellow]
+ \logocolor{G}{Black}
+ \logocolor{A}{Green}
+ \logocolor{TU}{Red}
+ \logocolor{C}{Blue}
+ \else
+ \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}
+ \fi
+ \fi
+}
+
+\def\multiple@dssp{%
+ \advance\loopcount by 1
+ \include@DSSP
+ \ifnum\loopcount<\dssp@num\multiple@dssp\fi}
+
+\def\multiple@stride{%
+ \advance\loopcount by 1
+ \include@stride
+ \ifnum\loopcount<\stride@num\multiple@stride\fi}
+
+\def\multiple@PHD{%
+ \advance\loopcount by 1
+ \include@PHD
+ \ifnum\loopcount<\PHD@num\multiple@PHD\fi}
+
+\def\multiple@HMMTOP{%
+ \advance\loopcount by 1
+ \include@HMMTOP
+ \ifnum\loopcount<\HMMTOP@num\multiple@HMMTOP\fi}
+
+\newenvironment{texshade}[2][&]%
+ {\standarddefinitions
+ \c@d@ns
+ \xdef\first@{#1}\ifx\first@\ampers@nd\else\input{#1}\fi
+ \readalignfile{#2}
+ }%
+ {\ifnum\seq@count>0
+ \loopcount=0
+ \ifnum\loopcount<\dssp@num \multiple@dssp\fi
+ \loopcount=0
+ \ifnum\loopcount<\stride@num \multiple@stride\fi
+ \loopcount=0
+ \ifnum\loopcount<\PHD@num \multiple@PHD\fi
+ \loopcount=0
+ \ifnum\loopcount<\HMMTOP@num \multiple@HMMTOP\fi
+ \loopcount=1 \kill@seqnow
+ \reorder@seqs\seq@order \seq@count=\killseq@count
+ \global\xdef\seq@num{\the\seq@count}
+ \clear@sim@count
+ \ifnum\csname res@count\start@seq\endcsname<0
+ \ifnum\start@num>0
+ \loopcount=\start@num
+ \advance\loopcount by -1
+ \xdef\start@num{\the\loopcount}
+ \fi
+ \fi
+ \ifnum\rule@num>0
+ \loopcount=\csname res@count\rule@num\endcsname
+ \divide\loopcount by \ruler@step
+ \multiply\loopcount by \ruler@step
+ \ifnum\loopcount<0
+ \ifnum\ruler@step<3
+ \advance\loopcount by \ruler@step
+ \fi
+ \else
+ \advance\loopcount by \ruler@step
+ \fi
+ \xdef\rule@tens{\the\loopcount}
+ \else
+ \loopcount=\cons@count
+ \divide\loopcount by \ruler@step
+ \multiply\loopcount by \ruler@step
+ \ifnum\loopcount<0
+ \ifnum\ruler@step<3
+ \advance\loopcount by \ruler@step
+ \fi
+ \else
+ \advance\loopcount by \ruler@step
+ \fi
+ \xdef\rule@tens{\the\loopcount}
+ \fi
+ \xdef\first@{top}
+ \ifx\cap@pos\first@
+ \xdef\@captype{figure}
+ \ifx\c@pshort\n@
+ \caption{\c@p}
+ \else
+ \caption[\c@pshort]{\c@p}
+ \fi
+ \fi
+ \loopcount = \thresh@ld \multiply\loopcount by \seq@count \divide\loopcount by 100
+ \xdef\thresh@ld@{\the\loopcount}
+ \loopcount = \all@thresh@ld \multiply\loopcount by \seq@count \divide\loopcount by 100
+ \xdef\all@thresh@ld@{\the\loopcount}
+ \bgroup
+ \ifx\out@put\y@\bigskip\fi
+ \iffuncmode \show@consfalse \fi
+ \ifall@fshade \iffuncmode \else \all@fshadefalse \fi\fi
+ \ifnum\finger@linenum>0
+ \show@consfalse
+ \hidechartrue
+ \message{<Fingerprinting---please wait>}
+ \fi
+ \calc@widths
+ \read@lines
+ \save@lengths
+ \iflegend@
+ \vspace{\vspace@legend}
+ \setbox1=\vbox{\do@legend}
+ \vbox{\do@legend}\par
+ \ifnum\ht1<-\vspace@legend
+ \vspace{-\ht1}\vspace{-\vspace@legend}
+ \fi
+ \fi
+ \egroup
+ \xdef\first@{bottom}
+ \ifx\cap@pos\first@
+ \vspace{-\baselineskip}
+ \xdef\@captype{figure}
+ \ifx\c@pshort\n@
+ \caption{\c@p}
+ \else
+ \caption[\c@pshort]{\c@p}
+ \fi
+ \fi
+ \fi}
+
+\def\standarddefinitions{%
+\xdef\prfx{pep}\clear@groups\clear@sims
+\xdef\prfx{DNA}\clear@groups\clear@sims
+\clearfuncgroups
+\clear@simpairs
+\shadingcolors{blues}
+\shadingcolors{reds}
+\shadingcolors{greens}
+\shadingcolors{grays}
+\shadingcolors{black}
+\loopcount=\@lign@count
+\advance\loopcount by 1\relax
+\xdef\@lign@count{\the\loopcount}
+\start@true \xdef\start@num{1} \xdef\start@seq{0}
+\stop@false \xdef\end@num{n} \xdef\seq@regions{0}
+\cons@count=0
+\expandafter\xdef\csname res@count0\endcsname{0}
+\xdef\allow@zero{n} \xdef\c@ns@shift{0}
+\regionalshadefalse\regionalemphfalse\regionallowerfalse\regionaltintfalse
+\frame@false\shading@false
+\xdef\ruler@rot{0}
+\topfeaturefalse \bottomfeaturefalse
+\ttopfeaturefalse \bbottomfeaturefalse
+\tttopfeaturefalse \bbbottomfeaturefalse
+\ttttopfeaturefalse \bbbbottomfeaturefalse
+\all@fshadefalse\hidecharfalse
+\xdef\finger@linenum{0}
+\xdef\hide@seqs{n}
+\xdef\dssp@num{0} \xdef\stride@num{0} \xdef\PHD@num{0} \xdef\HMMTOP@num{0}
+\xdef\bottop@{top} \expandafter\xdef\csname feature@\bottop@\endcsname{0}
+\xdef\bottop@{ttop} \expandafter\xdef\csname feature@\bottop@\endcsname{0}
+\xdef\bottop@{tttop} \expandafter\xdef\csname feature@\bottop@\endcsname{0}
+\xdef\bottop@{ttttop} \expandafter\xdef\csname feature@\bottop@\endcsname{0}
+\xdef\bottop@{bottom} \expandafter\xdef\csname feature@\bottop@\endcsname{0}
+\xdef\bottop@{bbottom} \expandafter\xdef\csname feature@\bottop@\endcsname{0}
+\xdef\bottop@{bbbottom} \expandafter\xdef\csname feature@\bottop@\endcsname{0}
+\xdef\bottop@{bbbbottom}\expandafter\xdef\csname feature@\bottop@\endcsname{0}
+\xdef\frame@{0}
+\xdef\show@Hdssp{no} \xdef\show@Gdssp{no} \xdef\show@Idssp{no}
+\xdef\show@Edssp{no} \xdef\show@Bdssp{no} \xdef\show@Tdssp{no}
+\xdef\show@Sdssp{no}
+\xdef\show@Hstride{no} \xdef\show@Gstride{no} \xdef\show@Istride{no}
+\xdef\show@Estride{no} \xdef\show@Bstride{no} \xdef\show@Tstride{no}
+\xdef\show@itop{no} \xdef\show@etop{no} \xdef\show@TMtop{no}
+\xdef\show@i@HMMTOP{no} \xdef\show@e@HMMTOP{no} \xdef\show@TM@HMMTOP{no}
+\xdef\show@Hsec{no} \xdef\show@Esec{no}
+\xdef\collect@restop{no} \xdef\collect@resttop{no}
+\xdef\collect@restttop{no} \xdef\collect@resttttop{no}
+\xdef\collect@resbottom{no} \xdef\collect@resbbottom{no}
+\xdef\collect@resbbbottom{no}\xdef\collect@resbbbbottom{no}
+\xdef\tr@nslatetop{} \xdef\tr@nslatettop{}
+\xdef\tr@nslatetttop{} \xdef\tr@nslatettttop{}
+\xdef\tr@nslatebottom{} \xdef\tr@nslatebbottom{}
+\xdef\tr@nslatebbbottom{} \xdef\tr@nslatebbbbottom{}
+\xdef\tr@nsseqtop{0} \xdef\tr@nsseqttop{0}
+\xdef\tr@nsseqtttop{0} \xdef\tr@nsseqttttop{0}
+\xdef\tr@nsseqbottom{0} \xdef\tr@nsseqbbottom{0}
+\xdef\tr@nsseqbbbottom{0} \xdef\tr@nsseqbbbbottom{0}
+\xdef\triple@counttop{0} \xdef\triple@countttop{0}
+\xdef\triple@counttttop{0} \xdef\triple@countttttop{0}
+\xdef\triple@countbottom{0} \xdef\triple@countbbottom{0}
+\xdef\triple@countbbbottom{0}\xdef\triple@countbbbbottom{0}
+\xdef\last@@restop{} \xdef\last@@resttop{}
+\xdef\last@@restttop{} \xdef\last@@resttttop{}
+\xdef\last@@resbottom{} \xdef\last@@resbbottom{}
+\xdef\last@@resbbbottom{} \xdef\last@@resbbbbottom{}
+\xdef\out@put{y} \xdef\m@p{no}
+\xdef\t@sp@ce{0mm} \xdef\tt@sp@ce{0mm}
+\xdef\ttt@sp@ce{0mm} \xdef\tttt@sp@ce{0mm}
+\xdef\b@sp@ce{0mm} \xdef\bb@sp@ce{0mm}
+\xdef\bbb@sp@ce{0mm} \xdef\bbbb@sp@ce{0mm}
+\xdef\ruler@sp@ce{0mm}
+\xdef\seq@gap@num{0}
+\xdef\h@ndalign{no} \xdef\sep@space{0pt}
+\xdef\c@pshort{n}
+\xdef\bottom@stretch{n} \xdef\bbottom@stretch{n}
+\xdef\bbbottom@stretch{n} \xdef\bbbbottom@stretch{n}
+\xdef\c@nscol{} \xdef\c@nssc@le{ColdHot}
+\xdef\collect@cons@colors{no} \xdef\cons@now{no}
+\xdef\res@numA{0} \xdef\res@numB{0}
+\xdef\res@numC{0} \xdef\res@numD{0}
+\xdef\res@numE{0} \xdef\res@numF{0}
+\xdef\res@numG{0} \xdef\res@numH{0}
+\xdef\res@numI{0} \xdef\res@numJ{0}
+\xdef\res@numK{0} \xdef\res@numL{0}
+\xdef\res@numM{0} \xdef\res@numN{0}
+\xdef\res@numO{0} \xdef\res@numP{0}
+\xdef\res@numQ{0} \xdef\res@numR{0}
+\xdef\res@numS{0} \xdef\res@numT{0}
+\xdef\res@numU{0} \xdef\res@numV{0}
+\xdef\res@numW{0} \xdef\res@numX{0}
+\xdef\res@numY{0} \xdef\res@numZ{0}
+\expandafter\xdef\csname res@num\questi@n\endcsname{0}
+\expandafter\xdef\csname res@num\d@t\endcsname{0}
+\expandafter\xdef\csname res@num\equ@l\endcsname{0}
+\xdef\res@corrA{0} \xdef\res@corrB{0}
+\xdef\res@corrC{0} \xdef\res@corrD{0}
+\xdef\res@corrE{0} \xdef\res@corrF{0}
+\xdef\res@corrG{0} \xdef\res@corrH{0}
+\xdef\res@corrI{0} \xdef\res@corrJ{0}
+\xdef\res@corrK{0} \xdef\res@corrL{0}
+\xdef\res@corrM{0} \xdef\res@corrN{0}
+\xdef\res@corrO{0} \xdef\res@corrP{0}
+\xdef\res@corrQ{0} \xdef\res@corrR{0}
+\xdef\res@corrS{0} \xdef\res@corrT{0}
+\xdef\res@corrU{0} \xdef\res@corrV{0}
+\xdef\res@corrW{0} \xdef\res@corrX{0}
+\xdef\res@corrY{0} \xdef\res@corrZ{0}
+\expandafter\xdef\csname res@corr\questi@n\endcsname{0}
+\expandafter\xdef\csname res@corr\d@t\endcsname{0}
+\expandafter\xdef\csname res@corr\equ@l\endcsname{0}
+\xdef\corr@max{0} \xdef\do@freq@correction{n}
+\xdef\res@total{0}
+\xdef\stack@sequencelogo{} \xdef\bit@total{0}
+\clearlogocolors \xdef\logo@colors@set{n}
+\show@sublogofalse \xdef\stack@sublogo{}
+\xdef\clear@logo{n} \xdef\subfamily@threshold{50}
+\xdef\subfamily@seq{1} \xdef\sig@max{100000}
+\xdef\sublogo@num{} \xdef\sublogo@sig{}
+\xdef\subfamily@count{0} \xdef\sublogo@name@neg{}
+\xdef\logo@name@user{&} \xdef\sublogo@name@user{&}
+\expandafter\xdef\csname group@num1\endcsname{0}
+\expandafter\xdef\csname group@num2\endcsname{0}
+\xdef\exp@rt@num{0} \xdef\exp@rt{n}
+\xdef\divref@{0}
+\xdef\all@thresh@ld{100} \all@shadefalse
+\hidefeaturenames \hidefeaturestylenames
+\xdef\T@coffee@ccons{n} \xdef\T@coffee@bcons{n}
+\xdef\dom@in{no} \xdef\label@motif{no}
+\xdef\motif@num{0} \xdef\all@out{n}
+\hfuzz9999pt
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% %%%%%
+%%%%% Default parameter settings for the LaTeX ``TeXshade'' package %%%%%
+%%%%% %%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% %%%%%
+%%%%% Under any circumstances: %%%%%
+%%%%% %%%%%
+%%%%% DO NOT CHANGE ANY SETTINGS HERE !!! %%%%%
+%%%%% %%%%%
+%%%%% Please define your personal parameter file! Store your new file %%%%%
+%%%%% together with this style-file in the same directory and load the %%%%%
+%%%%% file by naming it as an optional parameter in the `texshade' en- %%%%%
+%%%%% vironment. The file `texshade.def' can be used as a template for %%%%%
+%%%%% the new creation. See the manual for further help. %%%%%
+%%%%% %%%%%
+%%%%% THANK YOU !!! %%%%%
+%%%%% %%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\shadingmode{identical} % Shade identical residues only
+\shadingcolors{blues} % Select the blue color scheme for shading
+\constoallseqs % Calculate consensus considering all seqs
+\threshold{50} % Consensus threshold percentage is 50
+\residuesperline{999} % As many residues as possible per line
+\numberingwidth{9999} % Assign space for 4 digit numbering
+\charstretch{1} % Do not stretch character width
+\linestretch{1} % Do not stretch lines vertically
+\gapchar{.} % . is printed in sequence gaps
+\gaprule{0.3pt} % If a rule is printed in gaps use 0.3 pt
+\gapcolors{Black}{White} % Gap symbols appear `Black on White'
+\domaingaprule{1pt} % If a rule is set between domains use 1 pt
+\domaingapcolors{Red}{White} % Domain separation line appears `Red on White'
+\numberingcolor{Black} % Numbering color is `Black'
+\shownumbering{right} % Show sequence numbering on the left
+\namescolor{Black} % Names' color is `Black'
+\featurenamescolor{Black} % Feature names' color is `Black'
+\featurestylenamescolor{Black} % Feature names' color is `Black'
+\shownames{left} % Show sequence names on the right
+\consensuscolors{Black}{White} % All consensus symbols/letters
+ {Black}{White} % appear `Black on White'
+ {Black}{White} %
+\showconsensus{bottom} % Show consensus line at bottom with
+\hidesequencelogo % Do not show a sequence logo as consensus
+\showlogoscale{leftright} % Show vertical scale bar if logo is on
+\logostretch{1} % Do not stretch sequence logo vertically
+\hidesubfamilylogo % Do not show a subfamily logo
+\subfamilythreshold{50} % Set subfamily threshold to 50%
+\shownegatives % Show negative values in subfamily logo
+\showrelevance[Black]{*} % Label relevant subfamily deviations
+\defconsensus{{}}{*}{!} % Blank =no match; * =match; ! =all match
+\showleadinggaps % Show gap symbols before sequence start
+\rulercolor{Black} % Ruler's color is `Black'
+\hideruler % Do not show the ruler
+\rulersteps{10} % Ruler ticks every 10 residues
+\legendcolor{Black} % Legend text color is `Black'
+\hidelegend % Do not show the legend
+\alignment{center} % Center alignment on page
+\medsepline % Medium height if separation line is on
+\medblockskip % Medium skip between sequence blocks
+\flexblockspace % Use optimized space between blocks
+\featurerule{0.5ex} % Set feature rule thickness to 1/2 ex
+\bargraphstretch{1} % Do not stretch bars in feature graphs
+\colorscalestretch{1} % Do not stretch color scales in features
+\backtranstext{horizontal} % Horizontal triplets in feature texts
+\backtranslabel{alternating} % Alternating triplets in feature styles
+\setfamily{residues}{tt} % Use typewriter family for residues
+\setseries{residues}{md} % Use normal series for residues
+\setshape {residues}{up} % Use upright shape for residues
+\setsize {residues}{normalsize} % Use normal size for residues
+\setfamily{numbering}{tt} % Use typewriter family for numbering
+\setseries{numbering}{md} % Use normal series for numbering
+\setshape {numbering}{up} % Use upright shape for numbering
+\setsize {numbering}{normalsize} % Use normal size for numbering
+\setfamily{names}{tt} % Use typewriter family for names
+\setseries{names}{md} % Use normal series for names
+\setshape {names}{up} % Use upright shape for names
+\setsize {names}{normalsize} % Use normal size for names
+\setfamily{featurenames}{tt} % Use typewriter family for feature names
+\setseries{featurenames}{md} % Use normal series for feature names
+\setshape {featurenames}{up} % Use upright shape for feature names
+\setsize {featurenames}{normalsize}% Use normal size for feature names
+\setfamily{featurestylenames}{tt} % Use typewriter family for feature style names
+\setseries{featurestylenames}{md} % Use normal series for feature style names
+\setshape {featurestylenames}{up} % Use upright shape for feature style names
+\setsize {featurestylenames}{normalsize}% Use normal size for feature style names
+\setfamily{features}{rm} % Use roman family for feature texts
+\setseries{features}{md} % Use normal series for feature texts
+\setshape {features}{it} % Use italics shape for feature texts
+\setsize {features}{normalsize} % Use normal size for feature texts
+\setfamily{featurestyles}{tt} % Use typewriter family for feature styles
+\setseries{featurestyles}{md} % Use normal series for feature styles
+\setshape {featurestyles}{up} % Use upright shape for feature styles
+\setsize {featurestyles}{normalsize}% Use normal size for feature styles
+\setfamily{legend}{tt} % Use typewriter family for legend texts
+\setseries{legend}{md} % Use normal series for legend texts
+\setshape {legend}{up} % Use upright shape for legend texts
+\setsize {legend}{normalsize} % Use normal size for legend texts
+\setfamily{ruler}{sf} % Use sans serif font for ruler numbers
+\tintdefault{medium} % Use medium tint intensity
+\emphdefault{it} % Use italics to emphasize regions
+\showonPHDsec{alpha,beta} % Show helices and strands (PHD input)
+\showonPHDtopo{internal,external,TM}% Show int., ext. and TM's (PHD input)
+\showonHMMTOP{TM} % Show TM's (not int/ext on HMMTOP input)
+\showonSTRIDE{alpha,3-10,pi,beta} % Show helices and strands (STRIDE input)
+\showonDSSP{alpha,3-10,pi,beta} % Show helices and strands (DSSP input)
+\secondcolumnDSSP % Use numbering from 2. column in DSSP
+\appearance{PHDtopo}{internal} % \
+ {bottom}{'-'} % \
+ {int.\ \Alphacount} % |
+\appearance{PHDtopo}{external} % |
+ {top}{,-,} % |
+ {ext.\ \Alphacount} % |
+\appearance{PHDtopo}{TM}{top} % |
+ {box[LightGray]:TM\numcount}{} % |
+\appearance{HMMTOP}{internal} % |
+ {bottom}{'-'} % |
+ {int.\ \Alphacount} % |
+\appearance{HMMTOP}{external} % |
+ {top}{,-,} % |
+ {ext.\ \Alphacount} % |
+\appearance{HMMTOP}{TM}{top} % |
+ {helix}{TM\numcount} % |
+\appearance{PHDsec}{alpha}{top} % |
+ {box:$\alpha$\numcount}{} % |
+\appearance{PHDsec}{beta}{top} % |
+ {-->}{$\beta$\numcount} % |
+\appearance{STRIDE}{alpha}{top} % |
+ {box:$\alpha$\numcount}{} % | Definitions for the appearance of
+\appearance{STRIDE}{3-10}{top} % \
+ {fill:$\circ$}{3$_{10}$} % > secondary structures included from|
+\appearance{STRIDE}{pi} % /
+ {top}{---}{$\pi$} % | PHD-, STRIDE-, or DSSP-files.
+\appearance{STRIDE}{beta}{top} % |
+ {-->}{$\beta$\numcount} % |
+\appearance{STRIDE}{bridge} % |
+ {top}{fill:$\uparrow$}{} % |
+\appearance{STRIDE}{turn} % |
+ {top}{,-,}{turn} % |
+\appearance{DSSP}{alpha}{top} % |
+ {box:$\alpha$\numcount}{} % |
+\appearance{DSSP}{3-10}{top} % |
+ {fill:$\circ$}{3$_{10}$} % |
+\appearance{DSSP}{pi} % |
+ {top}{---}{$\pi$} % |
+\appearance{DSSP}{beta}{top} % |
+ {-->}{$\beta$\numcount} % |
+\appearance{DSSP}{bridge} % |
+ {top}{fill:$\uparrow$}{} % |
+\appearance{DSSP}{turn} % |
+ {top}{,-,}{turn} % |
+\appearance{DSSP}{bend}{top} % /
+ {fill:$\diamond$}{} % /
+
+\pepgroups{FYW,ILVM,RK,DE,GA,ST,NQ} % Amino acid grouping due to similarity
+
+\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} % Nucleotide grouping due to similarity
+
+\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
+
+}
+\catcode`\@=12
+%</texshade>
+% \end{macrocode}
+% \subsection{\file{texshade.def}}
+% \begin{macrocode}
+%<*definitions>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% %%%%%
+%%%%% Default parameter settings for the LaTeX ``TeXshade'' package %%%%%
+%%%%% %%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% %%%%%
+%%%%% This example file contains all standard settings of the TeXshade %%%%%
+%%%%% package. It can be used as a template for the creation of perso- %%%%%
+%%%%% nal parameter files. All TeXshade user commands are allowed and %%%%%
+%%%%% functional when specified here. %%%%%
+%%%%% %%%%%
+%%%%% To activate these settings for your alignment load this file by %%%%%
+%%%%% naming it as optional parameter at the beginning of the texshade %%%%%
+%%%%% environment, e.g. %%%%%
+%%%%% %%%%%
+%%%%% \begin{texshade}[myparameterfile]{alignmentfile} %%%%%
+%%%%% . %%%%%
+%%%%% . %%%%%
+%%%%% \end{texshade} %%%%%
+%%%%% %%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\shadingmode{identical} % Shade identical residues only
+\shadingcolors{blues} % Select the blue color scheme for shading
+\constoallseqs % Calculate consensus considering all seqs
+\threshold{50} % Consensus threshold percentage is 50
+\residuesperline{999} % As many residues as possible per line
+\numberingwidth{9999} % Assign space for 4 digit numbering
+\charstretch{1} % Do not stretch character width
+\linestretch{1} % Do not stretch lines vertically
+\gapchar{.} % . is printed in sequence gaps
+\gaprule{0.3pt} % If a rule is printed in gaps use 0.3 pt
+\gapcolors{Black}{White} % Gap symbols appear `Black on White'
+\domaingaprule{1pt} % If a rule is set between domains use 1 pt
+\domaingapcolors{Red}{White} % Domain separation line appears `Red on White'
+\numberingcolor{Black} % Numbering color is `Black'
+\shownumbering{right} % Show sequence numbering on the left
+\namescolor{Black} % Names' color is `Black'
+\featurenamescolor{Black} % Feature names' color is `Black'
+\featurestylenamescolor{Black} % Feature names' color is `Black'
+\shownames{left} % Show sequence names on the right
+\consensuscolors{Black}{White} % All consensus symbols/letters
+ {Black}{White} % appear `Black on White'
+ {Black}{White} %
+\showconsensus{bottom} % Show consensus line at bottom with
+\hidesequencelogo % Do not show a sequence logo as consensus
+\showlogoscale{leftright} % Show vertical scale bar if logo is on
+\logostretch{1} % Do not stretch sequence logo vertically
+\hidesubfamilylogo % Do not show a subfamily logo
+\subfamilythreshold{50} % Set subfamily threshold to 50%
+\shownegatives % Show negative values in subfamily logo
+\showrelevance[Black]{*} % Label relevant subfamily deviations
+\defconsensus{{}}{*}{!} % Blank =no match; * =match; ! =all match
+\showleadinggaps % Show gap symbols before sequence start
+\rulercolor{Black} % Ruler's color is `Black'
+\hideruler % Do not show the ruler
+\rulersteps{10} % Ruler ticks every 10 residues
+\legendcolor{Black} % Legend text color is `Black'
+\hidelegend % Do not show the legend
+\alignment{center} % Center alignment on page
+\medsepline % Medium height if separation line is on
+\medblockskip % Medium skip between sequence blocks
+\flexblockspace % Use optimized space between blocks
+\featurerule{0.5ex} % Set feature rule thickness to 1/2 ex
+\bargraphstretch{1} % Do not stretch bars in feature graphs
+\colorscalestretch{1} % Do not stretch color scales in features
+\backtranstext{horizontal} % Horizontal triplets in feature texts
+\backtranslabel{alternating} % Alternating triplets in feature styles
+\setfamily{residues}{tt} % Use typewriter family for residues
+\setseries{residues}{md} % Use normal series for residues
+\setshape {residues}{up} % Use upright shape for residues
+\setsize {residues}{normalsize} % Use normal size for residues
+\setfamily{numbering}{tt} % Use typewriter family for numbering
+\setseries{numbering}{md} % Use normal series for numbering
+\setshape {numbering}{up} % Use upright shape for numbering
+\setsize {numbering}{normalsize} % Use normal size for numbering
+\setfamily{names}{tt} % Use typewriter family for names
+\setseries{names}{md} % Use normal series for names
+\setshape {names}{up} % Use upright shape for names
+\setsize {names}{normalsize} % Use normal size for names
+\setfamily{featurenames}{tt} % Use typewriter family for feature names
+\setseries{featurenames}{md} % Use normal series for feature names
+\setshape {featurenames}{up} % Use upright shape for feature names
+\setsize {featurenames}{normalsize}% Use normal size for feature names
+\setfamily{featurestylenames}{tt} % Use typewriter family for feature style names
+\setseries{featurestylenames}{md} % Use normal series for feature style names
+\setshape {featurestylenames}{up} % Use upright shape for feature style names
+\setsize {featurestylenames}{normalsize}% Use normal size for feature style names
+\setfamily{features}{rm} % Use roman family for feature texts
+\setseries{features}{md} % Use normal series for feature texts
+\setshape {features}{it} % Use italics shape for feature texts
+\setsize {features}{normalsize} % Use normal size for feature texts
+\setfamily{featurestyles}{tt} % Use typewriter family for feature styles
+\setseries{featurestyles}{md} % Use normal series for feature styles
+\setshape {featurestyles}{up} % Use upright shape for feature styles
+\setsize {featurestyles}{normalsize}% Use normal size for feature styles
+\setfamily{legend}{tt} % Use typewriter family for legend texts
+\setseries{legend}{md} % Use normal series for legend texts
+\setshape {legend}{up} % Use upright shape for legend texts
+\setsize {legend}{normalsize} % Use normal size for legend texts
+\setfamily{ruler}{sf} % Use sans serif font for ruler numbers
+\tintdefault{medium} % Use medium tint intensity
+\emphdefault{it} % Use italics to emphasize regions
+\showonPHDsec{alpha,beta} % Show helices and strands (PHD input)
+\showonPHDtopo{internal,external,TM}% Show int., ext. and TM's (PHD input)
+\showonHMMTOP{TM} % Show TM's (not int/ext on HMMTOP input)
+\showonSTRIDE{alpha,3-10,pi,beta} % Show helices and strands (STRIDE input)
+\showonDSSP{alpha,3-10,pi,beta} % Show helices and strands (DSSP input)
+\secondcolumnDSSP % Use numbering from 2. column in DSSP
+\appearance{PHDtopo}{internal} % \
+ {bottom}{'-'} % \
+ {int.\ \Alphacount} % |
+\appearance{PHDtopo}{external} % |
+ {top}{,-,} % |
+ {ext.\ \Alphacount} % |
+\appearance{PHDtopo}{TM}{top} % |
+ {box[LightGray]:TM\numcount}{} % |
+\appearance{HMMTOP}{internal} % |
+ {bottom}{'-'} % |
+ {int.\ \Alphacount} % |
+\appearance{HMMTOP}{external} % |
+ {top}{,-,} % |
+ {ext.\ \Alphacount} % |
+\appearance{HMMTOP}{TM}{top} % |
+ {helix}{TM\numcount} % |
+\appearance{PHDsec}{alpha}{top} % |
+ {box:$\alpha$\numcount}{} % |
+\appearance{PHDsec}{beta}{top} % |
+ {-->}{$\beta$\numcount} % |
+\appearance{STRIDE}{alpha}{top} % |
+ {box:$\alpha$\numcount}{} % | Definitions for the appearance of
+\appearance{STRIDE}{3-10}{top} % \
+ {fill:$\circ$}{3$_{10}$} % > secondary structures included from|
+\appearance{STRIDE}{pi} % /
+ {top}{---}{$\pi$} % | PHD-, STRIDE-, or DSSP-files.
+\appearance{STRIDE}{beta}{top} % |
+ {-->}{$\beta$\numcount} % |
+\appearance{STRIDE}{bridge} % |
+ {top}{fill:$\uparrow$}{} % |
+\appearance{STRIDE}{turn} % |
+ {top}{,-,}{turn} % |
+\appearance{DSSP}{alpha}{top} % |
+ {box:$\alpha$\numcount}{} % |
+\appearance{DSSP}{3-10}{top} % |
+ {fill:$\circ$}{3$_{10}$} % |
+\appearance{DSSP}{pi} % |
+ {top}{---}{$\pi$} % |
+\appearance{DSSP}{beta}{top} % |
+ {-->}{$\beta$\numcount} % |
+\appearance{DSSP}{bridge} % |
+ {top}{fill:$\uparrow$}{} % |
+\appearance{DSSP}{turn} % |
+ {top}{,-,}{turn} % |
+\appearance{DSSP}{bend}{top} % /
+ {fill:$\diamond$}{} % /
+
+\pepgroups{FYW,ILVM,RK,DE,GA,ST,NQ} % Amino acid grouping due to similarity
+
+\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} % Nucleotide grouping due to similarity
+
+\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
+%</definitions>
+% \end{macrocode}
+% \begin{macrocode}
+%<*AQPDNA>
+AQPDNA.MSF MSF: 979 Type: N Freitag, 12. Februar 1999 Check: 2594 ..
+Name: AQP1nuc.SEQ Len: 807 Check: 8330 Weight: 1.00
+Name: AQP2nuc.SEQ Len: 813 Check: 7220 Weight: 1.00
+Name: AQP3nuc.SEQ Len: 855 Check: 7590 Weight: 1.00
+Name: AQP4nuc.SEQ Len: 960 Check: 8696 Weight: 1.00
+Name: AQP5nuc.SEQ Len: 795 Check: 758 Weight: 1.00
+//
+ 1 60
+AQP1nuc.SEQ ATGGCCAGCGAAATCAAGAAGAAGC.................TCTTCT........GGAG
+AQP2nuc.SEQ ATGTG....GGAACTCAG.........................ATCCAT...........
+AQP3nuc.SEQ ATG........AACC........GTTGCGGGG.AGATG.....CTCC.............
+AQP4nuc.SEQ ATGAGTGACGGAGCTGCAGCGAGGCGGTGGGGTAAGTGTGGACCTCCCTGCAGCAGAGAG
+AQP5nuc.SEQ ATGAAAAA.GGAGGTGTG.........................CTCCCT...........
+
+ 61 120
+AQP1nuc.SEQ GGC..TGTGGTGGCT.....GAGTTCCTGGCCATGA.CCCTCTTCG..............
+AQP2nuc.SEQ ...................................AGCCTTCTCCCGAGCAGTGCTGGCT
+AQP3nuc.SEQ .ACATCC.....GCTACCGG......CTG.........CTTCGCCA....GGCTCTGGCG
+AQP4nuc.SEQ AGCATCATGGTGGCTTTCAAAGGCGTCTGGACTCAAGCCTTCTGGAAGGCGGTCACAGCA
+AQP5nuc.SEQ ...................................TGCCTTCTTCAAGGCGGTGTTCGCA
+
+ 121 180
+AQP1nuc.SEQ ....TCTTCATCAGCATCGGTTCTGCCCTA...GGCTT.....CAATTACCCACTGGAGA
+AQP2nuc.SEQ GAGTTCTTGGCCACGCTCCTTTTTGTCTTCTTTGGCCTTGGCTCAGCCCTCCA.....GT
+AQP3nuc.SEQ GAGTGCCTGGGGACCCTCATCCTTGTGATGTTCGGCTGTGGTTCCGTGGCTCAA.GTGGT
+AQP4nuc.SEQ GAGTTCCTGGCCATGCTCATCTTTGTTCTGCTCAGCGTGGGATCCACCATTAACTGGGGT
+AQP5nuc.SEQ GAGTTCCTGGCCACCCTCATCTTCGTCTTCTTTGGCCTGGGCTCAGCACTCAA.....GT
+
+ 181 240
+AQP1nuc.SEQ GA...AACCAGACGCTGGTCCA.GGACAATGTGAAGGTGTCACTGGCCTTTGGTCTGAGC
+AQP2nuc.SEQ GGGCCAGCT....CCCCACCCTC...TGTGCTCCAGATCGCCGTGGCCTTTGGTCTGGGC
+AQP3nuc.SEQ GCTCAGCCGAGGGACCCATG.GTGG.CTTCCTCACCATCAACTTGGCTTTTGGCTTCGCT
+AQP4nuc.SEQ GGCTCAGAGAACCCCCTACCTGTGGACATGGTCCTCATCTCCCTCTGCTTTGGACTCAGC
+AQP5nuc.SEQ GGCCCTCGG....CTCTGCCCAC...CATTCTGCAAATCTCAATTGCCTTTGGCCTGGCC
+
+ 241 300
+AQP1nuc.SEQ ATCGCTACTCTGGCCCAAAGTGTGGGTCACATCAGTGGTGCTCACTCCAACCCAGCGGTC
+AQP2nuc.SEQ ATCGGCATCCTGGTTCAGGCTCTGGGCCATGTCAGCGGGGCACACATCAACCCCGCCGTG
+AQP3nuc.SEQ GTCACCCTTGCCATCTTGGTGGCTGGCCAAGTGTCTGGAGCCCACTTGAACCCTGCTGTG
+AQP4nuc.SEQ ATTGCCACCATGGTTCAGTGCTTCGGCCACATCAGCGGTGGCCACATCAACCCAGCGGTG
+AQP5nuc.SEQ ATAGGTACCTTAGCCCAAGCTCTGGGACCTGTGAGTGGTGGCCACATCAATCCAGCCATT
+
+ 301 360
+AQP1nuc.SEQ ACACTGGGGCTTCTGCTCAGCTGTCAGATCAGCATCCTCCGGGCTGTCA.TGTATATCAT
+AQP2nuc.SEQ ACTGTGGCATGCCTGGTGGGTTGCCATGTCTCCTTCCTTCGAGCTGCCT.TCTATGTGGC
+AQP3nuc.SEQ ACCTTTGCAATG.TGCTTCCTGGCACGAGAGCCCTGGATCAAGCTGCCCATCTACACACT
+AQP4nuc.SEQ ACAGTGGCCATGGTGTGCACACGAAAGATCAGCATCGCCAAGTCTGTCT.TCTACATCAC
+AQP5nuc.SEQ ACTCTGGCCCTCTTAATAGGAAACCAGATCTCGCTGCTCCGAGCTGTCT.TCTACGTGGC
+
+ 361 420
+AQP1nuc.SEQ CGCCCAGTGTGTGGGAGCCATCGTTGCCTCCGCCATCCTCTCCGGCATCACCTCCTCCCT
+AQP2nuc.SEQ TGCCCAGCTGCTGGGCGCCGTGGCTGGGGCTGCCATCCTCCATGAGATTAC.TCCAGTAG
+AQP3nuc.SEQ GGCACAGACCCTCGGGGCCTTCTTGGGTGCTGGGATTGTTTTTGGGCT..CTACTA..TG
+AQP4nuc.SEQ TGCGCAGTGCCTGGGGGCCATCATCGGAGCTGGGATCCTCTACCTGGTCAC.ACCCCCCA
+AQP5nuc.SEQ AGCCCAGCTGGTGGGCGCCATTGCTGGGGCAGGCATCCTGTACTGGCTGGC.GCCACTCA
+
+ 421 480
+AQP1nuc.SEQ GCTCGAGAACTCACTTGGCCGA.AATGACCTGGCTCGAGGTGTGAACTCCGGCCAGGGCC
+AQP2nuc.SEQ AAATCCGTGGGGACCTGGCTGTCAATGCTCTCCACAACAACGCCACAGCTGGCCAGGCTG
+AQP3nuc.SEQ ATGCAATCTGGGCCTTTGCTGGCAATGAGCT.........TGTTGTCTCCGGCC.....C
+AQP4nuc.SEQ GCGTGGTGGGAGGATTGGGAGTCACCACGGTTCATGGAAACCTCACTGCTGGCCATGGGC
+AQP5nuc.SEQ ATGCCCGGGGTAACCTGGCCGTCAATGCGCTGAACAACAACACAACGCCTGGCAAGGCCA
+
+ 481 540
+AQP1nuc.SEQ TGGGCATTGAGATCATTGGCACCCTGCAGCTGGTGCTGTGCGT.TCTGGCTACCACTGAC
+AQP2nuc.SEQ TGACTGTAGAGCTCTTCCTGACCATGCAGCTGGTGCTGTGCAT.CTTTGCCTCCACCGAC
+AQP3nuc.SEQ CAATGGCACAGCTGGTATC..TTTGCCACCTATCCCTCTGGACACTTGGATATGGTCAAT
+AQP4nuc.SEQ TCCTGGTGGAGCTAATAATCACTTTCCAGCTGGTATTCACCAT.TTTTGCCAGCTGTGAT
+AQP5nuc.SEQ TGGTGGTGGAGTTAATCTTGACTTTCCAGCTAGCCCTCTGCAT.CTTCTCCTCCACCGAC
+
+ 541 600
+AQP1nuc.SEQ CGGAGGCGCCGAGACTTAGGTGGCTCAGCCCCACTTGCCATTGGCTTGTCTGTGGCTCTT
+AQP2nuc.SEQ GAGCGCCGCGGTGACAACCTGGGTAGCCCTGCCCTCTCCATTGGTTTCTCTGTTACCCTG
+AQP3nuc.SEQ GGCTTCTTTGATCAGTTCATAGGCACAGCAGCCCTTATTGTGTGTGTGCTGGCCATTGTT
+AQP4nuc.SEQ TCCAAACGGACTGATGTTACTGGTTCCGTTGCTTTAGCAATTGGGTTTTCCGTTGCAATT
+AQP5nuc.SEQ TCTCGCCGAACCAGCCCTGTGGGCTCCCCAGCCTTATCCATTGGCTTGTCTGTCACACTG
+
+ 601 660
+AQP1nuc.SEQ GGACACCTGCTGGCCATTGACTACACTGGCTGTGGGATCAACCCTGCCCGGTCATT.TGG
+AQP2nuc.SEQ GGCCACCTCCTTGGGATCTATTTCACCGGTTGCTCCATGAATCCAGCCCGCTCCCT.GGC
+AQP3nuc.SEQ GACC..CTTATAACAACCCTGTGCCCCGGGGCCTGGAGGCCTTCACTGTGGGCCTTGTGG
+AQP4nuc.SEQ GGACATTTGTTTGCAATCAATTATACCGGAGCCAGCATGAATCCAGCTCGATCCTT.TGG
+AQP5nuc.SEQ GGCCATCTTGTGGGGATCTACTTCACCGGCTGTTCCATGAACCCAGCCCGATCTTT.CGG
+
+ 661 720
+AQP1nuc.SEQ CTCTGCTGTGCTCACCCGCAACTTCTCAAAC...CACTGGATTTTCTGGGTGGGACCATT
+AQP2nuc.SEQ TCCAGCAGTTGTCACTGGCAAGTTTGATGA...TCACTGGGTCTTCTGGATCGGACCCCT
+AQP3nuc.SEQ TCCTG.....GTCATTGGGACCTCCATGGGCTTCAATTCTGGCTATGCCGTCAACCCAGC
+AQP4nuc.SEQ CCCTGCAGTTATCATGGGAAACTGGGAAAAC...CACTGGATATATTGGGTTGGACCAAT
+AQP5nuc.SEQ CCCTGCGGTGGTCATGAACCGGTTCAGCCCCTCTCACTGGGTCTTCTGGGTAGGGCCTAT
+
+ 721 780
+AQP1nuc.SEQ CATTGGGAGTGCCCTGGCAGTGCTGATCTATGACTTCATC..CTGGCCCCACGC..AGC.
+AQP2nuc.SEQ GGTGGGCGCCATCATCGGCTCCCTCCTCTACAACTAC..CTGCTGTTC..........CC
+AQP3nuc.SEQ T.....CGTGACTTTGG..ACCTCGCCTTTTCACTGCCCTGGCTGGC......TGGGGTT
+AQP4nuc.SEQ CATAGGCGCTGTGCTGGCAGGTGCACTTTACGAGTATGTCTTCTGTCCTGACGTGGAGCT
+AQP5nuc.SEQ TGTGGGGGCCATGCTGGCGGCCATCCTCTATTTCTAC..CTGCTCTTC..........CC
+
+ 781 840
+AQP1nuc.SEQ ..AGCG.........................ACTTTACAG.............ACCGCAT
+AQP2nuc.SEQ C.....TCGGCAAAG...AGCCTGCAGGAGCGCTTGGCAGTGCTCAAGGG.......CCT
+AQP3nuc.SEQ CAGAAGTC.TTTACGACTGGCC...AGAACTGGTGGTGGGTACCCATCGTCTCTCCACTC
+AQP4nuc.SEQ CAAACGTCGCCTAAAGGAAGCCTTCAGCAAAGCTGCACAGCAGACGAAAGGGAGCTACAT
+AQP5nuc.SEQ C.....TCCTCTCTG...AGCCTCCATGATCGCGTGGCTGTCGTCAAAGG.......CAC
+
+ 841 900
+AQP1nuc.SEQ GAAGGTGTGGACCAGT...GGCCAAGTGGA.....GGAGTATGACCTGGATGC.......
+AQP2nuc.SEQ GGAGCCCGACACCGACTGGGA.......GGAACGTGAAGTGCGG..CGGCGGCAGTCGGT
+AQP3nuc.SEQ CTGGGTTC.CATTGGTGGTGTCTTCGTGT.ACCAGCT..CATGAT.TGGCTGCCACC..T
+AQP4nuc.SEQ GGAGGTGGAGGACAACCGGAGCCAAGTGGAGACAGAAGACTTGATCCTGAAGCCCGGGGT
+AQP5nuc.SEQ ATA...TGA.GCCGG..AGGA.......GGACTGGGAAGATCAT..CGAGAGGAGAGGAA
+
+ 901 960
+AQP1nuc.SEQ ........TGAT.GATATCAACTCCAGGGTGGAGATGAAG....................
+AQP2nuc.SEQ GGAGC......TC..CACTCTCCTCAGAG...................CCTGCCTCGCG.
+AQP3nuc.SEQ GGAGCA.GCCCCCGCCTTCCACT..GAGGCAGAGAATGTGAAGCTGG.CCCACATGAAGC
+AQP4nuc.SEQ GGTGCATGTGATCGACATTGACCGTGGAGACGAGAAGAAGGGGAAGGACTCGTCTGGAGA
+AQP5nuc.SEQ GAAG............ACCATC....GAG........................CTGACG.
+
+ 961 979
+AQP1nuc.SEQ ..........CCCAAATAG
+AQP2nuc.SEQ .GCAGCAAGGCCTG....A
+AQP3nuc.SEQ ACAAGGA..GCAGATCTGA
+AQP4nuc.SEQ GGTATTATCTTCTGTATGA
+AQP5nuc.SEQ .GCA.CA....CTG....A
+
+%</AQPDNA>
+% \end{macrocode}
+% \begin{macrocode}
+%<*AQPpro>
+AQPpro.MSF MSF: 356 Type: P Freitag, 12. Februar 1999 Check: 2586 ..
+Name: AQP1.PRO Len: 269 Check: 5367 Weight: 1.00
+Name: AQP2.PRO Len: 271 Check: 6176 Weight: 1.00
+Name: AQP3.PRO Len: 285 Check: 2893 Weight: 1.00
+Name: AQP4.PRO Len: 323 Check: 9737 Weight: 1.00
+Name: AQP5.PRO Len: 265 Check: 8413 Weight: 1.00
+//
+ 1 60
+AQP1.PRO MAS........................EIKKKLFWRAVVAEFLAMTLFVFISIGSALGFN
+AQP2.PRO MW.........................ELRSIAFSRAVLAEFLATLLFVFFGLGSALQWA
+AQP3.PRO M.........NRCG.....EMLHIRYR......LLRQALAECLGTLILVMFGCGSVAQVV
+AQP4.PRO MSDGAAARRWGKCGPPCSRESIMVAFKGVWTQAFWKAVTAEFLAMLIFVLLSVGSTINWG
+AQP5.PRO MK........................KEVCSLAFFKAVFAEFLATLIFVFFGLGSALKWP
+
+ 61 120
+AQP1.PRO YPLERNQTLVQDNVKVSLAFGLSIATLAQSVGHISGAHSNPAVTLGLLLSCQISILRAVM
+AQP2.PRO ...SS....PPSVLQIAVAFGLGIGILVQALGHVSGAHINPAVTVACLVGCHVSFLRAAF
+AQP3.PRO LSRGTH....GGFLTINLAFGFAVTLAILVAGQVSGAHLNPAVTFAMCFLAREPWIKLPI
+AQP4.PRO ...GSENPLPVDMVLISLCFGLSIATMVQCFGHISGGHINPAVTVAMVCTRKISIAKSVF
+AQP5.PRO ...SA....LPTILQISIAFGLAIGTLAQALGPVSGGHINPAITLALLIGNQISLLRAVF
+
+ 121 180
+AQP1.PRO YIIAQCVGAIVASAILSGI..........TSSLLENSLGRNDLARGVNSGQ.....GLGI
+AQP2.PRO YVAAQLLGAVAGAAILHEI..........TPVEIRGDLAVNALHNNATAGQ.....AVTV
+AQP3.PRO YTLAQTLGAFLGAGIVFGLYYDAIWAFAGNELVVSGPNGTAGIFATYPSGHLDMVNGFFD
+AQP4.PRO YITAQCLGAIIGAGILYLV..........TPPSVVGGLGVTTVHGNLTAGH.....GLLV
+AQP5.PRO YVAAQLVGAIAGAGILYWL..........APLNARGNLAVNALNNNTTPGK.....AMVV
+
+ 181 240
+AQP1.PRO EIIGTLQLVLCVLATTDR.RRRDLGGSAPLAIGLSVALGHLLAIDYTGCGINPARSFGSA
+AQP2.PRO ELFLTMQLVLCIFASTDE.RRGDNLGSPALSIGFSVTLGHLLGIYFTGCSMNPARSLAPA
+AQP3.PRO QFIGTAALIVCVLAIVDPYNNPVPRGLEAFTVGLVVLVIGTSMGFNSGYAVNPARDFGPR
+AQP4.PRO ELIITFQLVFTIFASCDS.KRTDVTGSVALAIGFSVAIGHLFAINYTGASMNPARSFGPA
+AQP5.PRO ELILTFQLALCIFSSTDS.RRTSPVGSPALSIGLSVTLGHLVGIYFTGCSMNPARSFGPA
+
+ 241 300
+AQP1.PRO VLTR..NFS.N......HWIFWVGPFIGSALAVL..IYDFILAPRSSDFTDRMK......
+AQP2.PRO VVTG..KFD.D......HWVFWIGPLVGAIIGSL..LYNYLLFPSAKSLQERL..AVLKG
+AQP3.PRO LFTALAGWGSEVFTTGQNW..WWVPIVSPLLGSIGGVFVYQL..................
+AQP4.PRO VIMG..NWE.N......HWIYWVGPIIGAVLAGA..LYEYV.FCPDVELKRRLKEAFSKA
+AQP5.PRO VVMN..RFSPS......HWVFWVGPIVGAMLAAI..LYFYLLFPSSLSLHDRV..AVVKG
+
+ 301 354
+AQP1.PRO ......VWTS.....GQVEEYDLDAD.......DINSRVEMKPK..........
+AQP2.PRO .LEPDTDWEEREVRRRQ..SVELHSPQSLPRG...................SKA
+AQP3.PRO .................MIGCHLEQPPPSTEAENV.KLAHMKHKE.......QI
+AQP4.PRO AQQTKGSYMEVEDNRSQVETEDLILKPGVVHVIDIDRGDEKKGKDSSGEVLSSV
+AQP5.PRO TYEPEEDWEDHREERKK..TIELTAH............................
+
+%</AQPpro>
+% \end{macrocode}
+% \begin{macrocode}
+%<*AQP2spec>
+AQP2bt SIAFSRAVLAEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLAIGTLVQALGHVSGA
+AQP2cf SVAFSRAVFAEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLGIGTLVQALGHVSGA
+AQP2dd SIAFSRAVFSEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLAIGTLVQALGHISGA
+AQP2ec SIAFSRAVLAEFLATLLFVFFGLGSALNWPQAMPSVLQIAMAFGLAIGTLVQALGHVSGA
+AQP2em SIAFSRAVFSEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLAIGTLVQTLGHISGA
+
+
+AQP2bt HINPAVTVACLVGCHVSFLRAVFYVAAQLLGAVAGAALLHEITPPAIRG
+AQP2cf HINPAVTVACLVGCHVSFLRAAFYVAAQLLGAVAGAALLHEITPPHVRG
+AQP2dd HINPAVTVACLVGCHVSFLRATFYLAAQLLGAVAGAAILHEITPPDIRG
+AQP2ec HINPAVTVACLVGCHVSFLRAAFYVAAQLLGAVAGAALLHEITPPDIRR
+AQP2em HINPAVTVACLVGCHVSFLRATFYLAAQLLGAVAGAALLHELTPPDIRG
+
+%</AQP2spec>
+% \end{macrocode}
+% \begin{macrocode}
+%<*AQP1topo>
+\feature{bottom}{1}{1..14}{'-'}{int.\ A}
+\feature{top}{1}{15..32}{box[LightGray]:TM1}{}
+\feature{top}{1}{33..49}{,-,}{ext.\ B}
+\feature{top}{1}{50..68}{box[LightGray]:TM2}{}
+\feature{bottom}{1}{69..81}{'-'}{int.\ C}
+\feature{top}{1}{82..106}{box[LightGray]:TM3}{}
+\feature{top}{1}{107..136}{,-,}{ext.\ D}
+\feature{top}{1}{137..154}{box[LightGray]:TM4}{}
+\feature{bottom}{1}{155..168}{'-'}{int.\ E}
+\feature{top}{1}{169..186}{box[LightGray]:TM5}{}
+\feature{top}{1}{187..211}{,-,}{ext.\ F}
+\feature{top}{1}{212..230}{box[LightGray]:TM6}{}
+\feature{bottom}{1}{231..269}{'-'}{int.\ G}
+%</AQP1topo>
+% \end{macrocode}
+% \begin{macrocode}
+%<*AQP1PHD>
+
+From phd@EMBL-Heidelberg.de Wed Nov 25 10:24:25 1998
+Date: Tue, 24 Nov 1998 17:45:25 +0100
+From: Protein Prediction <phd@EMBL-Heidelberg.de>
+To: eric.beitz@uni-tuebingen.de
+Subject: PredictProtein
+
+
+
+
+The following information has been received by the server:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+________________________________________________________________________________
+
+reference predict_h25873 (Tue Nov 24 17:43:21 MET 1998)
+from eric.beitz@uni-tuebingen.de
+password(###)
+resp MAIL
+orig HTML
+prediction of: -secondary structure (PHDsec)-solvent accessibility (PHDacc)-
+return msf format
+# no description
+MASEIKKKLFWRAVVAEFLAMTLFVFISIGSALGFNYPLERNQTLVQDNVKVSLAFGLSIATLAQSVGHISGAHSNPAVT
+LGLLLSCQISILRAVMYIIAQCVGAIVASAILSGITSSLLENSLGRNDLARGVNSGQGLGIEIIGTLQLVLCVLATTDRR
+RRDLGGSAPLAIGLSVALGHLLAIDYTGCGINPARSFGSAVLTRNFSNHWIFWVGPFIGSALAVLIYDFILAPRSSDFTD
+RMKVWTSGQVEEYDLDADDINSRVEMKPK
+
+________________________________________________________________________________
+
+
+
+
+
+Result of PROSITE search (Amos Bairoch):
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+please quote: A Bairoch, P Bucher & K Hofmann: The PROSITE database,
+its status in 1997. Nucl. Acids Res., 1997, 25, 217-221.
+
+________________________________________________________________________________
+
+
+--------------------------------------------------------
+
+--------------------------------------------------------
+
+Pattern-ID: ASN_GLYCOSYLATION PS00001 PDOC00001
+Pattern-DE: N-glycosylation site
+Pattern: N[^P][ST][^P]
+ 42 NQTL
+ 250 NFSN
+
+Pattern-ID: GLYCOSAMINOGLYCAN PS00002 PDOC00002
+Pattern-DE: Glycosaminoglycan attachment site
+Pattern: SG.G
+ 135 SGQG
+
+Pattern-ID: PKC_PHOSPHO_SITE PS00005 PDOC00005
+Pattern-DE: Protein kinase C phosphorylation site
+Pattern: [ST].[RK]
+ 157 TDR
+ 398 TDR
+
+Pattern-ID: CK2_PHOSPHO_SITE PS00006 PDOC00006
+Pattern-DE: Casein kinase II phosphorylation site
+Pattern: [ST].{2}[DE]
+ 118 SLLE
+ 383 SRVE
+
+Pattern-ID: MYRISTYL PS00008 PDOC00008
+Pattern-DE: N-myristoylation site
+Pattern: G[^EDRKHPFYW].{2}[STAGCN][^P]
+ 30 GSALGF
+ 92 GLSIAT
+ 179 GLLLSC
+ 288 GAIVAS
+ 407 GITSSL
+ 544 GVNSGQ
+ 722 GLSVAL
+ 917 GINPAR
+ 1141 GSALAV
+
+Pattern-ID: PROKAR_LIPOPROTEIN PS00013 PDOC00013
+Pattern-DE: Prokaryotic membrane lipoprotein lipid attachment site
+Pattern: [^DERK]{6}[LIVMFWSTAG]{2}[LIVMFYSTAGCQ][AGS]C
+ 77 PAVTLGLLLSC
+
+Pattern-ID: MIP PS00221 PDOC00193
+Pattern-DE: MIP family signature
+Pattern: [HNQA].NP[STA][LIVMF][ST][LIVMF][GSTAFY]
+ 74 HSNPAVTLG
+
+
+
+
+________________________________________________________________________________
+
+
+
+
+
+Result of ProDom domain search (Corpet, Gouzy, Kahn):
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- please quote: ELL Sonnhammer & D Kahn, Prot. Sci., 1994, 3, 482-492
+
+________________________________________________________________________________
+
+
+--- ------------------------------------------------------------
+--- Results from running BLAST against PRODOM domains
+---
+--- PLEASE quote:
+--- F Corpet, J Gouzy, D Kahn (1998). The ProDom database
+--- of protein domain families. Nucleic Ac Res 26:323-326.
+---
+--- BEGIN of BLASTP output
+BLASTP 1.4.7 [16-Oct-94] [Build 17:06:52 Oct 31 1994]
+
+Reference: Altschul, Stephen F., Warren Gish, Webb Miller, Eugene W. Myers,
+and David J. Lipman (1990). Basic local alignment search tool. J. Mol. Biol.
+215:403-10.
+
+Query= prot (#) ppOld, no description /home/phd/server/work/predict_h25873
+ (269 letters)
+
+Database: /home/phd/ut/prodom/prodom_34_2
+ 53,597 sequences; 6,740,067 total letters.
+Searching..................................................done
+
+ Smallest
+ Sum
+ High Probability
+Sequences producing High-scoring Segment Pairs: Score P(N) N
+
+ 390 p34.2 (45) MIP(6) AQP1(4) GLPF(4) // PROTEIN INTRIN... 270 2.0e-32 1
+ 45663 p34.2 (1) AQPZ_ECOLI // AQUAPORIN Z. 90 3.2e-13 2
+ 45611 p34.2 (1) AQP2_HUMAN // AQUAPORIN-CD (AQP-CD) (WAT... 136 6.0e-13 1
+ 304 p34.2 (61) AQP2(10) GLPF(6) MIP(5) // PROTEIN CHANN... 121 9.2e-11 1
+ 45607 p34.2 (1) PMIP_NICAL // POLLEN-SPECIFIC MEMBRANE I... 80 1.2e-07 2
+ 45606 p34.2 (1) BIB_DROME // NEUROGENIC PROTEIN BIG BRAIN. 80 1.2e-05 2
+ 2027 p34.2 (15) GLPF(9) AQP3(2) // PROTEIN FACILITATOR ... 60 3.4e-05 2
+ 45615 p34.2 (1) GLPF_STRPN // GLYCEROL UPTAKE FACILITATO... 63 0.024 1
+ 45638 p34.2 (1) AQP5_HUMAN // AQUAPORIN 5. 61 0.044 1
+
+
+
+>390 p34.2 (45) MIP(6) AQP1(4) GLPF(4) // PROTEIN INTRINSIC CHANNEL WATER
+ AQUAPORIN TONOPLAST MEMBRANE FOR PLASMA LENS
+ Length = 88
+
+ Score = 270 (125.3 bits), Expect = 2.0e-32, P = 2.0e-32
+ Identities = 47/67 (70%), Positives = 56/67 (83%)
+
+Query: 156 TTDRRRRDLGGSAPLAIGLSVALGHLLAIDYTGCGINPARSFGSAVLTRNFSNHWIFWVG 215
+ T D+RR +GGSAPL IG SVALGHL+ I YTGCG+NPARSFG AV+T NF+NHW++WVG
+Sbjct: 22 TDDKRRGSVGGSAPLPIGFSVALGHLIGIPYTGCGMNPARSFGPAVVTGNFTNHWVYWVG 81
+
+Query: 216 PFIGSAL 222
+ P IG+ L
+Sbjct: 82 PIIGAVL 88
+
+ Score = 95 (44.1 bits), Expect = 2.3e-06, P = 2.3e-06
+ Identities = 20/33 (60%), Positives = 23/33 (69%)
+
+Query: 136 GQGLGIEIIGTLQLVLCVLATTDRRRRDLGGSA 168
+ GQ L +EIIGT QLV CV ATTD +RR G +
+Sbjct: 1 GQNLVVEIIGTFQLVYCVFATTDDKRRGSVGGS 33
+
+
+>45663 p34.2 (1) AQPZ_ECOLI // AQUAPORIN Z.
+ Length = 96
+
+ Score = 90 (41.8 bits), Expect = 3.2e-13, Sum P(2) = 3.2e-13
+ Identities = 18/36 (50%), Positives = 25/36 (69%)
+
+Query: 166 GSAPLAIGLSVALGHLLAIDYTGCGINPARSFGSAV 201
+ G AP+AIGL++ L HL++I T +NPARS A+
+Sbjct: 25 GFAPIAIGLALTLIHLISIPVTNTSVNPARSTAVAI 60
+
+ Score = 63 (29.2 bits), Expect = 3.2e-13, Sum P(2) = 3.2e-13
+ Identities = 11/25 (44%), Positives = 14/25 (56%)
+
+Query: 210 WIFWVGPFIGSALAVLIYDFILAPR 234
+ W FWV P +G + LIY +L R
+Sbjct: 71 WFFWVVPIVGGIIGGLIYRTLLEKR 95
+
+
+>45611 p34.2 (1) AQP2_HUMAN // AQUAPORIN-CD (AQP-CD) (WATER CHANNEL PROTEIN FOR
+ RENAL COLLECTING DUCT) (ADH WATER CHANNEL) (AQUAPORIN 2) (COLLECTING DUCT
+ WATER CHANNEL PROTEIN) (WCH-CD).
+ Length = 49
+
+ Score = 136 (63.1 bits), Expect = 6.0e-13, P = 6.0e-13
+ Identities = 23/42 (54%), Positives = 34/42 (80%)
+
+Query: 50 VKVSLAFGLSIATLAQSVGHISGAHSNPAVTLGLLLSCQISI 91
+ +++++AFGL I TL Q++GHISGAH NPAVT+ L+ C +S+
+Sbjct: 8 LQIAMAFGLGIGTLVQALGHISGAHINPAVTVACLVGCHVSV 49
+
+
+>304 p34.2 (61) AQP2(10) GLPF(6) MIP(5) // PROTEIN CHANNEL WATER AQUAPORIN
+ INTRINSIC DUCT COLLECTING FOR TONOPLAST WCH-CD
+ Length = 43
+
+ Score = 121 (56.1 bits), Expect = 9.2e-11, P = 9.2e-11
+ Identities = 24/43 (55%), Positives = 31/43 (72%)
+
+Query: 70 ISGAHSNPAVTLGLLLSCQISILRAVMYIIAQCVGAIVASAIL 112
+ ISG H NPAVT+GLL+ + LRAV YI AQ +GA+ +A+L
+Sbjct: 1 ISGGHINPAVTIGLLIGGRFPFLRAVFYIAAQLLGAVAGAALL 43
+
+
+>45607 p34.2 (1) PMIP_NICAL // POLLEN-SPECIFIC MEMBRANE INTEGRAL PROTEIN.
+ Length = 69
+
+ Score = 80 (37.1 bits), Expect = 1.2e-07, Sum P(2) = 1.2e-07
+ Identities = 17/54 (31%), Positives = 32/54 (59%)
+
+Query: 149 LVLCVLATTDRRRRDLGGSAPLAIGLSVALGHLLAIDYTGCGINPARSFGSAVL 202
+ L++ V++ R +G A +A+G+++ L +A +G +NPARS G A++
+Sbjct: 13 LLMFVISGVATDDRAIGQVAGIAVGMTITLNVFVAGPISGASMNPARSIGPAIV 66
+
+ Score = 34 (15.8 bits), Expect = 1.2e-07, Sum P(2) = 1.2e-07
+ Identities = 8/18 (44%), Positives = 11/18 (61%)
+
+Query: 136 GQGLGIEIIGTLQLVLCV 153
+ GQ L IEII + L+ +
+Sbjct: 1 GQSLAIEIIISFLLMFVI 18
+
+
+>45606 p34.2 (1) BIB_DROME // NEUROGENIC PROTEIN BIG BRAIN.
+ Length = 119
+
+ Score = 80 (37.1 bits), Expect = 1.2e-05, Sum P(2) = 1.2e-05
+ Identities = 15/34 (44%), Positives = 24/34 (70%)
+
+Query: 1 MASEIKKKLFWRAVVAEFLAMTLFVFISIGSALG 34
+ M +EI+ FWR++++E LA ++VFI G+A G
+Sbjct: 55 MQAEIRTLEFWRSIISECLASFMYVFIVCGAAAG 88
+
+ Score = 39 (18.1 bits), Expect = 1.2e-05, Sum P(2) = 1.2e-05
+ Identities = 9/17 (52%), Positives = 12/17 (70%)
+
+Query: 53 SLAFGLSIATLAQSVGH 69
+ +LA GL++ATL Q H
+Sbjct: 103 ALASGLAMATLTQCFLH 119
+
+
+>2027 p34.2 (15) GLPF(9) AQP3(2) // PROTEIN FACILITATOR GLYCEROL UPTAKE
+ AQUAPORIN DIFFUSION UPTAKE/EFFLUX PEPX 5'REGION ORF1
+ Length = 55
+
+ Score = 60 (27.8 bits), Expect = 3.4e-05, Sum P(2) = 3.4e-05
+ Identities = 17/46 (36%), Positives = 20/46 (43%)
+
+Query: 156 TTDRRRRDLGGSAPLAIGLSVALGHLLAIDYTGCGINPARSFGSAV 201
+ T D GG PL +G V + TG INPAR FG +
+Sbjct: 10 TDDGNNVPSGGLHPLMVGFLVMGIGMSLGGTTGYAINPARDFGPRI 55
+
+ Score = 37 (17.2 bits), Expect = 3.4e-05, Sum P(2) = 3.4e-05
+ Identities = 7/10 (70%), Positives = 8/10 (80%)
+
+Query: 149 LVLCVLATTD 158
+ L+ CVLA TD
+Sbjct: 2 LIACVLALTD 11
+
+
+>45615 p34.2 (1) GLPF_STRPN // GLYCEROL UPTAKE FACILITATOR PROTEIN.
+ Length = 26
+
+ Score = 63 (29.2 bits), Expect = 0.025, P = 0.024
+ Identities = 13/23 (56%), Positives = 18/23 (78%)
+
+Query: 205 NFSNHWIFWVGPFIGSALAVLIY 227
+ ++S WI VGP IG+ALAVL++
+Sbjct: 1 DWSYAWIPVVGPVIGAALAVLVF 23
+
+
+>45638 p34.2 (1) AQP5_HUMAN // AQUAPORIN 5.
+ Length = 27
+
+ Score = 61 (28.3 bits), Expect = 0.045, P = 0.044
+ Identities = 11/19 (57%), Positives = 18/19 (94%)
+
+Query: 50 VKVSLAFGLSIATLAQSVG 68
+ ++++LAFGL+I TLAQ++G
+Sbjct: 8 LQIALAFGLAIGTLAQALG 26
+
+
+Parameters:
+ E=0.1
+ B=500
+
+ V=500
+ -ctxfactor=1.00
+
+ Query ----- As Used ----- ----- Computed ----
+ Frame MatID Matrix name Lambda K H Lambda K H
+ +0 0 BLOSUM62 0.322 0.138 0.394 same same same
+
+ Query
+ Frame MatID Length Eff.Length E S W T X E2 S2
+ +0 0 269 269 0.10 69 3 11 22 0.22 33
+
+
+Statistics:
+ Query Expected Observed HSPs HSPs
+ Frame MatID High Score High Score Reportable Reported
+ +0 0 59 (27.4 bits) 270 (125.3 bits) 14 14
+
+ Query Neighborhd Word Excluded Failed Successful Overlaps
+ Frame MatID Words Hits Hits Extensions Extensions Excluded
+ +0 0 5349 3124825 609708 2510548 4569 2
+
+ Database: /home/phd/ut/prodom/prodom_34_2
+ Release date: unknown
+ Posted date: 12:24 PM MET DST May 06, 1998
+ # of letters in database: 6,740,067
+ # of sequences in database: 53,597
+ # of database sequences satisfying E: 9
+ No. of states in DFA: 564 (111 KB)
+ Total size of DFA: 226 KB (256 KB)
+ Time to generate neighborhood: 0.03u 0.00s 0.03t Real: 00:00:00
+ Time to search database: 9.80u 0.03s 9.83t Real: 00:00:10
+ Total cpu time: 9.90u 0.06s 9.96t Real: 00:00:10
+--- END of BLASTP output
+--- ------------------------------------------------------------
+---
+--- Again: these results were obtained based on the domain data-
+--- base collected by Daniel Kahn and his coworkers in Toulouse.
+---
+--- PLEASE quote:
+--- F Corpet, J Gouzy, D Kahn (1998). The ProDom database
+--- of protein domain families. Nucleic Ac Res 26:323-326.
+---
+--- The general WWW page is on:
+---- ---------------------------------------
+--- http://www.toulouse.inra.fr/prodom.html
+---- ---------------------------------------
+---
+--- For WWW graphic interfaces to PRODOM, in particular for your
+--- protein family, follow the following links (each line is ONE
+--- single link for your protein!!):
+---
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=390 ==> multiple alignment, consensus, PDB and PROSITE links of domain 390
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=390 ==> graphical output of all proteins having domain 390
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=45663 ==> multiple alignment, consensus, PDB and PROSITE links of domain 45663
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=45663 ==> graphical output of all proteins having domain 45663
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=45611 ==> multiple alignment, consensus, PDB and PROSITE links of domain 45611
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=45611 ==> graphical output of all proteins having domain 45611
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=304 ==> multiple alignment, consensus, PDB and PROSITE links of domain 304
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=304 ==> graphical output of all proteins having domain 304
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=45607 ==> multiple alignment, consensus, PDB and PROSITE links of domain 45607
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=45607 ==> graphical output of all proteins having domain 45607
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=45606 ==> multiple alignment, consensus, PDB and PROSITE links of domain 45606
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=45606 ==> graphical output of all proteins having domain 45606
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=2027 ==> multiple alignment, consensus, PDB and PROSITE links of domain 2027
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=2027 ==> graphical output of all proteins having domain 2027
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=45615 ==> multiple alignment, consensus, PDB and PROSITE links of domain 45615
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=45615 ==> graphical output of all proteins having domain 45615
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom1=45638 ==> multiple alignment, consensus, PDB and PROSITE links of domain 45638
+http://www.toulouse.inra.fr/prodom/cgi-bin/ReqProdomII.pl?id_dom2=45638 ==> graphical output of all proteins having domain 45638
+---
+--- NOTE: if you want to use the link, make sure the entire line
+--- is pasted as URL into your browser!
+---
+--- END of PRODOM
+--- ------------------------------------------------------------
+
+________________________________________________________________________________
+
+
+--- Database used for sequence comparison:
+--- SEQBASE RELEASE 34.0 OF EMBL/SWISS-PROT WITH 59021 SEQUENCES
+
+
+
+
+The alignment that has been used as input to the network is:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+________________________________________________________________________________
+
+--- ------------------------------------------------------------
+--- MAXHOM multiple sequence alignment
+--- ------------------------------------------------------------
+---
+--- MAXHOM ALIGNMENT HEADER: ABBREVIATIONS FOR SUMMARY
+--- ID : identifier of aligned (homologous) protein
+--- STRID : PDB identifier (only for known structures)
+--- PIDE : percentage of pairwise sequence identity
+--- WSIM : percentage of weighted similarity
+--- LALI : number of residues aligned
+--- NGAP : number of insertions and deletions (indels)
+--- LGAP : number of residues in all indels
+--- LSEQ2 : length of aligned sequence
+--- ACCNUM : SwissProt accession number
+--- NAME : one-line description of aligned protein
+---
+--- MAXHOM ALIGNMENT HEADER: SUMMARY
+ID STRID IDE WSIM LALI NGAP LGAP LEN2 ACCNUM NAME
+aqp1_rat 100 100 269 0 0 269 P29975 PROXIMAL TUBULE) (AQUAPOR
+aqp1_mouse 98 99 269 0 0 269 Q02013 PROXIMAL TUBULE) (AQUAPOR
+aqp1_human 93 97 269 0 0 269 P29972 PROXIMAL TUBULE) (AQUAPOR
+aqp1_bovin 90 95 269 1 2 271 P47865 PROXIMAL TUBULE) (AQUAPOR
+aqp1_sheep 90 94 269 2 3 272 P56401 PROXIMAL TUBULE) (AQUAPOR
+aqpa_ranes 78 89 268 2 5 272 P50501 AQUAPORIN FA-CHIP.
+aqp2_dasno 49 73 109 1 7 109 P79164 PROTEIN) (WCH-CD) (FRAGME
+aqp2_bovin 49 73 109 1 7 109 P79099 PROTEIN) (WCH-CD) (FRAGME
+aqp2_canfa 48 72 109 1 7 109 P79144 PROTEIN) (WCH-CD) (FRAGME
+aqp2_rabit 48 73 109 1 7 109 P79213 PROTEIN) (WCH-CD) (FRAGME
+aqp2_elema 47 72 109 1 7 109 P79168 PROTEIN) (WCH-CD) (FRAGME
+aqp2_horse 47 72 109 1 7 109 P79165 PROTEIN) (WCH-CD) (FRAGME
+aqp2_proha 47 73 109 1 7 109 P79229 PROTEIN) (WCH-CD) (FRAGME
+mip_rat 46 73 259 1 7 261 P09011 LENS FIBER MAJOR INTRINSI
+aqp2_oryaf 46 72 109 1 7 109 P79200 PROTEIN) (WCH-CD) (FRAGME
+mip_mouse 46 73 261 1 7 263 P51180 LENS FIBER MAJOR INTRINSI
+mip_ranpi 45 73 261 1 7 263 Q06019 LENS FIBER MAJOR INTRINSI
+mip_bovin 45 73 261 1 7 263 P06624 LENS FIBER MAJOR INTRINSI
+mip_human 45 73 261 1 7 263 P30301 LENS FIBER MAJOR INTRINSI
+mip_chick 45 72 110 1 1 112 P28238 LENS FIBER MAJOR INTRINSI
+aqp5_rat 44 71 262 2 8 265 P47864 AQUAPORIN 5.
+aqp5_human 44 71 262 2 8 265 P55064 AQUAPORIN 5.
+aqp2_human 44 72 261 2 8 271 P41181 PROTEIN) (WCH-CD).
+aqp4_human 43 70 266 2 5 323 P55087 AQUAPORIN 4 (WCH4) (MERCU
+aqp4_rat 43 70 266 2 5 323 P47863 AQUAPORIN 4 (WCH4) (MERCU
+aqp4_mouse 43 69 265 3 6 322 P55088 AQUAPORIN 4 (WCH4) (MERCU
+aqp2_rat 42 71 261 2 8 271 P34080 PROTEIN) (WCH-CD).
+aqp2_mouse 42 71 261 2 8 271 P56402 PROTEIN) (WCH-CD).
+wc2a_arath 42 67 248 4 12 287 P43286 PLASMA MEMBRANE INTRINSIC
+aqp6_human 42 68 260 2 9 282 Q13520 AQUAPORIN 6 (AQUAPORIN-2
+wc2c_arath 41 66 248 4 12 285 P30302 INTRINSIC PROTEIN) (WSI-T
+wc2b_arath 41 66 248 4 12 285 P43287 PLASMA MEMBRANE INTRINSIC
+wc1c_arath 41 65 238 4 10 286 Q08733 (TMP-B).
+wc1b_arath 41 65 238 4 10 286 Q06611 (TMP-A).
+tipw_lyces 40 65 237 4 10 286 Q08451 (RIPENING-ASSOCIATED MEMB
+wc1a_arath 40 64 238 4 10 286 P43285 PLASMA MEMBRANE INTRINSIC
+tipw_pea 40 64 237 4 11 289 P25794 RESPONSIVE PROTEIN 7A).
+tipa_arath 38 64 250 3 9 268 P26587 TONOPLAST INTRINSIC PROTE
+aqua_atrca 38 64 246 4 10 282 P42767 AQUAPORIN.
+dip_antma 38 65 242 2 4 250 P33560 PROBABLE TONOPLAST INTRIN
+aqpz_ecoli 37 59 220 4 17 231 P48838 AQUAPORIN Z (BACTERIAL NO
+tip2_tobac 37 64 242 2 4 250 P24422 TONOPLAST INTRINSIC PROTE
+tip1_tobac 37 64 242 2 4 250 P21653 TONOPLAST INTRINSIC PROTE
+tipg_arath 33 62 241 2 4 251 P25818 TONOPLAST INTRINSIC PROTE
+bib_drome 33 60 260 4 10 700 P23645 NEUROGENIC PROTEIN BIG BR
+tipr_arath 33 62 243 2 4 253 P21652 TONOPLAST INTRINSIC PROTE
+tipa_phavu 33 62 246 2 4 256 P23958 TONOPLAST INTRINSIC PROTE
+tipg_orysa 32 62 240 2 5 250 P50156 TONOPLAST INTRINSIC PROTE
+---
+--- MAXHOM ALIGNMENT: IN MSF FORMAT
+MSF of: /home/phd/server/work/predict_h25873-22040.hssp from: 1 to: 269
+ /home/phd/server/work/predict_h25873-22040.msfRet MSF: 269 Type: P 24-Nov-98 17:44:5 Check: 3448 ..
+
+
+ Name: predict_h258 Len: 269 Check: 8331 Weight: 1.00
+ Name: aqp1_rat Len: 269 Check: 8331 Weight: 1.00
+ Name: aqp1_mouse Len: 269 Check: 7552 Weight: 1.00
+ Name: aqp1_human Len: 269 Check: 6501 Weight: 1.00
+ Name: aqp1_bovin Len: 269 Check: 7067 Weight: 1.00
+ Name: aqp1_sheep Len: 269 Check: 7582 Weight: 1.00
+ Name: aqpa_ranes Len: 269 Check: 4844 Weight: 1.00
+ Name: aqp2_dasno Len: 269 Check: 8933 Weight: 1.00
+ Name: aqp2_bovin Len: 269 Check: 9649 Weight: 1.00
+ Name: aqp2_canfa Len: 269 Check: 8990 Weight: 1.00
+ Name: aqp2_rabit Len: 269 Check: 8787 Weight: 1.00
+ Name: aqp2_elema Len: 269 Check: 9381 Weight: 1.00
+ Name: aqp2_horse Len: 269 Check: 8993 Weight: 1.00
+ Name: aqp2_proha Len: 269 Check: 8855 Weight: 1.00
+ Name: mip_rat Len: 269 Check: 9773 Weight: 1.00
+ Name: aqp2_oryaf Len: 269 Check: 8554 Weight: 1.00
+ Name: mip_mouse Len: 269 Check: 9723 Weight: 1.00
+ Name: mip_ranpi Len: 269 Check: 5937 Weight: 1.00
+ Name: mip_bovin Len: 269 Check: 1430 Weight: 1.00
+ Name: mip_human Len: 269 Check: 372 Weight: 1.00
+ Name: mip_chick Len: 269 Check: 4658 Weight: 1.00
+ Name: aqp5_rat Len: 269 Check: 9033 Weight: 1.00
+ Name: aqp5_human Len: 269 Check: 6547 Weight: 1.00
+ Name: aqp2_human Len: 269 Check: 6209 Weight: 1.00
+ Name: aqp4_human Len: 269 Check: 2589 Weight: 1.00
+ Name: aqp4_rat Len: 269 Check: 4412 Weight: 1.00
+ Name: aqp4_mouse Len: 269 Check: 2845 Weight: 1.00
+ Name: aqp2_rat Len: 269 Check: 5748 Weight: 1.00
+ Name: aqp2_mouse Len: 269 Check: 6526 Weight: 1.00
+ Name: wc2a_arath Len: 269 Check: 4866 Weight: 1.00
+ Name: aqp6_human Len: 269 Check: 9404 Weight: 1.00
+ Name: wc2c_arath Len: 269 Check: 6187 Weight: 1.00
+ Name: wc2b_arath Len: 269 Check: 7328 Weight: 1.00
+ Name: wc1c_arath Len: 269 Check: 8575 Weight: 1.00
+ Name: wc1b_arath Len: 269 Check: 9544 Weight: 1.00
+ Name: tipw_lyces Len: 269 Check: 9283 Weight: 1.00
+ Name: wc1a_arath Len: 269 Check: 598 Weight: 1.00
+ Name: tipw_pea Len: 269 Check: 9253 Weight: 1.00
+ Name: tipa_arath Len: 269 Check: 6544 Weight: 1.00
+ Name: aqua_atrca Len: 269 Check: 2848 Weight: 1.00
+ Name: dip_antma Len: 269 Check: 9619 Weight: 1.00
+ Name: aqpz_ecoli Len: 269 Check: 5641 Weight: 1.00
+ Name: tip2_tobac Len: 269 Check: 490 Weight: 1.00
+ Name: tip1_tobac Len: 269 Check: 622 Weight: 1.00
+ Name: tipg_arath Len: 269 Check: 3231 Weight: 1.00
+ Name: bib_drome Len: 269 Check: 7687 Weight: 1.00
+ Name: tipr_arath Len: 269 Check: 4476 Weight: 1.00
+ Name: tipa_phavu Len: 269 Check: 5563 Weight: 1.00
+ Name: tipg_orysa Len: 269 Check: 3537 Weight: 1.00
+
+//
+
+
+ 1 50
+predict_h258 MASEIKKKLF WRAVVAEFLA MTLFVFISIG SALGFNYPLE RNQTLVQDNV
+aqp1_rat MASEIKKKLF WRAVVAEFLA MTLFVFISIG SALGFNYPLE RNQTLVQDNV
+aqp1_mouse MASEIKKKLF WRAVVAEFLA MTLFVFISIG SALGFNYPLE RNQTLVQDNV
+aqp1_human MASEFKKKLF WRAVVAEFLA TTLFVFISIG SALGFKYPVG NNQTAVQDNV
+aqp1_bovin MASEFKKKLF WRAVVAEFLA MILFIFISIG SALGFHYPIK SNQTtvQDNV
+aqp1_sheep MASEFKKKLF WRAVVAEFLA MILFIFISIG SALGFHYPIK SNQTtvQDNV
+aqpa_ranes MASEFKKKAF WRAVIAEFLA MILFVFISIG AALGFNFPIE EKANQtqDIV
+aqp2_dasno ......SVAF SRAVLAEFLA TLIFVFFGLG SALSWPQALP S.......VL
+aqp2_bovin ......SIAF SRAVLAEFLA TLLFVFFGLG SALNWPQALP S.......VL
+aqp2_canfa ......SVAF SRAVFAEFLA TLLFVFFGLG SALNWPQALP S.......VL
+aqp2_rabit ......SIAF SRAVFAEFLA TLLFVFFGLG SALNWPSALP S.......TL
+aqp2_elema ......SIAF SRAVFSEFLA TLLFVFFGLG SALNWPQALP S.......VL
+aqp2_horse ......SIAF SRAVLAEFLA TLLFVFFGLG SALNWPQAMP S.......VL
+aqp2_proha ......SIAF SRAVLSEFLA TLLFVFFGLG SALNWPQALP S.......VL
+mip_rat ...ELRSASF WRAIFAEFFA TLFYVFFGLG SSLRWA.... ...PGPLHVL
+aqp2_oryaf ......SIAF SKAVFSEFLA TLLFVFFGLG SALNWPQALP S.......GL
+mip_mouse .MWELRSASF WRAIFAEFFA TLFYVFFGLG ASLRWA.... ...PGPLHVL
+mip_ranpi .MWEFRSFSF WRAVFAEFFG TMFYVFFGLG ASLKWAAGPA .......NVL
+mip_bovin .MWELRSASF WRAICAEFFA SLFYVFFGLG ASLRWA.... ...PGPLHVL
+mip_human .MWELRSASF WRAIFAEFFA TLFYVFFGLG SSLRWA.... ...PGPLHVL
+mip_chick .......... .......... .......... .......... ..........
+aqp5_rat MKKEVCSLAF FKAVFAEFLA TLIFVFFGLG SALKWPSALP T.......IL
+aqp5_human MKKEVCSVAF LKAVFAEFLA TLIFVFFGLG SALKWPSALP T.......IL
+aqp2_human .MWELRSIAF SRAVFAEFLA TLLFVFFGLG SALNWPQALP S.......VL
+aqp4_human AFKGVWTQAF WKAVTAEFLA MLIFVLLSLG STINWG...G TEKPLPVDMV
+aqp4_rat AFKGVWTQAF WKAVTAEFLA MLIFVLLSVG STINWG...G SENPLPVDMV
+aqp4_mouse AFKGVWTQAF WKAVSAEFLA TLIFVL.GVG STINWG...G SENPLPVDMV
+aqp2_rat .MWELRSIAF SRAVLAEFLA TLLFVFFGLG SALQWASSPP S.......VL
+aqp2_mouse .MWELRSIAY CRAVLAEFLA TLLFVFFGLG SALQWASSPP S.......VL
+wc2a_arath DGAELKKWSF YRAVIAEFVA TLLFLYITVL TVIGYKIQSD TDAGGVdgIL
+aqp6_human MLACRLWKAI SRALFAEFLA TGLYVFFGVG SVMRWPTALP S.......VL
+wc2c_arath DAEELTKWSL YRAVIAEFVA TLLFLYVTVL TVIGYKIQSD TKAGGVdgIL
+wc2b_arath DADELTKWSL YRAVIAEFVA TLLFLYITVL TVIGYKIQSD TKAGGVdgIL
+wc1c_arath EPGELSSWSF YRAGIAEFIA TFLFLYITVL TVMGVKRA.. PNMCASVGIQ
+wc1b_arath EPGELASWSF WRAGIAEFIA TFLFLYITVL TVMGVKR..S PNMCASVGIQ
+tipw_lyces EPGELSSWSF YRAGIAEFMA TFLFLYITIL TVMGLKRSDS LCSSV..GIQ
+wc1a_arath EPGELSSWSF WRAGIAEFIA TFLFLYITVL TVMGVKR..S PNMCASVGIQ
+tipw_pea EPSELTSWSF YRAGIAEFIA TFLFLYITVL TVMGVVRESS KCKTV..GIQ
+tipa_arath RADEATHPDS IRATLAEFLS TFVFVFAAEG SILSLDKLYW EHAAHAGTni
+aqua_atrca DMGELKLWSF WRAAIAEFIA TLLFLYITVA TVIGYKKETD PCASVGL..L
+dip_antma SIGDSFSVAS IKAYVAEFIA TLLFVFAGVG SAIAYNKLTS DAALDPAGLV
+aqpz_ecoli .........M FRKLAAECFG TFWLVFGGCG SAVLAAGFPE ....LGIGFA
+tip2_tobac SIGDSFSVGS LKAYVAEFIA TLLFVFAGVG SAIAYNKLTA DAALDPAGLV
+tip1_tobac SIGDSFSVGS LKAYVAEFIA TLLFVFAGVG SAIAYNKLTA DAALDPAGLV
+tipg_arath RPDEATRPDA LKAALAEFIS TLIFVVAGSG SGMAFNKLTE NGATTPSGLV
+bib_drome MQAEIRTLEF WRSIISECLA SFMYVFIVCG AAAGVGVGAS VSSVL....L
+tipr_arath RPDEATRPDA LKAALAEFIS TLIFVVAGSG SGMAFNKLTE NGATTPSGLV
+tipa_phavu RTDEATHPDS MRASLAEFAS TFIFVFAGEG SGLALVKIYQ DSAFSAGELL
+tipg_orysa SHQEVYHPGA LKAALAEFIS TLIFVFAGQG SGMAFSKLTG GGATTPAGLI
+
+ 51 100
+predict_h258 KVSLAFGLSI ATLAQSVGHI SGAHSNPAVT LGLLLSCQIS ILRAVMYIIA
+aqp1_rat KVSLAFGLSI ATLAQSVGHI SGAHSNPAVT LGLLLSCQIS ILRAVMYIIA
+aqp1_mouse KVSLAFGLSI ATLAQSVGHI SGAHLNPAVT LGLLLSCQIS ILRAVMYIIA
+aqp1_human KVSLAFGLSI ATLAQSVGHI SGAHLNPAVT LGLLLSCQIS IFRALMYIIA
+aqp1_bovin KVSLAFGLSI ATLAQSVGHI SGAHLNPAVT LGLLLSCQIS VLRAIMYIIA
+aqp1_sheep KVSLAFGLSI ATLAQSVGHI SGAHLNPAVT LGLLLSCQIS ILRAIMYIIA
+aqpa_ranes KVSLAFGISI ATMAQSVGHV SGAHLNPAVT LGCLLSCQIS ILKAVMYIIA
+aqp2_dasno QIALAFGLAI GTLVQALGHV SGAHINPAVT VACLVGCHVS FLRAAFYVAA
+aqp2_bovin QIAMAFGLAI GTLVQALGHV SGAHINPAVT VACLVGCHVS FLRAVFYVAA
+aqp2_canfa QIAMAFGLGI GTLVQALGHV SGAHINPAVT VACLVGCHVS FLRAAFYVAA
+aqp2_rabit QIAMAFGLGI GTLVQALGHV SGAHINPAVT VACLVGCHVS FLRAAFYVAA
+aqp2_elema QIAMAFGLAI GTLVQTLGHI SGAHINPAVT VACLVGCHVS FLRATFYLAA
+aqp2_horse QIAMAFGLAI GTLVQALGHV SGAHINPAVT VACLVGCHVS FLRAAFYVAA
+aqp2_proha QIAMAFGLAI GTLVQTLGHI SGAHINPAVT IACLVGCHVS FLRALFYLAA
+mip_rat QVALAFGLAL ATLVQTVGHI SGAHVNPAVT FAFLVGSQMS LLRAFCYIAA
+aqp2_oryaf QIAMAFGLAI GTLVQTLGHI SGAHINPAVT VACLVGCHVS FLRAIFYVAA
+mip_mouse QVALAFGLAL ATLVQTVGHI SGAHVNPAVT FAFLVGSQMS LLRAFCYIAA
+mip_ranpi VIALAFGLVL ATMVQSIGHV SGAHINPAVT FAFLIGSQMS LFRAIFYIAA
+mip_bovin QVALAFGLAL ATLVQAVGHI SGAHVNPAVT FAFLVGSQMS LLRAICYMVA
+mip_human QVAMAFGLAL ATLVQSVGHI SGAHVNPAVT FAFLVGSQMS LLRAFCYMAA
+mip_chick .......... .......... .......... .......... ..........
+aqp5_rat QISIAFGLAI GTLAQALGPV SGGHINPAIT LALLIGNQIS LLRAVFYVAA
+aqp5_human QIALAFGLAI GTLAQALGPV SGGHINPAIT LALLVGNQIS LLRAFFYVAA
+aqp2_human QIAMAFGLGI GTLVQALGHI SGAHINPAVT VACLVGCHVS VLRAAFYVAA
+aqp4_human LISLCFGLSI ATMVQCFGHI SGGHINPAVT VAMVCTRKIS IAKSVFYIAA
+aqp4_rat LISLCFGLSI ATMVQCFGHI SGGHINPAVT VAMVCTRKIS IAKSVFYITA
+aqp4_mouse LISLCFGLSI ATMVQCLGHI SGGHINPAVT VAMVCTRKIS IAKSVFYIIA
+aqp2_rat QIAVAFGLGI GILVQALGHV SGAHINPAVT VACLVGCHVS FLRAAFYVAA
+aqp2_mouse QIAVAFGLGI GTLVQALGHV SGAHINPAVT VACLVGCHVS FLRAAFYVAA
+wc2a_arath GIAWAFGGMI FILVYCTAGI SGGHINPAVT FGLFLARKVS LPRALLYIIA
+aqp6_human QIAITFNLVT AMAVQVTWKT SGAHANPAVT LAFLVGSHIS LPRAVAYVAA
+wc2c_arath GIAWAFGGMI FILVYCTAGI SGGHINPAVT FGLFLARKVS LIRAVLYMVA
+wc2b_arath GIAWAFGGMI FILVYCTAGI SGGHINPAVT FGLFLARKVS LIRAVLYMVA
+wc1c_arath GIAWAFGGMI FALVYCTAGI SGGHINPAVT FGLFLARKLS LTRAVFYIVM
+wc1b_arath GIAWAFGGMI FALVYCTAGI SGGHINPAVT FGLFLARKLS LTRAVYYIVM
+tipw_lyces GVAWAFGGMI FALVYCTAGI SGGHINPAVT FGLFLARKLS LTRAVFYMVM
+wc1a_arath GIAWAFGGMI FALVYCTAGI SGGHINPAVT FGLFLARKLS LTRALYYIVM
+tipw_pea GIAWAFGGMI FALVYCTAGI SGGHINPAVT FGLFLARKLS LTRAIFYMVM
+tipa_arath LVALAHAFAL FAAVSAAINV SGGHVNPAVT FGALVGGRVT AIRAIYYWIA
+aqua_atrca GIAWSFGGMI FVLVYCTAGI SGGHINPAVT FGLFLARKVS LLRALVYMIA
+dip_antma AVAVAHAFAL FVGVSMAANV SGGHLNPAVT LGLAVGGNIT ILTGLFYWIA
+aqpz_ecoli GVALAFGLTV LTMAFAVGHI SGGHFNPAVT IGLWAGGRFP AKEVVGYVIA
+tip2_tobac AVAVAHAFAL FVGVSIAANI SGGHLNPAVT LGLAVGGNIT ILTGFFYWIA
+tip1_tobac AVAVAHAFAL FVGVSIAANI SGGHLNPAVT LGLAVGGNIT ILTGFFYWIA
+tipg_arath AAAVAHAFGL FVAVSVGANI SGGHVNPAVT FGAFIGGNIT LLRGILYWIA
+bib_drome ATALASGLAM ATLTQCFLHI SGAHINPAVT LALCVVRSIS PIRAAMYITA
+tipr_arath AAAVAHAFGL FVAVSVGANI SGGHVNPAVT FGAFIGGNIT LLRGILYWIA
+tipa_phavu ALALAHAFAL FAAVSASMHV SGGHVNPAVS FGALIGGRIS VIRAVYYWIA
+tipg_orysa AAAVAHAFAL FVAVSVGANI SGGHVNPAVT FGAFVGGNIT LFRGLLYWIA
+
+ 101 150
+predict_h258 QCVGAIVASA ILSGITSSLL ENSLGRNDLA RGVNSGQGLG IEIIGTLQLV
+aqp1_rat QCVGAIVASA ILSGITSSLL ENSLGRNDLA RGVNSGQGLG IEIIGTLQLV
+aqp1_mouse QCVGAIVATA ILSGITSSLV DNSLGRNDLA HGVNSGQGLG IEIIGTLQLV
+aqp1_human QCVGAIVATA ILSGITSSLT GNSLGRNDLA DGVNSGQGLG IEIIGTLQLV
+aqp1_bovin QCVGAIVATA ILSGITSSLP DNSLGLNALA PGVNSGQGLG IEIIGTLQLV
+aqp1_sheep QCVGAIVATV ILSGITSSLP DNSLGLNALA PGVNSGQGLG IEIIGTLQLV
+aqpa_ranes QCLGAVVATA ILSGITSGLE NNSLGLNGLS PGVSAGQGLG VEILVTFQLV
+aqp2_dasno QLLGAVAGAA ILHEITPPDV RG........ .......... ..........
+aqp2_bovin QLLGAVAGAA LLHEITPPAI RG........ .......... ..........
+aqp2_canfa QLLGAVAGAA LLHEITPPHV RG........ .......... ..........
+aqp2_rabit QLLGAVAGAA LLHEITPAEV RG........ .......... ..........
+aqp2_elema QLLGAVAGAA LLHELTPPDI RG........ .......... ..........
+aqp2_horse QLLGAVAGAA LLHEITPPDI RR........ .......... ..........
+aqp2_proha QLLGAVAGAA LLHELTPPDI RG........ .......... ..........
+mip_rat QLLGAVAGAA VLYSVTPPAV RGNLALNTLH AGVSVGQATT VEIFLTLQFV
+aqp2_oryaf QLLGAVAGAA LLHELTPPDI RG........ .......... ..........
+mip_mouse QLLGAVAGAA VLYSVTPPAV RGNLALNTLH TGVSVGQATT VEIFLTLQFV
+mip_ranpi QLLGAVAGAA VLYGVTPAAI RGNLALNTLH PGVSLGQATT VEIFLTLQFV
+mip_bovin QLLGAVAGAA VLYSVTPPAV RGNLALNTLH PGVSVGQATI VEIFLTLQFV
+mip_human QLLGAVAGAA VLYSVTPPAV RGNLALNTLH PAVSVGQATT VEIFLTLQFV
+mip_chick .......... .......... .......... .......... ..........
+aqp5_rat QLVGAIAGAG ILYWLAPLNA RGNLAVNALN NNTTPGKAMV VELILTFQLA
+aqp5_human QLVGAIAGAG ILYGVAPLNA RGNLAVNALN NNTTQGQAMV VELILTFQLA
+aqp2_human QLLGAVAGAA LLHEITPADI RGDLAVNALS NSTTAGQAVT VELFLTLQLV
+aqp4_human QCLGAIIGAG ILYLVTPPSV VGGLGVTMVH GNLTAGHGLL VELIITFQLV
+aqp4_rat QCLGAIIGAG ILYLVTPPSV VGGLGVTTVH GNLTAGHGLL VELIITFQLV
+aqp4_mouse QCLGAIIGAG ILYLVTPPSV VGGLGVTTVH GNLTAGHGLL VELIITFQLV
+aqp2_rat QLLGAVAGAA ILHEITPVEI RGDLAVNALH NNATAGQAVT VELFLTMQLV
+aqp2_mouse QLLGAVAGAA ILHEITPVEI RGDLAVNALH NNATAGQAVT VELFLTMQLV
+wc2a_arath QCLGAICGVG FVKAFQSSYY TRYGGgnSLA DGYSTGTGLA AEIIGTFVLV
+aqp6_human QLVGATVGAA LLYGVMPGDI RETLGINVVR NSVSTGQAVA VELLLTLQLV
+wc2c_arath QCLGAICGVG FVKAFQSSHY VNYGGgnFLA DGYNTGTGLA AEIIGTFVLV
+wc2b_arath QCLGAICGVG FRQSFQSSYY DRYGGgnSLA DGYNTGTGLA AEIIGTFVLV
+wc1c_arath QCLGAICGAG VVKGFQPNPY QtgGGANTVA HGYTKGSGLG AEIIGTFVLV
+wc1b_arath QCLGAICGAG VVKGFQPKQY QagGGANTIA HGYTKGSGLG AEIIGTFVLV
+tipw_lyces QCLGAICGAG VVKGFMVGPY QrgGGANVVN PGYTKGDGLG AEIIGTFVLV
+wc1a_arath QCLGAICGAG VVKGFQPKQY QagGGANTVA HGYTKGSGLG AEIIGTFVLV
+tipw_pea QVLGAICGAG VVKGFEGKQR FGDLNgnFVA PGYTKGDGLG AEIVGTFILV
+tipa_arath QLLGAILACL LLRLTTNGMR PVGFR...LA SGVGAVNGLV LEIILTFGLV
+aqua_atrca QCAGAICGVG LVKAFMKGPY NqgGGANSVA LGYNKGTAFG AELIGTFVLV
+dip_antma QCLGSTVACL LLKFVTNGL. ..SVPTHGVA AGMDAIQGVV MEIIITFALV
+aqpz_ecoli QVVGGIVAAA LLYLIASGKT GFDAAASGFA sgYSMLSALV VELVLSAGFL
+tip2_tobac QLLGSTVACL LLKYVTNGL. ..AVPTHGVA AGLNGFQGVV MEIIITFALV
+tip1_tobac QLLGSTVACL LLKYVTNGL. ..AVPTHGVA AGLNGLQGVV MEIIITFALV
+tipg_arath QLLGSVVACL ILKFATGGLA VPAFG...LS AGVGVLNAFV FEIVMTFGLV
+bib_drome QCGGGIAGAA LLYGVTVPGY QGNLQAasHS AALAAWERFG VEFILTSLVV
+tipr_arath QLLGSVVACL ILKFATGGLA VPPFG...LS AGVGVLNAFV FEIVMTFGLV
+tipa_phavu QLLGSIVAAL VLRLVTNNMR PSGF...HVS PGVGVGHMFI LEVVMTFGLM
+tipg_orysa QLLGSTVACF LLRFSTGGLA TGTFGL.... TGVSVWEALV LEIVMTFGLV
+
+ 151 200
+predict_h258 LCVLATTDRR RRDLGGSAPL AIGLSVALGH LLAIDYTGCG INPARSFGSA
+aqp1_rat LCVLATTDRR RRDLGGSAPL AIGLSVALGH LLAIDYTGCG INPARSFGSA
+aqp1_mouse LCVLATTDRR RRDLGGSAPL AIGLSVALGH LLAIDYTGCG INPARSFGSA
+aqp1_human LCVLATTDRR RRDLGGSAPL AIGLSVALGH LLAIDYTGCG INPARSFGSA
+aqp1_bovin LCVLATTDRR RRDLGGSGPL AIGFSVALGH LLAIDYTGCG INPARSFGSS
+aqp1_sheep LCVLATTDRR RrdLGDSGPL AIGFSVALGH LLAIDYTGCG INPARSFGSS
+aqpa_ranes LCVVAVTDRR RHDVSGSVPL AIGLSVALGH LIAIDYTGCG MNPARSFGSA
+aqp2_dasno .......... .......... .......... .......... ..........
+aqp2_bovin .......... .......... .......... .......... ..........
+aqp2_canfa .......... .......... .......... .......... ..........
+aqp2_rabit .......... .......... .......... .......... ..........
+aqp2_elema .......... .......... .......... .......... ..........
+aqp2_horse .......... .......... .......... .......... ..........
+aqp2_proha .......... .......... .......... .......... ..........
+mip_rat LCIFATYDER RNGRMGSVAL AVGFSLTLGH LFGMYYTGAG MNPARSFAPA
+aqp2_oryaf .......... .......... .......... .......... ..........
+mip_mouse LCIFATYDER RNGRMGSVAL AVGFSLTLGH LFGMYYTGAG MNPARSFAPA
+mip_ranpi LCIFATYDER RNGRLGSVSL AIGFSLTLGH LFGLYYTGAS MNPARSFAPA
+mip_bovin LCIFATYDER RNGRLGSVAL AVGFSLTLGH LFGMYYTGAG MNPARSFAPA
+mip_human LCIFATYDER RNGQLGSVAL AVGFSLALGH LFGMYYTGAG MNPARSFAPA
+mip_chick ........DR HDGRPGSAAL PVGFSLALGH LFGIPFTGAG MNPARSFAPA
+aqp5_rat LCIFSSTDSR RTSPVGSPAL SIGLSVTLGH LVGIYFTGCS MNPARSFGPA
+aqp5_human LCIFASTDSR RTSPVGSPAL SIGLSVTLGH LVGIYFTGCS MNPARSFGPA
+aqp2_human LCIFASTDER RGENPGTPAL SIGFSVALGH LLGIHYTGCS MNPARSLAPA
+aqp4_human FTIFASCDSK RTDVTGSIAL AIGFSVAIGH LFAINYTGAS MNPARSFGPA
+aqp4_rat FTIFASCDSK RTDVTGSVAL AIGFSVAIGH LFAINYTGAS MNPARSFGPA
+aqp4_mouse FTVFASCDSK RTDVTGSIAL AIGFSVAIGH LFAINYTGAS MNPARSFGPA
+aqp2_rat LCIFASTDER RGDNLGSPAL SIGFSVTLGH LLGIYFTGCS MNPARSLAPA
+aqp2_mouse LCIFASTDER RSDNLGSPAL SIGFSVTLGH LLGIYFTGCS MNPARSLAPA
+wc2a_arath YTVFSATDPK RSavPVLAPL PIGFAVFMVH LATIPITGTG INPARSFGAA
+aqp6_human LCVFASTDSR QTS..GSPAT MIGISWALGH LIGILFTGCS MNPARSFGPA
+wc2c_arath YTVFSATDPK RNavPVLAPL PIGFAVFMVH LATIPITGTG INPARSFGAA
+wc2b_arath YTVFSATDPK RNavPVLAPL PIGFAVFMVH LATIPITGTG INPARSFGAS
+wc1c_arath YTVFSATDAK RSavPILAPL PIGFAVFLVH LATIPITGTG INPARSLGAA
+wc1b_arath YTVFSATDAK RNavPILAPL PIGFAVFLVH LATIPITGTG INPARSLGAA
+tipw_lyces YTVFSATDAK RNavPILAPL PIGFAVFLVH LATIPITGTG INPARSLGAA
+wc1a_arath YTVFSATDAK RNavPILAPL PIGFAVFLVH LATIPITATG INPARSLGAA
+tipw_pea YTVFSATDAK RSavPILAPL PIGFAVFLVH LATIPITGTG INPARSLGAA
+tipa_arath YVVYStiDPK RGSLGIIAPL AIGLIVGANI LVGGPFSGAS MNPARAFGPA
+aqua_atrca YTVFSATDPK RSavPILAPL PIGFAVFMVH LATIPITGTG INPARSFGAA
+dip_antma YTVYAtaDPK KGSLGVIAPI AIGFIVGANI LAAGPFSGGS MNPARSFGPA
+aqpz_ecoli LVIHGATDKF APA..GFAPI AIGLALTLIH LISIPVTNTS VNPARSTAVA
+tip2_tobac YTVYAtaDPK KGSLGTIAPI AIGFIVGANI LAAGPFSGGS MNPARSFGPA
+tip1_tobac YTVYAtaDPK KGSLGTIAPI AIGFIVGANI LAAGPFSGGS MNPARSFGPA
+tipg_arath YTVYAtiDPK NGSLGTIAPI AIGFIVGANI LAGGAFSGAS MNPAVAFGPA
+bib_drome LCYFVSTDPM KKFMGNS.AA SIGCAYSACC FVSMPYLN.. ..PARSLGPS
+tipr_arath YTVYAtiDPK NGSLGTIAPI AIGFIVGANI LAGGAFSGAS MNPAVAFGPA
+tipa_phavu YTVYGtiDPK RGAVSYIAPL AIGLIVGANI LVGGPFDGAC MNPALAFGPS
+tipg_orysa YTVYAtvDPK KGSLGTIAPI AIGFIVGANI LVGGAFDGAS MNPAVSFGPA
+
+ 201 250
+predict_h258 VLTRNFSNHW IFWVGPFIGS ALAVLIYDFI LAPRSSDFTD RMKVWTSGQV
+aqp1_rat VLTRNFSNHW IFWVGPFIGS ALAVLIYDFI LAPRSSDFTD RMKVWTSGQV
+aqp1_mouse VLTRNFSNHW IFWVGPFIGG ALAVLIYDFI LAPRSSDFTD RMKVWTSGQV
+aqp1_human VITHNFSNHW IFWVGPFIGG ALAVLIYDFI LAPRSSDLTD RVKVWTSGQV
+aqp1_bovin VITHNFQDHW IFWVGPFIGA ALAVLIYDFI LAPRSSDLTD RVKVWTSGQV
+aqp1_sheep VITHNFQDHW IFWVGPFIGA ALAVLIYDFI LAPRSSDLTD RVKVWTSGQV
+aqpa_ranes VLTKNFTYHW IFWVGPMIGG AAAAIIYDFI LAPRTSDLTD RMKVWTNGQV
+aqp2_dasno .......... .......... .......... .......... ..........
+aqp2_bovin .......... .......... .......... .......... ..........
+aqp2_canfa .......... .......... .......... .......... ..........
+aqp2_rabit .......... .......... .......... .......... ..........
+aqp2_elema .......... .......... .......... .......... ..........
+aqp2_horse .......... .......... .......... .......... ..........
+aqp2_proha .......... .......... .......... .......... ..........
+mip_rat ILTRNFSNHW VYWVGPIIGG GLGSLLYDFL LFPRLKSVSE RLSILKGARP
+aqp2_oryaf .......... .......... .......... .......... ..........
+mip_mouse ILTRNFSNHW VYWVGPIIGG GLGSLLYDFL LFPRLKSVSE RLSILKGARP
+mip_ranpi VLTRNFTNHW VYWVGPIIGG ALGGLVYDFI LFPRMRGLSE RLSILKGARP
+mip_bovin ILTRNFTNHW VYWVGPVIGA GLGSLLYDFL LFPRLKSVSE RLSILKGSRP
+mip_human ILTGNFTNHW VYWVGPIIGG GLGSLLYDFL LFPRLKSISE RLSVLKGAKP
+mip_chick VITRNFTNHW VFWAGPLLGA ALAALLYELA LCPRARSMAE RLAV.LRGEP
+aqp5_rat VVMNRFssHW VFWVGPIVGA MLAAILYFYL LFPSSLSLHD RVAVVKGTYE
+aqp5_human VVMNRFsaHW VFWVGPIVGA VLAAILYFYL LFPNSLSLSE RVAIIKGTYE
+aqp2_human VVTGKFDDHW VFWIGPLVGA ILGSLLYNYV LFPPAKSLSE RLAVLKGLEp
+aqp4_human VIMGNWENHW IYWVGPIIGA VLAGGLYEYV FCPDVEFKRR FKEAFSKaqT
+aqp4_rat VIMGNWENHW IYWVGPIIGA VLAGALYEYV FCPDVELKRR LKEAFSKaqT
+aqp4_mouse VIMGNWANHW IYWVGPIMGA VLAGALYEYV FCPDVELKRR LKEAFSKaqT
+aqp2_rat VVTGKFDDHW VFWIGPLVGA IIGSLLYNYL LFPSAKSLQE RLAVLKGLEp
+aqp2_mouse VVTGKFDDHW VFWIGPLVGA IIGSLLYNYL LFPSTKSLQE RLAVLKGLEp
+wc2a_arath VIYnpWDDHW IFWVGPFIGA AIAAFYHQFV LRASGSKSLG SFRSAANV..
+aqp6_human IIIGKFTVHW VFWVGPLMGA LLASLIYNFV LFPDTKTLAQ RLAILTGTVE
+wc2c_arath VIFnpWDDHW IFWVGPFIGA TIAAFYHQFV LRASGSKSLG SFRSAANV..
+wc2b_arath VIYnpWDDHW IFWVGPFIGA AIAAFYHQFV LRASGSKSLG SFRSAANV..
+wc1c_arath IIYnaWDDHW IFWVGPFIGA ALAALYHQLV IRAIPFKSRS ..........
+wc1b_arath IIFnaWDDHW VFWVGPFIGA ALAALYHVIV IRAIPFKSRS ..........
+tipw_lyces IIYnaWNDHW IFWVGPMIGA ALAAIYHQII IRAMPFHRS. ..........
+wc1a_arath IIYnsWDDHW VFWVGPFIGA ALAALYHVVV IRAIPFKSRS ..........
+tipw_pea IVFngWNDHW IFWVGPFIGA ALAALYHQVV IRAIPFKSK. ..........
+tipa_arath LVGWRWHDHW IYWVGPFIGS ALAALIYEYM VIPTEPPTHH AHGVHQPLAP
+aqua_atrca VIyrVWDDHW IFWVGPFVGA LAAAAYHQYV LRAAAIKALG SFRSNPTN..
+dip_antma VASGDFSQNW IYWAGPLIGG ALAGFIYGDV FITAHAPLPT SEDYA.....
+aqpz_ecoli IFQgaLEQLW FFWVVPIVGG IIGGLIYRTL LEKRD..... ..........
+tip2_tobac VVAGDFSQNW IYWAGPLIGG GLAGFIYGDV FIGCHTPLPT SEDYA.....
+tip1_tobac VVAGDFSQNW IYWAGPLIGG GLAGFIYGDV FIGCHTPLPT SEDYA.....
+tipg_arath VVSWTWTNHW VYWAGPLVGG GIAGLIYEVF FINTTHEQLP TTDY......
+bib_drome FVLNKWDSHW VYWFGPLVGG MASGLVYEYI FNSRNRNLRH NKGSIDNDSS
+tipr_arath VVSWTWTNHW VYWAGPLVGG GIAGLIYEVF FINTTHTSSS NHRLLN....
+tipa_phavu LVGWQWHQHW IFWVGPLLGA ALAALVYEYA VIPIEPPPHH HQPLATEDY.
+tipg_orysa LVSWSWESQW VYWVGPLIGG GLAGVIYEVL FISHTHEQLP TTDY......
+
+ 251 269
+predict_h258 EEYDLDADDI NSRVEMKPK
+aqp1_rat EEYDLDADDI NSRVEMKPK
+aqp1_mouse EEYDLDADDI NSRVEMKPK
+aqp1_human EEYDLDADDI NSRVEMKPK
+aqp1_bovin EEYDLDADDI NSRVEMKPK
+aqp1_sheep EEYDLDADDI NSRVEMKPK
+aqpa_ranes EEYELDGDD. NTRVEMKPK
+aqp2_dasno .......... .........
+aqp2_bovin .......... .........
+aqp2_canfa .......... .........
+aqp2_rabit .......... .........
+aqp2_elema .......... .........
+aqp2_horse .......... .........
+aqp2_proha .......... .........
+mip_rat SDSNGQPEGT GEPVELKTQ
+aqp2_oryaf .......... .........
+mip_mouse SDSNGQPEGT GEPVELKTQ
+mip_ranpi AEPEGQQEAT GEPIELKTQ
+mip_bovin SESNGQPEVT GEPVELKTQ
+mip_human DVSNGQPEVT GEPVELNTQ
+mip_chick PAAAPPPEPP AEPLELKTQ
+aqp5_rat PEEDWEDHRE ERKKTIELT
+aqp5_human PDEDWEEQRE ERKKTMELT
+aqp2_human tDWEEREVRR RQSVELHSP
+aqp4_human KGSYMEVEDN RSQVETDDL
+aqp4_rat KGSYMEVEDN RSQVETEDL
+aqp4_mouse KGSYMEVEDN RSQVETEDL
+aqp2_rat tDWEEREVRR RQSVELHSP
+aqp2_mouse tDWEEREVRR RQSVELHSP
+wc2a_arath .......... .........
+aqp6_human VGTGARAGAE PLKKESQPG
+wc2c_arath .......... .........
+wc2b_arath .......... .........
+wc1c_arath .......... .........
+wc1b_arath .......... .........
+tipw_lyces .......... .........
+wc1a_arath .......... .........
+tipw_pea .......... .........
+tipa_arath EDY....... .........
+aqua_atrca .......... .........
+dip_antma .......... .........
+aqpz_ecoli .......... .........
+tip2_tobac .......... .........
+tip1_tobac .......... .........
+tipg_arath .......... .........
+bib_drome SIHSEDELNY DMDMEKPNK
+tipr_arath .......... .........
+tipa_phavu .......... .........
+tipg_orysa .......... .........
+
+
+________________________________________________________________________________
+
+
+
+
+ Prediction of:
+
+ - secondary structure, by PHDsec
+ - solvent accessibility, by PHDacc
+ - and helical transmembrane regions, by PHDhtm
+
+ PHD: Profile fed neural network systems from HeiDelberg
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Author: Burkhard Rost
+ EMBL, Heidelberg, FRG
+ Meyerhofstrasse 1, 69 117 Heidelberg
+ Internet: Predict-Help@EMBL-Heidelberg.DE
+
+ All rights reserved.
+
+
+
+
+
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Secondary structure prediction by PHDsec:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Author: Burkhard Rost
+ EMBL, Heidelberg, FRG
+ Meyerhofstrasse 1, 69 117 Heidelberg
+ Internet: Rost@EMBL-Heidelberg.DE
+
+ All rights reserved.
+
+
+
+
+About the network method
+~~~~~~~~~~~~~~~~~~~~~~~
+
+The network procedure is described in detail in:
+1) Rost, Burkhard; Sander, Chris:
+ Prediction of protein structure at better than 70% accuracy.
+ J. Mol. Biol., 1993, 232, 584-599.
+
+A brief description is given in:
+ Rost, Burkhard; Sander, Chris:
+ Improved prediction of protein secondary structure by use of se-
+ quence profiles and neural networks.
+ Proc. Natl. Acad. Sci. U.S.A., 1993, 90, 7558-7562.
+
+The PHD mail server is described in:
+2) Rost, Burkhard; Sander, Chris; Schneider, Reinhard:
+ PHD - an automatic mail server for protein secondary structure
+ prediction.
+ CABIOS, 1994, 10, 53-60.
+
+The latest improvement steps (up to 72%) are explained in:
+3) Rost, Burkhard; Sander, Chris:
+ Combining evolutionary information and neural networks to predict
+ protein secondary structure.
+ Proteins, 1994, 19, 55-72.
+
+To be quoted for publications of PHD output:
+ Papers 1-3 for the prediction of secondary structure and the pre-
+ diction server.
+
+
+
+About the input to the network
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The prediction is performed by a system of neural networks.
+The input is a multiple sequence alignment. It is taken from an HSSP
+file (produced by the program MaxHom:
+ Sander, Chris & Schneider, Reinhard: Database of Homology-Derived
+ Structures and the Structural Meaning of Sequence Alignment.
+ Proteins, 1991, 9, 56-68.
+
+For optimal results the alignment should contain sequences with varying
+degrees of sequence similarity relative to the input protein.
+The following is an ideal situation:
+
++-----------------+----------------------+
+| sequence: | sequence identity |
++-----------------+----------------------+
+| target sequence | 100 % |
+| aligned seq. 1 | 90 % |
+| aligned seq. 2 | 80 % |
+| ... | ... |
+| aligned seq. 7 | 30 % |
++-----------------+----------------------+
+
+
+
+Estimated Accuracy of Prediction
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A careful cross validation test on some 250 protein chains (in total
+about 55,000 residues) with less than 25% pairwise sequence identity
+gave the following results:
+
+++================++-----------------------------------------+
+|| Qtotal = 72.1% || ("overall three state accuracy") |
+++================++-----------------------------------------+
+
++----------------------------+-----------------------------+
+| Qhelix (% of observed)=70% | Qhelix (% of predicted)=77% |
+| Qstrand(% of observed)=62% | Qstrand(% of predicted)=64% |
+| Qloop (% of observed)=79% | Qloop (% of predicted)=72% |
++----------------------------+-----------------------------+
+..........................................................................
+
+These percentages are defined by:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+| number of correctly predicted residues
+|Qtotal = --------------------------------------- (*100)
+| number of all residues
+|
+| no of res correctly predicted to be in helix
+|Qhelix (% of obs) = -------------------------------------------- (*100)
+| no of all res observed to be in helix
+|
+|
+| no of res correctly predicted to be in helix
+|Qhelix (% of pred)= -------------------------------------------- (*100)
+| no of all residues predicted to be in helix
+
+..........................................................................
+
+Averaging over single chains
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The most reasonable way to compute the overall accuracies is the above
+quoted percentage of correctly predicted residues. However, since the
+user is mainly interested in the expected performance of the prediction
+for a particular protein, the mean value when averaging over protein
+chains might be of help as well. Computing first the three state
+accuracy for each protein chain, and then averaging over 250 chains
+yields the following average:
+
++-------------------------------====--+
+| Qtotal/averaged over chains = 72.2% |
++-------------------------------====--+
+| standard deviation = 9.3% |
++-------------------------------------+
+
+..........................................................................
+
+Further measures of performance
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Matthews correlation coefficient:
+
++---------------------------------------------+
+| Chelix = 0.63, Cstrand = 0.53, Cloop = 0.52 |
++---------------------------------------------+
+..........................................................................
+
+Average length of predicted secondary structure segments:
+
+. +------------+----------+
+. | predicted | observed |
++-----------+------------+----------+
+| Lhelix = | 10.3 | 9.3 |
+| Lstrand = | 5.0 | 5.3 |
+| Lloop = | 7.2 | 5.9 |
++-----------+------------+----------+
+..........................................................................
+
+The accuracy matrix in detail:
+
++---------------------------------------+
+| number of residues with H, E, L |
++---------+------+------+------+--------+
+| |net H |net E |net L |sum obs |
++---------+------+------+------+--------+
+| obs H |12447 | 1255 | 3990 | 17692 |
+| obs E | 949 | 7493 | 3750 | 12192 |
+| obs L | 2604 | 2875 |19962 | 25441 |
++---------+------+------+------+--------+
+| sum Net |16000 |11623 |27702 | 55325 |
++---------+------+------+------+--------+
+
+Note: This table is to be read in the following manner:
+ 12447 of all residues predicted to be in helix, were observed to
+ be in helix, 949 however belong to observed strands, 2604 to
+ observed loop regions. The term "observed" refers to the DSSP
+ assignment of secondary structure calculated from 3D coordinates
+ of experimentally determined structures (Dictionary of Secondary
+ Structure of Proteins: Kabsch & Sander (1983) Biopolymers, 22,
+ 2577-2637).
+
+
+
+Position-specific reliability index
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The network predicts the three secondary structure types using real
+numbers from the output units. The prediction is assigned by choosing
+the maximal unit ("winner takes all"). However, the real numbers
+contain additional information.
+E.g. the difference between the maximal and the second largest output
+unit can be used to derive a "reliability index". This index is given
+for each residue along with the prediction. The index is scaled to
+have values between 0 (lowest reliability), and 9 (highest).
+The accuracies (Qtot) to be expected for residues with values above a
+particular value of the index are given below as well as the fraction
+of such residues (%res).:
+
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| index| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| %res |100.0| 99.2| 90.4| 80.9| 71.6| 62.5| 52.8| 42.3| 29.8| 14.1|
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| | | | | | | | | | | |
+| Qtot | 72.1| 72.3| 74.8| 77.7| 80.3| 82.9| 85.7| 88.5| 91.1| 94.2|
+| | | | | | | | | | | |
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| H%obs| 70.4| 70.6| 73.7| 77.1| 80.1| 83.1| 86.0| 89.3| 92.5| 96.4|
+| E%obs| 61.5| 61.7| 63.7| 66.6| 69.1| 71.7| 74.6| 77.0| 77.8| 68.1|
+| | | | | | | | | | | |
+| H%prd| 77.8| 78.0| 80.0| 82.6| 84.7| 86.9| 89.2| 91.3| 93.1| 95.4|
+| E%prd| 64.5| 64.7| 67.8| 71.0| 74.2| 77.6| 81.4| 85.1| 89.8| 93.5|
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+
+The above table gives the cumulative results, e.g. 62.5% of all
+residues have a reliability of at least 5. The overall three-state
+accuracy for this subset of almost two thirds of all residues is 82.9%.
+For this subset, e.g., 83.1% of the observed helices are correctly
+predicted, and 86.9% of all residues predicted to be in helix are
+correct.
+
+..........................................................................
+
+The following table gives the non-cumulative quantities, i.e. the
+values per reliability index range. These numbers answer the question:
+how reliable is the prediction for all residues labeled with the
+particular index i.
+
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| index| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| %res | 8.8| 9.5| 9.3| 9.1| 9.7| 10.5| 12.5| 15.7| 14.1|
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| | | | | | | | | | |
+| Qtot | 46.6| 50.6| 57.7| 62.6| 67.9| 74.2| 82.2| 88.3| 94.2|
+| | | | | | | | | | |
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| H%obs| 36.8| 42.3| 49.5| 55.2| 61.7| 69.9| 78.8| 87.4| 96.4|
+| E%obs| 44.7| 44.5| 52.1| 55.4| 60.9| 68.0| 75.9| 81.0| 68.1|
+| | | | | | | | | | |
+| H%prd| 49.9| 52.5| 60.3| 64.2| 69.2| 77.5| 85.4| 89.9| 95.4|
+| E%prd| 41.7| 47.1| 53.6| 57.0| 64.0| 71.6| 78.8| 88.8| 93.5|
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+
+For example, for residues with Relindex = 5 64% of all predicted betha-
+strand residues are correctly identified.
+
+
+
+
+
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Solvent accessibility prediction by PHDacc:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Author: Burkhard Rost
+ EMBL, Heidelberg, FRG
+ Meyerhofstrasse 1, 69 117 Heidelberg
+ Internet: Rost@EMBL-Heidelberg.DE
+
+ All rights reserved.
+
+
+
+
+About the network method
+~~~~~~~~~~~~~~~~~~~~~~~
+
+The network for prediction of secondary structure is described in
+detail in:
+ Rost, Burkhard; Sander, Chris:
+ Prediction of protein structure at better than 70% accuracy.
+ J. Mol. Biol., 1993, 232, 584-599.
+
+The analysis of the prediction of solvent exposure is given in:
+ Rost, Burkhard; Sander, Chris:
+ Conservation and prediction of solvent accessibility in protein
+ families. Proteins, 1994, 20, 216-226.
+
+To be quoted for publications of PHD exposure prediction:
+ Both papers quoted above.
+
+
+
+Definition of accessibility
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For training the residue solvent accessibility the DSSP (Dictionary of
+Secondary Structure of Proteins; Kabsch & Sander (1983) Biopolymers, 22,
+2577-2637) values of accessible surface area have been used. The
+prediction provides values for the relative solvent accessibility. The
+normalisation is the following:
+
+| ACCESSIBILITY (from DSSP in Angstrom)
+|RELATIVE_ACCESSIBILITY = ------------------------------------- * 100
+| MAXIMAL_ACC (amino acid type i)
+
+where MAXIMAL_ACC (i) is the maximal accessibility of amino acid type i.
+The maximal values are:
+
++----+----+----+----+----+----+----+----+----+----+----+----+
+| A | B | C | D | E | F | G | H | I | K | L | M |
+| 106| 160| 135| 163| 194| 197| 84| 184| 169| 205| 164| 188|
++----+----+----+----+----+----+----+----+----+----+----+----+
+| N | P | Q | R | S | T | V | W | X | Y | Z |
+| 157| 136| 198| 248| 130| 142| 142| 227| 180| 222| 196|
++----+----+----+----+----+----+----+----+----+----+----+
+
+Notation: one letter code for amino acid, B stands for D or N; Z stands
+ for E or Q; and X stands for undetermined.
+
+The relative solvent accessibility can be used to estimate the number
+of water molecules (W) in contact with the residue:
+
+W = ACCESSIBILITY /10
+
+The prediction is given in 10 states for relative accessibility, with
+
+RELATIVE_ACCESSIBILITY = (PREDICTED_ACC * PREDICTED_ACC)
+
+where PREDICTED_ACC = 0 - 9.
+
+
+
+Estimated Accuracy of Prediction
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A careful cross validation test on some 238 protein chains (in total
+about 62,000 residues) with less than 25% pairwise sequence identity
+gave the following results:
+
+
+Correlation
+...........
+
+The correlation between observed and predicted solvent accessibility
+is:
+
+-----------
+corr = 0.53
+-----------
+
+This value ought to be compared to the worst and best case prediction
+scenario: random prediction (corr = 0.0) and homology modelling
+(corr = 0.66). (Note: homology modelling yields a relative accurate
+prediction in 3D if, and only if, a significantly identical sequence
+has a known 3D structure.)
+
+
+3-state accuracy
+................
+
+Often the relative accessibility is projected onto, e.g., 3 states:
+ b = buried (here defined as < 9% relative accessibility),
+ i = intermediate ( 9% <= rel. acc. < 36% ),
+ e = exposed ( rel. acc. >= 36% ).
+
+A projection onto 3 states or 2 states (buried/exposed) enables the
+compilation of a 3- and 2-state prediction accuracy. PHD reaches an
+overall 3-state accuracy of:
+ Q3 = 57.5%
+(compared to 35% for random prediction and 70% for homology modelling).
+
+In detail:
+
++-----------------------------------+-------------------------+
+| Qburied (% of observed)=77% | Qb (% of predicted)=60% |
+| Qintermediate (% of observed)= 9% | Qi (% of predicted)=44% |
+| Qexposed (% of observed)=78% | Qe (% of predicted)=56% |
++-----------------------------------+-------------------------+
+
+
+10-state accuracy
+.................
+
+The network predicts relative solvent accessibility in 10 states, with
+state i (i = 0-9) corresponding to a relative solvent accessibility of
+i*i %. The 10-state accuracy of the network is:
+
+ Q10 = 24.5%
+
+..........................................................................
+
+These percentages are defined by:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+| number of correctly predicted residues
+|Q3 = --------------------------------------- (*100)
+| number of all residues
+|
+| no of res. correctly predicted to be buried
+|Qburied (% of obs) = ------------------------------------------- (*100)
+| no of all res. observed to be buried
+|
+|
+| no of res. correctly predicted to be buried
+|Qburied (% of pred)= ------------------------------------------- (*100)
+| no of all residues predicted to be buried
+
+..........................................................................
+
+Averaging over single chains
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The most reasonable way to compute the overall accuracies is the above
+quoted percentage of correctly predicted residues. However, since the
+user is mainly interested in the expected performance of the prediction
+for a particular protein, the mean value when averaging over protein
+chains might be of help as well. Computing first the correlation
+between observed and predicted accessibility for each protein chan, and
+then averaging over all 238 chains yields the following average:
+
++-------------------------------====--+
+| corr/averaged over chains = 0.53 |
++-------------------------------====--+
+| standard deviation = 0.11 |
++-------------------------------------+
+
+..........................................................................
+
+Further details of performance accuracy
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The accuracy matrix in detail:
+..............................
+
+-------+----------------------------------------------------+-----------
+\ PHD | 0 1 2 3 4 5 6 7 8 9 | SUM %obs
+-------+----------------------------------------------------+-----------
+OBS 0 | 8611 140 8 44 82 169 772 334 27 0 | 10187 16.6
+OBS 1 | 4367 164 0 50 106 231 738 346 44 3 | 6049 9.8
+OBS 2 | 3194 168 1 68 125 303 951 513 42 7 | 5372 8.7
+OBS 3 | 2760 159 8 80 136 327 1246 746 58 19 | 5539 9.0
+OBS 4 | 2312 144 2 72 166 396 1615 1245 124 19 | 6095 9.9
+OBS 5 | 1873 96 3 84 138 425 1979 1834 187 27 | 6646 10.8
+OBS 6 | 1387 67 1 60 80 278 2237 2627 231 51 | 7019 11.4
+OBS 7 | 1082 35 0 32 56 225 1871 3107 302 60 | 6770 11.0
+OBS 8 | 660 25 0 27 43 136 1206 2374 325 87 | 4883 7.9
+OBS 9 | 325 20 2 27 29 74 648 1159 366 214 | 2864 4.7
+-------+----------------------------------------------------+-----------
+SUM |26571 1018 25 544 961 2564 13263 14285 1706 487 |
+%pred | 43.3 1.7 0.0 0.9 1.6 4.2 21.6 23.3 2.8 0.8 |
+-------+----------------------------------------------------+-----------
+
+Note: This table is to be read in the following manner:
+ 8611 of all residues predicted to be in exposed by 0%, were
+ observed with 0% relative accessibility. However, 325 of all
+ residues predicted to have 0% are observed as completely exposed
+ (obs = 9 -> rel. acc. >= 81%). The term "observed" refers to the
+ DSSP compilation of area of solvent accessibility calculated from
+ 3D coordinates of experimentally determined structures (Diction-
+ ary of Secondary Structure of Proteins: Kabsch & Sander (1983)
+ Biopolymers, 22, 2577-2637).
+
+
+Accuracy for each amino acid:
+.............................
+
++---+------------------------------+-----+-------+------+
+|AA | Q3 b%o b%p i%o i%p e%o e%p | Q10 | corr | N |
++---+------------------------------+-----+-------+------+
+| A | 59.0 87 60 2 38 66 57 | 31 | 0.530 | 5054 |
+| C | 62.0 91 67 5 39 25 21 | 34 | 0.244 | 893 |
+| D | 56.5 21 45 6 49 94 57 | 20 | 0.321 | 3536 |
+| E | 60.8 9 40 3 41 98 61 | 21 | 0.347 | 3743 |
+| F | 63.3 94 67 9 46 29 37 | 27 | 0.366 | 2436 |
+| G | 52.1 75 51 1 31 67 53 | 22 | 0.405 | 4787 |
+| H | 50.9 63 53 23 45 71 50 | 18 | 0.442 | 1366 |
+| I | 64.9 95 68 6 41 30 38 | 34 | 0.360 | 3437 |
+| K | 66.6 2 11 2 37 98 67 | 23 | 0.267 | 3652 |
+| L | 61.6 93 65 8 44 31 40 | 31 | 0.368 | 5016 |
+| M | 60.1 92 64 5 39 45 44 | 29 | 0.452 | 1371 |
+| N | 55.5 45 45 8 38 87 59 | 17 | 0.410 | 2923 |
+| P | 53.0 48 48 9 39 83 56 | 18 | 0.364 | 2920 |
+| Q | 54.3 27 44 7 44 92 56 | 20 | 0.344 | 2225 |
+| R | 49.9 15 47 36 47 76 51 | 18 | 0.372 | 2765 |
+| S | 55.6 69 53 3 51 81 56 | 22 | 0.464 | 3981 |
+| T | 51.8 61 51 8 38 78 53 | 21 | 0.432 | 3740 |
+| V | 61.1 93 65 5 40 39 42 | 34 | 0.418 | 4156 |
+| W | 56.2 85 62 20 49 29 27 | 21 | 0.318 | 891 |
+| Y | 49.7 73 52 33 49 36 38 | 19 | 0.359 | 2301 |
++---+------------------------------+-----+-------+------+
+
+Abbreviations:
+
+AA: amino acid in one-letter code
+b%o, i%o, e%o: = Qburied, Qintermediate, Qexposed (% of observed),
+ i.e. percentage of correct prediction in each state, see above
+b%p, i%p, e%p: = Qburied, Qintermediate, Qexposed (% of predicted),
+ i.e. probability of correct prediction in each state, see above
+b%o: = Qburied (% of observed), see above
+Q10: percentage of correctly predicted residues in each of the 10
+ states of predicted relative accessibility.
+corr: correlation between predicted and observed rel. acc.
+N: number of residues in data set
+
+
+Accuracy for different secondary structure:
+...........................................
+
++--------+------------------------------+----+-------+-------+
+| type | Q3 b%o b%p i%o i%p e%o e%p |Q10 | corr | N |
++--------+------------------------------+----+-------+-------+
+| helix | 59.5 79 64 8 44 80 56 | 27 | 0.574 | 20100 |
+| strand | 61.3 84 73 9 46 69 37 | 35 | 0.524 | 13356 |
+| loop | 54.4 64 43 11 44 78 61 | 18 | 0.442 | 27968 |
++--------+------------------------------+----+-------+-------+
+
+Abbreviations as before.
+
+
+
+Position-specific reliability index
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The network predicts the 10 states for relative accessibility using real
+numbers from the output units. The prediction is assigned by choosing
+the maximal unit ("winner takes all"). However, the real numbers
+contain additional information.
+E.g. the difference between the maximal and the second largest output
+unit (with the constraint that the second largest output is compiled
+among all units at least 2 positions off the maximal unit) can be used
+to derive a "reliability index". This index is given for each residue
+along with the prediction. The index is scaled to have values between
+0 (lowest reliability), and 9 (highest).
+The accuracies (Q3, corr, asf.) to be expected for residues with values
+above a particular value of the index are given below as well as the
+fraction of such residues (%res).:
+
++---+------------------------------+----+-------+-------+
+|RI | Q3 b%o b%p i%o i%p e%o e%p |Q10 | corr | %res |
++---+------------------------------+----+-------+-------+
+| 0 | 57.5 77 60 9 44 78 56 | 24 | 0.535 | 100.0 |
+| 1 | 59.1 76 63 9 45 82 57 | 25 | 0.560 | 91.2 |
+| 2 | 61.7 79 66 4 47 87 58 | 27 | 0.594 | 77.1 |
+| 3 | 66.6 87 70 1 51 89 63 | 30 | 0.650 | 57.1 |
+| 4 | 70.0 89 72 0 83 91 67 | 32 | 0.686 | 45.8 |
+| 5 | 72.9 92 75 0 0 93 70 | 34 | 0.722 | 35.6 |
+| 6 | 76.3 95 77 0 0 93 75 | 36 | 0.769 | 24.7 |
+| 7 | 79.0 97 79 0 0 93 78 | 39 | 0.803 | 16.0 |
+| 8 | 80.9 98 80 0 0 91 81 | 43 | 0.824 | 9.6 |
+| 9 | 81.2 99 80 0 0 88 83 | 45 | 0.828 | 5.9 |
++---+------------------------------+----+-------+-------+
+
+Abbreviations as before.
+
+The above table gives the cumulative results, e.g. 45.8% of all
+residues have a reliability of at least 4. The correlation for this
+most reliably predicted half of the residues is 0.686, i.e. a value
+comparable to what could be expected if homology modelling were
+possible. For this subset of 45.8% of all residues, 89% of the buried
+residues are correctly predicted, and 72% of all residues predicted to
+be buried are correct.
+
+..........................................................................
+
+The following table gives the non-cumulative quantities, i.e. the
+values per reliability index range. These numbers answer the question:
+how reliable is the prediction for all residues labeled with the
+particular index i.
+
++---+------------------------------+----+-------+-------+
+|RI | Q3 b%o b%p i%o i%p e%o e%p |Q10 | corr | %res |
++---+------------------------------+----+-------+-------+
+| 0 | 40.9 79 40 16 41 21 40 | 14 | 0.175 | 8.8 |
+| 1 | 45.4 61 46 28 44 48 44 | 17 | 0.278 | 14.1 |
+| 2 | 47.4 53 52 10 46 80 44 | 19 | 0.343 | 19.9 |
+| 3 | 52.9 75 59 4 50 77 47 | 23 | 0.439 | 11.4 |
+| 4 | 60.0 81 63 0 83 84 56 | 25 | 0.547 | 10.1 |
+| 5 | 65.2 82 70 0 0 93 62 | 28 | 0.607 | 10.9 |
+| 6 | 71.3 90 72 0 0 94 70 | 31 | 0.692 | 8.8 |
+| 7 | 76.0 94 76 0 0 95 75 | 34 | 0.762 | 6.3 |
+| 8 | 80.5 97 81 0 0 94 79 | 39 | 0.808 | 3.8 |
+| 9 | 81.2 99 80 0 0 88 83 | 45 | 0.828 | 5.9 |
++---+------------------------------+----+-------+-------+
+
+For example, for residues with RI = 4 83% of all predicted intermediate
+residues are correctly predicted as such.
+
+
+
+
+
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Prediction of helical transmembrane segments by PHDhtm:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Author: Burkhard Rost
+ EMBL, Heidelberg, FRG
+ Meyerhofstrasse 1, 69 117 Heidelberg
+ Internet: Rost@EMBL-Heidelberg.DE
+
+ All rights reserved.
+
+
+
+
+About the network method
+~~~~~~~~~~~~~~~~~~~~~~~
+
+The PHD mail server is described in:
+ Rost, Burkhard; Sander, Chris; Schneider, Reinhard:
+ PHD - an automatic mail server for protein secondary structure
+ prediction.
+ CABIOS, 1994, 10, 53-60.
+
+To be quoted for publications of PHDhtm output:
+ Rost, Burkhard; Casadio, Rita; Fariselli, Piero; Sander, Chris:
+ Prediction of helical transmembrane segments at 95% accuracy.
+ Protein Science, 1995, 4, 521-533.
+
+
+
+Estimated Accuracy of Prediction
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A cross validation test on 69 helical trans-membrane proteins (in total
+about 30,000 residues) with less than 25% pairwise sequence identity
+gave the following results:
+
+++================++-----------------------------------------+
+|| Qtotal = 94.7% || ("overall two state accuracy") |
+++================++-----------------------------------------+
+
++----------------------------+-----------------------------+
+| Qhelix (% of observed)=92% | Qhelix (% of predicted)=83% |
+| Qloop (% of observed)=96% | Qloop (% of predicted)=97% |
++----------------------------+-----------------------------+
+
+..........................................................................
+
+These percentages are defined by:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+| number of correctly predicted residues
+|Qtotal = --------------------------------------- (*100)
+| number of all residues
+|
+| no of res correctly predicted to be in helix
+|Qhelix (% of obs) = -------------------------------------------- (*100)
+| no of all res observed to be in helix
+|
+|
+| no of res correctly predicted to be in helix
+|Qhelix (% of pred)= -------------------------------------------- (*100)
+| no of all residues predicted to be in helix
+
+..........................................................................
+
+Further measures of performance
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Matthews correlation coefficient:
+
++---------------------------------------------+
+| Chelix = 0.84, Cloop = 0.84 |
++---------------------------------------------+
+..........................................................................
+
+Average length of predicted secondary structure segments:
+
+| +------------+----------+
+| | predicted | observed |
++-----------+------------+----------+
+| Lhelix = | 24.6 | 22.2 |
++-----------+------------+----------+
+..........................................................................
+
+The accuracy matrix in detail:
+
++---------------------------------+
+| number of residues with H, L |
++---------+------+-------+--------+
+| |net H | net L |sum obs |
++---------+------+-------+--------+
+| obs H | 5214 | 492 | 5706 |
+| obs L | 1050 | 22423 | 23473 |
++---------+------+-------+--------+
+| sum Net | 6264 | 22915 | 29179 |
++---------+------+-------+--------+
+
+Note: This table is to be read in the following manner:
+ 5214 of all residues predicted to be in a helical trans-membrane
+ region, were observed to be in the lipid bilayer, 1050 however
+ were observed either inside or outside of the protein, i.e. in
+ loop (or non-membrane) regions. The term "observed" refers to DSSP
+ assignment of secondary structure calculated from 3D coordinates
+ of experimentally determined structures (Dictionary of Secondary
+ Structure of Proteins: Kabsch & Sander (1983) Biopolymers, 22,
+ 2577-2637) where these were available. For all other proteins,
+ the assignment of trans-membrane segments has been taken from the
+ Swissprot data bank (Bairoch, A.; Boeckmann, B.: The SWISS-PROT
+ protein sequence data bank. Nucl. Acids Res. 20: 2019-2022, 1992).
+
+..........................................................................
+
+Overlap between predicted and observed segments:
+
++-----------------+---------------+----------------+
+| segment overlap | % of observed | % of predicted |
+| Sov helix | 95.6% | 95.5% |
+| Sov loop | 83.6% | 97.2% |
++-----------------+---------------+----------------+
+| Sov total | 86.0% | 96.8% |
++-----------------+---------------+----------------+
+
+ Definition of Sov in: Rost et al., JMB, 1994, 235, 13-26.
+
+ As helical trans-membrane segments are longer than globular heli-
+ ces, correctly predicted segments can easily be made out. PHDhtm
+ misses 5 out of 258 observed segments, predicts 6 where non is
+ observed and 3 times the predicted helical segment overlaps two
+ observed regions. Thus, in total more than 95% of all segments
+ are correctly predicted.
+
+..........................................................................
+
+Entropy of prediction (information measure):
+
++-----------------+
+| I = 0.64 |
++-----------------+
+
+ (For comparison: homology modelling of globular proteins in three
+ states: I=0.62.)
+ Definition of Sov in: Rost et al., JMB, 1994, 235, 13-26.
+
+
+
+Position-specific reliability index
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The network predicts two states: helical trans-membrane region and rest
+using two output units. The prediction is assigned by choosing the ma-
+ximal unit ("winner takes all"). However, the real numbers of the out-
+put units contain additional information.
+E.g. the difference between the two output units can be used to derive
+a "reliability index". This index is given for each residue along with
+the prediction. The index is scaled to have values between 0 (lowest
+reliability), and 9 (highest).
+The accuracies (Qtot) to be expected for residues with values above a
+particular value of the index are given below as well as the fraction
+of such residues (%res).:
+
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| index| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+| %res |100.0| 98.8| 97.3| 95.9| 94.1| 92.3| 89.9| 86.2| 75.0| 66.8|
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| | | | | | | | | | | |
+| Qtot | 94.7| 95.2| 95.6| 96.2| 96.7| 97.2| 97.7| 98.4| 99.4| 99.8|
+| | | | | | | | | | | |
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+| H%obs| 91.8| 92.9| 93.8| 94.4| 95.0| 95.7| 96.2| 96.8| 95.5| 78.7|
+| L%obs| 95.3| 95.7| 96.1| 96.6| 97.0| 97.5| 98.1| 98.8| 99.7|100.0|
+| | | | | | | | | | | |
+| H%prd| 82.7| 83.8| 85.0| 86.7| 88.1| 89.7| 91.4| 93.8| 96.3| 97.1|
+| L%prd| 97.9| 98.3| 98.5| 98.7| 98.8| 99.0| 99.2| 99.4| 99.7| 99.9|
++------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+
+The above table gives the cumulative results, e.g. 92.3% of all
+residues have a reliability of at least 5. The overall two-state
+accuracy for this subset is 97.2%. For this subset, e.g., 95.7% of
+the observed helical trans-membrane residues are correctly predicted,
+and 89.7% of all residues predicted to be in helical trans-membrane
+segment are correct.
+
+
+
+
+
+
+
+The resulting network (PHD) prediction is:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+________________________________________________________________________________
+
+
+
+ PHD: Profile fed neural network systems from HeiDelberg
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Prediction of:
+ secondary structure, by PHDsec
+ solvent accessibility, by PHDacc
+ and helical transmembrane regions, by PHDhtm
+
+ Author:
+ Burkhard Rost
+ EMBL, 69012 Heidelberg, Germany
+ Internet: Rost@EMBL-Heidelberg.DE
+
+ All rights reserved.
+
+
+
+ The network systems are described in:
+
+ PHDsec: B Rost & C Sander: JMB, 1993, 232, 584-599.
+ B Rost & C Sander: Proteins, 1994, 19, 55-72.
+ PHDacc: B Rost & C Sander: Proteins, 1994, 20, 216-226.
+ PHDhtm: B Rost et al.: Prot. Science, 1995, 4, 521-533.
+
+
+
+ Some statistics
+ ~~~~~~~~~~~~~~~
+
+ Percentage of amino acids:
+ +--------------+--------+--------+--------+--------+--------+
+ | AA: | L | A | S | G | I |
+ | % of AA: | 13.0 | 10.0 | 9.7 | 8.9 | 8.6 |
+ +--------------+--------+--------+--------+--------+--------+
+ | AA: | V | R | T | F | D |
+ | % of AA: | 7.8 | 5.2 | 4.5 | 4.5 | 4.5 |
+ +--------------+--------+--------+--------+--------+--------+
+ | AA: | N | Q | E | P | K |
+ | % of AA: | 4.1 | 3.0 | 3.0 | 2.6 | 2.6 |
+ +--------------+--------+--------+--------+--------+--------+
+ | AA: | Y | M | W | H | C |
+ | % of AA: | 1.9 | 1.9 | 1.5 | 1.5 | 1.5 |
+ +--------------+--------+--------+--------+--------+--------+
+
+ Percentage of secondary structure predicted:
+ +--------------+--------+--------+--------+
+ | SecStr: | H | E | L |
+ | % Predicted: | 43.9 | 16.7 | 39.4 |
+ +--------------+--------+--------+--------+
+
+ According to the following classes:
+ all-alpha: %H>45 and %E< 5; all-beta : %H<5 and %E>45
+ alpha-beta : %H>30 and %E>20; mixed: rest,
+ this means that the predicted class is: mixed class
+
+
+
+ PHD output for your protein
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Tue Nov 24 17:44:57 1998
+ Jury on: 10 different architectures (version 5.94_317 ).
+ Note: differently trained architectures, i.e., different versions can
+ result in different predictions.
+
+
+
+ About the protein
+ ~~~~~~~~~~~~~~~~~
+
+ HEADER /home/phd/server/work/predict_h25873-220
+ COMPND
+ SOURCE
+ AUTHOR
+ SEQLENGTH 269
+ NCHAIN 1 chain(s) in predict_h25873-22040 data set
+ NALIGN 48
+ (=number of aligned sequences in HSSP file)
+
+
+
+ Abbreviations: PHDsec
+ ~~~~~~~~~~~~~~~~~~~~~
+
+ sequence:
+ AA : amino acid sequence
+ secondary structure:
+ HEL: H=helix, E=extended (sheet), blank=other (loop)
+ PHD: Profile network prediction HeiDelberg
+ Rel: Reliability index of prediction (0-9)
+ detail:
+ prH: 'probability' for assigning helix
+ prE: 'probability' for assigning strand
+ prL: 'probability' for assigning loop
+ note: the 'probabilites' are scaled to the interval 0-9, e.g.,
+ prH=5 means, that the first output node is 0.5-0.6
+ subset:
+ SUB: a subset of the prediction, for all residues with an expected
+ average accuracy > 82% (tables in header)
+ note: for this subset the following symbols are used:
+ L: is loop (for which above " " is used)
+ ".": means that no prediction is made for this residue, as the
+ reliability is: Rel < 5
+
+ Abbreviations: PHDacc
+ ~~~~~~~~~~~~~~~~~~~~~
+
+ SS : secondary structure
+ HEL: H=helix, E=extended (sheet), blank=other (loop)
+ solvent accessibility:
+ 3st: relative solvent accessibility (acc) in 3 states:
+ b = 0-9%, i = 9-36%, e = 36-100%.
+ PHD: Profile network prediction HeiDelberg
+ Rel: Reliability index of prediction (0-9)
+ O_3: observed relative acc. in 3 states: B, I, E
+ note: for convenience a blank is used intermediate (i).
+ P_3: predicted relative accessibility in 3 states
+ 10st:relative accessibility in 10 states:
+ = n corresponds to a relative acc. of n*n %
+ subset:
+ SUB: a subset of the prediction, for all residues with an expected
+ average correlation > 0.69 (tables in header)
+ note: for this subset the following symbols are used:
+ "I": is intermediate (for which above " " is used)
+ ".": means that no prediction is made for this residue, as the
+ reliability is: Rel < 4
+
+
+ Abbreviations: PHDhtm
+ ~~~~~~~~~~~~~~~~~~~~~
+
+ secondary structure:
+ HL: T=helical transmembrane region, blank=other (loop)
+ PHD: Profile network prediction HeiDelberg
+ PHDF:filtered prediction, i.e., too long transmembrane segments
+ are split, too short ones are deleted
+ Rel: Reliability index of prediction (0-9)
+ detail:
+ prH: 'probability' for assigning helical transmembrane region
+ prL: 'probability' for assigning loop
+ note: the 'probabilites' are scaled to the interval 0-9, e.g.,
+ prH=5 means, that the first output node is 0.5-0.6
+ subset:
+ SUB: a subset of the prediction, for all residues with an expected
+ average accuracy > 82% (tables in header)
+ note: for this subset the following symbols are used:
+ L: is loop (for which above " " is used)
+ ".": means that no prediction is made for this residue, as the
+ reliability is: Rel < 5
+
+
+
+ protein: predict length 269
+
+ ....,....1....,....2....,....3....,....4....,....5....,....6
+ AA |MASEIKKKLFWRAVVAEFLAMTLFVFISIGSALGFNYPLERNQTLVQDNVKVSLAFGLSI|
+ PHD sec | HHHHHHHHHHHHHHHHHHHHHHHHHHEE HHHHHHHHHHHHH|
+ Rel sec |998443148899999999999998997676530312469989998623353579999999|
+ detail:
+ prH sec |001223468899999999999998888777653112210000000145566788999999|
+ prE sec |000011000000000000000001001111233542100000000000323211000000|
+ prL sec |998665420100000000000000000011112244578988998753100000000000|
+ subset: SUB sec |LLL.....HHHHHHHHHHHHHHHHHHHHHHH......LLLLLLLLL...H.HHHHHHHHH|
+
+ ACCESSIBILITY
+ 3st: P_3 acc |eeeebee bbb bbbbbbbbbbbbbbbbbbbbbebeee eeeeeeeeebbbbbbbbbbbb|
+ 10st: PHD acc |997706650005000000000000000000000607775779776677000000000000|
+ Rel acc |735421110541467608662789996343122133420454330023453975664547|
+ subset: SUB acc |e.ee.....bb.bbbb.bbb.bbbbbb.b.......e..eee......bb.bbbbbbbbb|
+ ....,....7....,....8....,....9....,....10...,....11...,....12
+ AA |ATLAQSVGHISGAHSNPAVTLGLLLSCQISILRAVMYIIAQCVGAIVASAILSGITSSLL|
+ PHD sec |HHHHHHHHHE HHHHEHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH |
+ Rel sec |999996412122653167703135552356779999999999999999999998467213|
+ detail:
+ prH sec |998986544334223477843456665567779999999999999999999998611343|
+ prE sec |001001123420010000145432101221110000000000000000000000000000|
+ prL sec |000001232245765521000000123210000000000000000000000000278555|
+ subset: SUB sec |HHHHHH......LL..HHH....HHH..HHHHHHHHHHHHHHHHHHHHHHHHHH.LL...|
+
+ ACCESSIBILITY
+ 3st: P_3 acc |bbbbebbbebbbbbb bbbbbbbbbbbebbbbbbbbbbbbbbbbbbbbbbbbeebbeeeb|
+ 10st: PHD acc |000060006000000500000000000600000000000000000000000067006760|
+ Rel acc |456515321655013144869663400154551757478936465465467713401400|
+ subset: SUB acc |bbbb.b...bbb....bbbbbbb.b...bbbb.bbbbbbb.bbbbbbbbbbb..b..e..|
+ ....,....13...,....14...,....15...,....16...,....17...,....18
+ AA |ENSLGRNDLARGVNSGQGLGIEIIGTLQLVLCVLATTDRRRRDLGGSAPLAIGLSVALGH|
+ PHD sec | HHH EEEEEEEEEEEEEEEEEEE E E HHHHHH|
+ Rel sec |359985212134223651899898866789799875436658889963211351457756|
+ detail:
+ prH sec |320002345432332111000000000000100000221120000000001113567767|
+ prE sec |100000000000011014899888877789789886100000000013544222221111|
+ prL sec |568986543466545763100000011100000112567768889975454564210111|
+ subset: SUB sec |.LLLLL.........LL.EEEEEEEEEEEEEEEEEE..LLLLLLLLL.....L..HHHHH|
+
+ ACCESSIBILITY
+ 3st: P_3 acc |eeebbbebbbeebeebeebbbbbbbbbbbbbbbbbbbeeeeeeeebbbbbbbbbbbbbbb|
+ 10st: PHD acc |677000600077076077000000000000000000077767767000000000000000|
+ Rel acc |133100124043040233247198656399879530035414413123255869586654|
+ subset: SUB acc |........b.e..e.....bb.bbbbb.bbbbbb....ee.ee......bbbbbbbbbbb|
+ ....,....19...,....20...,....21...,....22...,....23...,....24
+ AA |LLAIDYTGCGINPARSFGSAVLTRNFSNHWIFWVGPFIGSALAVLIYDFILAPRSSDFTD|
+ PHD sec |HEEEE E HHHEEEE EEEEEE HHHHHHHHHHHHHEEEEE |
+ Rel sec |321341126989622145152653534229996251699999999973147525556642|
+ detail:
+ prH sec |521100000000145432463121122000000114789999999875421111121124|
+ prE sec |244564431000000000015765121358997510000000000013467642110000|
+ prL sec |233234457889754567411012655530002364200000000010010136667765|
+ subset: SUB sec |........LLLLL....H.H.EE.L....EEEE.L.HHHHHHHHHHH...EE.LLLLL..|
+
+ ACCESSIBILITY
+ 3st: P_3 acc |bbbbebbbbbbebb bbbbbbbbeebeebbbbbbbbbbbbbbbbbbbbbbbbeeeee ee|
+ 10st: PHD acc |000060000006005000000007606600000000000000000000000076777577|
+ Rel acc |754424240102242141047612131118967874356346635751777031345044|
+ subset: SUB acc |bbbb.b.b.....b..b..bbb.......bbbbbbb.bb.bbb.bbb.bbb....ee.ee|
+ ....,....25...,....26...,....27...,....28...,....29...,....30
+ AA |RMKVWTSGQVEEYDLDADDINSRVEMKPK|
+ PHD sec |HHHHHH |
+ Rel sec |66775259975467555457776422699|
+ detail:
+ prH sec |77887520012221222221111100000|
+ prE sec |00000000000000000000001233200|
+ prL sec |11112379987678777678887655799|
+ subset: SUB sec |HHHHH.LLLLL.LLLLL.LLLLL...LLL|
+
+ ACCESSIBILITY
+ 3st: P_3 acc |ebebbeeeeeeeeeeeeeeeeeebeeeee|
+ 10st: PHD acc |60700787677777677777767067789|
+ Rel acc |10411563134335144444514212559|
+ subset: SUB acc |..e..ee...e..e.eeeeee.e...eee|
+
+
+ PHDhtm Helical transmembrane prediction
+ note: PHDacc and PHDsec are reliable for water-
+ soluble globular proteins, only. Thus,
+ please take the predictions above with
+ particular caution wherever transmembrane
+ helices are predicted by PHDhtm!
+
+
+ PHDhtm
+---
+--- PhdTopology REFINEMENT AND TOPOLOGY PREDICTION: SYMBOLS
+--- AA : amino acid in one-letter code
+--- PHD htm : HTM's predicted by the PHD neural network
+--- system (T=HTM, ' '=not HTM)
+--- Rel htm : Reliability index of prediction (0-9, 0 is low)
+--- detail : Neural network output in detail
+--- prH htm : 'Probability' for assigning a helical trans-
+--- membrane region (HTM)
+--- prL htm : 'Probability' for assigning a non-HTM region
+--- note: 'Probabilites' are scaled to the interval
+--- 0-9, e.g., prH=5 means, that the first
+--- output node is 0.5-0.6
+--- subset : Subset of more reliable predictions
+--- SUB htm : All residues for which the expected average
+--- accuracy is > 82% (tables in header).
+--- note: for this subset the following symbols are used:
+--- L: is loop (for which above ' ' is used)
+--- '.': means that no prediction is made for this,
+--- residue as the reliability is: Rel < 5
+--- other : predictions derived based on PHDhtm
+--- PHDFhtm : filtered prediction, i.e., too long HTM's are
+--- split, too short ones are deleted
+--- PHDRhtm : refinement of neural network output
+--- PHDThtm : topology prediction based on refined model
+--- symbols used:
+--- i: intra-cytoplasmic
+--- T: transmembrane region
+--- o: extra-cytoplasmic
+---
+--- PhdTopology REFINEMENT AND TOPOLOGY PREDICTION
+ ....,....1....,....2....,....3....,....4....,....5....,....6
+ AA |MASEIKKKLFWRAVVAEFLAMTLFVFISIGSALGFNYPLERNQTLVQDNVKVSLAFGLSI|
+ PHD htm | TTTTTTTTTTTTTTTTTTT TTTTTTTTTTTT|
+ detail: | |
+ prH htm |000000000001136788999999999988875321110000000123678889999988|
+ prL htm |999999999998863211000000000011124678889999999876321110000011|
+ other: | |
+ PHDFhtm | TTTTTTTTTTTTTTTTTTT TTTTTTTTTTT|
+ PHDRhtm | TTTTTTTTTTTTTTTTTT TTTTTTTTTTT|
+ PHDThtm |iiiiiiiiiiiiiiTTTTTTTTTTTTTTTTTToooooooooooooooooTTTTTTTTTTT|
+ subset: | |
+ SUB htm |............................................................|
+ ....,....7....,....8....,....9....,....10...,....11...,....12
+ AA |ATLAQSVGHISGAHSNPAVTLGLLLSCQISILRAVMYIIAQCVGAIVASAILSGITSSLL|
+ PHD htm |TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT |
+ detail: | |
+ prH htm |888888877777666677788888888888888888888888888888888876543211|
+ prL htm |111111122222333322211111111111111111111111111111111123456788|
+ other: | |
+ PHDFhtm |TTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT |
+ PHDRhtm |TTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTT |
+ PHDThtm |TTTTTTTTiiiiiiiiiiiiiTTTTTTTTTTTTTTTTTTTTTTTTToooooooooooooo|
+ subset: | |
+ SUB htm |............................................................|
+ ....,....13...,....14...,....15...,....16...,....17...,....18
+ AA |ENSLGRNDLARGVNSGQGLGIEIIGTLQLVLCVLATTDRRRRDLGGSAPLAIGLSVALGH|
+ PHD htm | TTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTT|
+ detail: | |
+ prH htm |000000000001234567788888999988887643211111111235788899998888|
+ prL htm |999999999998765432211111000011112356788888888764211100001111|
+ other: | |
+ PHDFhtm | TTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTT|
+ PHDRhtm | TTTTTTTTTTTTTTTTTT TTTTTTTTTTTT|
+ PHDThtm |ooooooooooooooooTTTTTTTTTTTTTTTTTTiiiiiiiiiiiiiiTTTTTTTTTTTT|
+ subset: | |
+ SUB htm |............................................................|
+ ....,....19...,....20...,....21...,....22...,....23...,....24
+ AA |LLAIDYTGCGINPARSFGSAVLTRNFSNHWIFWVGPFIGSALAVLIYDFILAPRSSDFTD|
+ PHD htm |TTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT |
+ detail: | |
+ prH htm |888887765443432233334566777777788888888888888888887542100000|
+ prL htm |111112234556567766665433222222211111111111111111112457899999|
+ other: | |
+ PHDFhtm |TTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT |
+ PHDRhtm |TTTTTT TTTTTTTTTTTTTTTTTTT |
+ PHDThtm |TTTTTToooooooooooooooooooooooooTTTTTTTTTTTTTTTTTTTiiiiiiiiii|
+ subset: | |
+ SUB htm |............................................................|
+ ....,....25...,....26...,....27...,....28...,....29...,....30
+ AA |RMKVWTSGQVEEYDLDADDINSRVEMKPK|
+ PHD htm | |
+ detail: | |
+ prH htm |00000000000000000000000000000|
+ prL htm |99999999999999999999999999999|
+ other: | |
+ PHDFhtm | |
+ PHDRhtm | |
+ PHDThtm |iiiiiiiiiiiiiiiiiiiiiiiiiiiii|
+ subset: | |
+ SUB htm |.............................|
+---
+--- PhdTopology REFINEMENT AND TOPOLOGY PREDICTION END
+---
+
+________________________________________________________________________________
+
+
+
+________________________________________________________________________________
+
+
+-----------------------------------------------------------------------------
+--- PredictProtein: NEWS from January, 1997 ---
+--- ---
+--- Dear user, ---
+--- ---
+--- as of January 1, 1997, EMBL has effectively decided to not ---
+--- support the PredictProtein service by personal resources. I do ---
+--- maintain the program, so to speak, in my private time. However, ---
+--- my contract obliges me to do science, instead. Unfortunately, ---
+--- the computer environment at EMBL is at the same time starting ---
+--- to become increasingly unstable. Consequence of these two re- ---
+--- cent developments is that the PredictProtein service is not as ---
+--- stable as it was. ---
+--- ---
+--- I apologise for the problems this may cause. In particular, ---
+--- I apologise for my inability to reply to the 20-30 daily, per- ---
+--- sonal mails, and suggest to re-submit requests after 24 hours! ---
+--- ---
+--- Hoping that I shall find a more convenient solution for the ---
+--- future of the PredictProtein I remain with my best regards, ---
+--- ---
+--- Burkhard Rost ---
+-----------------------------------------------------------------------------
+--- PredictProtein: NEWS from April, 1998 ---
+--- ---
+-------------------------------- ---
+--- MOVING PredictProtein ---
+--- There appears to be light on the horizon! PP will may be having ---
+--- many hickups over the next months (as I shall leave EMBL). How- ---
+--- ever, the server seems to have a fair chance of survival thanks ---
+--- to a major support that is being raised by Columbia University, ---
+--- New York, U.S.A.). I hope that this will settle the issue for ---
+--- the years to come ... ---
+-------------------------------- ---
+--- WARNING ---
+--- After a major rewriting of most of the PP code over the last, ---
+--- I am afraid that not all errors have been traced by me, yet. ---
+--- Thus, please have mercy and report any bug you'll encounter! ---
+--- THANKS, Burkhard Rost ---
+-------------------------------- ---
+--- NEW PREDICTION DEFAULTS ---
+--- * Coiled-coil regions: now by default the program COILS written by ---
+--- Andrei Lupas is run on your sequence. An output is returned if a ---
+--- coiled-coil region has been detected. ---
+--- * Functional sequence motifs: now by default the PROSITE database ---
+--- written by Amos Bairoch, Philip Bucher and Kay Hofmann is scanned ---
+--- for sequence motifs. An output is returned if any motif has been ---
+--- detected. ---
+-------------------------------- ---
+--- see http://www.embl-heidelberg.de/predictprotein/ppNews.html ---
+--- for a description of the following new options. ---
+--- NEW INPUT OPTION ---
+--- * Your input sequence(s) in FASTA-list format ("# FASTA list ") ---
+--- NEW OUTPUT OPTIONS ---
+--- * Return also BLASTP output ("return blast") ---
+--- * Return prediction additionally in RDB format ("return phd rdb") ---
+--- * Return topits hssp ("return topits hssp") ---
+--- * Return topits strip ("return topits strip") ---
+--- * Return topits own ("return topits own") ---
+--- * Return no coils ("return no coils") ---
+--- * Return no prosite ("return no prosite") ---
+-----------------------------------------------------------------------------
+%</AQP1PHD>
+% \end{macrocode}
+% \begin{macrocode}
+%<*AQPHMMsgl>
+>HP: 269 AQP1 IN 6 14 33 54 73 94 112 139 156 165 184 211 230
+>HP: 271 AQP2 IN 6 17 35 44 65 86 104 131 148 157 176 203 224
+>HP: 285 AQP3 IN 6 22 41 50 72 103 122 153 172 185 207 238 260
+>HP: 323 AQP4 IN 6 37 57 70 92 123 147 160 177 186 205 232 254
+>HP: 265 AQP5 IN 6 13 32 59 78 87 110 131 149 158 177 204 228
+%</AQPHMMsgl>
+% \end{macrocode}
+% \begin{macrocode}
+%<*AQPHMMext>
+Protein: AQP1
+Length: 269
+N-terminus: IN
+Number of transmembrane helices: 6
+Transmembrane helices: 14-33 54-73 94-112 139-156 165-184 211-230
+
+Total entropy of the model: 17.0025
+Entropy of the best path: 17.0049
+
+The best path:
+
+ seq MASEIKKKLF WRAVVAEFLA MTLFVFISIG SALGFNYPLE RNQTLVQDNV 50
+ pred IIIIiiiiii iiiHHHHHHH HHHHHHHHHH HHHooooooo oooooooooo
+
+ seq KVSLAFGLSI ATLAQSVGHI SGAHSNPAVT LGLLLSCQIS ILRAVMYIIA 100
+ pred oooHHHHHHH HHHHHHHHHH HHHiiiiiii iiiiiiiiii iiiHHHHHHH
+
+ seq QCVGAIVASA ILSGITSSLL ENSLGRNDLA RGVNSGQGLG IEIIGTLQLV 150
+ pred HHHHHHHHHH HHoooooooo oooooooooo ooooooooHH HHHHHHHHHH
+
+ seq LCVLATTDRR RRDLGGSAPL AIGLSVALGH LLAIDYTGCG INPARSFGSA 200
+ pred HHHHHHiiii iiiiHHHHHH HHHHHHHHHH HHHHoooooo oooooooooo
+
+ seq VLTRNFSNHW IFWVGPFIGS ALAVLIYDFI LAPRSSDFTD RMKVWTSGQV 250
+ pred oooooooooo HHHHHHHHHH HHHHHHHHHH iiiiiiiiii iiiiiIIIII
+
+ seq EEYDLDADDI NSRVEMKPK 269
+ pred IIIIIIIIII IIIIIIIII
+
+Protein: AQP2
+Length: 271
+N-terminus: IN
+Number of transmembrane helices: 6
+Transmembrane helices: 17-35 44-65 86-104 131-148 157-176 203-224
+
+Total entropy of the model: 17.0017
+Entropy of the best path: 17.0046
+
+The best path:
+
+ seq MWELRSIAFS RAVLAEFLAT LLFVFFGLGS ALQWASSPPS VLQIAVAFGL 50
+ pred IIIIIIiiii iiiiiiHHHH HHHHHHHHHH HHHHHooooo oooHHHHHHH
+
+ seq GIGILVQALG HVSGAHINPA VTVACLVGCH VSFLRAAFYV AAQLLGAVAG 100
+ pred HHHHHHHHHH HHHHHiiiii iiiiiiiiii iiiiiHHHHH HHHHHHHHHH
+
+ seq AAILHEITPV EIRGDLAVNA LHNNATAGQA VTVELFLTMQ LVLCIFASTD 150
+ pred HHHHoooooo oooooooooo oooooooooo HHHHHHHHHH HHHHHHHHii
+
+ seq ERRGDNLGSP ALSIGFSVTL GHLLGIYFTG CSMNPARSLA PAVVTGKFDD 200
+ pred iiiiiiHHHH HHHHHHHHHH HHHHHHoooo oooooooooo oooooooooo
+
+ seq HWVFWIGPLV GAIIGSLLYN YLLFPSAKSL QERLAVLKGL EPDTDWEERE 250
+ pred ooHHHHHHHH HHHHHHHHHH HHHHiiiiii iiiiiiiiiI IIIIIIIIII
+
+ seq VRRRQSVELH SPQSLPRGSK A 271
+ pred IIIIIIIIII IIIIIIIIII I
+
+Protein: AQP3
+Length: 285
+N-terminus: IN
+Number of transmembrane helices: 6
+Transmembrane helices: 22-41 50-72 103-122 153-172 185-207 238-260
+
+Total entropy of the model: 17.0059
+Entropy of the best path: 17.0075
+
+The best path:
+
+ seq MNRCGEMLHI RYRLLRQALA ECLGTLILVM FGCGSVAQVV LSRGTHGGFL 50
+ pred IIIIIIiiii iiiiiiiiii iHHHHHHHHH HHHHHHHHHH HooooooooH
+
+ seq TINLAFGFAV TLAILVAGQV SGAHLNPAVT FAMCFLAREP WIKLPIYTLA 100
+ pred HHHHHHHHHH HHHHHHHHHH HHiiiiiiii iiiiiiiiii iiiiiiiiii
+
+ seq QTLGAFLGAG IVFGLYYDAI WAFAGNELVV SGPNGTAGIF ATYPSGHLDM 150
+ pred iiHHHHHHHH HHHHHHHHHH HHoooooooo oooooooooo oooooooooo
+
+ seq VNGFFDQFIG TAALIVCVLA IVDPYNNPVP RGLEAFTVGL VVLVIGTSMG 200
+ pred ooHHHHHHHH HHHHHHHHHH HHiiiiiiii iiiiHHHHHH HHHHHHHHHH
+
+ seq FNSGYAVNPA RDFGPRLFTA LAGWGSEVFT TGQNWWWVPI VSPLLGSIGG 250
+ pred HHHHHHHooo oooooooooo oooooooooo oooooooHHH HHHHHHHHHH
+
+ seq VFVYQLMIGC HLEQPPPSTE AENVKLAHMK HKEQI 285
+ pred HHHHHHHHHH iiiiiiiiii iiiiiIIIII IIIII
+
+Protein: AQP4
+Length: 323
+N-terminus: IN
+Number of transmembrane helices: 6
+Transmembrane helices: 37-57 70-92 123-147 160-177 186-205 232-254
+
+Total entropy of the model: 17.0058
+Entropy of the best path: 17.0091
+
+The best path:
+
+ seq MSDGAAARRW GKCGPPCSRE SIMVAFKGVW TQAFWKAVTA EFLAMLIFVL 50
+ pred IIIIIIIIII IIIIIIIIII Iiiiiiiiii iiiiiiHHHH HHHHHHHHHH
+
+ seq LSVGSTINWG GSENPLPVDM VLISLCFGLS IATMVQCFGH ISGGHINPAV 100
+ pred HHHHHHHooo oooooooooH HHHHHHHHHH HHHHHHHHHH HHiiiiiiii
+
+ seq TVAMVCTRKI SIAKSVFYIT AQCLGAIIGA GILYLVTPPS VVGGLGVTTV 150
+ pred iiiiiiiiii iiiiiiiiii iiHHHHHHHH HHHHHHHHHH HHHHHHHooo
+
+ seq HGNLTAGHGL LVELIITFQL VFTIFASCDS KRTDVTGSVA LAIGFSVAIG 200
+ pred oooooooooH HHHHHHHHHH HHHHHHHiii iiiiiHHHHH HHHHHHHHHH
+
+ seq HLFAINYTGA SMNPARSFGP AVIMGNWENH WIYWVGPIIG AVLAGALYEY 250
+ pred HHHHHooooo oooooooooo oooooooooo oHHHHHHHHH HHHHHHHHHH
+
+ seq VFCPDVELKR RLKEAFSKAA QQTKGSYMEV EDNRSQVETE DLILKPGVVH 300
+ pred HHHHiiiiii iiiiiiiiiI IIIIIIIIII IIIIIIIIII IIIIIIIIII
+
+ seq VIDIDRGDEK KGKDSSGEVL SSV 323
+ pred IIIIIIIIII IIIIIIIIII III
+
+Protein: AQP5
+Length: 265
+N-terminus: IN
+Number of transmembrane helices: 6
+Transmembrane helices: 13-32 59-78 87-110 131-149 158-177 204-228
+
+Total entropy of the model: 17.0020
+Entropy of the best path: 17.0052
+
+The best path:
+
+ seq MKKEVCSLAF FKAVFAEFLA TLIFVFFGLG SALKWPSALP TILQISIAFG 50
+ pred IIIIIIIIii iiHHHHHHHH HHHHHHHHHH HHoooooooo oooooooooo
+
+ seq LAIGTLAQAL GPVSGGHINP AITLALLIGN QISLLRAVFY VAAQLVGAIA 100
+ pred ooooooooHH HHHHHHHHHH HHHHHHHHii iiiiiiHHHH HHHHHHHHHH
+
+ seq GAGILYWLAP LNARGNLAVN ALNNNTTPGK AMVVELILTF QLALCIFSST 150
+ pred HHHHHHHHHH oooooooooo oooooooooo HHHHHHHHHH HHHHHHHHHi
+
+ seq DSRRTSPVGS PALSIGLSVT LGHLVGIYFT GCSMNPARSF GPAVVMNRFS 200
+ pred iiiiiiiHHH HHHHHHHHHH HHHHHHHooo oooooooooo oooooooooo
+
+ seq PSHWVFWVGP IVGAMLAAIL YFYLLFPSSL SLHDRVAVVK GTYEPEEDWE 250
+ pred oooHHHHHHH HHHHHHHHHH HHHHHHHHii iiiiiiiiii iiiIIIIIII
+
+ seq DHREERKKTI ELTAH 265
+ pred IIIIIIIIII IIIII
+%</AQPHMMext>
+% \end{macrocode}
+% \begin{macrocode}
+%<*TCoffee>
+T-COFFEE, Version_5.31(Fri Oct 26 17:01:36 2007)
+Cedric Notredame
+CPU TIME:1 sec.
+SCORE=54
+*
+ BAD AVG GOOD
+*
+AQP1.PRO : 55
+AQP2.PRO : 58
+AQP3.PRO : 46
+AQP4.PRO : 55
+AQP5.PRO : 58
+cons : 54
+
+AQP1.PRO 1 65------------------------3777666677777766666666556666666554 36
+AQP2.PRO 1 -2------------------------2776667777777777777667666666666654 35
+AQP3.PRO 1 5---------9644-----33322111------457777665555556555657555544 40
+AQP4.PRO 1 63DGAAARRW9644PPCSR33322113667667677777666666666666767666665 60
+AQP5.PRO 1 65------------------------4877667667777777776666666667666665 36
+cons 1 54--------9644-----33322113777667667777766666666666666666554 60
+
+
+AQP1.PRO 37 111221111223454555555555444444444554455555555544544445555444 96
+AQP2.PRO 36 ---33----323444444444444444454444455556666555555555455565555 88
+AQP3.PRO 41 111211----11444444444433333232333344455565555544444445555444 96
+AQP4.PRO 61 ---331111223554555555544444454455555666666666555555455555555 117
+AQP5.PRO 37 ---43----323555555555554444454455555555666555555555555565555 89
+cons 61 111331111323454545444444444444444455555665555555555455555555 120
+
+
+AQP1.PRO 97 5555555556555655555----------4444445555555555555555-----5555 141
+AQP2.PRO 89 6556666666666665555----------5555555566666666666666-----5556 133
+AQP3.PRO 97 4445555555555554443YYDAIWAFAG2322222333333344443454LDMVN4445 156
+AQP4.PRO 118 5556666666666665544----------4445545555555555665666-----6666 162
+AQP5.PRO 90 5555555556666665554----------4455555666666666666677-----6676 134
+cons 121 5555556666666655554----------4444444555555555555566-----5566 180
+
+
+AQP1.PRO 142 6677777777777766666666-5666656666666555666556677777778777766 200
+AQP2.PRO 134 5566777777777766666555-5565556666666555556556788888888888777 192
+AQP3.PRO 157 7666777777777777765444V3454455554444322222224577777777777665 216
+AQP4.PRO 163 7777777777777777776666-5555555555666555555555677777777777766 221
+AQP5.PRO 135 7777888788887777776666-5666666666666555555556677777777777776 193
+cons 181 7677777777777777666555-5565555565556544555555677777777777766 240
+
+
+AQP1.PRO 201 7766--666---------66666666665555666666555566544455555220111- 248
+AQP2.PRO 193 7766--666---------6666666665555555555555556664456666633-222- 239
+AQP3.PRO 217 5544LA2220EVFTTGQN223333434333334433332322------------------ 258
+AQP4.PRO 222 6555--555---------55655666656666655555555454-33345544100111- 268
+AQP5.PRO 194 6666--5440--------5555556655555555555544445664444555533-222T 242
+cons 241 6665--5550--------55555555555555555555444455544455555220221- 300
+
+
+AQP1.PRO 249 22222--2111111111----11000----------------------------3 269
+AQP2.PRO 240 33333--42222222223--3333333233322-------------------223 271
+AQP3.PRO 259 --------------------2111222122211122-111112221-------12 285
+AQP4.PRO 269 11111KG22111111123VE3222333233322122D111112221SSGEVL224 323
+AQP5.PRO 243 23333--33222223334--3333333---------------------------- 265
+cons 301 23322--32222222223--3222223233322122-111112221------223 355
+%</TCoffee>
+% \end{macrocode}
+% \begin{macrocode}
+%<*Standard>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% %%%%%
+%%%%% Standard genetic code definitions %%%%%
+%%%%% %%%%%
+%%%%% (The last codon of each list is used for backtranslations %%%%%
+%%%%% from protein to DNA sequences---therefore the wobbles) %%%%%
+%%%%% %%%%%
+%%%%% These definitions are default in TeXshade. %%%%%
+%%%%% There is no need to load them. This is an example file only. %%%%%
+%%%%% %%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\codon{A}{GCA,GCG,GCC,GCT,GCU,GCN}
+\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{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{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{V}{GTA,GTG,GTC,GTT,GUA,GUG,GUC,GUU,GTN}
+\codon{W}{TGG,UGG,TGG}
+\codon{Y}{TAC,TAT,UAC,UAU,TAY}
+\codon{.}{TAA,TAG,TGA,UAA,UAG,UGA,TRR}
+%</Standard>
+% \end{macrocode}
+% \begin{macrocode}
+%<*Ciliate>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%% %%%%%
+%%%%% Ciliate macronuclear genetic code definitions %%%%%
+%%%%% %%%%%
+%%%%% Only exchanges compared to the standard code must be defined. %%%%%
+%%%%% %%%%%
+%%%%% (The last codon of the list is used for backtranslations %%%%%
+%%%%% from protein to DNA sequences---therefore the wobbles) %%%%%
+%%%%% %%%%%
+%%%%% %%%%%
+%%%%% Activate these definitions for your alignment by the following %%%%%
+%%%%% command in the texshade environment: %%%%%
+%%%%% %%%%%
+%%%%% \geneticcode{ciliate} %%%%%
+%%%%% %%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\codon{Q}{TAA,TAG,UAA,UAG,YAR}
+%</Ciliate>
+% \end{macrocode}
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/texshade/texshade.ins b/macros/latex/contrib/texshade/texshade.ins
new file mode 100644
index 0000000000..73f08c8f6d
--- /dev/null
+++ b/macros/latex/contrib/texshade/texshade.ins
@@ -0,0 +1,73 @@
+%%
+%% docstrip install file for texshade.sty
+%%
+%% Copyright 1999-2011 Eric Beitz
+%%
+\def\batchfile{texshade.ins}
+
+\input docstrip
+
+\askforoverwritefalse
+\keepsilent
+
+\declarepreamble\texshade
+
+LaTeX package for typesetting nucleotide and peptide alignments
+
+Copyright (C) 1999-2011 Eric Beitz
+See the file texshade.txt
+
+\endpreamble
+
+\generate{\usepreamble\texshade%
+ \file{texshade.sty}{\from{texshade.dtx}{texshade}}}
+
+\generate{\usepreamble\empty \usepostamble\empty%
+ \file{texshade.def}{\from{texshade.dtx}{definitions}}
+ \file{AQPDNA.MSF}{\from{texshade.dtx}{AQPDNA}}
+ \file{AQPpro.MSF}{\from{texshade.dtx}{AQPpro}}
+ \file{AQP2spec.ALN}{\from{texshade.dtx}{AQP2spec}}
+ \file{AQP1.top}{\from{texshade.dtx}{AQP1topo}}
+ \file{AQP1.phd}{\from{texshade.dtx}{AQP1PHD}}
+ \file{AQP_HMM.sgl}{\from{texshade.dtx}{AQPHMMsgl}}
+ \file{AQP_HMM.ext}{\from{texshade.dtx}{AQPHMMext}}
+ \file{AQP_TC.asc}{\from{texshade.dtx}{TCoffee}}
+ \file{standard.cod}{\from{texshade.dtx}{Standard}}
+ \file{ciliate.cod}{\from{texshade.dtx}{Ciliate}}}
+
+\Msg{**************************************************************}
+\Msg{*}
+\Msg{* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
+\Msg{* !!! Have you used a docstrip version 2.4 or later?}
+\Msg{* !!!}
+\Msg{* !!! IF NOT GO AND GET A RECENT VERSION!}
+\Msg{* !!!}
+\Msg{* !!! The documentation will not run through TeX with}
+\Msg{* !!! your files extracted by an old docstrip version!}
+\Msg{* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by LaTeX:}
+\Msg{*}
+\Msg{* \space\space texshade.sty}
+\Msg{* \space\space texshade.def}
+\Msg{* \space\space standard.cod}
+\Msg{* \space\space ciliate.cod}
+\Msg{*}
+\Msg{* To produce the documentation run the following file twice}
+\Msg{* through LaTeX:}
+\Msg{*}
+\Msg{* \space\space texshade.dtx}
+\Msg{*}
+\Msg{* Make sure that the following files are present in the same}
+\Msg{* directory as texshade.dtx (needed for texing the doc):}
+\Msg{*}
+\Msg{* \space\space AQPDNA.MSF}
+\Msg{* \space\space AQPpro.MSF}
+\Msg{* \space\space APQ2spec.ALN}
+\Msg{* \space\space AQP1.top}
+\Msg{* \space\space APQ1.phd}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{**************************************************************}
diff --git a/macros/latex/contrib/texshade/texshade.pdf b/macros/latex/contrib/texshade/texshade.pdf
new file mode 100644
index 0000000000..f423a08595
--- /dev/null
+++ b/macros/latex/contrib/texshade/texshade.pdf
Binary files differ
diff --git a/macros/latex/contrib/texshade/tsfaq.pdf b/macros/latex/contrib/texshade/tsfaq.pdf
new file mode 100644
index 0000000000..53b9b89528
--- /dev/null
+++ b/macros/latex/contrib/texshade/tsfaq.pdf
Binary files differ
diff --git a/macros/latex/contrib/texshade/tsfaq.tex b/macros/latex/contrib/texshade/tsfaq.tex
new file mode 100644
index 0000000000..0ab7a0ec37
--- /dev/null
+++ b/macros/latex/contrib/texshade/tsfaq.tex
@@ -0,0 +1,432 @@
+\documentclass[12pt]{article}
+
+
+\begin{document}
+
+
+\noindent
+Eric Beitz \hfill March 2005
+
+\section*{\TeX{}shade: frequently asked questions }
+\bigskip
+
+This is the sixth update of the FAQ list for \TeX{}shade. Feel free to
+contact me if you have problems, questions or suggestions about the
+package. I will post them and provide hopefully helpful hints in
+future issues of this list.
+\bigskip
+
+\noindent
+\qquad email: \texttt{eric.beitz@uni-tuebingen.de}
+\smallskip
+
+\noindent
+\TeX{}shade:
+\texttt{http://homepages.uni-tuebingen.de/beitz/tse.html}
+
+
+\subsection*{A. Increasing \TeX{}'s memory settings}
+\medskip
+
+ If you are using \TeX{}shade to align several large sequences (about 1000
+ residues/sequence), LaTeX will probably stop compiling and quit with one
+ of the following messages:
+ \texttt{!\ TeX capacity exceeded, sorry [main memory size=384000]} or
+ \texttt{!\ TeX capacity exceeded, sorry [stack size=300]}.
+
+Due to several requests I want to start a list of protocols how
+to increase the standard \TeX{} memory settings for bigger
+alignments. Please contribute to this list by sending me the
+procedure for your particular system.
+
+\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 \verb|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 \verb|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 \verb|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 \verb|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.\
+ \verb|mem_min|, \verb|mem_max|, \verb|buf_size|, \verb|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*{B. Problems using \TeX{}shade}
+\medskip
+
+\begin{enumerate}
+
+ \item
+
+ \textbf{I cannot \TeX{} the manual because I get the error
+ message `\texttt{!\ TeX capacity exceeded, sorry \ldots}'.}
+
+ \TeX{}shade needs a lot of memory for setting and shading
+ alignments. The manual is a good test for your memory settings
+ because it uses many alignments and fingerprints, which are
+ in particular memory consuming. If you do not know how to increase
+ \TeX's memory settings, and you do not know a \TeX{} wizard either, then
+ visit the \TeX{}shade homepage at
+ \texttt{http://homepages.uni-tuebingen.de/beitz/tse.html} for
+ downloading the manual in either of three formats: DVI, PDF or
+ PostScript.
+
+
+ \item
+
+ \textbf{I can set my alignment only when I reduce the number of
+ base-pairs by about 11,000. Otherwise I get the `\texttt{!\ TeX
+ capacity exceeded, sorry \ldots}' error.}
+
+ There are several parameters defining \TeX's
+ usable space. If you are a \TeX{} wizard (or you know one)
+ increase the values that
+ \TeX{}shade complains about during the run in order to set
+ bigger alignments. But do not be disappointed when your \TeX{}
+ system will not set an alignment containing thousands of residues.
+ There is definitely an upper limit (probably the new \LaTeX3 will
+ allow you to use even more memory). Setting alignments is a big job for a
+ typesetting system!
+
+
+ \item
+
+ \textbf{I want to align 80 sequences but I get the
+ `\texttt{!\ No room for a new count}' message.}
+
+ For each sequence two counter variables are used by \TeX{}shade,
+ further 14 counters for other purposes are needed (and \TeX{}
+ can handle only 255 counters). This limits the amount of sequences
+ to about 100 in theory. But \LaTeX{} itself and each of
+ the loaded packages allocates more counters further reducing the maximum
+ number of sequences.
+
+
+ \item
+
+ \textbf{I receive error messages `\texttt{!\ Missing \$ inserted}'
+ when \TeX{}ing my alignment. What is wrong?}
+
+ At least one of the sequence names in the alignment file contains an
+ underscore `\_' symbol. This makes \TeX{} to believe you missed to
+ enter math mode because subscript initiated by an underscore is
+ only allowed in math. You need to change the sequence name(s) either in the
+ alignment file using the `find \& replace' option of your editor or
+ by using the \verb|\nameseq| command in the \TeX{}shade environment.
+ Nevertheless, subscript and superscript are permitted in sequence names,
+ e.\,g. \verb|\nameseq{1}{Name$_{sub}^{super}$}| will result in
+ Name$_{sub}^{super}$.
+
+ Since v1.3b \TeX{}shade{} is much more tolerant concering special
+ characters. Get it and read the section about sequence names.
+
+
+ \item
+
+ \textbf{My sequence names start out with a number in the
+ alignment file. Why are they ignored by \TeX{}shade?}
+
+ \TeX{}shade analyzes the first character of each line in the
+ alignment file in order to decide whether it is a comment, a
+ ruler or a sequence line etc. All lines starting out with a
+ non-letter character are interpreted as non-sequence lines. Hence,
+ you have to change those names in the alignment file. If you
+ want to have sequence names starting with a number you can
+ use the \verb|\nameseq| command in the \TeX{}shade environment to
+ introduce the number, e.\,g. \verb|\nameseq{1}{57th sequence}|.
+
+
+ \item
+
+ \textbf{Only a fraction of the residues which are supposed to be
+ shaded actually are. Why?}
+
+ Make sure that \TeX{}shade knows when protein sequences are to be
+ set. Align\-ments in the ALN-format do not contain information about the
+ sequence type (DNA or protein). In such cases DNA sequences are
+ assumed by \TeX{}shade leading to a shading of only A's, C's, G's,
+ R's, T's and Y's. A simple solution is to say \verb|\seqtype{P}| in the
+ \verb|texshade| environment.
+
+
+ \item
+
+ \textbf{Functional shading does not work and I get an error message. Why?}
+
+ Same problem as discussed in the point before this one. Functional
+ shading is permitted only on protein sequences. So, tell \TeX{}shade
+ that you are using a protein alignment.
+
+
+ \item
+
+ \textbf{There is an incompatiblity between \TeX{}shade (v1.2)
+ and the multi-language package `\texttt{babel}'!}
+
+ You are right! The command \verb|\language| is defined in both
+ packages which leads to error messages. This bug is fixed since
+ the release of \TeX{}shade version 1.3 from March 2000. In this
+ version \verb|\language| is replaced by two commands:
+ \verb|\germanlanguage| and \verb|\englishlanguage|.
+
+ \item
+
+ \textbf{\TeX{}shade crashes when dashes ``-'' are used as gap
+ symbols in alignment input files.}
+
+ Yes. Be careful with all kinds of characters that are ``active''
+ in \TeX{}, such as \verb|$ _ ^ & % " \|. The dash is not really active
+ but two or three consecutive dashes are amalgamated to one longer
+ dash in \TeX. Having those characters in an input file might result
+ in unforeseen errors or even crashes.
+
+ \item
+
+ \textbf{I have problems using PHD predictions in \TeX{}shade. An
+ empty \texttt{.top} or \texttt{.sec} file is created.}
+
+ When you do the PHD run do not restrict the calculation to either
+ secondary structure or topology prediction. Turn on everything.
+ Otherwise the output will have some ambiguous lines which can not
+ be interpreted by \TeX{}shade. Result is an empty
+ \texttt{.top} or \texttt{.sec} file.
+
+\end{enumerate}
+
+
+
+\subsection*{C. Changing the output}
+\medskip
+
+\begin{enumerate}
+
+ \item
+
+ \textbf{How can I force \TeX{}shade to print more residues per line?}
+
+ Use the \verb|\residuesperline*| command with the `\verb|*|' extension.
+ This will allow you to set any number of residues per line that is
+ desired, e.\,g. \verb|\residuesperline*{97}|. But then expect numerous
+ `\texttt{!\ Overfull hbox}' errors due to printing lines that
+ are broader than the preset \verb|\textwidth|. The same command
+ without the `\verb|*|' will calculate the highest number of residues
+ fitting in one line and round it to be divisible by five.
+
+
+ \item
+
+ \textbf{Is it possible to add a caption to the \TeX{}shade output?}
+
+ Yes, it is. Since \TeX{}shade v1.5 the \verb|\showcaption|
+ command is
+ available to add captions on the top or the bottom of the
+ alignment. The caption behaves exactly as a figure caption
+ including the style, numbering and appearance in the list of
+ figures.
+ \medskip
+
+ Example: \verb|\showcaption{Nice alignment!}|.
+
+
+ \item
+
+ \textbf{I want a short version of the caption for the `List of
+ Figures'. Is this possible?}
+
+ Yes, with \TeX{}shade v1.9 short captions have been introduced.
+ In addition to \verb|showcaption| use the command
+ \verb|shortcaption{|\emph{text}\verb|}|.
+ \medskip
+
+ Example: \verb|\showcaption{Nice alignment!}|\
+ \verb|\shortcaption{Nice}|.
+
+
+ \item
+
+ \textbf{My alignment file contains the letters `B' and `Z' for
+ Asx and Glx, respectively. How can I apply a special shading for
+ these?}
+
+ Use \verb|\funcgroup| to define `B' and `Z' as functional groups
+ and assign the colors and the printing style, e.\,g.
+ \medskip
+
+ \verb|\funcgroup{B}{White}{Blue}{upper}{up}|
+ \smallskip
+
+ \verb|\funcgroup{Z}{White}{Red}{upper}{up}|
+ \medskip
+
+ or add the new residues to an existing group, e.\,g.
+ \medskip
+
+ \verb|\funcgroup{acidic/amide}{DENQBZ}{Black}{Green}{upper}{up}|.
+
+
+ \item
+
+ \textbf{How can I build a legend using the `\texttt{shadebox}'
+ command?}
+
+ The \verb|\shadebox| command simply prints a color-filled box at
+ the very location it occurs in the text. This means you have to
+ use \verb|\shadebox| in the normal text after the \TeX{}shade environment
+ or inside the caption. You find a minimal example below:
+ \medskip
+
+ \qquad\vbox{%
+ \verb|\begin{texshade}{alignmentfile.MSF}|
+ \medskip
+
+ \qquad \verb|\showcpation{Red box: \shadebox{Red}}|
+ \medskip
+
+ \qquad \emph{further commands, if needed}
+ \medskip
+
+ \verb|\end{texshade}|
+ }
+
+ \medskip
+
+ Legend:
+
+ \qquad\verb|\shadebox{conserved}|: conserved residues
+
+ \qquad\verb|\shadebox{White}|: boring residues
+
+ \qquad\verb|\shadebox{Red}|: exciting residues
+
+
+
+ \item
+
+ \textbf{I do not like the spacing between the feature lines. How
+ can I change it?}
+
+ Employ the respective space controlling command from the
+ following list \verb|\ttopspace|,
+ \verb|\topspace|, \verb|\bottomspace|, \verb|\bbottomspace|.
+ Those are available since \TeX{}shade v1.5 (see manual).
+
+
+
+ \item
+
+ \textbf{How can I change gap and match symbols in diverse mode?}
+
+ Since \TeX{}shade version 1.7, standard definitions for \verb|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 \verb|\shadingmode{diverse}| these commands can be
+ used to redefine the \verb|diverse| mode settings (mind the double
+ curly braces around the dot-symbol!).
+
+
+
+ \item
+
+ \textbf{I want to rotate the alignment on the page. Is this possible?}
+
+ Yes. Stefan Vogt has found this solution: use pdflscape.sty and
+ activate it in the preamble with \verb|\usepackage{pdflscape}|. Then
+ put your \TeX{}shade environment inside a \verb|landscape|-environment.
+ You also need to adjust the number of residues per line with
+ \verb|\residuesperline*{number}| to make them fill the rotated page.
+ \medskip
+
+ \qquad\vbox{%
+ \verb|\begin{landscape}|
+
+ \verb|\centering|
+
+ \qquad \verb|\begin{texshade}{alignmentfile.MSF}|
+
+ \qquad \verb|\residuesperline*{|\emph{number}\verb|}|
+ \medskip
+
+ \qquad \qquad \emph{further commands, if needed}
+ \medskip
+
+ \qquad \verb|\end{texshade}|
+
+ \verb|\end{landscape}|
+ }
+
+
+
+ \item
+
+ \textbf{I want use the \TeX{}shade and \TeX{}topo logos in my text. How?}
+
+ Use the commands: \verb|\TeXshade| and \verb|\TeXtopo|.
+
+
+\end{enumerate}
+
+
+
+\end{document} \ No newline at end of file