summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/texshade/AQP2spec.ALN6
-rw-r--r--Master/texmf-dist/doc/latex/texshade/AQPpro.MSF32
-rw-r--r--Master/texmf-dist/doc/latex/texshade/README4
-rw-r--r--Master/texmf-dist/doc/latex/texshade/texshade.pdfbin524908 -> 594129 bytes
-rw-r--r--Master/texmf-dist/source/latex/texshade/texshade.dtx3604
-rw-r--r--Master/texmf-dist/source/latex/texshade/texshade.ins4
-rw-r--r--Master/texmf-dist/tex/latex/texshade/texshade.def18
-rw-r--r--Master/texmf-dist/tex/latex/texshade/texshade.sty2505
-rw-r--r--Master/texmf-dist/tpm/texshade.tpm10
9 files changed, 5375 insertions, 808 deletions
diff --git a/Master/texmf-dist/doc/latex/texshade/AQP2spec.ALN b/Master/texmf-dist/doc/latex/texshade/AQP2spec.ALN
index 2c36822f0f8..8edd9e0ceff 100644
--- a/Master/texmf-dist/doc/latex/texshade/AQP2spec.ALN
+++ b/Master/texmf-dist/doc/latex/texshade/AQP2spec.ALN
@@ -1,10 +1,4 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% %%%%%
-%%%%% This is a minimal .ALN file--many sequence aligners can produce them %%%%%
-%%%%% %%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
AQP2bt SIAFSRAVLAEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLAIGTLVQALGHVSGA
AQP2cf SVAFSRAVFAEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLGIGTLVQALGHVSGA
AQP2dd SIAFSRAVFSEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLAIGTLVQALGHISGA
diff --git a/Master/texmf-dist/doc/latex/texshade/AQPpro.MSF b/Master/texmf-dist/doc/latex/texshade/AQPpro.MSF
index 815bb157d66..aef0f2b0e06 100644
--- a/Master/texmf-dist/doc/latex/texshade/AQPpro.MSF
+++ b/Master/texmf-dist/doc/latex/texshade/AQPpro.MSF
@@ -28,23 +28,23 @@ AQP4.PRO YITAQCLGAIIGAGILYLV..........TPPSVVGGLGVTTVHGNLTAGH.....GLLV
AQP5.PRO YVAAQLVGAIAGAGILYWL..........APLNARGNLAVNALNNNTTPGK.....AMVV
181 240
-AQP1.PRO EIIGTLQLVLCVLATTDR.RRRDLGGSAPLAIGLSV.ALGHLLAIDYTGCGINPARSFGS
-AQP2.PRO ELFLTMQLVLCIFASTDE.RRGDNLGSPALSIGFSV.TLGHLLGIYFTGCSMNPARSLAP
-AQP3.PRO QFIGTAALIVCVLAIVDPYNNPVPRGLEAFTVGLVVLVIGTSMGFN.SGYAVNPARDFGP
-AQP4.PRO ELIITFQLVFTIFASCDS.KRTDVTGSVALAIGFSV.AIGHLFAINYTGASMNPARSFGP
-AQP5.PRO ELILTFQLALCIFSSTDS.RRTSPVGSPALSIGLSV.TLGHLVGIYFTGCSMNPARSFGP
+AQP1.PRO EIIGTLQLVLCVLATTDR.RRRDLGGSAPLAIGLSVALGHLLAIDYTGCGINPARSFGSA
+AQP2.PRO ELFLTMQLVLCIFASTDE.RRGDNLGSPALSIGFSVTLGHLLGIYFTGCSMNPARSLAPA
+AQP3.PRO QFIGTAALIVCVLAIVDPYNNPVPRGLEAFTVGLVVLVIGTSMGFNSGYAVNPARDFGPR
+AQP4.PRO ELIITFQLVFTIFASCDS.KRTDVTGSVALAIGFSVAIGHLFAINYTGASMNPARSFGPA
+AQP5.PRO ELILTFQLALCIFSSTDS.RRTSPVGSPALSIGLSVTLGHLVGIYFTGCSMNPARSFGPA
241 300
-AQP1.PRO AVLTR..NFS.N......HWIFWVGPFIGSALAVL..IYDFILAPRSSDFTDRMK.....
-AQP2.PRO AVVTG..KFD.D......HWVFWIGPLVGAIIGSL..LYNYLLFPSAKSLQERL..AVLK
-AQP3.PRO RLFTALAGWGSEVFTTGQNW..WWVPIVSPLLGSIGGVFVYQL.................
-AQP4.PRO AVIMG..NWE.N......HWIYWVGPIIGAVLAGA..LYEYV.FCPDVELKRRLKEAFSK
-AQP5.PRO AVVMN..RFSPS......HWVFWVGPIVGAMLAAI..LYFYLLFPSSLSLHDRV..AVVK
+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 356
-AQP1.PRO .......VWTS.....GQVEEYDLDAD.......DINSRVEMKPK...........
-AQP2.PRO G.LEPDTDWEEREVRRRQ..SVELHSPQSLPRG...................SKA.
-AQP3.PRO ..................MIGCHLEQPPPSTEAENV.KLAHMKHKE.......QI.
-AQP4.PRO AAQQTKGSYMEVEDNRSQVETEDLILKPGVVHVIDIDRGDEKKGKDSSGEVLSSV.
-AQP5.PRO GTYEPEEDWEDHREERKK..TIELTAH.............................
+ 301 354
+AQP1.PRO ......VWTS.....GQVEEYDLDAD.......DINSRVEMKPK..........
+AQP2.PRO .LEPDTDWEEREVRRRQ..SVELHSPQSLPRG...................SKA
+AQP3.PRO .................MIGCHLEQPPPSTEAENV.KLAHMKHKE.......QI
+AQP4.PRO AQQTKGSYMEVEDNRSQVETEDLILKPGVVHVIDIDRGDEKKGKDSSGEVLSSV
+AQP5.PRO TYEPEEDWEDHREERKK..TIELTAH............................
diff --git a/Master/texmf-dist/doc/latex/texshade/README b/Master/texmf-dist/doc/latex/texshade/README
index 752a63a8538..0fca2e6ccd3 100644
--- a/Master/texmf-dist/doc/latex/texshade/README
+++ b/Master/texmf-dist/doc/latex/texshade/README
@@ -1,4 +1,4 @@
- TeXshade v1.12
+ TeXshade v1.15
>>
>> A LaTeX package for setting nucleotide and peptide alignments.
>>
@@ -26,7 +26,7 @@
>> ding modes. TeXshade combines highest flexibility and the
>> habitual TeX output quality--with reasonable time expenditure.
>>
- Copyright (C) 1999 - 2005 Eric Beitz
+ Copyright (C) 1999 - 2006 Eric Beitz
diff --git a/Master/texmf-dist/doc/latex/texshade/texshade.pdf b/Master/texmf-dist/doc/latex/texshade/texshade.pdf
index d4a4bcd4d81..3ac7cb76492 100644
--- a/Master/texmf-dist/doc/latex/texshade/texshade.pdf
+++ b/Master/texmf-dist/doc/latex/texshade/texshade.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/texshade/texshade.dtx b/Master/texmf-dist/source/latex/texshade/texshade.dtx
index d36d37f4aae..50faa1265d9 100644
--- a/Master/texmf-dist/source/latex/texshade/texshade.dtx
+++ b/Master/texmf-dist/source/latex/texshade/texshade.dtx
@@ -10,7 +10,7 @@
% `texshade.txt' for further information!
%
%
-% Copyright (C) 1999-2005 Eric Beitz
+% Copyright (C) 1999-2006 Eric Beitz
% See the file texshade.txt
%
% \fi
@@ -210,6 +210,61 @@
% 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.
+% }
+%
%
% \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
@@ -248,7 +303,7 @@
% for further information, updates and on-line documentation
% see my homepage at
% \texttt{http://homepages.uni-tuebingen.de/beitz/}}}
-% \date{v1.12; 2005/09/20\\}
+% \date{v1.15; 2006/06/27\\}
% \maketitle
% \begin{abstract}
% Setting alignments of nucleotides and peptides for publication
@@ -325,6 +380,50 @@
%
% \subsection{Version History}
%
+% \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 [13], 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}) [13].
+% \bigskip
+%
% \textbf{v1.12 2005/09/20}
% \medskip
%
@@ -342,7 +441,7 @@
% \textbf{v1.11 2005/04/13}
% \medskip
%
-% \emph{Corrections:} Bounding boxes with |\framebox| had a wrong
+% \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
@@ -411,8 +510,6 @@
% alignment\footnote{Inspired by Christoph Gille's {\tt STRAP}}.
% \bigskip
%
-% \newpage
-%
% \textbf{v1.7 2004/01/05}
% \medskip
%
@@ -469,8 +566,6 @@
% sequence lengths in the |.aux| file in order to have correct
% breaks of the gaps after the sequences.
% \bigskip
-%
-% \newpage
%
% \textbf{v1.4\&4a 2000/9/12 \& 2000/10/3}
% \medskip
@@ -695,14 +790,16 @@
%
%
%
-% \subsection{System requirements}
+% \subsection{System requirements} \label{require}
%
-% \TeXshade{} requires \LaTeXe{} and |color.sty| for shading.
+% \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 package can be downloaded from any
-% \TeX{} archive, e.g.\ |ftp.dante.de|; usually it is already
+% `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
@@ -711,16 +808,15 @@
% 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 as was default before.
+% loaded.
%
-% With the |[dvips]| option for example the output DVI-file
+% 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
-% |Ghostview| program which is
+% {\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,
-% e.\,g.\ Oz\TeX{} on the Macintosh. The option |pdftex| makes the
-% conversion to a PDF file easy etc.
+% standard \TeX{} viewers are to a certain extent \textsc{PostScript}
+% compatible.
% \bigskip
%
% \subsection{The \texttt{texshade} environment}
@@ -781,23 +877,47 @@
% 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
-% percentage.
+% percentage.\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}
+% }
%
% If you like, positions where all residues are identical can be
% shaded in a special color and the consensus can be shown with
-% or without shading according to the degree of conservation:\label{shadecons}
+% or without shading according to the degree of conservation:
+% \medskip\label{shadecons}
+%
+% \begin{texshade}{AQPpro.MSF}
+% \allmatchspecial
+% \setends{1}{80..112}
+% \showconsensus[ColdHot]{bottom}
+% \defconsensus{.}{lower}{upper}
+% \end{texshade}
%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
% \begin{texshade}{AQPpro.MSF}
% \allmatchspecial
% \setends{1}{80..112}
% \showconsensus[ColdHot]{bottom}
% \defconsensus{.}{lower}{upper}
% \end{texshade}
+% \end{verbatim}}
%
% \subsubsection{Similarity mode}
%
@@ -821,8 +941,20 @@
% 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
+% \medskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[allmatchspecial]{similar}
+% \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[allmatchspecial]{similar}
% \setends{1}{80..112}
@@ -830,6 +962,7 @@
% \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 VMS/Unix and DOS public domain program
@@ -856,10 +989,31 @@
% \begin{texshade}{AQP2spec.ALN}
% \seqtype{P}
% \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}
+% \seqtype{P}
+% \shadingmode{diverse}
% \setends{1}{77..109}
% \featureslarge
% \feature{top}{1}{77..109}{}{AQP2 species variants}
-% \namesrm\namesit
+% \namesrm\namessl
% \hidenumbering\showruler{top}{1}
% \shownames{left}
% \nameseq{1}{Bos taurus}
@@ -869,6 +1023,7 @@
% \nameseq{5}{Elephas maximus}
% \frameblock{1}{82..82,106..106}{Red[1pt]}
% \end{texshade}\label{frame}
+% \end{verbatim}}
%
%
% \subsubsection{Functionality modes}
@@ -888,55 +1043,111 @@
% (7.4) are shaded if their number at a position
% is higher than the threshold \label{charge}
%
-% \begin{texshade}{AQPpro.MSF}
-% \shadingmode[charge]{functional}
-% \setends{1}{138..170}
-% \feature{top}{3}{153..165}{bar[-50,50]:-50,-45,-40,-30,-20,-10,0,10,20,30,%
-% 40,45,50}{}
-% \feature{top}{3}{167..186}{color:5,10,15,20,25,30,35,40,45,50,55,%
-% 60,65,70,75,80,85,90,95,100[ColdHot]}{}
-% \showlegend
-% \end{texshade}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[charge]{functional}
+% \setends{1}{138..170}
+% \feature{top}{3}{153..165}{bar[-50,50]:-50,-45,%
+% -40,-30,-20,-10,0,10,20,30,40,45,50}{}
+% \feature{top}{3}{167..186}{color:5,10,15,20,25,30,35,%
+% 40,45,50,55,60,65,70,75,80,85,90,95,100[ColdHot]}{}
+% \showlegend
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[charge]{functional}
+% \setends{1}{138..170}
+% \feature{top}{3}{153..165}{bar[-50,50]:-50,-45,%
+% -40,-30,-20,-10,0,10,20,30,40,45,50}{}
+% \feature{top}{3}{167..186}{color:5,10,15,20,25,30,35,%
+% 40,45,50,55,60,65,70,75,80,85,90,95,100[ColdHot]}{}
+% \showlegend
+% \end{texshade}
+% \end{verbatim}}
%
% \item [\textbf{hydropathy}:] discrimination between acidic and
% basic, polar uncharged and hydrophobic nonpolar residues
% \label{hydro}
%
-% \begin{texshade}{AQPpro.MSF}
-% \shadingmode[hydropathy]{functional}
-% \feature{top}{1}{158..163}{brace}{tinted}
-% \tintblock{1}{158..163}
-% \setends{1}{138..170}
-% \showlegend
-% \end{texshade}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[hydropathy]{functional}
+% \feature{top}{1}{158..163}{brace}{tinted}
+% \tintblock{1}{158..163}
+% \setends{1}{138..170}
+% \showlegend
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[hydropathy]{functional}
+% \feature{top}{1}{158..163}{brace}{tinted}
+% \tintblock{1}{158..163}
+% \setends{1}{138..170}
+% \showlegend
+% \end{texshade}
+% \end{verbatim}}
%
%
% \item [\textbf{structure}:] displays the potential
% localization within the tertiary structure of
% the protein \label{struc}
%
-% \begin{texshade}{AQPpro.MSF}
-% \shadingmode[structure]{functional}
-% \setends{1}{138..170}
-% \feature{top}{1}{138..157}{box[Blue,Red][0.5pt]: %
-% $\alpha$-helix[Yellow]}{transmembrane domain 4}
-% \feature{top}{1}{158..163}{translate[Blue]}{}
-% \backtranslabel{oblique}
-% \feature{bottom}{1}{158..163}{brace[Blue]}{loop D [Blue]}
-% \feature{top}{1}{164..170}{o->[Red]}{trans. dom. 5}
-% \showlegend
-% \end{texshade}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[structure]{functional}
+% \setends{1}{138..170}
+% \feature{top}{1}{138..157}{box[Blue,Red][0.5pt]: %
+% $\alpha$-helix[Yellow]}{transmembrane domain 4}
+% \feature{top}{1}{158..163}{translate[Blue]}{}
+% \backtranslabel{oblique}
+% \feature{bottom}{1}{158..163}{brace[Blue]}{loop D [Blue]}
+% \feature{top}{1}{164..170}{o->[Red]}{trans. dom. 5}
+% \showlegend
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[structure]{functional}
+% \setends{1}{138..170}
+% \feature{top}{1}{138..157}{box[Blue,Red][0.5pt]: %
+% $\alpha$-helix[Yellow]}{transmembrane domain 4}
+% \feature{top}{1}{158..163}{translate[Blue]}{}
+% \backtranslabel{oblique}
+% \feature{bottom}{1}{158..163}{brace[Blue]}{loop D [Blue]}
+% \feature{top}{1}{164..170}{o->[Red]}{trans. dom. 5}
+% \showlegend
+% \end{texshade}
+% \end{verbatim}}
%
%
% \item [\textbf{chemical}:] residues are shaded due to chemical
% properties of
% their functional groups \label{chem}
%
-% \begin{texshade}{AQPpro.MSF}
-% \shadingmode[chemical]{functional}
-% \setends{1}{138..170}
-% \showlegend
-% \end{texshade}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[chemical]{functional}
+% \setends{1}{138..170}
+% \showlegend
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[chemical]{functional}
+% \setends{1}{138..170}
+% \showlegend
+% \end{texshade}
+% \end{verbatim}}
%
% With |\shadeallresidues| \label{Lshadeallresidues} the
% threshold is ignored and
@@ -945,11 +1156,47 @@
% where only the majority group would be shaded. See the
% difference:
%
-% \begin{texshade}{AQPpro.MSF}
-% \shadingmode[chemical]{functional}
-% \setends{1}{138..170}
-% \shadeallresidues
-% \end{texshade}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[chemical]{functional}
+% \setends{1}{138..170}
+% \shadeallresidues
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[chemical]{functional}
+% \setends{1}{138..170}
+% \shadeallresidues
+% \end{texshade}
+% \end{verbatim}}
+%
+%
+% \item [\textbf{rasmol}:] similar to |[chemical]| but with
+% shading following the rasmol
+% color scheme \label{ras}
+%
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[rasmol]{functional}
+% \setends{1}{138..170}
+% \shadeallresidues
+% \showlegend
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[rasmol]{functional}
+% \setends{1}{138..170}
+% \shadeallresidues
+% \showlegend
+% \end{texshade}
+% \end{verbatim}}
+%
%
%
% \item [\textbf{standard area}:] this shading displays the
@@ -957,12 +1204,24 @@
% area \label{starea}
% of the different amino acid's sidechains
%
-% \begin{texshade}{AQPpro.MSF}
-% \shadingmode[standard area]{functional}
-% \setends{1}{138..170}
-% \showlegend
-% \shadeallresidues
-% \end{texshade}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[standard area]{functional}
+% \setends{1}{138..170}
+% \showlegend
+% \shadeallresidues
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[standard area]{functional}
+% \setends{1}{138..170}
+% \showlegend
+% \shadeallresidues
+% \end{texshade}
+% \end{verbatim}}
%
% \item [\textbf{accessible area}:] \label{accarea}
% here, the surface area which can
@@ -973,15 +1232,31 @@
% sidechains are hydrophilic (compare to
% \textbf{hydropathy} and \textbf{structure})
%
-% \begin{texshade}{AQPpro.MSF}
-% \shadingmode[accessible area]{functional}
-% \setends{1}{138..170}
-% \showlegend
-% \feature{top}{1}{138..157,164..170}{helix}{membr.}
-% \feature{top}{1}{158..163}{---}{loop}
-% \featurerule{1mm}
-% \shadeallresidues
-% \end{texshade}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[accessible area]{functional}
+% \setends{1}{138..170}
+% \showlegend
+% \feature{top}{1}{138..157,164..170}{helix}{membr.}
+% \feature{top}{1}{158..163}{---}{loop}
+% \featurerule{1mm}
+% \shadeallresidues
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \shadingmode[accessible area]{functional}
+% \setends{1}{138..170}
+% \showlegend
+% \feature{top}{1}{138..157,164..170}{helix}{membr.}
+% \feature{top}{1}{158..163}{---}{loop}
+% \featurerule{1mm}
+% \shadeallresidues
+% \end{texshade}
+% \end{verbatim}}
+%
% \end{itemize}
%
%
@@ -999,16 +1274,32 @@
% molecular weight are shown (scale, bottom), and hydrophobicity (bars, bottom).
%
%
-% \begin{texshade}{AQPpro.MSF}
-% \setends{1}{138..170}
-% \feature{ttop}{1}{138..170}{bar:conservation}{}
-% \ttopspace{-\baselineskip}
-% \feature{top}{1}{138..170}{color:charge}{}
-% \feature{bottom}{1}{138..170}{color:molweight[ColdHot]}{}
-% \bbottomspace{-\baselineskip}
-% \feature{bbottom}{1}{138..170}{bar:hydrophobicity[Red,Gray10]}{}
-% \hideconsensus
-% \end{texshade}
+% \begin{texshade}{AQPpro.MSF}
+% \setends{1}{138..170}
+% \feature{ttop}{1}{138..170}{bar:conservation}{}
+% \ttopspace{-\baselineskip}
+% \feature{top}{1}{138..170}{color:charge}{}
+% \feature{bottom}{1}{138..170}{color:molweight[ColdHot]}{}
+% \bbottomspace{-\baselineskip}
+% \feature{bbottom}{1}{138..170}{bar:hydrophobicity[Red,Gray10]}{}
+% \hideconsensus
+% \end{texshade}
+%
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \setends{1}{138..170}
+% \feature{ttop}{1}{138..170}{bar:conservation}{}
+% \ttopspace{-\baselineskip}
+% \feature{top}{1}{138..170}{color:charge}{}
+% \feature{bottom}{1}{138..170}{color:molweight[ColdHot]}{}
+% \bbottomspace{-\baselineskip}
+% \feature{bbottom}{1}{138..170}{bar:hydrophobicity[Red,Gray10]}{}
+% \hideconsensus
+% \end{texshade}
+% \end{verbatim}}
%
%
%
@@ -1047,7 +1338,7 @@
% 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 the publication of \textsc{Kai-Uwe Fr\"ohlich} [6].
+% was inspired by a publication by \textsc{Kai-Uwe Fr\"ohlich} [6].
% \medskip
%
% \begin{texshade}{AQPpro.MSF}
@@ -1055,15 +1346,30 @@
% \shadingcolors{grays}
% \fingerprint{360}
% \showlegend
-% \feature{top}{1}{13..36,51..68,94..112,138..156,165..185,211..232}{,-,}{TM}
+% \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
%
%
-% \medskip
% \begin{texshade}{AQPpro.MSF}
% \shadingmode[charge]{functional}
% \shadeallresidues
@@ -1071,14 +1377,174 @@
% \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}
%
-% A fingerprint of charge distribution on different aquaporins.
-% Sequence gaps can be left blank (first example) or drawn as lines
-% between the sequence blocks (shown here).
+% Code:\medskip
+%
+% \vbox{%
+% \begin{verbatim}
+% \begin{texshade}{AQPpro.MSF}
+% \setends{AQP3.PRO}{203..235}
+% \showsequencelogo{top} \showlogoscale{leftright}
+% \hideseqs
+% \residuesperline*{33}
+% \defconsensus{{$\bullet$}}{{$\bullet$}}{{$\bullet$}}
+% \showconsensus[ColdHot]{bottom}
+% \nameconsensus{conservation} \namessf\namessl
+% \showruler{bottom}{AQP3.PRO} \rulersteps{1}
+% \feature{top}{AQP3.PRO}{208..210}{---}{NPA}
+% \feature{top}{AQP3.PRO}{211..219}{helix}{}
+% \feature{top}{AQP3.PRO}{220..232}{brace}{loop E}
+% \feature{top}{AQP3.PRO}{233..235}{helix}{TM6}
+% \feature{bottom}{AQP3.PRO}{203..235}{brace}{1-step numbering}
+% \end{texshade}
+% \end{verbatim}}
%
+% The same logo is shown below but with frequence correction turned
+% on (|\dofrequencycorrection|), see p.\pageref{Lshowsequencelogo}.
+% This takes into account the difference between the amino acid
+% distribution in the alignment and the equal distribution of
+% 5\% for each residue.
+% \medskip
+%
+% \begin{texshade}{AQPpro.MSF}
+% \setends{AQP3.PRO}{203..235}
+% \showsequencelogo{top} \showlogoscale{leftright}
+% \hideseqs
+% \residuesperline*{33}
+% \defconsensus{{$\bullet$}}{{$\bullet$}}{{$\bullet$}}
+% \showconsensus[ColdHot]{bottom}
+% \nameconsensus{conservation} \namessf\namessl
+% \showruler{bottom}{AQP3.PRO} \rulersteps{1}
+% \feature{top}{AQP3.PRO}{208..210}{---}{NPA}
+% \feature{top}{AQP3.PRO}{211..219}{helix}{}
+% \feature{top}{AQP3.PRO}{220..232}{brace}{loop E}
+% \feature{top}{AQP3.PRO}{233..235}{helix}{TM6}
+% \feature{bottom}{AQP3.PRO}{203..235}{brace}{1-step numbering}
+% \dofrequencycorrection
+% \end{texshade}
%
+%
+% \subsection{Subfamily logos}
+%
+% \label{sublogo}
+%
+% The following output is derived from the calculation of a
+% subfamily logo [13]. 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 sequence 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 alignment outputs}
+%
+%
+%
+% \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
@@ -1634,7 +2100,7 @@
% used to redefine the |diverse| mode settings (mind the double
% curly braces around the dot-symbol!).
%
-% \item |\shadingmode[|\meta{type}|]{functional}|
+% \item |\shadingmode[|\meta{type}|]{functional}|\label{funcdef}
% There are six different functional shading modes available for
% peptide sequences; nucleotide sequences can not be shaded due
% to functional aspects. Four of \TeXshade's functional modes
@@ -1659,10 +2125,15 @@
% G, P, S, T, W, Y).
%
% \item \meta{type} = |chemical|\quad Acidic (D, E), aliphatic
-% (A, G, I, L, V), amide (N, Q), aromatic
+% (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
@@ -1918,6 +2389,146 @@
% match red symbols on green ground are displayed in the
% consensus line.
%
+% \subsection{Display of logos}
+%
+% \subsubsection{Sequence logos}
+%
+% \label{Lshowsequencelogo}\label{Lhidesequencelogo}
+% In a sequence logo [7], the information content $I(P_i)$ of
+% each alignment position $i$ is defined as
+%
+% \[
+% I(P_i) = \log_2 \vert\Sigma\vert + \sum P_{ij} \cdot \log_2 P_{ij}
+% \]
+%
+% \noindent
+% with $\vert\Sigma\vert$ being the cardinality of the used alphabet,
+% i.\,e. 4 for DNA and 20 for protein sequences, and $P_{ij}$
+% being the frequency of residue $j$ at this position. Each position
+% is displayed as a stack of residue symbols whose heights
+% represent their proportion of the information content (example on
+% p.\pageref{logo}).
+%
+% The display of sequence logos can be either on the top or at the bottom
+% of a nucleotide or protein alignment. Logos will be shown after the
+% command: |\showsequencelogo[|\meta{colorset}|]{|\meta{top/bottom}|}|. If no optional
+% \meta{colorset} is selected the residues will be shaded as follows:\medskip
+%
+% \begin{itemize}
+% \item Nucleotide sequences
+%
+% \begin{itemize}
+% \item[G]: Black
+% \item[A]: Green
+% \item[T,U]: Red
+% \item[C]: Blue
+% \end{itemize}
+%
+%
+% \item Protein sequences (similar to rasmol)
+%
+% \begin{itemize}
+% \item[D,E]: Red
+% \item[C,M]: Yellow
+% \item[K,R]: Blue
+% \item[S,T]: Orange
+% \item[F,Y]: MidnightBlue
+% \item[N,Q]: Cyan
+% \item[G]: LightGray
+% \item[L,V,I]: Green
+% \item[A]: DarkGray
+% \item[W]: CarnationPink
+% \item[H]: CornflowerBlue
+% \item[P]: Apricot
+% \item[B,Z]: LightMagenta
+% \end{itemize}
+% \end{itemize}
+%
+% Optional color sets correspond to the functional shading modes
+% |chemical|, |rasmol|, |hydropathy|, |structure|, |standard area|,
+% |accessible area| (see p.\pageref{funcdef}). The |\showsequencelogo|
+% command can be reversed by |\hidesequencelogo|.
+%
+% \label{Llogocolor}\label{Lclearlogocolors}
+% Logo colors can be turned to `Black' with the command
+% |\clearlogocolors[|\meta{color}|}| with the optional parameter
+% not set. The optional parameter can be used to set all
+% residue colors to \meta{color}, e.g.\ |\clearlogocolors[Blue]|.
+% User specific logo color sets are defined by using
+% |\logocolor{|\meta{residues}|}{|\meta{color}|}|, e.g.\
+% |\logocolor{DE}{Red} \logocolor{CM}{Yellow}| etc.
+%
+% \label{Ldofrequencycorrection}\label{Lundofrequencycorrection}
+% It is common practice for protein sequence logos to correct
+% amino acid frequencies to the background frequency in the
+% alignment, which usually differs from the equal distribution
+% of 5\% for each residue. Frequency correction can be turned on
+% by |\dofrequencycorrection| and off by |\undofrequencycorrection|.
+%
+% \label{Llogostretch}The vertical extent of the logo can be changed by
+% |\logostretch{|\meta{factor}|}|, e.g.\ |\logostretch{1.5}|.
+% The width of the logo characters is dependent on the character
+% width set for the alignment, see |\charstretch| on p.\pageref{Lcharstretch}.
+%
+% \label{Lshowlogoscale}\label{Lhidelogoscale}Finally, the bit-scale
+% can be turned off and on using |\hidelogoscale| and
+% |\showlogoscale[|\meta{color}|]{|\meta{position}|}|, respectively, with
+% \meta{position} |left|, |right|, or |leftright| and an optional
+% \meta{color}.
+% \label{Lnamesequencelogo}
+% A name for the sequence logo can be set, which is displayed
+% next to the scale by |\namesequencelogo{|\meta{name}|}|.
+%
+%
+% \subsubsection{Subfamily logos}
+%
+% Subfamily logos provide a novel tool to visualize
+% subfamily-specific sequence deviations at alignment positions with
+% a high information content in an intuitive way [13].
+%
+% 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}
@@ -1926,19 +2537,26 @@
% \label{Lshownames}\label{Lshownumbering}
% Many parameters that influence the appearance of the actual sequence
% lines can be changed for customization.
-% Thus, the sequence names and
-% numbering can be shown and placed either left or right by
+% Thus, the sequence names can be shown colored via \meta{color}
+% either left or right by
% \medskip
%
-% \quad|\shownames{|\meta{position}|}|
+% \quad|\shownames[|\meta{color}|]{|\meta{position}|}|
% \medskip
-%
-% \quad|\shownumbering{|\meta{position}|}|
+%
+% with \meta{position} set to |left| or |right|. The numbering can be
+% displayed either left or right and even on both sides by
% \medskip
%
-% with \meta{position} set to |left| or |right|. Both, names and
-% numbering can be displayed on the same side.
+% \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
@@ -1961,9 +2579,6 @@
% The basis for the \meta{seqref} is the appearance in
% the alignment input file with the top sequence = 1, or the old
% name.
-% \label{Lnamescolor}\label{Lnumberingcolor}
-% The colors are set by |\namescolor{|\meta{color}|}| and
-% |\numberingcolor{|\meta{color}|}|, respectively.
% \label{Lnamecolor}\label{Lnumbercolor}
% In order to change the colors only of some sequence names or numbers
% the commands
@@ -1981,16 +2596,18 @@
%
% |\hidenumber{|\meta{seq1}|, ... ,|\meta{seq n}|}|, respectively.
%
-% \label{Lstartnumber}
+% \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{seqref}|}{|\meta{first residue number}|}|
% allows one to set the starting number of any sequence to any value
-% incl.\ negative values but except `0' which is not used in
+% 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).
+% 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|.
%
% \label{Lseqlength}
% \TeXshade{} needs to know the correct length of the sequences
@@ -2065,16 +2682,21 @@
%
% \label{Lshowruler}\label{Lhideruler}
% \label{Lrulersteps}\label{Lrulercolor}
+% \label{Lrotateruler}\label{Lunrotateruler}
% 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{position}|}{|\meta{seqref}|}|.
+% |\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}|}|. In order to change the
-% color which is used for the ruler write
+% 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}|}|.
%
% \label{Lgapchar}\label{Lgaprule}
@@ -2109,7 +2731,7 @@
%
% \label{kill}
%
-% \label{Lhideseq}\label{Lkillseq}
+% \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
@@ -2119,8 +2741,11 @@
% 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|. In order to completely exclude
-% sequences the command
+% 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
@@ -2462,7 +3087,7 @@
% 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 giving notice to me about this problem}:
+% Darrell Conklin for reporting this problem}:
%
% \begin{center}
% \begin{tabular}{cll}
@@ -2554,13 +3179,15 @@
% 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]}|.
+% |{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 the more modern looking
+% 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
+% 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).
@@ -2862,7 +3489,7 @@
% \label{LincludePHDsec}
% \label{LincludePHDtopo}
% \label{LincludeHMMTOP}
-% The DSSP [7], STRIDE [8], PHD [9] and HMMTOP [10] algorithms produce
+% The DSSP [8], STRIDE [9], PHD [10] and HMMTOP [11] 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:
@@ -2949,7 +3576,7 @@
% to be used:
% \medskip
%
-% |\includeHMMTOP{|\meta{seqref in texshade}|[|\meta{seqref in file}|]{|\meta{filename}|}|
+% |\includeHMMTOP{|\meta{seqref in texshade}|[|\meta{seqref in file}|]}{|\meta{filename}|}|
% \medskip
%
% PHD predictions: when starting the PHD software do not
@@ -3242,7 +3869,7 @@
% |\ttdefault|.
%
% For further information see \textsc{Tomas Rokicki}'s
-% |dvips| manual [11].
+% |dvips| manual [12].
%
%
%
@@ -3551,6 +4178,7 @@
% \>Black \> White \> no match \\
% \>White \> Red \> acidic \\
% \>White \> Black \> aliphatic \\
+% \>White \> Gray \> aliphatic (small) \\
% \>White \> Green \> amide \\
% \>White \> Brown \> aromatic \\
% \>White \> Blue \> basic \\
@@ -3560,6 +4188,24 @@
% \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
%
@@ -3572,6 +4218,7 @@
% \end{tabbing}
% \medskip
%
+% \newpage
% Functional mode \emph{standard area}:
% \medskip
%
@@ -3590,7 +4237,6 @@
% \end{tabbing}
% \medskip
%
-% \newpage
% Functional mode \emph{accessible area}:
% \medskip
%
@@ -3655,6 +4301,7 @@
% & & |hydropathy| \\
% & & |structure| \\
% & & |chemical| \\
+% & & |rasmol| \\
% & & |standard area| \\
% & & |accessible area| \\ \hline
% \end{tabular}
@@ -3686,7 +4333,6 @@
%
% \vspace{1.5\baselineskip}
%
-% \newpage
% \textbf{Residue grouping}
% \medskip
%
@@ -3725,7 +4371,7 @@
% \quad|\constosingleseq{|\meta{seqref}|}|
% \hfill[\pageref{Lconstosingleseq}]
%
-% \quad|\showconsensus[|\meta{color/scale}|[,|\meta{color/scale}|]]{|\meta{position}|}|
+% \quad|\showconsensus[|\meta{color/scale}|[,|\meta{color/scale}|]]{|\meta{top/bot.}|}|
% \hfill[\pageref{Lshowconsensus}]
%
% \quad|\hideconsensus|
@@ -3737,7 +4383,7 @@
% \quad|\defconsensus{|\meta{symbol1}|}{|\meta{symbol2}|}{|\meta{symbol3}|}|
% \hfill[\pageref{Ldefconsensus}]
%
-% \vspace*{-\baselineskip}
+% \vspace*{-0.5\baselineskip}
%
% \begin{tabbing}
% \quad|\consensuscolors|\=|{|\meta{res.col.1}|}{|\meta{shad.col.1}|}|\\
@@ -3748,13 +4394,81 @@
% \hspace{1.2in}[\pageref{Lconsensuscolors}]\\
% \end{tabbing}
%
+% \textbf{Sequence logos}
+% \medskip
+%
+% \quad|\showsequencelogo[|\meta{colorset}|]{|\meta{top/bottom}|}|
+% \hfill[\pageref{Lshowsequencelogo}]
+%
+% \quad|\hidesequencelogo|
+% \hfill[\pageref{Lhidesequencelogo}]
+%
+% \quad|\clearlogocolors[|\meta{color}|]|
+% \hfill[\pageref{Lclearlogocolors}]
+%
+% \quad|\logocolor{|\meta{residues}|}{|\meta{color}|}|
+% \hfill[\pageref{Llogocolor}]
+%
+% \quad|\showlogoscale[|\meta{color}|]{|\meta{left/right/leftright}|}|
+% \hfill[\pageref{Lshowlogoscale}]
+%
+% \quad|\hidelogoscale|
+% \hfill[\pageref{Lhidelogoscale}]
+%
+% \quad|\logostretch{|\meta{factor}|}|
+% \hfill[\pageref{Llogostretch}]
+%
+% \quad|\namesequencelogo{|\meta{name}|}|
+% \hfill[\pageref{Lnamesequencelogo}]
+%
+% \quad|\dofrequencycorrection|
+% \hfill[\pageref{Ldofrequencycorrection}]
+%
+% \quad|\undofrequencycorrection|
+% \hfill[\pageref{Lundofrequencycorrection}]
+%
+% \vspace{1.5\baselineskip}
+%
+% \textbf{Subfamily logos}
+% \medskip
+%
+% \quad|\showsubfamilylogo[|\meta{colorset}|]{|\meta{top/bottom}|}|
+% \hfill[\pageref{Lshowsubfamilylogo}]
+%
+% \quad|\hidesubfamilylogo|
+% \hfill[\pageref{Lhidesubfamilylogo}]
+%
+% \quad|\setsubfamily{|\meta{seqrefs}|}|
+% \hfill[\pageref{Lsetsubfamily}]
+%
+% \quad|\shownegatives[|\meta{weak, medium, strong}|]|
+% \hfill[\pageref{Lshownegatives}]
+%
+% \quad|\hidenegatives|
+% \hfill[\pageref{Lhidenegatives}]
+%
+% \quad|\namesubfamilylogo[|\meta{neg.name}|]{|\meta{name}|}|
+% \hfill[\pageref{Lnamesubfamilylogo}]
+%
+% \quad|\relevance{|\meta{bit-value}|}|
+% \hfill[\pageref{Lrelevance}]
+%
+% \quad|\showrelevance[|\meta{color}|]{|\meta{symbol}|}|
+% \hfill[\pageref{Lshowrelevance}]
+%
+% \quad|\hiderelevance|
+% \hfill[\pageref{Lhiderelevance}]
+%
+%
+% \vspace{1.5\baselineskip}
+%
% \textbf{Appearance of the sequence lines}
% \medskip
%
-% \quad|\shownames{|\meta{position}|}|
+% \quad|\shownames[|\meta{color}|]{|\meta{left/right}|}|
% \hfill[\pageref{Lshownames}]
%
-% \quad|\shownumbering{|\meta{position}|}|
+% \quad|\shownumbering[|\meta{color}|]{|\meta{left/right/leftright}|}|
% \hfill[\pageref{Lshownumbering}]
%
% \quad|\nameseq{|\meta{seqref}|}{|\meta{name}|}|
@@ -3793,13 +4507,19 @@
% \quad|\startnumber{|\meta{seqref}|}{|\meta{first residue number}|}|
% \hfill[\pageref{Lstartnumber}]
%
+% \quad|\allowzero|
+% \hfill[\pageref{Lallowzero}]
+%
+% \quad|\disallowzero|
+% \hfill[\pageref{Lallowzero}]
+%
% \quad|\seqlength{|\meta{seqref}|}{|\meta{length}|}|
% \hfill[\pageref{Lseqlength}]
%
% \quad|\setends{|\meta{seqref}|}{|\meta{startnumber}|..|\meta{stopnumber}|}|
% \hfill[\pageref{Lsetends}]
%
-% \quad|\showruler{|\meta{position}|}{|\meta{seqref}|}|
+% \quad|\showruler[|\meta{color}|]{|\meta{top/bottom}|}{|\meta{seqref}|}|
% \hfill[\pageref{Lshowruler}]
%
% \quad|\rulersteps{|\meta{number}|}|
@@ -3811,6 +4531,12 @@
% \quad|\hideruler|
% \hfill[\pageref{Lhideruler}]
%
+% \quad|\rotateruler|
+% \hfill[\pageref{Lrotateruler}]
+%
+% \quad|\unrotateruler|
+% \hfill[\pageref{Lunrotateruler}]
+%
% \quad|\gapchar{|\meta{symbol}|}|
% \qquad (incl. |rule|) \hfill [\pageref{Lgapchar}]
%
@@ -3829,11 +4555,17 @@
% \vspace{1.5\baselineskip}
%
% \textbf{Hiding, killing, separating and ordering}
-% \medskip\enlargethispage{20pt}
+% \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}]
%
@@ -3899,13 +4631,12 @@
% \quad|\fixblockspace|
% \hfill[\pageref{Lfixblockspace}]
%
-% \quad|\alignment{|\meta{position}|}|
+% \quad|\alignment{|\meta{left/center/right}|}|
% \hfill[\pageref{Lalignment}]
%
% \vspace{1.5\baselineskip}
%
%
-% \newpage
% \textbf{Individual shading and labeling of sequence stretches}
% \medskip
%
@@ -3991,7 +4722,7 @@
% \hfill[\pageref{Lbargraphstretch}]
%
% \quad|\colorscalestretch{|\meta{factor}|}|
-% \hfill[\pageref{Lcolorgrahstretch}]
+% \hfill[\pageref{Lcolorscalestretch}]
%
% \quad|\codon{|\meta{amino acid}|}{|\meta{triplet1,\ldots, triplet n}|}|
% \hfill[\pageref{Lcodon}]
@@ -4090,7 +4821,6 @@
%
% \vspace{1.5\baselineskip}
%
-% \newpage
%
% \textbf{Displaying and building legends}
% \medskip
@@ -4115,11 +4845,12 @@
%
% \vspace{1.5\baselineskip}
%
+% \newpage
%
% \textbf{Adding captions to the alignment}
% \medskip
%
-% \quad|\showcaption[|\meta{position}|]{|\meta{text}|}|
+% \quad|\showcaption[|\meta{top/bottom}|]{|\meta{text}|}|
% \hfill[\pageref{Lshowcaption}]
%
% \quad|\shortcaption{|\meta{text}|}|
@@ -4175,6 +4906,7 @@
% legend texts (|legendrm| etc.).
% \bigskip
%
+%
% \textbf{Goodies---molweight and charge}
% \medskip
%
@@ -4218,27 +4950,35 @@
% \newblock \textit{Comput. Applic. Biosci.}:
% \textbf{10}, 179--183.
%
-% [7] \textsc{Kabsch, W.; Sander, C.} (1983) Dictionary of
+% [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] \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.
%
-% [8] \textsc{Frishman, D.; Argos, P.} (1995) Knowledge-based
+% [9] \textsc{Frishman, D.; Argos, P.} (1995) Knowledge-based
% protein secondary structure assignment.
% \newblock \textit{Proteins: structure, function and
% genetics}: \textbf{23}, 566--579.
%
-% [9] \textsc{Rost, B.; Sander, C.} (1994)
+% [10] \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.
%
-% [10] \textsc{Tusnady, G.E.; Simon, I.} (2001)
+% [11] \textsc{Tusnady, G.E.; Simon, I.} (2001)
% The HMMTOP transmembrane topology prediction server.
% \newblock \textit{Bioinformatics}: \textbf{17}, 849-850.
%
-% [11] \textsc{Rokicki, T.} DVIPS: A \TeX{} driver.
+% [12] \textsc{Rokicki, T.} DVIPS: A \TeX{} driver.
+%
+% [13] \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}
@@ -4267,15 +5007,17 @@
% \begin{macrocode}
%<*texshade>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{texshade}[2005/04/13 LaTeX TeXshade (v1.12)]
-\message{Package `texshade', Version 1.12 of 2005/09/20.}
+\ProvidesPackage{texshade}[2006/06/27 LaTeX TeXshade (v1.15)]
+\message{Package `texshade', Version 1.15 of 2006/06/27.}
\PassOptionsToPackage{dvips}{color}
+\PassOptionsToPackage{dvips}{graphicx}
\DeclareOption*{%
\PassOptionsToPackage{\CurrentOption}{color}%
+ \PassOptionsToPackage{\CurrentOption}{graphicx}%
}
\ProcessOptions
-\RequirePackage{color}
+\RequirePackage{color,graphics}
\expandafter\ifx\csname TeXshade\endcsname\relax \else \endinput \fi
@@ -4294,8 +5036,19 @@
\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\alignfile \newread\sublogofile
\expandafter\ifx\csname blacktriangleright\endcsname\relax
\openin\structurefile = amssymb.sty
@@ -4311,41 +5064,47 @@
\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 \expandafter\newcount\csname res@count0\endcsname
+\newcount\cons@count \newcount\total@count
\newcount\temp@count \newcount\triple@count
+\newcount\pos@sum
\newlength\box@width \newlength\name@width
\newlength\box@depth \newlength\width@tmp
\newlength\box@height \newlength\number@width
-\newlength\char@stretch \newlength\line@stretch
+\newlength\line@stretch
\newlength\center@fill \newlength\arrow@width
\newlength\arrow@height \newlength\rule@thick
-\newlength\arrow@thick
+\newlength\arrow@thick \newlength\logo@height
\newlength\equal@width \newlength\equal@tmp
\newlength\equal@height \newlength\temp@@length
\newlength\vspace@legend
\newlength\hspace@legend
-\newif\ifletter \newif\ifnumber
-\newif\ifnewres \newif\ifall@shade
-\newif\ifnames@right \newif\ifnumbers@left
-\newif\ifhide@cons \newif\ifshow@cons
-\newif\iffuncmode \newif\iflegend@
-\newif\ifnumbers@ \newif\ifnames@
-\newif\ifgerm@n \newif\ifsp@nish
+\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\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\ifall@fshade \newif\ifregionalemph
-\newif\ifframe@ \newif\ifregionaltint
-\newif\ifhidechar \newif\ifsh@wg@ps
+\newif\ifnosh@de \newif\ifregionalshade
+\newif\ifstart@ \newif\ifstop@
+\newif\iftopfeature \newif\ifbottomfeature
+\newif\ifttopfeature \newif\ifbbottomfeature
+\newif\ifall@fshade \newif\ifregionalemph
+\newif\ifframe@ \newif\ifregionaltint
+\newif\ifshow@logo \newif\ifshow@sublogo
+\newif\ifhidechar \newif\ifsh@wg@ps
\newif\ifsimmode
\newif\ifregionaltintnow
\newif\ifregionalemphnow
@@ -4379,7 +5138,255 @@
\expandafter\def\csname funcm@tch*\endcsname{upper}
\setlength\hspace@legend{0pt} \setlength\vspace@legend{0pt}
-\triple@count=0 \cons@count=0
+
+\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}
@@ -4939,6 +5946,7 @@
\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}
@@ -5162,7 +6170,7 @@
\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@{\def\seq@type{#3}}
+\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}
@@ -5184,18 +6192,26 @@
\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\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\firstchar@get#1#2@{\def\first@{#1} \def\third@{#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}
- \ifnum`#1>96 \make@upper \fi
- \ifnum`#1=45 \xdef\first@{\d@t} \fi
+ \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\sublogo@get#1 @{\xdef\first@{#1}}
\def\re@write#1,#2@{%
\xdef\third@{#2,@}
\xdef\first@{\csname hide@@@seq#1\endcsname}
@@ -5210,8 +6226,8 @@
\def\order@set#1,#2@{%
\xdef\second@{#2,@}
\expandafter\xdef\csname @rd#1\endcsname{\the\loopcount}
- \csname res@count\the\loopcount\endcsname=%
- \csname pos#1\endcsname
+ \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{%
@@ -5253,8 +6269,8 @@
\loopcount=0
\loop
\advance\loopcount by 1
- \csname pos\the\loopcount\endcsname=%
- \csname res@count\the\loopcount\endcsname
+ \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{%
@@ -5312,11 +6328,12 @@
\loopcount=0
\loop
\advance\loopcount by 1
- \csname pos\the\loopcount\endcsname=0
+ \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
@@ -5371,6 +6388,35 @@
\donot@shade
\fi
\fi}
+\def\clear@res@nums#1{%
+ \temp@count=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\temp@count\endcsname}
+ \expandafter\xdef\csname res@num\first@@ #1\endcsname{0}
+ \advance\temp@count by 1
+ \ifnum\temp@count>90\else\repeat
+ \expandafter\xdef\csname res@num\d@t #1\endcsname{0}
+}
+\def\setsubfamily@{%
+ \expandafter\check@letter\first@
+ \ifletter
+ \expandafter\get@item\first@
+ \xdef\first@{\fourth@}
+ \get@name@number
+ \advance\res@count by 1
+ \expandafter\xdef\csname subfamily@num\first@\endcsname{\subfamily@count}
+ \xdef\first@{\first@@ @}
+ \setsubfamily@
+ \else
+ \expandafter\get@digit\first@
+ \ifx\fourth@\ampers@nd
+ \else
+ \advance\res@count by 1
+ \expandafter\xdef\csname subfamily@num\fourth@\endcsname{\subfamily@count}
+ \setsubfamily@
+ \fi
+ \fi
+}
\def\hideseq@{%
\expandafter\check@letter\first@
\ifletter
@@ -5538,8 +6584,8 @@
\csname stack@bottom\the\innerloopcount\endcsname}
\expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{%
\csname stack@bbottom\the\innerloopcount\endcsname}
- \csname res@count\the\loopcount\endcsname=%
- \csname res@count\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
@@ -5551,15 +6597,6 @@
\else
\kill@seqnow
\fi}
-\def\set@maxseqnumber#1{%
- \ifnum#1>\max@seqnumber
- \loopcount=\max@seqnumber \xdef\max@seqnumber{\the #1}
- \loop
- \advance\loopcount by 1
- \expandafter\newcount\csname pos\the\loopcount\endcsname
- \expandafter\newcount\csname res@count\the\loopcount\endcsname
- \ifnum\loopcount<\max@seqnumber \repeat
- \fi}
\def\get@sim#1#2@{\xdef\sim@char{#1} \xdef\last@{#2 &@}}
\def\getsim@char{%
\advance\innerloopcount by 1
@@ -5615,6 +6652,7 @@
\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}
@@ -5625,6 +6663,7 @@
\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}
@@ -5634,6 +6673,7 @@
\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}
@@ -5761,8 +6801,21 @@
\funcgroup{110.3 (K)}{K}{White}{Black}{upper}{up}
\fi
\fi
- \else \message{<Unknown shading mode. Clearing `funcgroups'>}
- \fi\fi\fi\fi\fi\fi
+ \else
+ \xdef\second@{rasmol}
+ \ifx\temp@\second@
+ \funcgroup{Asp, Glu}{DE}{Red}{White}{upper}{up}
+ \funcgroup{Arg, Lys, His}{KR}{Blue}{White}{upper}{up}
+ \funcgroup{Phe, Tyr, Trp}{FY}{MidnightBlue}{White}{upper}{up}
+ \funcgroup{Ala, Gly}{G}{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@{%
@@ -5987,6 +7040,7 @@
\xdef\frame@color{#1}%
\ifx\seventh@\ampers@nd%
\xdef\back@color{#1}%
+ \xdef\backtext@color{White}%
\else%
\expandafter\second@color\seventh@%
\fi%
@@ -6095,7 +7149,29 @@
\ifx\f@color\comm@\xdef\f@color{GrayDefault}\fi%
\xdef\fill@char{\fourth@}%
\xdef\box@color{\f@color,&@}%
- \expandafter\two@opt@color\box@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
@@ -6866,7 +7942,7 @@
\ifeof\alignfile \xdef\first@{make new} \fi
\immediate\closein\alignfile
\else
- \message{<Unknown type. Ignoring \noexpand\includePHD>}
+ \message{<Unknown type - ignoring \noexpand\includePHD>}
\xdef\first@{ignore}
\fi\fi
\xdef\temp@{make new}
@@ -7051,7 +8127,7 @@
\fi
\ifnum\loopcount=\seq@count \else \repeat
\ifx\second@\n@
- \message{<Sequence name `\first@' was not found, using first sequence.>}
+ \message{<Sequence name `\first@' was not found - using first sequence.>}
\xdef\first@{1}
\fi
}
@@ -7729,6 +8805,13 @@
\def\numberingwidth#1{\def\num@width{#1}}
\def\charstretch#1{\def\char@stretch{#1}}
\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}}}
@@ -7746,15 +8829,15 @@
\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\start@seq{#1}
+ \xdef\first@@{#1}
\xdef\first@{#1 @} \expandafter\check@letter\first@
\xdef\first@{#1}
- \ifletter \get@name@number \xdef\start@seq{\first@} \fi
- \ifnum\start@seq>\seq@count \xdef\start@seq{1}
+ \ifletter \get@name@number \xdef\first@@{\first@} \fi
+ \ifnum\first@@>\seq@count \xdef\first@@{1}
\else
- \ifnum\start@seq<0 \xdef\start@seq{1}
+ \ifnum\first@@<0 \xdef\first@@{1}
\else
- \expandafter\def\csname seq@gap\start@seq\endcsname{yes}
+ \expandafter\def\csname seq@gap\first@@\endcsname{yes}
\loopcount=\seq@gap@num
\advance\loopcount by 1
\xdef\seq@gap@num{\the\loopcount}
@@ -7777,8 +8860,9 @@
\else
\xdef\first@{functional}
\ifx\first@\last@
- \if\seq@type P \simmodefalse \funcmodetrue \func@shading{#1}
- \else \message{<No functional shading on DNA sequences>} \fi
+ \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@{diverse}
\ifx\first@\last@
@@ -7795,7 +8879,7 @@
\gapchar{-}
\hideconsensus
\else
- \message{<Unknown shading mode. Using `similar'>}
+ \message{<Unknown shading mode - using `similar'>}
\simmodetrue \funcmodefalse
\fi\fi\fi\fi}
\def\allmatchspecial{\all@shadetrue}
@@ -7806,31 +8890,53 @@
\else\def\gap@char{#1}\fi}
\def\gaprule#1{\def\gap@rulethick{#1}}
\def\setends#1#2{%
- \xdef\start@seq{#1}
- \xdef\temp@{consensus}
- \ifx\start@seq\temp@ \xdef\start@seq{0} \fi
- \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 \xdef\start@seq{1}
- \else
- \ifnum\start@seq<0 \xdef\start@seq{1}
- \else
- \xdef\second@{#2@} \expandafter\get@nums\second@
- \xdef\start@num{\first@} \xdef\end@num{\second@}
- \start@false
- \fi
- \fi}
+ \xdef\start@seq{#1}
+ \xdef\temp@{consensus}
+ \ifx\start@seq\temp@
+ \message{<\noexpand\setends does not accept `consensus'>}
+ \xdef\start@seq{0}
+ \else
+ \xdef\first@{\start@seq @} \expandafter\check@letter\first@
+ \xdef\first@{\start@seq}
+ \ifletter \get@name@number \xdef\start@seq{\first@} \fi
+ \ifnum\start@seq>\seq@count
+ \message{<\noexpand\setends{} error: sequence `#1' not defined>}
+ \xdef\start@seq{0}
+ \else
+ \ifnum\start@seq<1
+ \message{<\noexpand\setends{} error: sequence `#1' not defined>}
+ \xdef\start@seq{0}
+ \else
+ \xdef\second@{#2@} \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
+}
\def\startnumber#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\startnumber>}
+ \xdef\first@{#1} \xdef\second@{consensus}
+ \ifx\first@\second@
+ \ifnum#2=0 \xdef\allow@zero{y} \fi
+ \expandafter\xdef\csname seq@start0\endcsname{#2}
+ \cons@count=#2 \advance\cons@count by -1\relax
+ \expandafter\xdef\csname res@count0\endcsname{\the\cons@count}
\else
- \xdef\second@{#2} \ifnum\second@=0 \xdef\second@{1} \fi
- \expandafter\xdef\csname seq@start\first@\endcsname{\second@}
- \csname res@count\first@\endcsname=\second@
- \advance\csname res@count\first@\endcsname by -1
- \fi}
+ \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\startnumber>}
+ \else
+ \xdef\second@{#2}
+ \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
+ }
\def\seqlength#1#2{%
\xdef\first@{#1 @} \expandafter\check@letter\first@
\xdef\first@{#1} \ifletter \get@name@number \fi
@@ -7839,14 +8945,21 @@
\xdef\second@{#2} \ifnum\second@<0 \xdef\second@{1} \fi
\expandafter\xdef\csname seq@len\first@\endcsname{\second@}
\fi}
-\def\shownumbering#1{%
- \xdef\first@{#1} \xdef\second@{right}
- \ifx\first@\second@ \numbers@leftfalse \else \numbers@lefttrue \fi
- \numbers@true}
+\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@}
-\def\shownames#1{%
- \xdef\first@{#1} \xdef\second@{left}
+\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}
@@ -7872,8 +8985,204 @@
\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}
@@ -7946,16 +9255,20 @@
\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}
-\def\showruler#1#2{%
- \xdef\first@{consensus} \xdef\second@{#2}
- \xdef\third@{bottom} \xdef\fourth@{#1}
+\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@{#2 @} \expandafter\check@letter\first@
- \xdef\first@{#2} \ifletter \get@name@number \fi
+ \xdef\first@{#3 @} \expandafter\check@letter\first@
+ \xdef\first@{#3} \ifletter \get@name@number \fi
\ifnum\first@>\seq@count
\else
\ifnum\first@>0
@@ -7965,7 +9278,14 @@
\fi
\xdef\ruler@{}}
\def\hideruler{\xdef\rule@num{-1}}
-\def\rulersteps#1{\xdef\ruler@step{#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\featurerule#1{\setlength\rule@thick{#1}}
\def\orderseqs#1{%
\def\order@loop{%
@@ -8033,6 +9353,9 @@
\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\featuretext@family{\third@}
@@ -8042,7 +9365,8 @@
\xdef\residues@family{\third@}
\xdef\legend@family{\third@}
\xdef\label@family{\third@}
- \fi\fi\fi\fi\fi\fi\fi\fi
+ \xdef\ruler@family{\second@}
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi
}
\def\setseries#1#2{%
@@ -8341,6 +9665,9 @@
\def\legendLARGE {\setsize{legend}{LARGE}}
\def\legendhuge {\setsize{legend}{huge}}
\def\legendHuge {\setsize{legend}{Huge}}
+\def\rulerrm{\setfamily{ruler}{rm}}
+\def\rulersf{\setfamily{ruler}{sf}}
+\def\rulertt{\setfamily{ruler}{tt}}
\def\funcshadingstyle#1#2#3#4#5{%
\xdef\temp@{nomatch} \xdef\first@{#1}
\ifx\temp@\first@
@@ -8379,7 +9706,7 @@
\allmatchresidues{White}{Black}{upper}{sl}
\else \xdef\second@{grays}
\ifx\first@\second@
- \else \message{<Undefined color set. Using `grays'>} \xdef\first@{grays}\fi
+ \else \message{<Undefined color set - using `grays'>} \xdef\first@{grays}\fi
\ifx\first@\second@
\similarresidues{Black}{LightGray}{upper}{up}
\conservedresidues{White}{DarkGray}{upper}{up}
@@ -8880,20 +10207,21 @@
\fi
\ifnewres
- \expandafter\csname pos\the\loopcount\endcsname=0
+ \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@
- \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi
+ \advance\pos@sum by 1 \fi
\ifnum\innerloopcount<\seq@count \repeat
- \expandafter\multiply\csname pos\the\loopcount\endcsname by \seq@percent
+ \multiply\pos@sum by \seq@percent
+ \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum}
\expandafter\ifnum\csname pos\the\loopcount\endcsname<\thresh@ld
\else
\expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x
- \xdef\m@x{\the\csname pos\the\loopcount\endcsname}
+ \xdef\m@x{\csname pos\the\loopcount\endcsname}
\xdef\cons@seq{\the\loopcount} \xdef\match@case{\c@se}
\xdef\simgroup@{\first@}
\else
@@ -8927,22 +10255,24 @@
\fi
\ifnewres
- \expandafter\csname pos\the\loopcount\endcsname=0
+ \pos@sum=0
\innerloopcount=0
\loop
\advance\innerloopcount by 1
\expandafter\ifx\csname res\the\innerloopcount\endcsname\first@
- \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi
+ \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
- \expandafter\multiply\csname pos\the\loopcount\endcsname by \seq@percent
+ \multiply\pos@sum by \seq@percent
+ \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum}
\expandafter\ifnum\csname pos\the\loopcount\endcsname<\thresh@ld
\else
\expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x
- \xdef\m@x{\the\csname pos\the\loopcount\endcsname}
+ \xdef\m@x{\csname pos\the\loopcount\endcsname}
\xdef\cons@seq{\the\loopcount} \xdef\match@case{1}
\else
\expandafter\ifnum\csname pos\the\loopcount\endcsname=\m@x
@@ -8975,21 +10305,22 @@
\fi
\ifnewres
- \expandafter\csname pos\the\loopcount\endcsname=0
+ \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@
- \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi
+ \advance\pos@sum by 1 \fi
\fi
\ifnum\innerloopcount<\seq@count \repeat
- \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x
- \xdef\m@x{\the\csname pos\the\loopcount\endcsname}
+ \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
\fi
\ifnum\loopcount=\cons@num \loopcount=1 \fi
@@ -9554,7 +10885,7 @@
\advance\loopcount by 1
\expandafter\xdef\csname shade@style\the\loopcount\endcsname{y}
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -9614,7 +10945,7 @@
\loop
\advance\loopcount by 1
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -9664,7 +10995,7 @@
\loop
\advance\loopcount by 1
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -9755,7 +11086,7 @@
\loop
\advance\loopcount by 1
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -9816,7 +11147,6 @@
\def\get@nextres#1#2:{%
\xdef\first@{#1}
\xdef\temp@{#2:}
- \ifnum`#1>96 \make@upper \fi
\ifx\first@\gap@char \expandafter\get@nextres\temp@
\else
\if\first@ @
@@ -9829,7 +11159,6 @@
\def\get@@nextres#1#2:{%
\xdef\first@{#1}
\xdef\temp@@{#2:}
- \ifnum`#1>96 \make@upper \fi
\ifx\first@\gap@char \expandafter\get@@nextres\temp@@
\else
\if\first@ @
@@ -9966,6 +11295,579 @@
\collect@cons@res
\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
@@ -9973,7 +11875,7 @@
\loop
\advance\loopcount by 1
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -10285,25 +12187,29 @@
\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@
\ifletter
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \fi
- \ifnum\loopcount=\rule@num\relax
- \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens
+ \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
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
+ \ifnum\loopcount=\rule@num\relax
+ \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens
\xdef\ruler@{\ruler@ !<\rule@tens>}
- \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step
- \ifnum\innerloopcount=0 \innerloopcount=1 \fi
- \advance\innerloopcount by -1
- \ifnum\innerloopcount=\ruler@step
- \else \advance\innerloopcount by 1 \fi
+ \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
+ \else
\xdef\ruler@{\ruler@ -}
- \fi
- \fi
+ \fi
+ \fi
\ifx\collect@valtop\yes
\ifnum\v@lseqtop=\loopcount
\xdef\v@ltop{\v@ltop,\csname \ffourth@top\first@\endcsname}
@@ -10368,7 +12274,7 @@
\advance\innerloopcount by \csname pepcharge\first@\endcsname
\expandafter\xdef\csname ch@rge\the\loopcount\endcsname{%
\the\innerloopcount}
- \else
+ \else
\ifnum\loopcount=\rule@num \xdef\ruler@{\ruler@ -} \fi
\ifx\collect@valtop\yes
\ifnum\v@lseqtop=\loopcount
@@ -10402,7 +12308,7 @@
\ifnum\tr@nsseqbbottom=\loopcount
\xdef\tr@nslatebbottom{\tr@nslatebbottom -}
\fi\fi
- \fi
+ \fi
\ifnum\loopcount<\seq@count \repeat
\ifx\collect@cons@graphtop\yes
\outerloopcount=1\relax
@@ -10441,25 +12347,28 @@
\fi
\global\advance\cons@count by 1\relax
- \global\csname res@count0\endcsname=\cons@count
- \ifnum\rule@num=0
+ \ifnum\cons@count=0\relax
+ \ifx\allow@zero\n@ \global\advance\cons@count by 1 \fi
+ \fi
+ \expandafter\xdef\csname res@count0\endcsname{\the\cons@count}
+ \ifnum\rule@num=0
\ifnum\cons@count=\rule@tens
- \xdef\ruler@{\ruler@ !<\rule@tens>}
- \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step
- \ifnum\innerloopcount=0 \innerloopcount=1 \fi
- \advance\innerloopcount by -1
- \ifnum\innerloopcount=\ruler@step
- \else \advance\innerloopcount by 1 \fi
+ \xdef\ruler@{\ruler@ !<\rule@tens>}
+ \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
- \fi
- \advance\pos@count by 1
+ \fi
+ \fi
+ \advance\pos@count by 1
+ \ifshow@logo \calc@logo \fi
\ifregionalshadenow \calc@regshade \fi
\ifregionaltintnow \calc@regtint \fi
\ifregionalemphnow \calc@regemph \fi
- \ifframenow \calc@frame \fi
+ \ifframenow \calc@frame \fi
\iftopfeaturenow \xdef\bottop@{top} \calc@feature \fi
\ifttopfeaturenow \xdef\bottop@{ttop} \calc@feature \fi
\ifbottomfeaturenow \xdef\bottop@{bottom} \calc@feature \fi
@@ -10474,9 +12383,9 @@
\else \xdef\c@se{1} \check@ident \fi
\ifcase\match@case \unc@nserved \or \c@nserved \or \allm@tch \else \functi@nal \fi
\fi
- \expandafter\ifnum\csname res@count\start@seq\endcsname<\end@num\relax
- \c@nsensus
- \else
+ \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
@@ -10495,16 +12404,18 @@
\xdef\first@{\csname res\the\loopcount\endcsname}
\expandafter\check@char\first@
\ifletter
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by 1
+ \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}
\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
- \ifnum\temp@count<0 \else \advance\temp@count by \ruler@step \fi
- \xdef\rule@tens{\the\temp@count}
+ \xdef\rule@tens{\the\temp@count}
\fi
\fi
\ifnum\loopcount<\seq@count \c@unt\fi}
@@ -10621,26 +12532,30 @@
\expandafter\ifnum\csname res@count\the\loopcount\endcsname=%
\innerloopcount
\else
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by 1
+ \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
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
\ifnames@right
\expandafter\xdef\csname seq\the\loopcount\endcsname{%
- \the\csname res@count\the\loopcount\endcsname)}
+ \csname res@count\the\loopcount\endcsname)}
\else
\expandafter\xdef\csname seq\the\loopcount\endcsname{%
<\csname newseqname\the\loopcount\endcsname>
- \the\csname res@count\the\loopcount\endcsname)}
+ \csname res@count\the\loopcount\endcsname)}
\fi
\expandafter\ifnum\csname res@count\the\loopcount\endcsname=%
\innerloopcount
\else
- \global\advance\csname res@count\the\loopcount\endcsname by -1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by -1
- \fi
+ \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
\else
\ifnames@right
@@ -11024,7 +12939,7 @@
\else
\innerloopcount=1\relax\put@char%
\fi
- \ifnumbers@left\else\def\@kern{\kern0em}\expandafter\put@number\first@\fi
+ \ifnumbers@right\def\@kern{\kern0em}\expandafter\put@number\first@\fi
\ifnames@right\def\@kern{\kern1em}\expandafter\put@name\first@\fi
\newline\hbox{}%
}
@@ -11032,13 +12947,21 @@
\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
@@ -11047,9 +12970,67 @@
\def\get@rulenum<#1>#2@{%
\xdef\first@{#2@}%
\ifcase\rule@top
- \def\third@{\ensuremath{\,\stackrel{\mathtt{#1}}{.}}}%
+ \ifnum\ruler@rot=0 %
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\ensuremath{\,\stackrel{\mathtt{#1}}{.}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\ensuremath{\,\stackrel{\mathsf{#1}}{.}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\ensuremath{\,\stackrel{\mathrm{#1}}{.}}}%
+ \fi\fi\fi
+ \else
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\tt\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\sf\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\rm\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}%
+ \fi\fi\fi
+ \fi
\else
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathtt{#1}}}}%
+ \ifnum\ruler@rot=0 %
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathtt{#1}}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathsf{#1}}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathrm{#1}}}}%
+ \fi\fi\fi
+ \else
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\tt\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss#1\,\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#1\,\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#1\,\ensuremath{\cdot}}\end{rotopo}}%
+ \fi\fi\fi
+ \fi
\fi}
\def\next@rulechar#1#2@{%
@@ -11070,15 +13051,35 @@
\fi}
\def\put@ruler{%
- \ifnames@right
- \ifnumbers@left \xdef\ruler@{)\ruler@<>}\else\xdef\ruler@{\ruler@)<>}\fi
- \else
- \ifnumbers@left \xdef\ruler@{<>)\ruler@}\else\xdef\ruler@{<>\ruler@)}\fi
- \fi
+ \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@ @}%
- \ifnames@right\else\def\@kern{\kern0em}\expandafter\put@name\first@\fi
- \ifnumbers@left\def\@kern{\kern1em}\expandafter\put@number\first@\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}%
+ \fontfamily{\ruler@family}%
+ \fontseries{m}%
+ \fontshape{n}%
+ \selectfont%
\innerloopcount=1\relax\textcolor{\ruler@fg}{\put@rulechar}%
\newline\hbox{}%
}
@@ -11294,22 +13295,22 @@
\else%
\xdef\last@{helix}%
\ifx\second@@\last@%
- \fontfamily{\rmdefault}%
- \fontseries{\mddefault}%
- \fontshape{\itdefault}%
+ \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{\smile}\kern-1.13exo\kern-1.02ex}%
+ \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{\smile}}%
+ \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{\smile}}}%
+ \textcolor{\f@color}{\raisebox{-0.25ex}{\ensuremath{\helixhook}}}%
\else%
\xdef\last@{box}%
\ifx\second@@\last@%
@@ -11468,7 +13469,6 @@
\advance\width@tmp by -0.5\temp@@length%
\if\first@@ o\xdef\first@@{O}\fi%
\if\third@@ o\xdef\third@@{O}\fi%
- \ifx\bottop@\temp@ \else \advance\width@tmp by -0.4\arrow@height\fi%
\textcolor{\f@color}{%
\if\first@@ ,%
\rule{\temp@@length}{\arrow@height}\kern-\temp@@length%
@@ -11500,6 +13500,11 @@
\if\third@@ O\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%
@@ -11537,7 +13542,8 @@
}
\def\next@featuretext&#1;#2;#3@{%
\xdef\first@{#3@}%
- \xdef\last@{#2::&}\expandafter\test@fill\last@%
+% \xdef\last@{#2::&}\expandafter\test@fill\last@%
+ \xdef\last@{fill:#2:&}\expandafter\test@fill\last@%
\ifx\f@color\comm@\xdef\f@color{Black}\fi%
\fontfamily{\featuretext@family}%
\fontseries{\featuretext@series}%
@@ -11700,7 +13706,21 @@
\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}%
@@ -11712,7 +13732,6 @@
\vspace{\arrow@height}%
\vspace{-\temp@@length}%
\vspace{-\baselineskip}%
- \ifshow@cons\ifnum\cons@top=1 \vspace{-\baselineskip}\fi\fi%
\newline\hbox{}%
\ifnames@right\else\ifnames@\hbox to \name@width{\hss}\fi\fi%
\ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
@@ -11721,7 +13740,444 @@
\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{0.8}[\third@]%
+ {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{W}\hss}}}}}\hss}%
+ \kern-\box@width%
+ \else%
+ \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{1}[\third@]%
+ {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{\first@}\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}%
@@ -11750,6 +14206,19 @@
\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}%
@@ -11760,44 +14229,45 @@
\xdef\c@nscol{}%
\xdef\cons@now{no}%
\fi\fi
- \loopcount=0
+ \ifx\hide@seqs\n@%
+ \loopcount=0 %
\loop
- \advance\loopcount by 1
+ \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@left
+ \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%
- \the\csname res@count\the\loopcount\endcsname)%
<\csname newseqname\the\loopcount\endcsname>}%
\fi
\else
- \ifnumbers@left
- \else
+ \ifnumbers@right
\expandafter\xdef\csname seq\the\loopcount\endcsname{%
\csname seq\the\loopcount\endcsname%
- \the\csname res@count\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%
+ \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%
\fi%
\put@line%
- \fi
- \ifnum\loopcount<\seq@count\repeat
- \ifshow@cons\ifnum\cons@top=1
+ \fi%
+ \ifnum\loopcount<\seq@count\repeat%
+ \fi%
+ \ifshow@cons\ifnum\cons@top=1 %
\xdef\cons@now{y}%
\xdef\first@{\consensus @}%
\xdef\first@@@{\c@nscol @}%
@@ -11805,48 +14275,64 @@
\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
- \ifnum\rule@num<0
- \else
- \ifnum\rule@top=1
+ \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%
- \vspace{0.25\baselineskip}%
- \fi
- \fi
- \ifnum\feature@bottom=1
- \ifnum\featureonbottom=0 \xdef\feature@bottom{0}\fi
+ \ifnum\ruler@rot=0 \vspace{0.25\baselineskip}\fi%
+ \fi%
+ \fi%
+ \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
+ \put@feature%
\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
- \ifnum\featureonbbottom=0 \xdef\feature@bbottom{0}\fi
+ \ifbottomfeature%
+ \vspace{\b@sp@ce}\newline\hbox{}\newline\hbox{}%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum\feature@bbottom=1 %
+ \ifnum\featureonbbottom=0 \xdef\feature@bbottom{0}\fi%
\xdef\bottop@{bbottom}%
\vspace{\bb@sp@ce}%
\if\bbottom@stretch y%
\vspace{-\box@height}%
\vspace{\b@r@stretch\box@height}%
\fi%
- \put@feature
+ \put@feature%
\else
\iffix@
\if\bbottom@stretch y%
@@ -11854,7 +14340,7 @@
\vspace{\b@r@stretch\box@height}%
\fi%
\ifbbottomfeature
- \vspace{\bb@sp@ce}\newline\hbox{}\newline\hbox{}
+ \vspace{\bb@sp@ce}\newline\hbox{}\newline\hbox{}%
\fi
\fi
\fi
@@ -11876,7 +14362,7 @@
\message{.}
\ifx\out@put\y@
\vbox{\set@lines}\par
- \block@skip
+ \block@skip
\else
\pos@count=1
\findc@nsensus
@@ -11918,7 +14404,7 @@
\advance\loopcount by 1\relax
\immediate\write\@auxout{%
\string\savedseqlength{\@lign@count}{\the\loopcount}%
- {\expandafter\the\csname res@count\the\loopcount\endcsname}}
+ {\csname res@count\the\loopcount\endcsname}}
\ifnum\loopcount<\seq@count \repeat
}
@@ -11976,49 +14462,64 @@
\xdef\stylefeaturettop{}
\xdef\stylefeaturebottom{}
\xdef\stylefeaturebbottom{}}
-\def\do@count{%
- \expandafter\res@get\seq@line
- \if\first@\ampers@nd
- \else
- \advance\innerloopcount by 1
- \expandafter\check@char\first@
- \ifletter
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \fi
- \fi
- \do@count
- \fi}
-\def\residue@@count{%
- \xdef\seq@line{\csname sequence\the\loopcount\endcsname &@}
- \innerloopcount=0 \do@count
- \advance\loopcount by 1
- \ifnum\loopcount>\seq@count \else\residue@@count\fi}
+\def\guess@protein{\seqtype{P}\message{<Seqtype guess: protein>}}
+\def\guess@DNA{\seqtype{N}\message{<Seqtype guess: nucleotide>}}
\def\residue@count{%
\expandafter\res@get\seq@line
\if\first@\ampers@nd
\else
- \advance\innerloopcount by 1
- \ifstart@ \advance\res@count by 1
- \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
\else
\expandafter\check@char\first@
- \ifletter \advance\end@count by 1 \fi
- \fi
- \ifnum\end@count=\start@num\relax
- \xdef\start@number{\the\innerloopcount}
- \ifnum\start@seq=0
- \cons@count=\start@number
- \advance\cons@count by -1
+ \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
- \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}
+ \fi
+ \fi
+ \fi
+ \clean@seq
+ \fi}
\def\read@loop{%
\read\alignfile to \inline
\xdef\last@{\expandafter\string\inline}
@@ -12030,33 +14531,33 @@
\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}
- \ifnum\start@seq=0
- \ifnum\loopcount=1
- \res@count=0 \innerloopcount=0
- \xdef\seq@line{\seq@line &@} \residue@count
- \fi
- \else
- \ifnum\innerloopcount=\start@seq
- \res@count=0 \innerloopcount=0
- \xdef\seq@line{\seq@line &@} \residue@count
- \fi
- \fi
\advance\loopcount by 1
\ifnum\loopcount>\seq@count
- \ifstart@
- \else
- \loopcount=1\residue@@count\clear@seq
- \fi
- \advance\seq@pointer by \res@count
- \ifnum\seq@pointer>\res@perline \block@output \fi
\loopcount=1
\fi
\fi
\fi
\fi
- \ifeof\alignfile \else \read@loop \fi}
+ \ifeof\alignfile
+ \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
+ \advance\seq@pointer by \res@count\relax
+ \xdef\total@pos{\the\total@count}
+ \ifnum\end@num>\end@count\relax\xdef\end@num{\the\end@count}\fi
+ \ifshow@sublogo \prep@sublogo \fi
+ \ifshow@logo \prep@logo \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}
@@ -12076,7 +14577,8 @@
\innerloopcount=\csname @rd\the\loopcount\endcsname\relax
\else
\expandafter\ifx\csname seq@name\the\loopcount\endcsname\seq@name
- \expandafter\xdef\csname sequence\the\innerloopcount\endcsname{%
+ \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
@@ -12088,10 +14590,14 @@
\else
\xdef\seq@line{\csname sequence\start@seq\endcsname &@}
\fi
- \res@count=0
+ \res@count=0
\innerloopcount=0
\residue@count
\advance\seq@pointer by \res@count
+ \xdef\total@pos{\the\total@count}
+ \ifnum\end@num>\end@count\relax\xdef\end@num{\the\end@count}\fi
+ \ifshow@sublogo \prep@sublogo \fi
+ \ifshow@logo \prep@logo \fi
\ifnum\seq@pointer>\res@perline \block@output \fi
\else
\read@fasta
@@ -12106,9 +14612,7 @@
\expandafter\ifnum\csname res@count\start@seq\endcsname<\start@num\relax
\xdef\start@num{\the\loopcount}
\else \start@true \fi
- \loopcount=\end@num
- \advance\loopcount by -\csname res@count\start@seq\endcsname\relax
- \res@count=0 \seq@pointer=0 \end@count=0
+ \res@count=0 \seq@pointer=0 \end@count=0 \total@count=0
\xdef\start@number{0}
\ifx\f@st@\y@
\loopcount=0
@@ -12117,6 +14621,7 @@
\loopcount=1
\read@loop
\fi
+ \if\seq@type A \guess@DNA \fi
\ifnum\seq@pointer>0
\ifstop@
\else
@@ -12125,8 +14630,11 @@
\block@output
\fi
\fi
+ \ifshow@sublogo \closein\sublogofile \fi
+ \closein\alignfile
\message{)}
- \closein\alignfile}
+}
+
%%%%% Read alignment, decide whether MSF or ALN, interpret
@@ -12147,11 +14655,11 @@
}
\else
\message{(\alignfilename :}
- \xdef\seq@type{} \xdef\he@der{no} \xdef\f@st@{no}
+ \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
+ \read\alignfile to \inline
\xdef\test@{\expandafter\string\inline}
\ifx\test@\par@ \innerloopcount=0
\else
@@ -12166,15 +14674,15 @@
\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
+ \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
@@ -12186,7 +14694,7 @@
\fi
\fi
\fi
- \xdef\first@line{n}
+ \xdef\first@line{n}
\ifeof\alignfile \else\repeat
\closein\alignfile
\xdef\first@{no}
@@ -12219,7 +14727,6 @@
\ifnum\loopcount<\seq@count \repeat
\fi
\set@savedseqlength
- \ifnum\seq@count>\max@seqnumber \set@maxseqnumber\seq@count \fi
\loopcount=0 \xdef\seq@order{}
\expandafter\xdef\csname stack@reg\the\loopcount\endcsname{&;&;&;&;@}
\expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{&;&;&;@}
@@ -12235,7 +14742,7 @@
\loop
\advance\loopcount by 1
\expandafter\xdef\csname @rd\the\loopcount\endcsname{\the\loopcount}
- \csname res@count\the\loopcount\endcsname=0
+ \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}
@@ -12263,9 +14770,6 @@
\killseq@count=\seq@count
\seq@percent=100
\ifnum\seq@count>0 \divide\seq@percent by \seq@count \fi
- \if\seq@type P \xdef\prefix@{pep}
- \else \if\seq@type p \xdef\prefix@{pep} \xdef\seq@type{P}
- \else \seqtype{N} \xdef\prefix@{DNA} \fi\fi
\fi
\fi
}
@@ -12273,11 +14777,15 @@
%%%%% 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=\wd1
+ \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
@@ -12299,6 +14807,26 @@
\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}
@@ -12335,12 +14863,46 @@
\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=\textwidth
\ifnames@ \advance\loopcount by -\name@width \fi
- \ifnumbers@ \advance\loopcount by -\number@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
@@ -12358,6 +14920,30 @@
\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{%
@@ -12404,14 +14990,30 @@
\xdef\start@num{\the\loopcount}
\fi
\fi
- \ifnum\rule@num>0
+ \ifnum\rule@num>0
\loopcount=\csname res@count\rule@num\endcsname
\divide\loopcount by \ruler@step
\multiply\loopcount by \ruler@step
- \ifnum\loopcount<0 \else \advance\loopcount by \ruler@step \fi
- \xdef\rule@tens{\the\loopcount}
+ \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
- \xdef\rule@tens{\ruler@step}
+ \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@
@@ -12429,19 +15031,19 @@
\ifnum\finger@linenum>0
\show@consfalse
\hidechartrue
- \message{<fingerprinting---please wait>}
+ \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
+ \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@
@@ -12464,13 +15066,17 @@
\xdef\@lign@count{\the\loopcount}
\start@true \xdef\start@num{1} \xdef\start@seq{0}
\stop@false \xdef\end@num{99999999} \xdef\seq@regions{0}
-\cons@count=0 \csname res@count0\endcsname=0
+\cons@count=0
+\expandafter\xdef\csname res@count0\endcsname{0}
+\xdef\allow@zero{n} \xdef\c@ns@shift{0}
\regionalshadefalse\regionalemphfalse\regionaltintfalse
\frame@false
+\xdef\ruler@rot{0}
\topfeaturefalse\bottomfeaturefalse
\ttopfeaturefalse\bbottomfeaturefalse
\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}
@@ -12504,6 +15110,46 @@
\xdef\bottom@stretch{n} \xdef\bbottom@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\d@t\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\d@t\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}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% %%%%%
@@ -12513,7 +15159,7 @@
%%%%% %%%%%
%%%%% Under any circumstances: %%%%%
%%%%% %%%%%
-%%%%% DO NOT CHANGE ANY SETTINGS !!! %%%%%
+%%%%% 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 %%%%%
@@ -12531,19 +15177,26 @@
\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.15} % Stretch character width 1.15fold
-\linestretch{1} % Do not stretch lines
+\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'
\numberingcolor{Black} % Numbering color is `Black'
-\shownumbering{left} % Show sequence numbering on the left
+\shownumbering{right} % Show sequence numbering on the left
\namescolor{Black} % Names' color is `Black'
-\shownames{right} % Show sequence names on the right
+\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'
@@ -12584,6 +15237,7 @@
\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)
@@ -12710,23 +15364,30 @@
\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.15} % Stretch character width 1.15fold
-\linestretch{1} % Do not stretch lines
+\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'
\numberingcolor{Black} % Numbering color is `Black'
-\shownumbering{left} % Show sequence numbering on the left
+\shownumbering{right} % Show sequence numbering on the left
\namescolor{Black} % Names' color is `Black'
-\shownames{right} % Show sequence names on the right
+\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
-\showleadinggaps % Show gap symbols before sequence start
\rulersteps{10} % Ruler ticks every 10 residues
\legendcolor{Black} % Legend text color is `Black'
\hidelegend % Do not show the legend
@@ -12759,6 +15420,7 @@
\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)
@@ -13013,36 +15675,30 @@ AQP4.PRO YITAQCLGAIIGAGILYLV..........TPPSVVGGLGVTTVHGNLTAGH.....GLLV
AQP5.PRO YVAAQLVGAIAGAGILYWL..........APLNARGNLAVNALNNNTTPGK.....AMVV
181 240
-AQP1.PRO EIIGTLQLVLCVLATTDR.RRRDLGGSAPLAIGLSV.ALGHLLAIDYTGCGINPARSFGS
-AQP2.PRO ELFLTMQLVLCIFASTDE.RRGDNLGSPALSIGFSV.TLGHLLGIYFTGCSMNPARSLAP
-AQP3.PRO QFIGTAALIVCVLAIVDPYNNPVPRGLEAFTVGLVVLVIGTSMGFN.SGYAVNPARDFGP
-AQP4.PRO ELIITFQLVFTIFASCDS.KRTDVTGSVALAIGFSV.AIGHLFAINYTGASMNPARSFGP
-AQP5.PRO ELILTFQLALCIFSSTDS.RRTSPVGSPALSIGLSV.TLGHLVGIYFTGCSMNPARSFGP
+AQP1.PRO EIIGTLQLVLCVLATTDR.RRRDLGGSAPLAIGLSVALGHLLAIDYTGCGINPARSFGSA
+AQP2.PRO ELFLTMQLVLCIFASTDE.RRGDNLGSPALSIGFSVTLGHLLGIYFTGCSMNPARSLAPA
+AQP3.PRO QFIGTAALIVCVLAIVDPYNNPVPRGLEAFTVGLVVLVIGTSMGFNSGYAVNPARDFGPR
+AQP4.PRO ELIITFQLVFTIFASCDS.KRTDVTGSVALAIGFSVAIGHLFAINYTGASMNPARSFGPA
+AQP5.PRO ELILTFQLALCIFSSTDS.RRTSPVGSPALSIGLSVTLGHLVGIYFTGCSMNPARSFGPA
241 300
-AQP1.PRO AVLTR..NFS.N......HWIFWVGPFIGSALAVL..IYDFILAPRSSDFTDRMK.....
-AQP2.PRO AVVTG..KFD.D......HWVFWIGPLVGAIIGSL..LYNYLLFPSAKSLQERL..AVLK
-AQP3.PRO RLFTALAGWGSEVFTTGQNW..WWVPIVSPLLGSIGGVFVYQL.................
-AQP4.PRO AVIMG..NWE.N......HWIYWVGPIIGAVLAGA..LYEYV.FCPDVELKRRLKEAFSK
-AQP5.PRO AVVMN..RFSPS......HWVFWVGPIVGAMLAAI..LYFYLLFPSSLSLHDRV..AVVK
-
- 301 356
-AQP1.PRO .......VWTS.....GQVEEYDLDAD.......DINSRVEMKPK...........
-AQP2.PRO G.LEPDTDWEEREVRRRQ..SVELHSPQSLPRG...................SKA.
-AQP3.PRO ..................MIGCHLEQPPPSTEAENV.KLAHMKHKE.......QI.
-AQP4.PRO AAQQTKGSYMEVEDNRSQVETEDLILKPGVVHVIDIDRGDEKKGKDSSGEVLSSV.
-AQP5.PRO GTYEPEEDWEDHREERKK..TIELTAH.............................
+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>
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%% %%%%%
-%%%%% This is a minimal .ALN file--many sequence aligners can produce them %%%%%
-%%%%% %%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
AQP2bt SIAFSRAVLAEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLAIGTLVQALGHVSGA
AQP2cf SVAFSRAVFAEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLGIGTLVQALGHVSGA
AQP2dd SIAFSRAVFSEFLATLLFVFFGLGSALNWPQALPSVLQIAMAFGLAIGTLVQALGHISGA
diff --git a/Master/texmf-dist/source/latex/texshade/texshade.ins b/Master/texmf-dist/source/latex/texshade/texshade.ins
index 14679e1c3ff..be0114678f9 100644
--- a/Master/texmf-dist/source/latex/texshade/texshade.ins
+++ b/Master/texmf-dist/source/latex/texshade/texshade.ins
@@ -1,7 +1,7 @@
%%
%% docstrip install file for texshade.sty
%%
-%% Copyright 1999-2005 Eric Beitz
+%% Copyright 1999-2006 Eric Beitz
%%
\def\batchfile{texshade.ins}
@@ -14,7 +14,7 @@
LaTeX package for typesetting nucleotide and peptide alignments
-Copyright (C) 1999-2005 Eric Beitz
+Copyright (C) 1999-2006 Eric Beitz
See the file texshade.txt
\endpreamble
diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.def b/Master/texmf-dist/tex/latex/texshade/texshade.def
index be63e0f7c69..a2ab60fb1a6 100644
--- a/Master/texmf-dist/tex/latex/texshade/texshade.def
+++ b/Master/texmf-dist/tex/latex/texshade/texshade.def
@@ -27,23 +27,30 @@
\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.15} % Stretch character width 1.15fold
-\linestretch{1} % Do not stretch lines
+\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'
\numberingcolor{Black} % Numbering color is `Black'
-\shownumbering{left} % Show sequence numbering on the left
+\shownumbering{right} % Show sequence numbering on the left
\namescolor{Black} % Names' color is `Black'
-\shownames{right} % Show sequence names on the right
+\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
-\showleadinggaps % Show gap symbols before sequence start
\rulersteps{10} % Ruler ticks every 10 residues
\legendcolor{Black} % Legend text color is `Black'
\hidelegend % Do not show the legend
@@ -76,6 +83,7 @@
\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)
diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.sty b/Master/texmf-dist/tex/latex/texshade/texshade.sty
index 2ba3a2cdc1f..729d15deb04 100644
--- a/Master/texmf-dist/tex/latex/texshade/texshade.sty
+++ b/Master/texmf-dist/tex/latex/texshade/texshade.sty
@@ -8,20 +8,22 @@
%%
%% LaTeX package for typesetting nucleotide and peptide alignments
%%
-%% Copyright (C) 1999-2005 Eric Beitz
+%% Copyright (C) 1999-2006 Eric Beitz
%% See the file texshade.txt
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{texshade}[2005/04/13 LaTeX TeXshade (v1.12)]
-\message{Package `texshade', Version 1.12 of 2005/09/20.}
+\ProvidesPackage{texshade}[2006/06/27 LaTeX TeXshade (v1.15)]
+\message{Package `texshade', Version 1.15 of 2006/06/27.}
\PassOptionsToPackage{dvips}{color}
+\PassOptionsToPackage{dvips}{graphicx}
\DeclareOption*{%
\PassOptionsToPackage{\CurrentOption}{color}%
+ \PassOptionsToPackage{\CurrentOption}{graphicx}%
}
\ProcessOptions
-\RequirePackage{color}
+\RequirePackage{color,graphics}
\expandafter\ifx\csname TeXshade\endcsname\relax \else \endinput \fi
@@ -40,8 +42,19 @@
\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\alignfile \newread\sublogofile
\expandafter\ifx\csname blacktriangleright\endcsname\relax
\openin\structurefile = amssymb.sty
@@ -57,41 +70,47 @@
\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 \expandafter\newcount\csname res@count0\endcsname
+\newcount\cons@count \newcount\total@count
\newcount\temp@count \newcount\triple@count
+\newcount\pos@sum
\newlength\box@width \newlength\name@width
\newlength\box@depth \newlength\width@tmp
\newlength\box@height \newlength\number@width
-\newlength\char@stretch \newlength\line@stretch
+\newlength\line@stretch
\newlength\center@fill \newlength\arrow@width
\newlength\arrow@height \newlength\rule@thick
-\newlength\arrow@thick
+\newlength\arrow@thick \newlength\logo@height
\newlength\equal@width \newlength\equal@tmp
\newlength\equal@height \newlength\temp@@length
\newlength\vspace@legend
\newlength\hspace@legend
-\newif\ifletter \newif\ifnumber
-\newif\ifnewres \newif\ifall@shade
-\newif\ifnames@right \newif\ifnumbers@left
-\newif\ifhide@cons \newif\ifshow@cons
-\newif\iffuncmode \newif\iflegend@
-\newif\ifnumbers@ \newif\ifnames@
-\newif\ifgerm@n \newif\ifsp@nish
+\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\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\ifall@fshade \newif\ifregionalemph
-\newif\ifframe@ \newif\ifregionaltint
-\newif\ifhidechar \newif\ifsh@wg@ps
+\newif\ifnosh@de \newif\ifregionalshade
+\newif\ifstart@ \newif\ifstop@
+\newif\iftopfeature \newif\ifbottomfeature
+\newif\ifttopfeature \newif\ifbbottomfeature
+\newif\ifall@fshade \newif\ifregionalemph
+\newif\ifframe@ \newif\ifregionaltint
+\newif\ifshow@logo \newif\ifshow@sublogo
+\newif\ifhidechar \newif\ifsh@wg@ps
\newif\ifsimmode
\newif\ifregionaltintnow
\newif\ifregionalemphnow
@@ -125,7 +144,254 @@
\expandafter\def\csname funcm@tch*\endcsname{upper}
\setlength\hspace@legend{0pt} \setlength\vspace@legend{0pt}
-\triple@count=0 \cons@count=0
+
+\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}
@@ -685,6 +951,7 @@
\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}
@@ -907,7 +1174,7 @@
\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@{\def\seq@type{#3}}
+\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}
@@ -929,18 +1196,26 @@
\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\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\firstchar@get#1#2@{\def\first@{#1} \def\third@{#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}
- \ifnum`#1>96 \make@upper \fi
- \ifnum`#1=45 \xdef\first@{\d@t} \fi
+ \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\sublogo@get#1 @{\xdef\first@{#1}}
\def\re@write#1,#2@{%
\xdef\third@{#2,@}
\xdef\first@{\csname hide@@@seq#1\endcsname}
@@ -955,8 +1230,8 @@
\def\order@set#1,#2@{%
\xdef\second@{#2,@}
\expandafter\xdef\csname @rd#1\endcsname{\the\loopcount}
- \csname res@count\the\loopcount\endcsname=%
- \csname pos#1\endcsname
+ \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{%
@@ -998,8 +1273,8 @@
\loopcount=0
\loop
\advance\loopcount by 1
- \csname pos\the\loopcount\endcsname=%
- \csname res@count\the\loopcount\endcsname
+ \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{%
@@ -1057,11 +1332,12 @@
\loopcount=0
\loop
\advance\loopcount by 1
- \csname pos\the\loopcount\endcsname=0
+ \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
@@ -1116,6 +1392,35 @@
\donot@shade
\fi
\fi}
+\def\clear@res@nums#1{%
+ \temp@count=65
+ \loop
+ \xdef\first@@{\csname ch@r@\the\temp@count\endcsname}
+ \expandafter\xdef\csname res@num\first@@ #1\endcsname{0}
+ \advance\temp@count by 1
+ \ifnum\temp@count>90\else\repeat
+ \expandafter\xdef\csname res@num\d@t #1\endcsname{0}
+}
+\def\setsubfamily@{%
+ \expandafter\check@letter\first@
+ \ifletter
+ \expandafter\get@item\first@
+ \xdef\first@{\fourth@}
+ \get@name@number
+ \advance\res@count by 1
+ \expandafter\xdef\csname subfamily@num\first@\endcsname{\subfamily@count}
+ \xdef\first@{\first@@ @}
+ \setsubfamily@
+ \else
+ \expandafter\get@digit\first@
+ \ifx\fourth@\ampers@nd
+ \else
+ \advance\res@count by 1
+ \expandafter\xdef\csname subfamily@num\fourth@\endcsname{\subfamily@count}
+ \setsubfamily@
+ \fi
+ \fi
+}
\def\hideseq@{%
\expandafter\check@letter\first@
\ifletter
@@ -1283,8 +1588,8 @@
\csname stack@bottom\the\innerloopcount\endcsname}
\expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{%
\csname stack@bbottom\the\innerloopcount\endcsname}
- \csname res@count\the\loopcount\endcsname=%
- \csname res@count\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
@@ -1296,15 +1601,6 @@
\else
\kill@seqnow
\fi}
-\def\set@maxseqnumber#1{%
- \ifnum#1>\max@seqnumber
- \loopcount=\max@seqnumber \xdef\max@seqnumber{\the #1}
- \loop
- \advance\loopcount by 1
- \expandafter\newcount\csname pos\the\loopcount\endcsname
- \expandafter\newcount\csname res@count\the\loopcount\endcsname
- \ifnum\loopcount<\max@seqnumber \repeat
- \fi}
\def\get@sim#1#2@{\xdef\sim@char{#1} \xdef\last@{#2 &@}}
\def\getsim@char{%
\advance\innerloopcount by 1
@@ -1360,6 +1656,7 @@
\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}
@@ -1370,6 +1667,7 @@
\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}
@@ -1379,6 +1677,7 @@
\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}
@@ -1506,8 +1805,21 @@
\funcgroup{110.3 (K)}{K}{White}{Black}{upper}{up}
\fi
\fi
- \else \message{<Unknown shading mode. Clearing `funcgroups'>}
- \fi\fi\fi\fi\fi\fi
+ \else
+ \xdef\second@{rasmol}
+ \ifx\temp@\second@
+ \funcgroup{Asp, Glu}{DE}{Red}{White}{upper}{up}
+ \funcgroup{Arg, Lys, His}{KR}{Blue}{White}{upper}{up}
+ \funcgroup{Phe, Tyr, Trp}{FY}{MidnightBlue}{White}{upper}{up}
+ \funcgroup{Ala, Gly}{G}{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@{%
@@ -1732,6 +2044,7 @@
\xdef\frame@color{#1}%
\ifx\seventh@\ampers@nd%
\xdef\back@color{#1}%
+ \xdef\backtext@color{White}%
\else%
\expandafter\second@color\seventh@%
\fi%
@@ -1840,7 +2153,29 @@
\ifx\f@color\comm@\xdef\f@color{GrayDefault}\fi%
\xdef\fill@char{\fourth@}%
\xdef\box@color{\f@color,&@}%
- \expandafter\two@opt@color\box@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
@@ -2611,7 +2946,7 @@
\ifeof\alignfile \xdef\first@{make new} \fi
\immediate\closein\alignfile
\else
- \message{<Unknown type. Ignoring \noexpand\includePHD>}
+ \message{<Unknown type - ignoring \noexpand\includePHD>}
\xdef\first@{ignore}
\fi\fi
\xdef\temp@{make new}
@@ -2796,7 +3131,7 @@
\fi
\ifnum\loopcount=\seq@count \else \repeat
\ifx\second@\n@
- \message{<Sequence name `\first@' was not found, using first sequence.>}
+ \message{<Sequence name `\first@' was not found - using first sequence.>}
\xdef\first@{1}
\fi
}
@@ -3473,6 +3808,13 @@
\def\numberingwidth#1{\def\num@width{#1}}
\def\charstretch#1{\def\char@stretch{#1}}
\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}}}
@@ -3490,15 +3832,15 @@
\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\start@seq{#1}
+ \xdef\first@@{#1}
\xdef\first@{#1 @} \expandafter\check@letter\first@
\xdef\first@{#1}
- \ifletter \get@name@number \xdef\start@seq{\first@} \fi
- \ifnum\start@seq>\seq@count \xdef\start@seq{1}
+ \ifletter \get@name@number \xdef\first@@{\first@} \fi
+ \ifnum\first@@>\seq@count \xdef\first@@{1}
\else
- \ifnum\start@seq<0 \xdef\start@seq{1}
+ \ifnum\first@@<0 \xdef\first@@{1}
\else
- \expandafter\def\csname seq@gap\start@seq\endcsname{yes}
+ \expandafter\def\csname seq@gap\first@@\endcsname{yes}
\loopcount=\seq@gap@num
\advance\loopcount by 1
\xdef\seq@gap@num{\the\loopcount}
@@ -3521,8 +3863,9 @@
\else
\xdef\first@{functional}
\ifx\first@\last@
- \if\seq@type P \simmodefalse \funcmodetrue \func@shading{#1}
- \else \message{<No functional shading on DNA sequences>} \fi
+ \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@{diverse}
\ifx\first@\last@
@@ -3539,7 +3882,7 @@
\gapchar{-}
\hideconsensus
\else
- \message{<Unknown shading mode. Using `similar'>}
+ \message{<Unknown shading mode - using `similar'>}
\simmodetrue \funcmodefalse
\fi\fi\fi\fi}
\def\allmatchspecial{\all@shadetrue}
@@ -3550,31 +3893,53 @@
\else\def\gap@char{#1}\fi}
\def\gaprule#1{\def\gap@rulethick{#1}}
\def\setends#1#2{%
- \xdef\start@seq{#1}
- \xdef\temp@{consensus}
- \ifx\start@seq\temp@ \xdef\start@seq{0} \fi
- \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 \xdef\start@seq{1}
- \else
- \ifnum\start@seq<0 \xdef\start@seq{1}
- \else
- \xdef\second@{#2@} \expandafter\get@nums\second@
- \xdef\start@num{\first@} \xdef\end@num{\second@}
- \start@false
- \fi
- \fi}
+ \xdef\start@seq{#1}
+ \xdef\temp@{consensus}
+ \ifx\start@seq\temp@
+ \message{<\noexpand\setends does not accept `consensus'>}
+ \xdef\start@seq{0}
+ \else
+ \xdef\first@{\start@seq @} \expandafter\check@letter\first@
+ \xdef\first@{\start@seq}
+ \ifletter \get@name@number \xdef\start@seq{\first@} \fi
+ \ifnum\start@seq>\seq@count
+ \message{<\noexpand\setends{} error: sequence `#1' not defined>}
+ \xdef\start@seq{0}
+ \else
+ \ifnum\start@seq<1
+ \message{<\noexpand\setends{} error: sequence `#1' not defined>}
+ \xdef\start@seq{0}
+ \else
+ \xdef\second@{#2@} \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
+}
\def\startnumber#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\startnumber>}
- \else
- \xdef\second@{#2} \ifnum\second@=0 \xdef\second@{1} \fi
- \expandafter\xdef\csname seq@start\first@\endcsname{\second@}
- \csname res@count\first@\endcsname=\second@
- \advance\csname res@count\first@\endcsname by -1
- \fi}
+ \xdef\first@{#1} \xdef\second@{consensus}
+ \ifx\first@\second@
+ \ifnum#2=0 \xdef\allow@zero{y} \fi
+ \expandafter\xdef\csname seq@start0\endcsname{#2}
+ \cons@count=#2 \advance\cons@count by -1\relax
+ \expandafter\xdef\csname res@count0\endcsname{\the\cons@count}
+ \else
+ \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\startnumber>}
+ \else
+ \xdef\second@{#2}
+ \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
+ }
\def\seqlength#1#2{%
\xdef\first@{#1 @} \expandafter\check@letter\first@
\xdef\first@{#1} \ifletter \get@name@number \fi
@@ -3583,14 +3948,21 @@
\xdef\second@{#2} \ifnum\second@<0 \xdef\second@{1} \fi
\expandafter\xdef\csname seq@len\first@\endcsname{\second@}
\fi}
-\def\shownumbering#1{%
- \xdef\first@{#1} \xdef\second@{right}
- \ifx\first@\second@ \numbers@leftfalse \else \numbers@lefttrue \fi
- \numbers@true}
+\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@}
-\def\shownames#1{%
- \xdef\first@{#1} \xdef\second@{left}
+\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}
@@ -3616,8 +3988,204 @@
\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}
@@ -3690,16 +4258,20 @@
\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}
-\def\showruler#1#2{%
- \xdef\first@{consensus} \xdef\second@{#2}
- \xdef\third@{bottom} \xdef\fourth@{#1}
+\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@{#2 @} \expandafter\check@letter\first@
- \xdef\first@{#2} \ifletter \get@name@number \fi
+ \xdef\first@{#3 @} \expandafter\check@letter\first@
+ \xdef\first@{#3} \ifletter \get@name@number \fi
\ifnum\first@>\seq@count
\else
\ifnum\first@>0
@@ -3709,7 +4281,14 @@
\fi
\xdef\ruler@{}}
\def\hideruler{\xdef\rule@num{-1}}
-\def\rulersteps#1{\xdef\ruler@step{#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\featurerule#1{\setlength\rule@thick{#1}}
\def\orderseqs#1{%
\def\order@loop{%
@@ -3777,6 +4356,9 @@
\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\featuretext@family{\third@}
@@ -3786,7 +4368,8 @@
\xdef\residues@family{\third@}
\xdef\legend@family{\third@}
\xdef\label@family{\third@}
- \fi\fi\fi\fi\fi\fi\fi\fi
+ \xdef\ruler@family{\second@}
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi
}
\def\setseries#1#2{%
@@ -4085,6 +4668,9 @@
\def\legendLARGE {\setsize{legend}{LARGE}}
\def\legendhuge {\setsize{legend}{huge}}
\def\legendHuge {\setsize{legend}{Huge}}
+\def\rulerrm{\setfamily{ruler}{rm}}
+\def\rulersf{\setfamily{ruler}{sf}}
+\def\rulertt{\setfamily{ruler}{tt}}
\def\funcshadingstyle#1#2#3#4#5{%
\xdef\temp@{nomatch} \xdef\first@{#1}
\ifx\temp@\first@
@@ -4123,7 +4709,7 @@
\allmatchresidues{White}{Black}{upper}{sl}
\else \xdef\second@{grays}
\ifx\first@\second@
- \else \message{<Undefined color set. Using `grays'>} \xdef\first@{grays}\fi
+ \else \message{<Undefined color set - using `grays'>} \xdef\first@{grays}\fi
\ifx\first@\second@
\similarresidues{Black}{LightGray}{upper}{up}
\conservedresidues{White}{DarkGray}{upper}{up}
@@ -4624,20 +5210,21 @@
\fi
\ifnewres
- \expandafter\csname pos\the\loopcount\endcsname=0
+ \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@
- \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi
+ \advance\pos@sum by 1 \fi
\ifnum\innerloopcount<\seq@count \repeat
- \expandafter\multiply\csname pos\the\loopcount\endcsname by \seq@percent
+ \multiply\pos@sum by \seq@percent
+ \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum}
\expandafter\ifnum\csname pos\the\loopcount\endcsname<\thresh@ld
\else
\expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x
- \xdef\m@x{\the\csname pos\the\loopcount\endcsname}
+ \xdef\m@x{\csname pos\the\loopcount\endcsname}
\xdef\cons@seq{\the\loopcount} \xdef\match@case{\c@se}
\xdef\simgroup@{\first@}
\else
@@ -4671,22 +5258,24 @@
\fi
\ifnewres
- \expandafter\csname pos\the\loopcount\endcsname=0
+ \pos@sum=0
\innerloopcount=0
\loop
\advance\innerloopcount by 1
\expandafter\ifx\csname res\the\innerloopcount\endcsname\first@
- \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi
+ \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
- \expandafter\multiply\csname pos\the\loopcount\endcsname by \seq@percent
+ \multiply\pos@sum by \seq@percent
+ \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum}
\expandafter\ifnum\csname pos\the\loopcount\endcsname<\thresh@ld
\else
\expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x
- \xdef\m@x{\the\csname pos\the\loopcount\endcsname}
+ \xdef\m@x{\csname pos\the\loopcount\endcsname}
\xdef\cons@seq{\the\loopcount} \xdef\match@case{1}
\else
\expandafter\ifnum\csname pos\the\loopcount\endcsname=\m@x
@@ -4719,21 +5308,22 @@
\fi
\ifnewres
- \expandafter\csname pos\the\loopcount\endcsname=0
+ \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@
- \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi
+ \advance\pos@sum by 1 \fi
\fi
\ifnum\innerloopcount<\seq@count \repeat
- \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x
- \xdef\m@x{\the\csname pos\the\loopcount\endcsname}
+ \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
\fi
\ifnum\loopcount=\cons@num \loopcount=1 \fi
@@ -5298,7 +5888,7 @@
\advance\loopcount by 1
\expandafter\xdef\csname shade@style\the\loopcount\endcsname{y}
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -5358,7 +5948,7 @@
\loop
\advance\loopcount by 1
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -5408,7 +5998,7 @@
\loop
\advance\loopcount by 1
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -5499,7 +6089,7 @@
\loop
\advance\loopcount by 1
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -5560,7 +6150,6 @@
\def\get@nextres#1#2:{%
\xdef\first@{#1}
\xdef\temp@{#2:}
- \ifnum`#1>96 \make@upper \fi
\ifx\first@\gap@char \expandafter\get@nextres\temp@
\else
\if\first@ @
@@ -5573,7 +6162,6 @@
\def\get@@nextres#1#2:{%
\xdef\first@{#1}
\xdef\temp@@{#2:}
- \ifnum`#1>96 \make@upper \fi
\ifx\first@\gap@char \expandafter\get@@nextres\temp@@
\else
\if\first@ @
@@ -5710,6 +6298,577 @@
\collect@cons@res
\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
+ \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
@@ -5717,7 +6876,7 @@
\loop
\advance\loopcount by 1
\ifnum\loopcount=0 \xdef\first@@{\the\cons@count}
- \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi
+ \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@@
@@ -6029,25 +7188,29 @@
\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@
\ifletter
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \fi
- \ifnum\loopcount=\rule@num\relax
- \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens
+ \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
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
+ \ifnum\loopcount=\rule@num\relax
+ \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens
\xdef\ruler@{\ruler@ !<\rule@tens>}
- \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step
- \ifnum\innerloopcount=0 \innerloopcount=1 \fi
- \advance\innerloopcount by -1
- \ifnum\innerloopcount=\ruler@step
- \else \advance\innerloopcount by 1 \fi
+ \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
+ \else
\xdef\ruler@{\ruler@ -}
- \fi
- \fi
+ \fi
+ \fi
\ifx\collect@valtop\yes
\ifnum\v@lseqtop=\loopcount
\xdef\v@ltop{\v@ltop,\csname \ffourth@top\first@\endcsname}
@@ -6112,7 +7275,7 @@
\advance\innerloopcount by \csname pepcharge\first@\endcsname
\expandafter\xdef\csname ch@rge\the\loopcount\endcsname{%
\the\innerloopcount}
- \else
+ \else
\ifnum\loopcount=\rule@num \xdef\ruler@{\ruler@ -} \fi
\ifx\collect@valtop\yes
\ifnum\v@lseqtop=\loopcount
@@ -6146,7 +7309,7 @@
\ifnum\tr@nsseqbbottom=\loopcount
\xdef\tr@nslatebbottom{\tr@nslatebbottom -}
\fi\fi
- \fi
+ \fi
\ifnum\loopcount<\seq@count \repeat
\ifx\collect@cons@graphtop\yes
\outerloopcount=1\relax
@@ -6185,25 +7348,28 @@
\fi
\global\advance\cons@count by 1\relax
- \global\csname res@count0\endcsname=\cons@count
+ \ifnum\cons@count=0\relax
+ \ifx\allow@zero\n@ \global\advance\cons@count by 1 \fi
+ \fi
+ \expandafter\xdef\csname res@count0\endcsname{\the\cons@count}
\ifnum\rule@num=0
\ifnum\cons@count=\rule@tens
\xdef\ruler@{\ruler@ !<\rule@tens>}
- \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step
- \ifnum\innerloopcount=0 \innerloopcount=1 \fi
- \advance\innerloopcount by -1
- \ifnum\innerloopcount=\ruler@step
- \else \advance\innerloopcount by 1 \fi
+ \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
\fi
\advance\pos@count by 1
+ \ifshow@logo \calc@logo \fi
\ifregionalshadenow \calc@regshade \fi
\ifregionaltintnow \calc@regtint \fi
\ifregionalemphnow \calc@regemph \fi
- \ifframenow \calc@frame \fi
+ \ifframenow \calc@frame \fi
\iftopfeaturenow \xdef\bottop@{top} \calc@feature \fi
\ifttopfeaturenow \xdef\bottop@{ttop} \calc@feature \fi
\ifbottomfeaturenow \xdef\bottop@{bottom} \calc@feature \fi
@@ -6239,15 +7405,17 @@
\xdef\first@{\csname res\the\loopcount\endcsname}
\expandafter\check@char\first@
\ifletter
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by 1
+ \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}
\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
- \ifnum\temp@count<0 \else \advance\temp@count by \ruler@step \fi
\xdef\rule@tens{\the\temp@count}
\fi
\fi
@@ -6365,26 +7533,30 @@
\expandafter\ifnum\csname res@count\the\loopcount\endcsname=%
\innerloopcount
\else
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by 1
+ \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
+ \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
\ifnames@right
\expandafter\xdef\csname seq\the\loopcount\endcsname{%
- \the\csname res@count\the\loopcount\endcsname)}
+ \csname res@count\the\loopcount\endcsname)}
\else
\expandafter\xdef\csname seq\the\loopcount\endcsname{%
<\csname newseqname\the\loopcount\endcsname>
- \the\csname res@count\the\loopcount\endcsname)}
+ \csname res@count\the\loopcount\endcsname)}
\fi
\expandafter\ifnum\csname res@count\the\loopcount\endcsname=%
\innerloopcount
\else
- \global\advance\csname res@count\the\loopcount\endcsname by -1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by -1
- \fi
+ \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
\else
\ifnames@right
@@ -6768,7 +7940,7 @@
\else
\innerloopcount=1\relax\put@char%
\fi
- \ifnumbers@left\else\def\@kern{\kern0em}\expandafter\put@number\first@\fi
+ \ifnumbers@right\def\@kern{\kern0em}\expandafter\put@number\first@\fi
\ifnames@right\def\@kern{\kern1em}\expandafter\put@name\first@\fi
\newline\hbox{}%
}
@@ -6776,13 +7948,21 @@
\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
@@ -6791,9 +7971,67 @@
\def\get@rulenum<#1>#2@{%
\xdef\first@{#2@}%
\ifcase\rule@top
- \def\third@{\ensuremath{\,\stackrel{\mathtt{#1}}{.}}}%
+ \ifnum\ruler@rot=0 %
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\ensuremath{\,\stackrel{\mathtt{#1}}{.}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\ensuremath{\,\stackrel{\mathsf{#1}}{.}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\ensuremath{\,\stackrel{\mathrm{#1}}{.}}}%
+ \fi\fi\fi
+ \else
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\tt\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\sf\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\rm\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}%
+ \fi\fi\fi
+ \fi
\else
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathtt{#1}}}}%
+ \ifnum\ruler@rot=0 %
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathtt{#1}}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathsf{#1}}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathrm{#1}}}}%
+ \fi\fi\fi
+ \else
+ \xdef\temp@{tt}%
+ \ifx\ruler@family\temp@%
+ \def\third@{\tt\bottomruler@size\,\,\,\,%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss#1\,\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#1\,\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#1\,\ensuremath{\cdot}}\end{rotopo}}%
+ \fi\fi\fi
+ \fi
\fi}
\def\next@rulechar#1#2@{%
@@ -6814,15 +8052,35 @@
\fi}
\def\put@ruler{%
- \ifnames@right
- \ifnumbers@left \xdef\ruler@{)\ruler@<>}\else\xdef\ruler@{\ruler@)<>}\fi
- \else
- \ifnumbers@left \xdef\ruler@{<>)\ruler@}\else\xdef\ruler@{<>\ruler@)}\fi
- \fi
+ \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@ @}%
- \ifnames@right\else\def\@kern{\kern0em}\expandafter\put@name\first@\fi
- \ifnumbers@left\def\@kern{\kern1em}\expandafter\put@number\first@\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}%
+ \fontfamily{\ruler@family}%
+ \fontseries{m}%
+ \fontshape{n}%
+ \selectfont%
\innerloopcount=1\relax\textcolor{\ruler@fg}{\put@rulechar}%
\newline\hbox{}%
}
@@ -7038,22 +8296,22 @@
\else%
\xdef\last@{helix}%
\ifx\second@@\last@%
- \fontfamily{\rmdefault}%
- \fontseries{\mddefault}%
- \fontshape{\itdefault}%
+ \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{\smile}\kern-1.13exo\kern-1.02ex}%
+ \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{\smile}}%
+ \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{\smile}}}%
+ \textcolor{\f@color}{\raisebox{-0.25ex}{\ensuremath{\helixhook}}}%
\else%
\xdef\last@{box}%
\ifx\second@@\last@%
@@ -7212,7 +8470,6 @@
\advance\width@tmp by -0.5\temp@@length%
\if\first@@ o\xdef\first@@{O}\fi%
\if\third@@ o\xdef\third@@{O}\fi%
- \ifx\bottop@\temp@ \else \advance\width@tmp by -0.4\arrow@height\fi%
\textcolor{\f@color}{%
\if\first@@ ,%
\rule{\temp@@length}{\arrow@height}\kern-\temp@@length%
@@ -7244,6 +8501,11 @@
\if\third@@ O\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%
@@ -7281,7 +8543,7 @@
}
\def\next@featuretext&#1;#2;#3@{%
\xdef\first@{#3@}%
- \xdef\last@{#2::&}\expandafter\test@fill\last@%
+ \xdef\last@{fill:#2:&}\expandafter\test@fill\last@%
\ifx\f@color\comm@\xdef\f@color{Black}\fi%
\fontfamily{\featuretext@family}%
\fontseries{\featuretext@series}%
@@ -7444,7 +8706,21 @@
\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}%
@@ -7456,7 +8732,6 @@
\vspace{\arrow@height}%
\vspace{-\temp@@length}%
\vspace{-\baselineskip}%
- \ifshow@cons\ifnum\cons@top=1 \vspace{-\baselineskip}\fi\fi%
\newline\hbox{}%
\ifnames@right\else\ifnames@\hbox to \name@width{\hss}\fi\fi%
\ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi%
@@ -7465,7 +8740,444 @@
\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{0.8}[\third@]%
+ {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{W}\hss}}}}}\hss}%
+ \kern-\box@width%
+ \else%
+ \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{1}[\third@]%
+ {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{\first@}\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}%
@@ -7494,6 +9206,19 @@
\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}%
@@ -7504,44 +9229,45 @@
\xdef\c@nscol{}%
\xdef\cons@now{no}%
\fi\fi
- \loopcount=0
+ \ifx\hide@seqs\n@%
+ \loopcount=0 %
\loop
- \advance\loopcount by 1
+ \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@left
+ \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%
- \the\csname res@count\the\loopcount\endcsname)%
<\csname newseqname\the\loopcount\endcsname>}%
\fi
\else
- \ifnumbers@left
- \else
+ \ifnumbers@right
\expandafter\xdef\csname seq\the\loopcount\endcsname{%
\csname seq\the\loopcount\endcsname%
- \the\csname res@count\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%
+ \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%
\fi%
\put@line%
- \fi
- \ifnum\loopcount<\seq@count\repeat
- \ifshow@cons\ifnum\cons@top=1
+ \fi%
+ \ifnum\loopcount<\seq@count\repeat%
+ \fi%
+ \ifshow@cons\ifnum\cons@top=1 %
\xdef\cons@now{y}%
\xdef\first@{\consensus @}%
\xdef\first@@@{\c@nscol @}%
@@ -7549,48 +9275,64 @@
\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
- \ifnum\rule@num<0
- \else
- \ifnum\rule@top=1
+ \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%
- \vspace{0.25\baselineskip}%
- \fi
- \fi
- \ifnum\feature@bottom=1
- \ifnum\featureonbottom=0 \xdef\feature@bottom{0}\fi
+ \ifnum\ruler@rot=0 \vspace{0.25\baselineskip}\fi%
+ \fi%
+ \fi%
+ \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
+ \put@feature%
\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
- \ifnum\featureonbbottom=0 \xdef\feature@bbottom{0}\fi
+ \ifbottomfeature%
+ \vspace{\b@sp@ce}\newline\hbox{}\newline\hbox{}%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum\feature@bbottom=1 %
+ \ifnum\featureonbbottom=0 \xdef\feature@bbottom{0}\fi%
\xdef\bottop@{bbottom}%
\vspace{\bb@sp@ce}%
\if\bbottom@stretch y%
\vspace{-\box@height}%
\vspace{\b@r@stretch\box@height}%
\fi%
- \put@feature
+ \put@feature%
\else
\iffix@
\if\bbottom@stretch y%
@@ -7598,7 +9340,7 @@
\vspace{\b@r@stretch\box@height}%
\fi%
\ifbbottomfeature
- \vspace{\bb@sp@ce}\newline\hbox{}\newline\hbox{}
+ \vspace{\bb@sp@ce}\newline\hbox{}\newline\hbox{}%
\fi
\fi
\fi
@@ -7620,7 +9362,7 @@
\message{.}
\ifx\out@put\y@
\vbox{\set@lines}\par
-\block@skip
+ \block@skip
\else
\pos@count=1
\findc@nsensus
@@ -7662,7 +9404,7 @@
\advance\loopcount by 1\relax
\immediate\write\@auxout{%
\string\savedseqlength{\@lign@count}{\the\loopcount}%
- {\expandafter\the\csname res@count\the\loopcount\endcsname}}
+ {\csname res@count\the\loopcount\endcsname}}
\ifnum\loopcount<\seq@count \repeat
}
@@ -7720,49 +9462,64 @@
\xdef\stylefeaturettop{}
\xdef\stylefeaturebottom{}
\xdef\stylefeaturebbottom{}}
-\def\do@count{%
- \expandafter\res@get\seq@line
- \if\first@\ampers@nd
- \else
- \advance\innerloopcount by 1
- \expandafter\check@char\first@
- \ifletter
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0
- \global\advance\csname res@count\the\loopcount\endcsname by 1
- \fi
- \fi
- \do@count
- \fi}
-\def\residue@@count{%
- \xdef\seq@line{\csname sequence\the\loopcount\endcsname &@}
- \innerloopcount=0 \do@count
- \advance\loopcount by 1
- \ifnum\loopcount>\seq@count \else\residue@@count\fi}
+\def\guess@protein{\seqtype{P}\message{<Seqtype guess: protein>}}
+\def\guess@DNA{\seqtype{N}\message{<Seqtype guess: nucleotide>}}
\def\residue@count{%
\expandafter\res@get\seq@line
\if\first@\ampers@nd
\else
- \advance\innerloopcount by 1
- \ifstart@ \advance\res@count by 1
- \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
\else
\expandafter\check@char\first@
- \ifletter \advance\end@count by 1 \fi
- \fi
- \ifnum\end@count=\start@num\relax
- \xdef\start@number{\the\innerloopcount}
- \ifnum\start@seq=0
- \cons@count=\start@number
- \advance\cons@count by -1
+ \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
- \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}
+ \fi
+ \fi
+ \fi
+ \clean@seq
+ \fi}
\def\read@loop{%
\read\alignfile to \inline
\xdef\last@{\expandafter\string\inline}
@@ -7774,33 +9531,33 @@
\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}
- \ifnum\start@seq=0
- \ifnum\loopcount=1
- \res@count=0 \innerloopcount=0
- \xdef\seq@line{\seq@line &@} \residue@count
- \fi
- \else
- \ifnum\innerloopcount=\start@seq
- \res@count=0 \innerloopcount=0
- \xdef\seq@line{\seq@line &@} \residue@count
- \fi
- \fi
\advance\loopcount by 1
\ifnum\loopcount>\seq@count
- \ifstart@
- \else
- \loopcount=1\residue@@count\clear@seq
- \fi
- \advance\seq@pointer by \res@count
- \ifnum\seq@pointer>\res@perline \block@output \fi
\loopcount=1
\fi
\fi
\fi
\fi
- \ifeof\alignfile \else \read@loop \fi}
+ \ifeof\alignfile
+ \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
+ \advance\seq@pointer by \res@count\relax
+ \xdef\total@pos{\the\total@count}
+ \ifnum\end@num>\end@count\relax\xdef\end@num{\the\end@count}\fi
+ \ifshow@sublogo \prep@sublogo \fi
+ \ifshow@logo \prep@logo \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}
@@ -7820,7 +9577,8 @@
\innerloopcount=\csname @rd\the\loopcount\endcsname\relax
\else
\expandafter\ifx\csname seq@name\the\loopcount\endcsname\seq@name
- \expandafter\xdef\csname sequence\the\innerloopcount\endcsname{%
+ \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
@@ -7836,6 +9594,10 @@
\innerloopcount=0
\residue@count
\advance\seq@pointer by \res@count
+ \xdef\total@pos{\the\total@count}
+ \ifnum\end@num>\end@count\relax\xdef\end@num{\the\end@count}\fi
+ \ifshow@sublogo \prep@sublogo \fi
+ \ifshow@logo \prep@logo \fi
\ifnum\seq@pointer>\res@perline \block@output \fi
\else
\read@fasta
@@ -7850,9 +9612,7 @@
\expandafter\ifnum\csname res@count\start@seq\endcsname<\start@num\relax
\xdef\start@num{\the\loopcount}
\else \start@true \fi
- \loopcount=\end@num
- \advance\loopcount by -\csname res@count\start@seq\endcsname\relax
- \res@count=0 \seq@pointer=0 \end@count=0
+ \res@count=0 \seq@pointer=0 \end@count=0 \total@count=0
\xdef\start@number{0}
\ifx\f@st@\y@
\loopcount=0
@@ -7861,6 +9621,7 @@
\loopcount=1
\read@loop
\fi
+ \if\seq@type A \guess@DNA \fi
\ifnum\seq@pointer>0
\ifstop@
\else
@@ -7869,8 +9630,10 @@
\block@output
\fi
\fi
+ \ifshow@sublogo \closein\sublogofile \fi
+ \closein\alignfile
\message{)}
- \closein\alignfile}
+}
%%%%% Read alignment, decide whether MSF or ALN, interpret
@@ -7891,7 +9654,7 @@
}
\else
\message{(\alignfilename :}
- \xdef\seq@type{} \xdef\he@der{no} \xdef\f@st@{no}
+ \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
@@ -7910,15 +9673,15 @@
\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
+ \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
@@ -7930,7 +9693,7 @@
\fi
\fi
\fi
- \xdef\first@line{n}
+ \xdef\first@line{n}
\ifeof\alignfile \else\repeat
\closein\alignfile
\xdef\first@{no}
@@ -7963,7 +9726,6 @@
\ifnum\loopcount<\seq@count \repeat
\fi
\set@savedseqlength
- \ifnum\seq@count>\max@seqnumber \set@maxseqnumber\seq@count \fi
\loopcount=0 \xdef\seq@order{}
\expandafter\xdef\csname stack@reg\the\loopcount\endcsname{&;&;&;&;@}
\expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{&;&;&;@}
@@ -7979,7 +9741,7 @@
\loop
\advance\loopcount by 1
\expandafter\xdef\csname @rd\the\loopcount\endcsname{\the\loopcount}
- \csname res@count\the\loopcount\endcsname=0
+ \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}
@@ -8007,9 +9769,6 @@
\killseq@count=\seq@count
\seq@percent=100
\ifnum\seq@count>0 \divide\seq@percent by \seq@count \fi
- \if\seq@type P \xdef\prefix@{pep}
- \else \if\seq@type p \xdef\prefix@{pep} \xdef\seq@type{P}
- \else \seqtype{N} \xdef\prefix@{DNA} \fi\fi
\fi
\fi
}
@@ -8017,11 +9776,15 @@
%%%%% 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=\wd1
+ \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
@@ -8043,6 +9806,26 @@
\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}
@@ -8079,12 +9862,46 @@
\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=\textwidth
\ifnames@ \advance\loopcount by -\name@width \fi
- \ifnumbers@ \advance\loopcount by -\number@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
@@ -8102,6 +9919,30 @@
\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{%
@@ -8152,10 +9993,26 @@
\loopcount=\csname res@count\rule@num\endcsname
\divide\loopcount by \ruler@step
\multiply\loopcount by \ruler@step
- \ifnum\loopcount<0 \else \advance\loopcount by \ruler@step \fi
+ \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
- \xdef\rule@tens{\ruler@step}
+ \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@
@@ -8173,19 +10030,19 @@
\ifnum\finger@linenum>0
\show@consfalse
\hidechartrue
- \message{<fingerprinting---please wait>}
+ \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
+ \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@
@@ -8208,13 +10065,17 @@
\xdef\@lign@count{\the\loopcount}
\start@true \xdef\start@num{1} \xdef\start@seq{0}
\stop@false \xdef\end@num{99999999} \xdef\seq@regions{0}
-\cons@count=0 \csname res@count0\endcsname=0
+\cons@count=0
+\expandafter\xdef\csname res@count0\endcsname{0}
+\xdef\allow@zero{n} \xdef\c@ns@shift{0}
\regionalshadefalse\regionalemphfalse\regionaltintfalse
\frame@false
+\xdef\ruler@rot{0}
\topfeaturefalse\bottomfeaturefalse
\ttopfeaturefalse\bbottomfeaturefalse
\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}
@@ -8248,6 +10109,46 @@
\xdef\bottom@stretch{n} \xdef\bbottom@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\d@t\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\d@t\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}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% %%%%%
@@ -8257,7 +10158,7 @@
%%%%% %%%%%
%%%%% Under any circumstances: %%%%%
%%%%% %%%%%
-%%%%% DO NOT CHANGE ANY SETTINGS !!! %%%%%
+%%%%% 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 %%%%%
@@ -8275,19 +10176,26 @@
\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.15} % Stretch character width 1.15fold
-\linestretch{1} % Do not stretch lines
+\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'
\numberingcolor{Black} % Numbering color is `Black'
-\shownumbering{left} % Show sequence numbering on the left
+\shownumbering{right} % Show sequence numbering on the left
\namescolor{Black} % Names' color is `Black'
-\shownames{right} % Show sequence names on the right
+\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'
@@ -8328,6 +10236,7 @@
\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)
diff --git a/Master/texmf-dist/tpm/texshade.tpm b/Master/texmf-dist/tpm/texshade.tpm
index 6e29fc8bf17..325f6cd685c 100644
--- a/Master/texmf-dist/tpm/texshade.tpm
+++ b/Master/texmf-dist/tpm/texshade.tpm
@@ -3,8 +3,8 @@
<rdf:Description about="http://texlive.dante.de/texlive/Package/texshade.zip">
<TPM:Name>texshade</TPM:Name>
<TPM:Type>Package</TPM:Type>
- <TPM:Date>2006/01/11 23:03:17</TPM:Date>
- <TPM:Version>1.5</TPM:Version>
+ <TPM:Date>2006/06/30 13:15:03</TPM:Date>
+ <TPM:Version></TPM:Version>
<TPM:Creator>rahtz</TPM:Creator>
<TPM:Title>
Package for setting nucleotide and peptide alignments.
@@ -24,12 +24,12 @@ habitual TeX output quality--with reasonable time expenditure.
<TPM:Author>Eric Beitz</TPM:Author>
<TPM:Size>1725749</TPM:Size>
<TPM:Build/>
- <TPM:RunFiles size="347039">
+ <TPM:RunFiles size="418314">
texmf-dist/tex/latex/texshade/texshade.def
texmf-dist/tex/latex/texshade/texshade.sty
texmf-dist/tpm/texshade.tpm
</TPM:RunFiles>
- <TPM:DocFiles size="738283">
+ <TPM:DocFiles size="807085">
texmf-dist/doc/latex/texshade/AQP1.phd
texmf-dist/doc/latex/texshade/AQP1.top
texmf-dist/doc/latex/texshade/AQP2spec.ALN
@@ -44,7 +44,7 @@ texmf-dist/doc/latex/texshade/texshade.pdf
texmf-dist/doc/latex/texshade/tsfaq.pdf
texmf-dist/doc/latex/texshade/tsfaq.tex
</TPM:DocFiles>
- <TPM:SourceFiles size="640427">
+ <TPM:SourceFiles size="738597">
texmf-dist/source/latex/texshade/texshade.dtx
texmf-dist/source/latex/texshade/texshade.ins
</TPM:SourceFiles>