diff options
author | Karl Berry <karl@freefriends.org> | 2009-03-09 23:14:54 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-03-09 23:14:54 +0000 |
commit | 5a93e784e01b2dc5b07c6fe841e31e90eff72f4a (patch) | |
tree | 05285154adeba332bb2d3a93c7068052407a2833 /Master/texmf-dist | |
parent | e02a26695ee487b4e603f07117207e454665a0a4 (diff) |
texshade 1.19 (9mar09)
git-svn-id: svn://tug.org/texlive/trunk@12351 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/texshade/README | 9 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/texshade/texshade.pdf | bin | 640261 -> 660034 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/texshade/texshade.dtx | 2043 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/texshade/texshade.ins | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/texshade/texshade.def | 6 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/texshade/texshade.sty | 1483 |
6 files changed, 2533 insertions, 1012 deletions
diff --git a/Master/texmf-dist/doc/latex/texshade/README b/Master/texmf-dist/doc/latex/texshade/README index bb80eed3bd1..a766b4725a2 100644 --- a/Master/texmf-dist/doc/latex/texshade/README +++ b/Master/texmf-dist/doc/latex/texshade/README @@ -1,4 +1,4 @@ - TeXshade v1.18 + TeXshade v1.19 >> >> 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 - 2008 Eric Beitz + Copyright (C) 1999 - 2009 Eric Beitz @@ -51,9 +51,12 @@ texshade.def Standard definitions AQPDNA.MSF Example nucleotide alignment file (MSF-format) AQPpro.MSF Example protein alignment file (MSF-format) + AQP_TC.asc Example T-Coffee shading file AQP2spec.ALN Example protein alignment file (ALN-format) AQP1.top Example topology data file generated from PHD AQP1.phd Example PHD secondary structure file + AQP1_HMM.sgl Example HMMTOP topology data (single line format) + AQP1_HMM.ext Example HMMTOP topology data (extended format) Standard.cod Standard genetic code definitions Ciliate.cod Ciliate macronuclear genetic code definitions @@ -125,7 +128,7 @@ 3 - CONTACT E-Mail: ebeitz@pharmazie.uni-kiel.de - WWW: http://www.pharmazie.uni-kiel.de/chem/Prof_Beitz/biotex.html + WWW: http://www.pharmazie.uni-kiel.de/chem/ (On-line documentation and updates) Address: Eric Beitz, University of Kiel, Pharmaceutical Chemistry, Gutenbergstrasse 76, D-24118 Kiel (Germany) diff --git a/Master/texmf-dist/doc/latex/texshade/texshade.pdf b/Master/texmf-dist/doc/latex/texshade/texshade.pdf Binary files differindex 1b47c480cdc..012391e2322 100644 --- a/Master/texmf-dist/doc/latex/texshade/texshade.pdf +++ b/Master/texmf-dist/doc/latex/texshade/texshade.pdf diff --git a/Master/texmf-dist/source/latex/texshade/texshade.dtx b/Master/texmf-dist/source/latex/texshade/texshade.dtx index 61e88ddf8d0..3fe76ed81cf 100644 --- a/Master/texmf-dist/source/latex/texshade/texshade.dtx +++ b/Master/texmf-dist/source/latex/texshade/texshade.dtx @@ -7,10 +7,10 @@ % first run the file `texshade.ins' through LaTeX. This produces % the needed style file `texshade.sty' and the parameter file % `texshade.def' as well as several example files. See the file -% `texshade.txt' for further information! +% `README' for further information! % % -% Copyright (C) 1999-2008 Eric Beitz +% Copyright (C) 1999-2009 Eric Beitz % See the file texshade.txt % % \fi @@ -308,12 +308,10 @@ % % % \changes{1.18}{2008-04-15}{% -% Corrections: bug fixes concerning: -% featurenames, ordering, numbering, setends. -% Introduction: T-Coffee shading can be imported and displayed -% in the alignment, in the consensus, -% in feature color scales and bar graphs by -% `shadingmode[ASCII-file]{T-Coffee}' and +% Corrections: bug fixes (featurenames, ordering, numbering). +% Introduction: T-Coffee shading in alignment, consensus and +% feature color scales and bar graphs +% `shadingmode[ASCII-file]{T-Coffee}' % `includeTCoffee'; % two more feature lines on top and at bottom: % `ttttop', `tttop', `bbbottom', and `bbbbottom'; @@ -321,6 +319,22 @@ % via optional parameters. % } % +% \changes{1.19}{2009-03-09}{% +% Corrections: horizontal scaling of logo characters with `charstretch'; +% further bug fixes. +% Introduction: selection of residues depending on PDB file coordinates; +% works with `feature', `shaderegion', `shadeblock', +% `tintregion', `tintblock', `emphregion', +% `emphblock', `frameblock'; +% 3D selection possible around a point, along a line, or +% within a plane; +% list of selected residues printable with `printPDBlist', +% or viewable during the TeX run with `messagePDBlist'; +% show only selected residues in alignment with `setdomain', +% `domaingaprule' sets thickness of a domain separator rule, +% `domaingapcolors' sets fg/bg colors for the separator rule, +% these commands replace the unstable `hideblock' command. +% } % % % @@ -361,7 +375,7 @@ % for further information, updates and on-line documentation % see my homepage at % \texttt{www.pharmazie.uni-kiel.de/chem/Prof\_Beitz/biotex.html} }} -% \date{v1.18; 2008/04/15\\} +% \date{\small v1.19; 2009/03/09\\[2pt] {*** incredible 10 years since first release ***}} % \maketitle % \begin{abstract} % Setting alignments of nucleotides and peptides for publication @@ -440,6 +454,29 @@ % % \subsection{Version History} % +% \textbf{v1.19 2009/03/09} +% \medskip +% +% \emph{Correction:} logo characters are now horizontally +% scalable using |\charstretch|. Minor bugs were fixed. +% +% \emph{Introduction:} +% (a) Selection of residue positions was enhanced (\ref{Lshaderegion}) +% \TeXshade{} can +% now select residues based on their 3D coordinates provided in a +% PDB structure file. 3D selection can be due to a certain distance +% around a point, along a line, or above and below a plane. It +% works with |\feature|, |\shaderegion|, |\shadeblock|, |\tintregion|, +% |\tintblock|, |\emphregion|, |\emphblock|, |\frameblock|. +% (b) The list of selected residues is printable with |\printPDBlist| or +% viewable during the \TeX{} run with |\messagePDBlist|. +% (c) |\hideblock| and related commands were replaced by |\setdomain| +% (\ref{Lsetdomain}). +% This command will display only selected residues in the alignment. +% Thickness and colors of a domain separator rule can be set using +% |\domaingaprule| and |\domaingapcolors|. +% \bigskip +% % \textbf{v1.18 2008/04/15} % \medskip % @@ -458,8 +495,6 @@ % end definitions of the sequence section to be displayed. % \bigskip % -% \newpage -% % \textbf{v1.17 2007/06/19} % \medskip % @@ -482,7 +517,7 @@ % \bigskip % % -% \textbf{v1.17 2007/06/19} +% \textbf{v1.16 2007/02/18} % \medskip % % \emph{Correction:} \TeXshade{} crashed when calculating conservation @@ -547,6 +582,8 @@ % implemented, i.e. subfamily logos (p.\pageref{Lshowsubfamilylogo}) [14]. % \bigskip % +% \newpage +% % \textbf{v1.12 2005/09/20} % \medskip % @@ -598,6 +635,8 @@ % bar graphs and color scales. % \bigskip % +% \newpage +% % \textbf{v1.9 2005/02/08} % \medskip % @@ -652,6 +691,8 @@ % A new feature label style |helix| has been introduced. % \bigskip % +% \newpage +% % \textbf{v1.6 2002/03/26} % \medskip % @@ -764,6 +805,8 @@ % `|\Alphacount|'. All commands are described in \ref{structure}. % \bigskip % +% \newpage +% % \textbf{v1.1 1999/5/26} % \medskip % @@ -1020,6 +1063,57 @@ % \end{verbatim} % } % +% Quite uncommon for an alignment shading software is the possibility +% to display selected residues only, e.\,g.\ to eliminate uninteresting +% positions from the output: +% \medskip +% +% \begin{texshade}{AQPpro.MSF} +% \setdomain{1}{80..90,100..110,120..130} +% \showruler{1}{top} +% \hidenumbering +% \hideconsensus +% \end{texshade} +% +% Code:\medskip +% +% \vbox{% +% \begin{verbatim} +% \begin{texshade}{AQPpro.MSF} +% \setdomain{1}{80..90,100..110,120..130} +% \showruler{1}{top} +% \hidenumbering +% \hideconsensus +% \end{texshade} +% \end{verbatim} +% } +% +% This goes even furher. You can have \TeXshade{} select positions +% based on the 3D coordinates provided by a PDB file, e.\,g.\ show +% all residues that are within an 8 \AA{} radius around the +% $\alpha$-carbon of the residue at position 81: +% \bigskip +% +% \begin{texshade}{AQPpro.MSF} +% \setdomain{1}{75..86,103..103,148..148,151..153,155..156,193..195,218..219,222..222} +% \showruler{1}{top} \rulersteps{1} +% \hidenumbering +% \hideconsensus +% \end{texshade} +% +% Code:\medskip +% +% \vbox{% +% \begin{verbatim} +% \begin{texshade}{AQPpro.MSF} +% \setdomain{1}{point[8]:1J4N.pdb,81[CA]} +% \showruler{1}{top} \rulersteps{1} +% \hidenumbering +% \hideconsensus +% \end{texshade} +% \end{verbatim} +% } +% % If you like, positions where conservation is very high (here $\ge$ 80\%) can % be shaded in a special color and the consensus can be shown with % or without shading according to the degree of conservation: @@ -1117,7 +1211,6 @@ % \begin{texshade}{AQPpro.MSF} % \shadingmode[AQP_TC.asc]{T-Coffee} % \setends{1}{30..63} -% \hideconsensus % \feature{top}{1}{30..63}{color:conservation[T-Coffee]}{} % \showfeaturestylename{top}{feat-cons} % \showconsensus{bottom} @@ -1130,7 +1223,6 @@ % \begin{texshade}{AQPpro.MSF} % \shadingmode[AQP_TC.asc]{T-Coffee} % \setends{1}{30..63} -% \hideconsensus % \feature{top}{1}{30..63}{color:conservation[T-Coffee]}{} % \showfeaturestylename{top}{feat-cons} % \showconsensus{bottom} @@ -1157,7 +1249,6 @@ % \medskip % % \begin{texshade}{AQP2spec.ALN} -% \seqtype{P} % \shadingmode{diverse} % \setends{1}{77..109} \residuesperline*{33} % \featureslarge @@ -1179,7 +1270,6 @@ % \vbox{% % \begin{verbatim} % \begin{texshade}{AQP2spec.ALN} -% \seqtype{P} % \shadingmode{diverse} % \setends{1}{77..109} % \featureslarge @@ -2124,7 +2214,7 @@ % conserved residues, e.\,g.\ |\shadingmode[90]{identical}|. % \label{Lallmatchspecial}|\allmatchspecial| can also be % used as a command with or without an optional parameter for -% setting the high conservation threshold. As both, option or command +% setting the high conservation threshold. As both, option or command, % |allmatchspecial| is only active in the \emph{identical} and % \emph{similar} shading modes. % @@ -2871,6 +2961,58 @@ % residues long. % % +% \label{Lshowruler}\label{Lhideruler} +% \label{Lrulersteps}\label{Lrulercolor} +% \label{Lrotateruler}\label{Lunrotateruler} +% \label{Lnamerulerpos} +% Another possibility to label sequence positions is to switch +% on a ruler on the top or at the bottom of the sequence block +% using \label{ruler} +% |\showruler[|\meta{color}|]{|\meta{position}|}{|\meta{seqref}|}|. +% The residue ruler of one sequence \meta{seqref} or the consensus +% (declare `|consensus|' as \meta{seqref}) can be +% displayed at \meta{position} |top| or |bottom|. +% The ruler is hidden with |\hideruler|. The steps between two +% numbers are set by |\rulersteps{|\meta{number}|}|. If the steps +% are set to be very close ($< 4$) or when every position is numbered, the +% numbering is automatically rotated by 90$^\circ$. Using |\rotateruler| +% and |\unrotateruler| this can be done and undone manually. +% In order to change the +% ruler color use the optional parameter or the command +% |\rulercolor{|\meta{color}|}|. Also, the label and its color at individual +% ruler positions can be changed by the user to a string using +% |\namerulerpos{|\meta{number}|}{|\meta{text}|[|\meta{color}|]}| +% (see example on p.\ \pageref{ras}). +% +% \label{Lgapchar}\label{Lgaprule} +% \label{Lgapcolors}\label{gapchar} +% Further, the symbol which is displayed in sequence gaps is freely +% selectable with +% |\gapchar{|\meta{symbol}|}|. \meta{symbol} can be any character +% or symbol. If math symbols are to be used math mode must be +% activated by |$| characters, i.\,e. |\gapchar{{$\triangle$}}|. +% Note the double curly braces in the last command. Everytime a +% `complex' character is used, i.\,e. a character definition consisting +% of more than one letter, it must be braced in order to be interpreted as one +% character. One exception is |\gapchar{rule}|; with this +% parameter lines are drawn in the sequence gaps with a certain +% thickness defined by |\gaprule{|\meta{thickness}|}|, e.\,g. +% |\gaprule{1.5pt}|. The colors of the gaps and gap symbols are set by +% |\gapcolors{|\meta{symbol color}|}{|\meta{background color}|}|. +% +% There are some discussions whether or not to display gap symbols before +% and after the actual sequence. Since v1.3a one can control the +% appearance of those gap symbols by the commands +% \label{Lshowleadinggaps} \label{Lhideleadinggaps} +% |\showleadinggaps| and |\hideleadinggaps|. By default, leading +% gaps are indicated by symbols despite my personal +% thinking that it could suggest that +% there are some not displayed residues upstream resp.\ downstream of the +% gap. +% +% +% \subsubsection{Displaying selected residues in the alignment} +% % \label{Lsetends} % \TeXshade{} can display a section of the complete alignment % without the need to edit the alignment input file or even @@ -2932,55 +3074,64 @@ % sequence alignment because the consensus counts every position % including gaps. % -% \label{Lshowruler}\label{Lhideruler} -% \label{Lrulersteps}\label{Lrulercolor} -% \label{Lrotateruler}\label{Lunrotateruler} -% \label{Lnamerulerpos} -% Another possibility to label sequence positions is to switch -% on a ruler on the top or at the bottom of the sequence block -% using \label{ruler} -% |\showruler[|\meta{color}|]{|\meta{position}|}{|\meta{seqref}|}|. -% The residue ruler of one sequence \meta{seqref} or the consensus -% (declare `|consensus|' as \meta{seqref}) can be -% displayed at \meta{position} |top| or |bottom|. -% The ruler is hidden with |\hideruler|. The steps between two -% numbers are set by |\rulersteps{|\meta{number}|}|. If the steps -% are set to be very close ($< 4$) or when every position is numbered, the -% numbering is automatically rotated by 90$^\circ$. Using |\rotateruler| -% and |\unrotateruler| this can be done and undone manually. -% In order to change the -% ruler color use the optional parameter or the command -% |\rulercolor{|\meta{color}|}|. Also, the label and its color at individual -% ruler positions can be changed by the user to a string using -% |\namerulerpos{|\meta{number}|}{|\meta{text}|[|\meta{color}|]}| -% (see example on p.\ \pageref{ras}). +% \label{Lsetdomain} +% The output can be even further restricted to +% individually selected residues, e.g.\ to eliminate uninteresting alignment stretches or +% to condense the output, by: +% \medskip % -% \label{Lgapchar}\label{Lgaprule} -% \label{Lgapcolors}\label{gapchar} -% Further, the symbol which is displayed in sequence gaps is freely -% selectable with -% |\gapchar{|\meta{symbol}|}|. \meta{symbol} can be any character -% or symbol. If math symbols are to be used math mode must be -% activated by |$| characters, i.\,e. |\gapchar{{$\triangle$}}|. -% Note the double curly braces in the last command. Everytime a -% `complex' character is used, i.\,e. a character definition consisting -% of more than one letter, it must be braced in order to be interpreted as one -% character. One exception is |\gapchar{rule}|; with this -% parameter lines are drawn in the sequence gaps with a certain -% thickness defined by |\gaprule{|\meta{thickness}|}|, e.\,g. -% |\gaprule{1.5pt}|. The colors of the gaps and gap symbols are set by -% |\gapcolors{|\meta{symbol color}|}{|\meta{background color}|}|. +% \quad|\setdomain{|\meta{seqref}|}{|\meta{selection}|}| +% \medskip % -% There are some discussions whether or not to display gap symbols before -% and after the actual sequence. Since v1.3a one can control the -% appearance of those gap symbols by the commands -% \label{Lshowleadinggaps} \label{Lhideleadinggaps} -% |\showleadinggaps| and |\hideleadinggaps|. By default, leading -% gaps are indicated by symbols despite my personal -% thinking that it could suggest that -% there are some not displayed residues upstream resp.\ downstream of the -% gap. +% Here, \meta{seqref} denotes the reference sequence by its number or name. +% This sequence is used to define the alignment positions \meta{selection} +% to be shown. +% \meta{selection} can have two different formats +% depending on whether (a) the user wants to select the positions manually +% or (b) \TeXshade{} is supposed to select the residues based on 3D +% coordinates provided by a PDB file. % +% To select the residues manually, the user provides a position list of +% the following format: +% \medskip +% +% \quad|{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,|\ldots|,|\meta{start n}..\meta{stop n}|}| +% \medskip +% +% For how to select positions by 3D coordinates +% provided by a PDB file, see \ref{Lshaderegion}. +% \medskip +% +% Examples (see also p.\,\pageref{ident}ff): +% +% \quad|\setdomain{1}{20..80}| +% +% \quad|\setdomain{consensus}{20..80,100..150,200..220}| +% +% \quad|\setdomain{AQP1}{point[6]:1FX8.pdb,173[side]}| +% +% \quad|\setdomain{3}{plane[0.5]:1JN4.pdb,66[CA],73[side],199[CA]}| +% \medskip +% +% +% It is helpful to show a ruler (probably single-stepped, see p.\,\pageref{Lshowruler}) to +% label the residue positions. +% +% The resulting gaps between sequence stretches are marked by a vertical rule, which +% can be changed in thickness by +% \medskip +% +% \quad|\domaingaprule{|\meta{thickness}|}|, e.\,g.\ +% |\domaingaprule{1pt}|. \label{Ldomaingaprule} +% \medskip +% +% Also, the colors can be set by +% \medskip +% +% \quad|\domaingapcolors{|\meta{foreground}|}{|\meta{background}|}| \label{Ldomaingapcolors} +% \medskip +% +% e.\,g.\ |\domaingapcolors{Blue}{Yellow}|. % % % \subsubsection{Hiding, killing, separating and ordering} @@ -3147,28 +3298,42 @@ % % \subsection{Individual shading and labeling of sequence stretches} % -% Computer calculated alignment shading is informative---but -% even more information can be visualized by manual labeling +% Computer calculated conservation shading is informative---but +% even more information can be visualized by additional labeling % of positions and regions of interest with different colors, % text styles or graphical marks and descriptive text. All this % is provided by easy to handle \TeXshade{} commands. % % -% \subsubsection{Manual shading of regions and blocks} +% \subsubsection{Shading of regions and blocks} % \label{shaderegion} % % \label{Lshaderegion} % Besides the shading calculated by \TeXshade{} any region can be -% shaded manually with a color specified by the user. This is very +% additionally shaded with a color specified by the user. This is very % useful to highlight secondary protein modification -% sites such as phosphorylation or glycosylation sites or longer -% motifs for example protein/protein interaction sites. -% This is done by the use of the following command: +% sites such as phosphorylation or glycosylation sites, or longer +% motifs for example protein/protein interaction sites or protein domains. +% This is done with the following command: +% \medskip +% +% \quad|\shaderegion{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % \medskip % -% \quad|\shaderegion{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| +% Here, \meta{seqref} refers to the sequence by its name or number +% within the alignment. The +% foreground and background colors can be set with the last two +% parameters. +% \meta{selection} can have two different formats +% depending on whether (a) the user wants to select the positions manually +% or (b) \TeXshade{} is supposed to select the residues based on 3D +% coordinates provided by a PDB file. +% +% To select the residues manually, the user provides a position list of +% the following format: +% \medskip % -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| +% \quad|{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,|\ldots|,|\meta{start n}..\meta{stop n}|}| % \medskip % % Example: in order to shade residue number 13 and the region @@ -3181,22 +3346,80 @@ % % If the consensus is to be shaded use |consensus| as % \meta{seqref}. +% \medskip +% +% In order to select positions based on the 3D structure a PDB +% structure file is required. \TeXshade{} can select residues within +% a given distance in \AA{} around a point, along a line, or above and +% below a plane, which are defined by one to three residues. The points +% can be further specified to be the $\alpha$-carbon atom, i.\,e.\ the +% protein backbone, or the most distant atom of the sidechain. Accordingly, +% \meta{selection} has one of the formats: +% \medskip +% +% \quad|{point[|\meta{dist}|]:|\meta{file}|,|\meta{num}|[CA/side]}| +% \medskip +% +% \quad|{line[|\meta{dist}|]:|\meta{file}|,|\meta{num1}|[CA/side],|\meta{num2}|[CA/side]}| +% \medskip +% +% \vbox{% +% \quad|{plane[|\meta{dist}|]:|\meta{file}|,|\meta{num1}|[CA/side],|\meta{num2}|[CA/side],| +% \medskip +% +% \hfill\meta{num3}|[CA/side]}| +% } +% \medskip +% +% +% Example: in order to select and shade as above all residues that are within an 8\ \AA{} +% sphere around the $\alpha$-carbon of residue 81 and the data are +% provided in the PDB file |1J4N.pdb|, type: +% \medskip +% +% \quad|\shaderegion{1}{point[8]:1J4N.pdb,81[CA]}{Red}{Green}| +% \medskip +% +% Example: two points denote a line, hence, give two residues to select +% everything within 1\ \AA{} along the line between the $\alpha$-carbon of +% residue 81 and the sidechain of residue 168 with: +% \medskip +% +% \quad|\shaderegion{1}{line[1]:1J4N.pdb,81[CA],168[side]}| +% \medskip +% +% \hfill|{Red}{Green}| +% \medskip % +% Definition of a plane follows the same format but requires three points. +% If the optional parameters |[\meta{dist}]| and |[CA/side]| are not given, +% \TeXshade{} assumes |[1]| and |[side]|, respectively. +% +% In case one needs the position numbers of the selected residues for usage +% in other applications, those can be either printed in the \TeX{} document with +% |\printPDBlist{|\meta{selection}|}| or shown during the \TeX{} run with +% |\messagePDBlist{|\meta{selection}|}|. The commands can be used outside of the +% \TeXshade{} environment. \label{LprintPDBlist}\label{LmessagePDBlist} +% +% Both selection formats, i.\,e. a manually given list and the 3D selection, +% can be used with |\shadeblock| (see below), +% |\tintregion|, |\tintblock|, |\emphregion|, |\emphblock|, +% |\frameblock| (all in \ref{Lframeblock}), and |\feature| (\ref{Lfeature}). +% +% % \label{Lshadeblock} -% In analogy to |\shaderegion| which is restricted to one single -% sequence |\shadeblock| shades the corresponding region in all +% In analogy to |\shaderegion| which is restricted to a single +% sequence, |\shadeblock| shades the corresponding region in all % other sequences as well % except the consensus. If also the consensus is to be shaded % define the region using |consensus| as \meta{seqref}. % \medskip % -% \quad|\shadeblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| +% \quad|\shadeblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % \medskip % % -% \subsubsection{Emphasizing and tinting regions and blocks} +% \subsubsection{Emphasizing, tinting, and framing} % % \label{Lemphregion}\label{Lemphblock} % If it is prefered to keep the calculated shading colors @@ -3205,19 +3428,17 @@ % such regions: % \medskip % -% \quad|\emphregion{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}| +% \quad|\emphregion{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % % and % \medskip % -% \quad|\emphblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}| +% \quad|\emphblock{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % +% For the format possibilities of the \meta{selection} parameter please see \ref{Lshaderegion}. +% % \label{Lemphdefault} % Which style \TeXshade{} uses for emphasizing regions is defined by % |\emphdefault{|\meta{style}|}|. Default setting is the @@ -3233,17 +3454,13 @@ % \pageref{hydro}): % \medskip % -% \quad|\tintregion{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}| +% \quad|\tintregion{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % % and % \medskip % -% \quad|\tintblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}| +% \quad|\tintblock{|\meta{seqref}|}{|\meta{selection}|}| % \medskip % % \label{Ltintdefault} @@ -3257,56 +3474,15 @@ % command:\footnote{Thanks to Alan Robinson for inspiration.} % \medskip\label{Lframeblock} % -% \quad|\frameblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{color}|[|\meta{length}|]}| +% \quad|\frameblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{color}|[|\meta{length}|]}| % \medskip % % With the optional parameter the default line thickness of the frame can % be changed, example: |\frameblock{1}{10..20,50..70}{Red[2pt]}| % -% \subsubsection{Hiding blocks of the alignment (experimental!)} -% -% \label{Lhideblock} -% \textit{Be aware that this feature is still highly experimental. There are many instances -% in which this command fails. Please be patient until everything is fixed.} % -% Complete blocks of the alignment incl. all sequences, consensus and labels -% can be hidden, e.g.\ to eliminate uninteresting alignment stretches or -% to condense the output, by: -% \medskip -% -% \quad|\hideblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{label}|[|\meta{color}|]}{|\meta{text}|[|\meta{color}|]}| -% \medskip -% -% Here, \meta{seqref} denotes the sequence by its number of name -% which is used to define the alignment positions \meta{start1}..\meta{stop1} -% etc.\ to be hidden. A symbol can be displayed as a -% \meta{label} of the alignment deletion, i.e.\ |circ|, |triangle|, |square|, -% or |none|. A color can be assigned to the label by the optional parameter -% \meta{color}. Further, an explanatory text can be displayed above the symbol -% \meta{text} with an optional \meta{color}. For how to change the appearance -% of the font see p.\pageref{Lsetfont}. -% \medskip -% -% Examples: % -% \quad|\hideblock{1}{20..80}{circ}{condensed![Red]}| -% -% \quad|\hideblock{1}{20..80}{triangle[Red]}{hidden block}| -% -% \quad|\hideblock{AQP1}{20..80}{none[Blue]}{$\Delta$20-80)}| -% -% \quad|\hideblock{consensus}{20..80,100..150,200..220}{none}{}| -% \medskip % -% It may be advisable to show a ruler (probably single-stepped, see p.\pageref{Lshowruler}) to -% further indicate the alignment deletion. Make sure that there are no -% feature definitions (also frames, emphs, shades, tints) starting or -% ending within the hidden block. This may cause messy sequence labels. -% % \subsubsection{Graphical labeling of sequence features} % % \label{feature} @@ -3317,9 +3493,7 @@ % text. It needs five parameters: % \medskip % -% \quad|\feature{|\meta{position}|}{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,| -% -% \quad\quad\meta{start2}..\meta{stop2}|,|\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{labelstyle}|}{|\meta{text}|}| +% \quad|\feature{|\meta{position}|}{|\meta{seqref}|}{|\meta{selection}|}{|\meta{labelstyle}|}{|\meta{text}|}| % \medskip % % In the following paragraphs all possible parameter settings of @@ -3346,7 +3520,7 @@ % |\bottomspace{-0.1in}|. % % The argument \meta{seqref} and the third -% parameter containing the definitions of the specified regions +% parameter containing the selection of the specified residues % are identical to the ones described before in several commands, e.\,g. % |\ruler| (\ref{ruler}) or |\shaderegion| (\ref{shaderegion}). % @@ -4895,9 +5069,6 @@ % \quad|\seqlength{|\meta{seqref}|}{|\meta{length}|}| % \hfill[\pageref{Lseqlength}] % -% \quad|\setends[|\meta{startnumber}|]{|\meta{seqref}|}{|\meta{start..stop}|}| -% \hfill[\pageref{Lsetends}] -% % \quad|\showruler[|\meta{color}|]{|\meta{top/bottom}|}{|\meta{seqref}|}| % \hfill[\pageref{Lshowruler}] % @@ -4936,6 +5107,23 @@ % % \vspace{1.5\baselineskip} % +% \textbf{Displaying selected residues in the alignment} +% \medskip +% +% \quad|\setends[|\meta{startnumber}|]{|\meta{seqref}|}{|\meta{start..stop}|}| +% \hfill[\pageref{Lsetends}] +% +% \quad|\setdomain{|\meta{seqref}|}{|\meta{selection}|}| (see |\shaderegion| p.\,\pageref{Lshaderegion}) +% \hfill[\pageref{Lsetdomain}] +% +% \quad|\domaingaprule{|\meta{thickness}|}| +% \hfill[\pageref{Lsetdomain}] +% +% \quad|\domaingapcolors{|\meta{foreground}|}{|\meta{background}|}| +% \hfill[\pageref{Lsetdomain}] +% +% \vspace{1.5\baselineskip} +% % \textbf{Hiding, killing, separating and ordering} % \medskip % @@ -5018,62 +5206,69 @@ % % \vspace{1.5\baselineskip} % +% \newpage +% % % \textbf{Individual shading and labeling of sequence stretches} % \medskip % -% \quad|\shaderegion{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| +% \quad|\shaderegion{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| +% \hfill[\pageref{Lshaderegion}] +% +% \medskip % -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| -% [\pageref{Lshaderegion}] +% \quad |{|\meta{selection}|}| = +% \medskip% % -% \newpage +% \quad\quad|{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,|\ldots|,|\meta{start n}..\meta{stop n}|}| +% \medskip +% +% \quad\quad|{point[|\meta{dist}|]:|\meta{file}|,|\meta{num}|[CA/side]}| +% \medskip +% +% \quad\quad|{line[|\meta{dist}|]:|\meta{file}|,|\meta{num1}|[CA/side],|\meta{num2}|[CA/side]}| +% \medskip +% +% \quad\quad|{plane[|\meta{dist}|]:|\meta{file}|,|\meta{num1}|[CA/side],|\meta{num2}|[CA/side],| +% \medskip % -% \quad|\shadeblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| +% \hfill\meta{num3}|[CA/side]}| +% \medskip +% % -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| -% [\pageref{Lshadeblock}] +% \quad|\printPDBlist{|\meta{selection}|}| \quad|\messagePDBlist{|\meta{selection}|}| +% \hfill[\pageref{LprintPDBlist}] % -% \quad|\emphregion{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| +% \quad|\shadeblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| +% \hfill[\pageref{Lshadeblock}] % -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}| -% [\pageref{Lemphregion}] +% \quad|\shadeblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| +% \hfill[\pageref{Lshadeblock}] % -% \quad|\emphblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| +% \quad|\emphregion{|\meta{seqref}|}{|\meta{selection}|}| +% \hfill[\pageref{Lemphregion}] % -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}| -% [\pageref{Lemphblock}] +% \quad|\emphblock{|\meta{seqref}|}{|\meta{selection}|}| +% \hfill[\pageref{Lemphblock}] % % \quad|\emphdefault{|\meta{style}|}| % \hfill[\pageref{Lemphdefault}] % -% \quad|\tintregion{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}| -% [\pageref{Ltintregion}] +% \quad|\tintregion{|\meta{seqref}|}{|\meta{selection}|}| +% \hfill[\pageref{Ltintregion}] % -% \quad|\tintblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| -% -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}| -% [\pageref{Ltintblock}] +% \quad|\tintblock{|\meta{seqref}|}{|\meta{selection}|}| +% \hfill[\pageref{Ltintblock}] % % \quad|\tintdefault{|\meta{effect}|}| \qquad\qquad|weak, normal, strong| % \hfill[\pageref{Ltintdefault}] % -% \quad|\frameblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| +% \quad|\frameblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{color}|[|\meta{length}|]}| +% \hfill[\pageref{Lframeblock}] % -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{color}|[|\meta{length}|]}| -% [\pageref{Lframeblock}] -% -% \quad|\hideblock{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,|\meta{start2}..\meta{stop2}|,| +% \quad|\feature{|\meta{position}|}{|\meta{seqref}|}{|\meta{selection}|}| % -% \hfill\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{label}|[|\meta{color}|]}{|\meta{text}|[|\meta{color}|]}| -% [\pageref{Lhideblock}] -% -% \quad|\feature{|\meta{position}|}{|\meta{seqref}|}{|\meta{start1}..\meta{stop1}|,| -% -% \hfill\meta{start2}..\meta{stop2}|,|\ldots|,|\meta{start n}..\meta{stop n}|}{|\meta{labelstyle}|}{|\meta{text}|}| -% [\pageref{Lfeature}] +% \hfill |{|\meta{labelstyle}|}{|\meta{text}|}| [\pageref{Lfeature}] % % \begin{tabbing} % \quad\quad\quad|{|\meta{labelstyle}|}|\ \= = |{brace[|\meta{color}|]}|\\ @@ -5090,6 +5285,9 @@ % \hspace{5cm}\meta{properties/file/data}|[|\meta{scale}|]}|\\ % \hspace{5cm}\meta{properties}: |hydrophobicity|, |charge|,\\ % \hspace{7.4cm}|molweight|, |conservation|\\ +% \hspace{5cm}\meta{scale}: |Gray|, |BlueRed|, |RedBlue|,\\ +% \hspace{6.5cm}|GreenRed|, |RedGreen|, |ColdHot|,\\ +% \hspace{6.5cm}|HotCold|, |T-Coffee|\\ % \end{tabbing} % % \quad|\ttopspace{|\meta{length}|}| @@ -5430,8 +5628,8 @@ % \begin{macrocode} %<*texshade> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{texshade}[2007/06/19 LaTeX TeXshade (v1.17)] -\message{Package `texshade', Version 1.17 of 2007/06/19.} +\ProvidesPackage{texshade}[2009/03/09 LaTeX TeXshade (v1.19)] +\message{Package `texshade', Version 1.19 of 2009/03/09.} \PassOptionsToPackage{dvips}{color} \PassOptionsToPackage{dvips}{graphicx} @@ -5554,8 +5752,10 @@ \def\n@me{Name:} \def\@msf{MSF:} \def\he@derend{//} \def\ampers@nd{&} \def\comm@{,} \def\@loc{LOC} \def\@asg{ASG} \def\@t{@} \def\@HP{>HP:} \def\gre@ter{>} \def\sm@ller{<} \def\N@{N} \def\equ@l{=} \def\H@{H} -\def\gap@char{.} \def\yes{yes} \def\y@{y} \def\n@{n} \def\o@{o} \def\d@t{.} +\def\gap@char{.} \def\dom@char{{\dom@rule}} \def\yes{yes} \def\y@{y} \def\n@{n} \def\o@{o} \def\d@t{.} +\def\@TOM{ATOM} \def\C@lpha{CA} \def\@point@{point} \def\@line@{line} \def\@plane@{plane} \def\gap@rule{\rule[0.3\box@height]{\box@width}{\gap@rulethick}} +\def\dom@rule{\vrule depth\box@depth height\box@height width\domgap@rulethick} \def\fgroup@num{0} \def\max@seqnumber{0} \def\@lign@count{0} \def\resn@m@tch{upper} \def\ressimm@tch{upper} \def\resm@tch{upper} \def\res@llm@tch{upper} @@ -6120,6 +6320,8 @@ \expandafter\xdef\csname cons.Z\endcsname{0} \expandafter\xdef\csname cons..\endcsname{0} +\expandafter\xdef\csname cons==\endcsname{0} + \def\c@d@ns{% \codon{A}{GCA,GCG,GCC,GCT,GCU,GCN} \codon{B}{---} @@ -6872,6 +7074,7 @@ \expandafter\xdef\csname res\the\loopcount\endcsname{\first@} \expandafter\xdef\csname sequence\the\loopcount\endcsname{#2@}} \def\remove@fromseq#1@{\expandafter\xdef\csname sequence\the\loopcount\endcsname{#1}} +\def\get@temp#1@{\xdef\temp@{#1}} \def\TC@get#1#2@{\xdef\char@num{`#1} \ifnum\char@num=45 \xdef\TC@first@{*} \else @@ -7016,6 +7219,7 @@ \ifnum\loopcount<\killseq@count \repeat \ifnum\cons@num>0 \xdef\cons@num{\csname @rd\cons@num\endcsname} \fi \ifnum\rule@num>0 \xdef\rule@num{\csname @rd\rule@num\endcsname} \fi + \ifnum\divref@>0 \xdef\divref@{\csname @rd\divref@\endcsname} \fi \loopcount=0 \loop \advance\loopcount by 1 @@ -7506,9 +7710,9 @@ \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{Arg, Lys, His}{KRH}{Blue}{White}{upper}{up} + \funcgroup{Phe, Tyr, Trp}{FYW}{MidnightBlue}{White}{upper}{up} + \funcgroup{Ala, Gly}{AG}{Gray}{White}{upper}{up} \funcgroup{Cys, Met}{CM}{Yellow}{White}{upper}{up} \funcgroup{Ser, Thr}{ST}{Orange}{White}{upper}{up} \funcgroup{Asn, Gln}{NQ}{Cyan}{White}{upper}{up} @@ -7574,14 +7778,6 @@ \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} \sort@hidestack \fi\fi } -\def\get@hideregions#1..#2,#3@{% - \xdef\hide@true{y} - \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} - \xdef\last@{\csname stack@hidereg\seq@\endcsname} - \xdef\tmpstack{} - \sort@hidestack - \expandafter\xdef\csname stack@hidereg\seq@\endcsname{\tmpstack} -} \def\get@fromemphstack#1;#2;#3;#4@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} \xdef\last@{#4@} @@ -7614,6 +7810,40 @@ \sort@emphstack \expandafter\xdef\csname stack@emphreg\seq@\endcsname{\tmpstack} } +\def\get@fromdomstack#1;#2;#3@{% + \xdef\first@{#1} \xdef\second@{#2} + \xdef\last@{#3@} +} +\def\sort@domstack{% + \expandafter\get@fromdomstack\last@ + \ifx\first@\ampers@nd + \xdef\tmpstack{\tmpstack\st@rt;\st@p;&;&;@} + \else + \ifnum\st@rt<\second@ + \xdef\tmpstack{\tmpstack\st@rt;\st@p;\first@;\second@;\last@} + \else + \xdef\tmpstack{\tmpstack\first@;\second@;} \sort@domstack + \fi\fi +} +\def\get@domainregions#1..#2,#3@{% + \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} + \xdef\last@{\stack@dom} + \xdef\tmpstack{} + \sort@domstack + \xdef\stack@dom{\tmpstack} +} +\def\get@domain{% + \expandafter\get@fromdomstack\last@ + \ifx\first@\ampers@nd + \else + \loopcount=\first@ + \loop + \xdef\domain@num@list{\domain@num@list \the\loopcount,} + \advance\loopcount by 1 + \ifnum\loopcount>\second@\else\repeat + \get@domain + \fi +} \def\getregion@fromtintstack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@tintreg\temp@\endcsname} @@ -7785,6 +8015,132 @@ \fi% \fi% } + +\def\test@PDB#1:#2,#3,#4,#5,#6@{% + \xdef\last@{#1[,]&}\expandafter\opt@color\last@ + \ifx\f@color\comm@ + \xdef\PDB@distance{no} + \else + \xdef\f@color{\f@color .&&@} + \expandafter\coord@get\f@color + \temp@count=\c@@rd + \multiply\temp@count by \temp@count + \xdef\PDB@distance{\the\temp@count} + \fi + \xdef\PDB@hitpos{0} + \xdef\PDB@stack{} + \xdef\PDB@name{#2} + \xdef\PDB@type{point} + \ifx\fourth@\PDB@type + \xdef\last@{#3[,]&}\expandafter\opt@color\last@ + \xdef\PDB@refnum@a{\fourth@} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@a{CA} + \else + \xdef\PDB@back@side@a{side} + \fi + \xdef\PDB@refnum@b{0} \xdef\PDB@back@side@b{x} + \xdef\PDB@refnum@c{0} \xdef\PDB@back@side@c{x} + \ifx\PDB@distance\n@ \xdef\PDB@distance{3600}\fi + \load@PDB + \expandafter\get@item\PDB@stack \xdef\list@{\first@@} + \else + \xdef\PDB@type{line} + \ifx\fourth@\PDB@type + \xdef\last@{#3[,]&}\expandafter\opt@color\last@ + \xdef\PDB@refnum{\fourth@} + \ifx\f@color\C@lpha + \xdef\PDB@back@side{CA} + \else + \xdef\PDB@back@side{side} + \fi + \xdef\last@{#4[,]&}\expandafter\opt@color\last@ + \ifnum\PDB@refnum<\fourth@ + \xdef\PDB@refnum@a{\PDB@refnum} + \xdef\PDB@refnum@b{\fourth@} + \xdef\PDB@back@side@a{\PDB@back@side} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@b{CA} + \else + \xdef\PDB@back@side@b{side} + \fi + \else + \xdef\PDB@refnum@b{\PDB@refnum} + \xdef\PDB@refnum@a{\fourth@} + \xdef\PDB@back@side@b{\PDB@back@side} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@a{CA} + \else + \xdef\PDB@back@side@a{side} + \fi + \fi + \xdef\PDB@refnum@c{0} \xdef\PDB@back@side@c{x} + \ifx\PDB@distance\n@ \xdef\PDB@distance{100}\fi + \load@PDB + \expandafter\get@item\PDB@stack \xdef\list@{\first@@} + \else + \xdef\PDB@type{plane} + \ifx\fourth@\PDB@type + \xdef\last@{#3[,]&}\expandafter\opt@color\last@ + \xdef\PDB@refnum{\fourth@} + \ifx\f@color\C@lpha + \xdef\PDB@back@side{CA} + \else + \xdef\PDB@back@side{side} + \fi + \xdef\last@{#4[,]&}\expandafter\opt@color\last@ + \ifnum\PDB@refnum<\fourth@ + \xdef\PDB@refnum@a{\PDB@refnum} + \xdef\PDB@refnum@b{\fourth@} + \xdef\PDB@back@side@a{\PDB@back@side} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@b{CA} + \else + \xdef\PDB@back@side@b{side} + \fi + \else + \xdef\PDB@refnum@b{\PDB@refnum} + \xdef\PDB@refnum@a{\fourth@} + \xdef\PDB@back@side@b{\PDB@back@side} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@a{CA} + \else + \xdef\PDB@back@side@a{side} + \fi + \fi + \xdef\last@{#5[,]&}\expandafter\opt@color\last@ + \xdef\PDB@refnum{\fourth@} + \ifx\f@color\C@lpha + \xdef\PDB@back@side{CA} + \else + \xdef\PDB@back@side{side} + \fi + \ifnum\PDB@refnum>\PDB@refnum@b + \xdef\PDB@refnum@c{\PDB@refnum} + \xdef\PDB@back@side@c{\PDB@back@side} + \else + \ifnum\PDB@refnum>\PDB@refnum@a + \xdef\PDB@refnum@c{\PDB@refnum@b} + \xdef\PDB@back@side@c{\PDB@back@side@b} + \xdef\PDB@refnum@b{\PDB@refnum} + \xdef\PDB@back@side@b{\PDB@back@side} + \else + \xdef\PDB@refnum@c{\PDB@refnum@b} + \xdef\PDB@back@side@c{\PDB@back@side@b} + \xdef\PDB@refnum@b{\PDB@refnum@a} + \xdef\PDB@back@side@b{\PDB@back@side@a} + \xdef\PDB@refnum@a{\PDB@refnum} + \xdef\PDB@back@side@a{\PDB@back@side} + \fi + \fi + \ifx\PDB@distance\n@ \xdef\PDB@distance{100}\fi + \load@PDB + \expandafter\get@item\PDB@stack \xdef\list@{\first@@} + \fi + \fi + \fi +} + \def\test@fill#1:#2:#3&{% \xdef\last@{#1[,][,]&}\expandafter\arrow@col@width\last@% \xdef\second@@{\fourth@}% @@ -7961,6 +8317,7 @@ \expandafter\xdef\csname \prfx grpZ\endcsname{-26} \expandafter\xdef\csname \prfx grp-\endcsname{-999} \expandafter\xdef\csname \prfx grp.\endcsname{-999} + \expandafter\xdef\csname \prfx grp=\endcsname{-999} } \def\inactivate@chars{% \catcode`\#=12 @@ -7975,9 +8332,15 @@ \def\romancount{\@roman\loopcount} \def\Romancount{\@Roman\loopcount} \def\cut@name#1.#2@{\global\xdef\file@n@me{#1}} +\def\coord@get#1.#2#3@{% + \xdef\temp@{#2} + \ifx\temp@\ampers@nd \xdef\temp@{0} \fi + \xdef\c@@rd{#1\temp@} +} \def\struc@get#1 #2 #3 #4 #5 #6 #7 #8 #9@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} \xdef\fourth@{#4} - \xdef\fifth@{#5} \xdef\sixth@{#6} \xdef\seventh@{#7}\xdef\eighth@{#8}} + \xdef\fifth@{#5} \xdef\sixth@{#6} \xdef\seventh@{#7}\xdef\eighth@{#8} + \xdef\nineth@{#9}} \def\get@PHD#1|#2|#3@{\xdef\PHD@line{\PHD@line #2}} \def\write@PHDsec{% \expandafter\get@sim\last@ @@ -8945,7 +9308,7 @@ \xdef\fourth@{#2,&,@} \expandafter\get@triplet\fourth@ \fi} - +\def\get@dom@count#1,#2@{\res@count=#1 \xdef\temp@{#2 @}} \def\get@name@number{% \xdef\second@{n} \loopcount=0 @@ -8961,7 +9324,323 @@ \xdef\first@{1} \fi } + +\def\calc@distance@point{% + \loopcount=\xref@coord@a \advance\loopcount by -\x@coord\relax + \multiply\loopcount by \loopcount \xdef\x@distance{\the\loopcount} + \loopcount=\yref@coord@a \advance\loopcount by -\y@coord\relax + \multiply\loopcount by \loopcount \xdef\y@distance{\the\loopcount} + \loopcount=\zref@coord@a \advance\loopcount by -\z@coord\relax + \multiply\loopcount by \loopcount \xdef\z@distance{\the\loopcount} + \advance\loopcount by \y@distance\relax + \advance\loopcount by \x@distance\relax + \ifnum\loopcount > \PDB@distance \else + \loopcount=\PDB@hitpos \advance\loopcount by 1 + \ifnum\loopcount=\PDB@pos + \else + \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} + \fi + \xdef\PDB@hitpos{\PDB@pos} + \fi +} + +\def\calc@distance@line{% + \loopcount=\x@coord\relax \multiply\loopcount by \x@orient + \temp@count=\y@coord \relax \multiply\temp@count by \y@orient + \advance\loopcount by \temp@count + \temp@count=\z@coord \relax \multiply\temp@count by \z@orient + \advance\loopcount by \temp@count + \advance\loopcount by -\c@nst@ + \xdef\z@hler{\the\loopcount} + \multiply\loopcount by \x@orient \divide\loopcount by \f@ct@r \advance\loopcount by \xref@coord@a + \advance\loopcount by -\x@coord + \multiply\loopcount by \loopcount \xdef\x@distance{\the\loopcount} + \loopcount=\z@hler + \multiply\loopcount by \y@orient \divide\loopcount by \f@ct@r \advance\loopcount by \yref@coord@a + \advance\loopcount by -\y@coord + \multiply\loopcount by \loopcount \xdef\y@distance{\the\loopcount} + \loopcount=\z@hler + \multiply\loopcount by \z@orient \divide\loopcount by \f@ct@r \advance\loopcount by \zref@coord@a + \advance\loopcount by -\z@coord + \multiply\loopcount by \loopcount \xdef\z@distance{\the\loopcount} + \advance\loopcount by \y@distance\relax + \advance\loopcount by \x@distance\relax + \ifnum\loopcount > \PDB@distance \else + \loopcount=\PDB@hitpos \advance\loopcount by 1 + \ifnum\loopcount=\PDB@pos + \else + \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} + \fi + \xdef\PDB@hitpos{\PDB@pos} + \fi +} + + +\def\intr@@t{% + \loopcount=\r@@t + \temp@count=1 + \loop + \advance\loopcount by \temp@count + \divide\loopcount by 2 + \temp@count=\r@@t + \divide\temp@count by \loopcount + \ifnum\loopcount>\temp@count\repeat +} + + +\def\calc@distance@plane{% + \loopcount=\x@coord\relax + \multiply\loopcount by \x@orient + \temp@count=\y@coord \relax + \multiply\temp@count by \y@orient + \advance\loopcount by \temp@count + \temp@count=\z@coord \relax + \multiply\temp@count by \z@orient + \advance\loopcount by \temp@count + \advance\loopcount by \c@nst@ + \divide\loopcount by \f@ct@r + \multiply\loopcount by \loopcount + \ifnum\loopcount > \PDB@distance \else + \loopcount=\PDB@hitpos \advance\loopcount by 1 + \ifnum\loopcount=\PDB@pos + \else + \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} + \fi + \xdef\PDB@hitpos{\PDB@pos} + \fi +} + +\def\load@PDB{% + \bgroup + \immediate\openin\structurefile = \PDB@name\relax + \ifeof\structurefile + \PackageError{TeXshade} + {File `\PDB@name' not found} + {\MessageBreak + The file you specified is missing or you have \MessageBreak + misspelled it. \MessageBreak\MessageBreak + No PDB domain labeling will be displayed. \MessageBreak + Type <return> to proceed. \MessageBreak + Type X <return> to quit. \MessageBreak +} + \immediate\closein\structurefile\egroup + \else + \message{<reading PDB: \PDB@name>} + \xdef\first@{} + \loop + \read\structurefile to \readline + \xdef\test@{\expandafter\string\readline} + \ifx\test@\par@ + \else + \xdef\structureline{\readline & & & & & & & & &@} + \expandafter\struc@get\structureline + \ifx\first@\@TOM + \ifx\PDB@back@side@a\C@lpha + \ifx\third@\C@lpha + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@a + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@a{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@a{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@a{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@a + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@a{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@a{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@a{\c@@rd} + \fi + \fi + \fi + \else + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@a + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@a{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@a{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@a{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@a + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@a{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@a{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@a{\c@@rd} + \fi + \fi + \fi + \ifx\PDB@back@side@b\C@lpha + \ifx\third@\C@lpha + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@b + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@b{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@b{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@b{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@b + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@b{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@b{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@b{\c@@rd} + \fi + \fi + \fi + \else + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@b + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@b{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@b{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@b{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@b + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@b{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@b{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@b{\c@@rd} + \fi + \fi + \fi + \ifx\PDB@back@side@c\C@lpha + \ifx\third@\C@lpha + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@c + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@c{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@c{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@c{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@c + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@c{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@c{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@c{\c@@rd} + \fi + \fi + \fi + \else + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@c + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@c{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@c{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@c{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@c + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@c{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@c{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@c{\c@@rd} + \fi + \fi + \fi + \fi + \fi + \ifeof\structurefile \else\repeat + \closein\structurefile + \ifx\PDB@type\@line@ + \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@b \xdef\x@orient{\the\loopcount} + \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@b \xdef\y@orient{\the\loopcount} + \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@b \xdef\z@orient{\the\loopcount} + \loopcount=\xref@coord@a \multiply\loopcount by \x@orient + \temp@count=\yref@coord@a \multiply\temp@count by \y@orient + \advance\loopcount by \temp@count + \temp@count=\zref@coord@a \multiply\temp@count by \z@orient + \advance\loopcount by \temp@count + \xdef\c@nst@{\the\loopcount} + \loopcount=\x@orient \multiply\loopcount by \x@orient + \temp@count=\y@orient \multiply\temp@count by \y@orient + \advance\loopcount by \temp@count + \temp@count=\z@orient \multiply\temp@count by \z@orient + \advance\loopcount by \temp@count + \xdef\f@ct@r{\the\loopcount} + \fi + \ifx\PDB@type\@plane@ + \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@b \xdef\x@orient@r{\the\loopcount} + \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@b \xdef\y@orient@r{\the\loopcount} + \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@b \xdef\z@orient@r{\the\loopcount} + \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@c \xdef\x@orient@s{\the\loopcount} + \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@c \xdef\y@orient@s{\the\loopcount} + \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@c \xdef\z@orient@s{\the\loopcount} + \loopcount=\y@orient@r \multiply\loopcount by \z@orient@s + \temp@count=\z@orient@r \multiply\temp@count by \y@orient@s + \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\x@orient{\the\loopcount} + \loopcount=\z@orient@r \multiply\loopcount by \x@orient@s + \temp@count=\x@orient@r \multiply\temp@count by \z@orient@s + \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\y@orient{\the\loopcount} + \loopcount=\x@orient@r \multiply\loopcount by \y@orient@s + \temp@count=\y@orient@r \multiply\temp@count by \x@orient@s + \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\z@orient{\the\loopcount} + \loopcount=\x@orient \multiply\loopcount by \xref@coord@a + \temp@count=\y@orient \multiply\temp@count by \yref@coord@a + \advance\loopcount by \temp@count + \temp@count=\z@orient \multiply\temp@count by \zref@coord@a + \advance\loopcount by \temp@count + \multiply\loopcount by -1\relax + \xdef\c@nst@{\the\loopcount} + \loopcount=\x@orient \multiply\loopcount by \loopcount + \temp@count=\y@orient \multiply\temp@count by \temp@count + \advance\loopcount by \temp@count + \temp@count=\z@orient \multiply\temp@count by \temp@count + \advance\loopcount by \temp@count + \xdef\r@@t{\the\loopcount} \intr@@t + \xdef\f@ct@r{\the\loopcount} + \fi + \immediate\openin\structurefile = \PDB@name\relax + \xdef\first@{} + \loop + \read\structurefile to \readline + \xdef\test@{\expandafter\string\readline} + \ifx\test@\par@ + \else + \xdef\structureline{\readline & & & & & & & & &@} + \expandafter\struc@get\structureline + \ifx\first@\@TOM + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \xdef\PDB@pos{\fifth@} + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\x@coord{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\y@coord{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\z@coord{\c@@rd} + \else + \xdef\PDB@pos{\sixth@} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\x@coord{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\y@coord{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\z@coord{\c@@rd} + \fi + \ifnum\PDB@hitpos=\PDB@pos + \else + \ifx\PDB@type\@point@ + \calc@distance@point + \else + \ifx\PDB@type\@line@ + \calc@distance@line + \else + \ifx\PDB@type\@plane@ + \calc@distance@plane + \fi + \fi + \fi + \fi + \fi + \fi + \ifeof\structurefile \xdef\PDB@stack{\PDB@stack\PDB@hitpos,&@} + \else\repeat + \closein\structurefile + + \fi + \egroup + } + + %%%%% Definition of user commands @@ -9051,6 +9730,34 @@ \separationline{\the\loopcount} \ifnum\loopcount<\seq@count\repeat \fi} +\def\printPDBlist#1{% + \xdef\list@{} + \xdef\temp@{#1,,,:,,,,@} \expandafter\test@PDB\temp@ + \xdef\first@{\list@ &} + \ifx\first@\ampers@nd + \else + \xdef\first@{\list@ @} + \loop + \expandafter\get@item\first@ + \fourth@ + \ifx\first@@\ampers@nd\else{,\ }\repeat + \fi +} +\def\messagePDBlist#1{% + \xdef\list@{} + \xdef\temp@{#1,,,:,,,,@} \expandafter\test@PDB\temp@ + \xdef\first@{\list@ &} + \ifx\first@\ampers@nd + \else + \message{(#1:} + \xdef\first@{\list@ @}% + \loop% + \expandafter\get@item\first@% + \message{\fourth@}% + \ifx\first@@\ampers@nd\else\repeat% + \message{)} + \fi +} \def\shaderegion#1#2#3#4{% \regionalshadetrue \xdef\seq@{#1} @@ -9068,6 +9775,7 @@ \expandafter\xdef\csname fgseqregion\the\loopcount\endcsname{#3} \expandafter\xdef\csname bgseqregion\the\loopcount\endcsname{#4} \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@regions\list@ @@ -9091,6 +9799,7 @@ \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@tintregions\list@ @@ -9131,6 +9840,7 @@ \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@emphregions\list@ @@ -9155,29 +9865,13 @@ \else \xdef\@ll{#3} \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@frameregions\list@ \ifx\list@\ampers@nd\else\repeat \fi } -\def\hideblock#1#2#3#4{% - \xdef\seq@{#1} - \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi - \xdef\first@{\seq@ @} \expandafter\check@letter\first@ - \xdef\first@{\seq@} - \ifletter \get@name@number \xdef\seq@{\first@} \fi - \ifnum\seq@>\seq@count - \message{<Ignored seq `\seq@' in \noexpand\hideblock>} - \else - \xdef\@ll{#3} \xdef\text@{#4} - \xdef\list@{#2,&} - \loop - \xdef\list@{\list@ @} - \expandafter\get@hideregions\list@ - \ifx\list@\ampers@nd\else\repeat - \fi -} \def\bargraphstretch#1{\def\b@r@stretch{#1}} \def\colorscalestretch#1{\def\sc@le@stretch{#1}} \def\rm@@measure#1#2@{% @@ -9539,7 +10233,7 @@ \ifx\second@@\last@ \xdef\list@{#3,&} \xdef\style@{#4} - \xdef\f@text@{#5} + \def\f@text@{#5} \do@bargraph \xdef\temp@{bottom} \ifx\bottop@\temp@ \xdef\bottom@stretch{y}\fi @@ -9554,11 +10248,14 @@ \ifx\second@@\last@ \xdef\list@{#3,&} \xdef\style@{#4} - \xdef\f@text@{#5} + \def\f@text@{#5} \do@colorgraph \else - \xdef\f@text@{#5} + \xdef\f@@color{\f@color} \xdef\list@{#3,&} + \xdef\temp@{#3,,,:,,,,@} \expandafter\test@PDB\temp@ + \def\f@text@{#5} + \xdef\f@color{\f@@color} \xdef\temp@{#4&} \ifx\temp@\ampers@nd \xdef\style@{&} @@ -9636,7 +10333,9 @@ \fi \fi \fi + \loopcount=0 \loop + \advance\loopcount by 1\relax \xdef\list@{\list@ @} \expandafter\get@fregions\list@ \ifx\list@\ampers@nd\else\repeat @@ -9694,7 +10393,23 @@ \def\decide@{\ifx\l@@k * \let\next\@rplfix \else \let\next\@rplvar \fi \next} \futurelet\l@@k\decide@} \def\numberingwidth#1{\def\num@width{#1}} -\def\charstretch#1{\def\char@stretch{#1}} +\def\charstretch#1{% + \def\char@stretch{#1} + \xdef\temp@{\char@stretch .00@} \expandafter\coord@get\temp@ \loopcount=\c@@rd + \multiply \loopcount by 7 + \divide \loopcount by 10 + \ifnum\loopcount<10 + \xdef\temp@{0\the\loopcount @} + \else + \xdef\temp@{\the\loopcount @} + \fi + \expandafter\decimal@B\temp@ + \ifnum\loopcount>99 + \xdef\char@stretch@W{#1} + \else + \xdef\char@stretch@W{\temp@} + \fi +} \def\linestretch#1{\def\line@stretch{#1}} \def\logostretch#1{% \def\logo@stretch{#1} @@ -9826,6 +10541,7 @@ \ifx\first@\second@\def\gap@char{o} \else\def\gap@char{#1}\fi} \def\gaprule#1{\def\gap@rulethick{#1}} +\def\domaingaprule#1{\def\domgap@rulethick{#1}} \newcommand{\setends}[3][&]{% \xdef\start@seq{#2} \xdef\temp@{consensus} @@ -10298,9 +11014,6 @@ \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@family{\third@} \else - \xdef\temp@{hideblock} - \ifx\first@\temp@ \xdef\hideblock@family{\third@} - \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@family{\third@} \else @@ -10318,9 +11031,8 @@ \xdef\residues@family{\third@} \xdef\legend@family{\third@} \xdef\label@family{\third@} - \xdef\hideblock@family{\third@} \xdef\ruler@family{\second@} - \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\setseries#1#2{% @@ -10363,9 +11075,6 @@ \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@series{\third@} \else - \xdef\temp@{hideblock} - \ifx\first@\temp@ \xdef\hideblock@series{\third@} - \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@series{\third@} \else @@ -10379,9 +11088,8 @@ \xdef\namestext@series{\third@} \xdef\residues@series{\third@} \xdef\legend@series{\third@} - \xdef\hideblock@series{\third@} \xdef\label@series{\third@} - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi } \def\setshape#1#2{% @@ -10432,9 +11140,6 @@ \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@shape{\third@} \else - \xdef\temp@{hideblock} - \ifx\first@\temp@ \xdef\hideblock@shape{\third@} - \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@shape{\third@} \else @@ -10448,9 +11153,8 @@ \xdef\namestext@shape{\third@} \xdef\residues@shape{\third@} \xdef\legend@shape{\third@} - \xdef\hideblock@shape{\third@} \xdef\label@shape{\third@} - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi } \def\setsize#1#2{% @@ -10486,20 +11190,6 @@ \ifx\first@\temp@ \def\legend@size{\csname #2\endcsname} \else - \xdef\temp@{hideblock} - \ifx\first@\temp@ - \xdef\temp@@{#2} - \xdef\temp@{huge} - \ifx\temp@\temp@@ - \def\hideblock@size{\csname LARGE\endcsname} - \else - \xdef\temp@{Huge} - \ifx\temp@\temp@@ - \def\hideblock@size{\csname LARGE\endcsname} - \else - \def\hideblock@size{\csname #2\endcsname} - \fi\fi - \else \xdef\temp@{labels} \ifx\first@\temp@ \def\label@size{\csname #2\endcsname} @@ -10518,11 +11208,10 @@ \def\numbertext@size{\csname #2\endcsname} \def\namestext@size{\csname #2\endcsname} \def\legend@size{\csname #2\endcsname} - \def\hideblock@size{\csname #2\endcsname} \def\label@size{\csname #2\endcsname} \def\residues@size{\csname #2\endcsname} \xdef\res@size{#2} - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \xdef\temp@{Huge} \ifx\temp@\res@size \def\bottomruler@size{\csname Large\endcsname} @@ -10706,25 +11395,6 @@ \def\legendLARGE {\setsize{legend}{LARGE}} \def\legendhuge {\setsize{legend}{huge}} \def\legendHuge {\setsize{legend}{Huge}} -\def\hideblockrm{\setfamily{hideblock}{rm}} -\def\hideblocksf{\setfamily{hideblock}{sf}} -\def\hideblocktt{\setfamily{hideblock}{tt}} -\def\hideblockmd{\setseries{hideblock}{md}} -\def\hideblockbf{\setseries{hideblock}{bf}} -\def\hideblockup{\setshape {hideblock}{up}} -\def\hideblockit{\setshape {hideblock}{it}} -\def\hideblocksl{\setshape {hideblock}{sl}} -\def\hideblocksc{\setshape {hideblock}{sc}} -\def\hideblocktiny {\setsize{hideblock}{tiny}} -\def\hideblockscriptsize {\setsize{hideblock}{scriptsize}} -\def\hideblockfootnotesize{\setsize{hideblock}{footnotesize}} -\def\hideblocksmall {\setsize{hideblock}{small}} -\def\hideblocknormalsize {\setsize{hideblock}{normalsize}} -\def\hideblocklarge {\setsize{hideblock}{large}} -\def\hideblockLarge {\setsize{hideblock}{Large}} -\def\hideblockLARGE {\setsize{hideblock}{LARGE}} -\def\hideblockhuge {\setsize{hideblock}{LARGE}} -\def\hideblockHuge {\setsize{hideblock}{LARGE}} \def\rulerrm{\setfamily{ruler}{rm}} \def\rulersf{\setfamily{ruler}{sf}} \def\rulertt{\setfamily{ruler}{tt}} @@ -10817,6 +11487,12 @@ \expandafter\def\csname fg@textcolor*\endcsname{#1}\fi \ifx\second@\last@\else\def\gap@bg{#2} \expandafter\def\csname fg@color*\endcsname{#2}\fi} +\def\domaingapcolors#1#2 {\xdef\first@{#1&}\xdef\second@{#2&} + \xdef\last@{\ampers@nd} + \ifx\first@\last@\else\def\domgap@fg{#1} + \expandafter\def\csname fg@textcolor!\endcsname{#1}\fi + \ifx\second@\last@\else\def\domgap@bg{#2} + \expandafter\def\csname fg@color!\endcsname{#2}\fi} \def\shadebox#1{% \xdef\first@{White}% \xdef\third@{#1}% @@ -11289,6 +11965,24 @@ \fi } +\def\setdomain#1#2{% + \xdef\first@{#1} + \xdef\temp@{consensus} + \ifx\first@\temp@ \xdef\domain@seq{0} + \else + \xdef\first@{#1 @} \expandafter\check@letter\first@ + \xdef\first@{#1} \ifletter \get@name@number \fi + \xdef\domain@seq{\csname @rd\first@\endcsname}% + \fi + \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ + \loop + \xdef\list@{\list@ @} + \expandafter\get@domainregions\list@ + \ifx\list@\ampers@nd\else\repeat + \xdef\dom@in{y} +} + %%%%% Calculate consensus \def\check@sim{% @@ -11354,7 +12048,7 @@ \fi \else \newresfalse - \expandafter\xdef\csname res\the\loopcount\endcsname{\d@t} +% \expandafter\xdef\csname res\the\loopcount\endcsname{\d@t} %%%%% or \equ@l for domains!!! \fi \ifnewres @@ -11448,13 +12142,29 @@ \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname3\gap@char} \else + \expandafter\ifx\csname res\the\loopcount\endcsname\equ@l + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname!\dom@char} \xdef\g@p{y} + \else \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% 3\csname res\the\loopcount\endcsname} \fi + \fi \else \xdef\first@{\csname res\the\loopcount\endcsname} - \ifx\first@\d@t + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{9} + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \xdef\first@{,\first@}\fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname\third@\first@} \xdef\g@p{y} + \else + \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps @@ -11474,27 +12184,28 @@ \fi \fi \fi - \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ - \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} - \xdef\first@{=\first@}\fi - \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ - \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} - \xdef\first@{,\first@}\fi - \expandafter\xdef\csname seq\the\loopcount\endcsname{% - \csname seq\the\loopcount\endcsname\third@\first@} - \else - \ifnum\divref@=\loopcount\else - \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else - \xdef\low@up{upper} \ifx\resn@m@tch\low@up - \else \xdef\first@{\resn@m@tch} \fi\fi\fi - \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ - \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi - \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ - \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi - \expandafter\xdef\csname seq\the\loopcount\endcsname{% - \csname seq\the\loopcount\endcsname3\first@} + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname\third@\first@} + \else + \ifnum\divref@=\loopcount\else + \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else + \xdef\low@up{upper} \ifx\resn@m@tch\low@up + \else \xdef\first@{\resn@m@tch} \fi\fi\fi + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \xdef\first@{,\first@}\fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname3\first@} + \fi \fi \fi \ifnum\loopcount<\seq@count \repeat @@ -11507,9 +12218,13 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus 4\first@} - \expandafter\ifx\csname res\cons@num\endcsname\d@t + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus 4\first@} + \expandafter\ifx\csname res\cons@num\endcsname\d@t \else\xdef\constopo{\constopo 0}\fi + \fi \else \ifnum\cons@num>0 \xdef\tmp@{\csname res\cons@num\endcsname} @@ -11525,6 +12240,7 @@ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi + \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -11532,8 +12248,7 @@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% - \csname seq\the\loopcount\endcsname% - 3\first@} + \csname seq\the\loopcount\endcsname3\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\last@{\csname res\the\loopcount\endcsname} @@ -11544,6 +12259,9 @@ \xdef\low@up{upper} \ifx\ressimm@tch\low@up \else \xdef\first@{\ressimm@tch} \fi\fi\fi \else + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} + \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -11571,6 +12289,7 @@ \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi + \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} @@ -11592,8 +12311,12 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus5\first@} - \xdef\constopo{\constopo 1} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus5\first@} + \xdef\constopo{\constopo 1} + \fi \fi \else \iffuncmode @@ -11601,6 +12324,17 @@ \loop \advance\loopcount by 1 \xdef\first@{\csname res\the\loopcount\endcsname} + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{!} \xdef\g@p{y} + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \xdef\first@{,\first@}\fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname\third@\first@} + \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -11642,6 +12376,7 @@ \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname0\first@} \fi + \fi \ifnum\loopcount<\seq@count \repeat \else \loopcount=0 @@ -11651,6 +12386,7 @@ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi + \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -11662,6 +12398,17 @@ 3\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \xdef\first@{,\first@}\fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname\third@\first@} + \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -11704,6 +12451,7 @@ \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname3\first@} \fi + \fi \fi \ifnum\loopcount<\seq@count \repeat \xdef\low@up{lower} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else @@ -11715,8 +12463,12 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus 4\first@} - \xdef\constopo{\constopo 0} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus 4\first@} + \xdef\constopo{\constopo 0} + \fi \fi\fi} \def\c@nserved{% @@ -11728,6 +12480,7 @@ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi + \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -11766,6 +12519,7 @@ \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi + \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -11807,9 +12561,13 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus 5\first@} - \xdef\constopo{\constopo 2}} - + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus 5\first@} + \xdef\constopo{\constopo 2} + \fi} + \def\allm@tch{% \xdef\tmp@{\csname res\cons@seq\endcsname} \loopcount=0 @@ -11819,6 +12577,7 @@ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi + \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -11862,6 +12621,7 @@ \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi + \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -11903,8 +12663,12 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus 6\first@} - \xdef\constopo{\constopo 3}} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus 6\first@} + \xdef\constopo{\constopo 3} + \fi} \def\functi@nal{% \ifnum\cons@num>0 @@ -11930,6 +12694,9 @@ 0\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{!} \xdef\g@p{y} + \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -11961,6 +12728,7 @@ \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi \fi + \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} @@ -11980,6 +12748,7 @@ \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\second@{\csname funcgrp\first@\endcsname} \ifnum\second@<0 \xdef\second@{0} \fi + \ifx\first@\equ@l \def\first@{\dom@char} \def\second@{!} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -12030,19 +12799,11 @@ \def\T@coffee@shade{% \loopcount=0 - \expandafter\ifx\csname tint@seq0\endcsname\y@ - \expandafter\xdef\csname tint@seq0\endcsname{n} - \xdef\first@{=\first@}\fi - \expandafter\ifx\csname emph@seq0\endcsname\y@ - \expandafter\xdef\csname emph@seq0\endcsname{n} - \xdef\first@{,\first@}\fi - \xdef\second@{\csname TC@num0\endcsname} - \xdef\consensus{\consensus\second@\n@m@tch} - \xdef\constopo{\constopo\second@} \loop \advance\loopcount by 1 \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\second@{\csname TC@num\the\loopcount\endcsname} + \ifx\first@\equ@l \def\first@{\dom@char} \def\second@{!} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -12086,7 +12847,22 @@ \csname seq\the\loopcount\endcsname% \second@\first@} \fi - \ifnum\loopcount<\seq@count \repeat} + \ifnum\loopcount<\seq@count \repeat + \xdef\first@{\csname res0\endcsname} + \expandafter\ifx\csname tint@seq0\endcsname\y@ + \expandafter\xdef\csname tint@seq0\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq0\endcsname\y@ + \expandafter\xdef\csname emph@seq0\endcsname{n} + \xdef\first@{,\first@}\fi + \xdef\second@{\csname TC@num0\endcsname} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus\second@\n@m@tch} + \xdef\constopo{\constopo\second@} + \fi + } \def\getregion@fromstack@first{% \expandafter\getregion@fromstack{\the\loopcount} @@ -12129,7 +12905,6 @@ \fi \fi\fi \ifnum\loopcount<\seq@count \repeat - \ifx\hide@now\n@ \loopcount=0 \expandafter\ifx\csname shade@style\the\loopcount\endcsname\y@ \else @@ -12149,7 +12924,6 @@ &\csname shade@style\the\loopcount\endcsname)} \fi \ifnum\loopcount<\seq@count \repeat - \fi } \def\getregion@fromemphstack@first{% @@ -12512,13 +13286,13 @@ \xdef\cons@val{\csname TC@num0\endcsname} \if\cons@val * \xdef\cons@val{99} - \fi \message{(b(\cons@val)b)} + \fi \fi \ifx\T@coffee@ccons\y@ \xdef\cons@val{\csname TC@num0\endcsname} \if\cons@val * \xdef\cons@val{99} - \fi \message{(c(\cons@val)c)} + \fi \fi \fi } @@ -13417,11 +14191,25 @@ % \advance\pos@count by 1 } +\def\add@to@rule@tens{% + \advance\innerloopcount by \ruler@step\relax + \ifnum\innerloopcount=0 + \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi + \fi + \expandafter\ifnum\csname res@count\rule@num\endcsname>\innerloopcount \add@to@rule@tens + \else + \xdef\rule@tens{\the\innerloopcount} + \fi +} + + \def\c@nsensus{% \ifnum\pos@count>\res@perline \else \loopcount=0 - \global\advance\cons@count by 1\relax + \ifx\g@p\n@ + \global\advance\cons@count by 1\relax + \fi \ifnum\cons@count=0\relax \ifx\allow@zero\n@ \global\advance\cons@count by 1 \fi \fi @@ -13430,21 +14218,6 @@ \expandafter\TC@get\TC@line \fi \expandafter\xdef\csname res@count0\endcsname{\the\cons@count} - \ifx\hide@true\y@ - \expandafter\ifx\csname hidestart0\endcsname\ampers@nd - \else - \expandafter\ifnum\csname hidestart0\endcsname>\cons@count - \else - \expandafter\ifnum\csname hidestop0\endcsname<\cons@count - \else - \xdef\hide@now{y} \xdef\eighth@{0} - \fi - \expandafter\ifnum\csname hidestop0\endcsname=\cons@count - \getregion@fromhidestack{0} - \fi - \fi - \fi - \fi \loop \advance\loopcount by 1 \ifT@coffee @@ -13452,53 +14225,42 @@ \expandafter\TC@get\TC@line \xdef\TC@first@{\csname TC@num\the\loopcount\endcsname} \fi - \xdef\seq@line{\csname sequence\the\loopcount\endcsname} + \xdef\seq@line{\csname sequence\the\loopcount\endcsname} \expandafter\residue@get\seq@line \xdef\first@{\csname res\the\loopcount\endcsname} \innerloopcount=\csname res@num\first@\endcsname \advance\innerloopcount by 1 \expandafter\xdef\csname res@num\first@\endcsname{\the\innerloopcount} \expandafter\check@char\first@ + \ifx\dom@in\y@ %%%%%%%%%%%***** + \xdef\temp@{\csname dom@num\the\loopcount\endcsname} + \expandafter\get@dom@count\temp@ + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\temp@} + \fi %%%%%%%%%%%***** \ifletter - \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=\exp@rt@num \xdef\sixth@{\the\res@count}\xdef\seventh@{y}\fi - \ifx\hide@true\y@ - \expandafter\ifx\csname hidestart\the\loopcount\endcsname\ampers@nd - \else - \expandafter\ifnum\csname hidestart\the\loopcount\endcsname>\res@count + \ifx\dom@in\y@ \else - \expandafter\ifnum\csname hidestop\the\loopcount\endcsname<\res@count - \else - \xdef\hide@now{y}\xdef\eighth@{\the\loopcount} - \fi - \expandafter\ifnum\csname hidestop\the\loopcount\endcsname=\res@count - \xdef\first@@{\first@} - \expandafter\getregion@fromhidestack{\the\loopcount} - \xdef\first@{\first@@} - \fi - \fi + \res@count=\csname res@count\the\loopcount\endcsname + \advance\res@count by 1 + \ifnum\res@count=0\relax + \ifx\allow@zero\n@ \advance\res@count by 1 \fi \fi \fi + \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} + \ifnum\loopcount=\exp@rt@num \xdef\sixth@{\the\res@count}\xdef\seventh@{y}\fi \ifnum\loopcount=\rule@num\relax + \expandafter\ifnum\csname res@count\rule@num\endcsname>\rule@tens + \innerloopcount=\rule@tens \add@to@rule@tens + \fi \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax \xdef\temp@{\rule@tens} \else \xdef\temp@{\csname alt@ruler\rule@tens\endcsname} \fi - \ifx\hide@now\n@ \xdef\ruler@{\ruler@ !<\temp@>} \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} + \xdef\ruler@{\ruler@ !<\temp@>} \else - \ifx\hide@now\n@ \xdef\ruler@{\ruler@ -} \fi + \xdef\ruler@{\ruler@ -} \fi \xdef\temp@{\csname res@count\rule@num\endcsname} \expandafter\ifx\csname alt@ruler\temp@\endcsname\relax @@ -13506,7 +14268,6 @@ \expandafter\xdef\csname alt@ruler\temp@\endcsname{\temp@} \fi \fi - \ifx\hide@now\n@ \ifx\collect@valtop\yes \ifnum\v@lseqtop=\loopcount \xdef\v@ltop{\v@ltop,\csname \ffourth@top\first@\endcsname} @@ -13539,14 +14300,11 @@ \ifnum\v@lseqbbbbottom=\loopcount \xdef\v@lbbbbottom{\v@lbbbbottom,\csname \ffourth@bbbbottom\first@\endcsname} \fi\fi - \fi \ifx\collect@restop\yes \ifnum\tr@nsseqtop=\loopcount \xdef\last@restop{\last@@restop} \xdef\last@@restop{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatetop{\tr@nslatetop\first@} - \fi + \xdef\tr@nslatetop{\tr@nslatetop\first@} \innerloopcount=\triple@counttop \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -13556,9 +14314,7 @@ \ifnum\tr@nsseqttop=\loopcount \xdef\last@resttop{\last@@resttop} \xdef\last@@resttop{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatettop{\tr@nslatettop\first@} - \fi + \xdef\tr@nslatettop{\tr@nslatettop\first@} \innerloopcount=\triple@countttop \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -13567,10 +14323,8 @@ \ifx\collect@restttop\yes \ifnum\tr@nsseqtttop=\loopcount \xdef\last@restttop{\last@@restttop} - \xdef\last@@restttop{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatetttop{\tr@nslatetttop\first@} - \fi + \last@@restttop{\first@} + \xdef\tr@nslatetttop{\tr@nslatetttop\first@} \innerloopcount=\triple@counttttop \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -13580,9 +14334,7 @@ \ifnum\tr@nsseqttttop=\loopcount \xdef\last@resttttop{\last@@resttttop} \xdef\last@@resttttop{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatettttop{\tr@nslatettttop\first@} - \fi + \xdef\tr@nslatettttop{\tr@nslatettttop\first@} \innerloopcount=\triple@countttttop \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -13592,9 +14344,7 @@ \ifnum\tr@nsseqbottom=\loopcount \xdef\last@resbottom{\last@@resbottom} \xdef\last@@resbottom{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatebottom{\tr@nslatebottom\first@} - \fi + \xdef\tr@nslatebottom{\tr@nslatebottom\first@} \innerloopcount=\triple@countbottom \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -13604,9 +14354,7 @@ \ifnum\tr@nsseqbbottom=\loopcount \xdef\last@resbbottom{\last@@resbbottom} \xdef\last@@resbbottom{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatebbottom{\tr@nslatebbottom\first@} - \fi + \xdef\tr@nslatebbottom{\tr@nslatebbottom\first@} \innerloopcount=\triple@countbbottom \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -13616,9 +14364,7 @@ \ifnum\tr@nsseqbbbottom=\loopcount \xdef\last@resbbbottom{\last@@resbbbottom} \xdef\last@@resbbbottom{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatebbbottom{\tr@nslatebbbottom\first@} - \fi + \xdef\tr@nslatebbbottom{\tr@nslatebbbottom\first@} \innerloopcount=\triple@countbbbottom \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -13628,9 +14374,7 @@ \ifnum\tr@nsseqbbbbottom=\loopcount \xdef\last@resbbbbottom{\last@@resbbbbottom} \xdef\last@@resbbbbottom{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatebbbbottom{\tr@nslatebbbbottom\first@} - \fi + \xdef\tr@nslatebbbbottom{\tr@nslatebbbbottom\first@} \innerloopcount=\triple@countbbbbottom \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -13645,8 +14389,7 @@ \expandafter\xdef\csname ch@rge\the\loopcount\endcsname{% \the\innerloopcount} \else - \ifnum\loopcount=\rule@num \ifx\hide@now\n@ \xdef\ruler@{\ruler@ -} \fi\fi - \ifx\hide@now\n@ + \ifnum\loopcount=\rule@num \xdef\ruler@{\ruler@ -} \fi \ifx\collect@valtop\yes \ifnum\v@lseqtop=\loopcount \xdef\v@ltop{\v@ltop,N} @@ -13711,31 +14454,8 @@ \ifnum\tr@nsseqbbbbottom=\loopcount \xdef\tr@nslatebbbbottom{\tr@nslatebbbbottom -} \fi\fi - \fi \fi \ifnum\loopcount<\seq@count \repeat - \ifnum\rule@num=0 - \ifnum\cons@count=\rule@tens - \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax - \xdef\temp@{\rule@tens} - \else - \xdef\temp@{\csname alt@ruler\rule@tens\endcsname} - \fi - \ifx\hide@now\n@ \xdef\ruler@{\ruler@ !<\temp@>} \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 - \ifx\hide@now\n@ \xdef\ruler@{\ruler@ -} \fi - \fi - \expandafter\ifx\csname alt@ruler\the\cons@count\endcsname\relax - \else - \expandafter\xdef\csname alt@ruler\the\cons@count\endcsname{\the\cons@count} - \fi - \fi - \ifx\hide@now\n@ \ifx\collect@cons@graphtop\yes \outerloopcount=1\relax \temp@count=0\relax @@ -13809,13 +14529,8 @@ \immediate\write\exp@rtfile{\string color col\the\outerloopcount, resi \sixth@} \fi \fi - \fi -%%%%%%%%%%%%% - \ifx\hide@now\y@ - \regionalshadenowtrue \regionaltintnowtrue - \regionalemphnowtrue \framenowtrue - \fi + \xdef\g@p{n} \ifregionalshadenow \calc@regshade \fi \ifregionaltintnow \calc@regtint \fi \ifregionalemphnow \calc@regemph \fi @@ -13828,17 +14543,6 @@ \ifbbottomfeaturenow \xdef\bottop@{bbottom} \calc@feature \fi \ifbbbottomfeaturenow \xdef\bottop@{bbbottom} \calc@feature \fi \ifbbbbottomfeaturenow \xdef\bottop@{bbbbottom} \calc@feature \fi - \ifx\hide@now\y@ - \xdef\hidebar@on{1} - \ifnum\pos@count=\bar@pos - \else - \loopcount=\pos@count - \advance\loopcount by -\bar@pos - \xdef\bar@pos{\the\pos@count} - \xdef\stylehidebar{\stylehidebar\the\loopcount;\csname hidestyle\eighth@\endcsname;\csname hidetext\eighth@\endcsname;} - \fi - \else -%%%%%%%%%%%%% \advance\pos@count by 1 \ifshow@logo \calc@logo \fi \ifall@fshade \all@funcshade @@ -13854,10 +14558,31 @@ \ifcase\match@case \unc@nserved \or \c@nserved \or \allm@tch \else \functi@nal \fi \fi \fi -%%%%%%%% - \fi - \xdef\hide@now{n} -%%%%%%%% + \ifnum\rule@num=0 + \ifx\g@p\y@ + \xdef\ruler@{\ruler@ -} + \else + \ifnum\cons@count=\rule@tens + \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax + \xdef\temp@{\rule@tens} + \else + \xdef\temp@{\csname alt@ruler\rule@tens\endcsname} + \fi + \xdef\ruler@{\ruler@ !<\temp@>} + \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step\relax + \ifnum\innerloopcount=0 + \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi + \fi + \xdef\rule@tens{\the\innerloopcount} + \else + \xdef\ruler@{\ruler@ -} + \fi + \expandafter\ifx\csname alt@ruler\the\cons@count\endcsname\relax + \else + \expandafter\xdef\csname alt@ruler\the\cons@count\endcsname{\the\cons@count} + \fi + \fi + \fi \expandafter\ifnum\csname res@count\start@seq\endcsname<\end@num\relax \c@nsensus \else @@ -13900,6 +14625,11 @@ \ifnum\res@count=0 \ifx\allow@zero\n@ \advance\res@count by 1 \fi \fi + \ifx\dom@in\y@ + \xdef\temp@{\csname dom@num\the\loopcount\endcsname} + \expandafter\get@dom@count\temp@ + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\temp@} + \fi %%%%%%%%%%%***** \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \ifnum\rule@num=\loopcount \temp@count=\csname res@count\the\loopcount\endcsname @@ -13929,10 +14659,6 @@ \csname sequence\the\loopcount\endcsname @} \ifnum\loopcount<\seq@count \repeat \end@count=0 \count@first \end@count=0 \xdef\start@number{0} - \ifx\hide@now\n@ - \regionalshadenowfalse \regionalemphnowfalse \regionaltintnowfalse - \framenowfalse - \fi \topfeaturenowfalse \bottomfeaturenowfalse \ttopfeaturenowfalse \bbottomfeaturenowfalse \tttopfeaturenowfalse \bbbottomfeaturenowfalse @@ -14072,7 +14798,7 @@ \loop \advance\loopcount by 1 \ifnumbers@left - \innerloopcount=\csname seq@len\the\loopcount\endcsname\relax + \innerloopcount=\csname seq@len\the\loopcount\endcsname\relax \expandafter\ifnum\csname res@count\the\loopcount\endcsname=% \innerloopcount \res@count=\innerloopcount @@ -14083,6 +14809,11 @@ \ifx\allow@zero\n@ \advance\res@count by 1 \fi \fi \fi + \ifx\dom@in\y@ + \xdef\temp@{\csname dom@num\the\loopcount\endcsname} + \expandafter\get@dom@count\temp@ + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\the\res@count,\temp@} + \fi %%%%%%%%%%***** \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \ifnames@right \expandafter\xdef\csname seq\the\loopcount\endcsname{% @@ -14092,15 +14823,18 @@ <\csname newseqname\the\loopcount\endcsname> \csname res@count\the\loopcount\endcsname)} \fi - \expandafter\ifnum\csname res@count\the\loopcount\endcsname=% - \innerloopcount + \ifx\dom@in\y@ \else - \res@count=\csname res@count\the\loopcount\endcsname - \advance\res@count by -1 - \ifnum\res@count=0 - \ifx\allow@zero\n@ \advance\res@count by -1 \fi + \expandafter\ifnum\csname res@count\the\loopcount\endcsname=% + \innerloopcount + \else + \res@count=\csname res@count\the\loopcount\endcsname + \advance\res@count by -1 + \ifnum\res@count=0 + \ifx\allow@zero\n@ \advance\res@count by -1 \fi + \fi + \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \fi - \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \fi \else \ifnames@right @@ -14110,8 +14844,16 @@ <\csname newseqname\the\loopcount\endcsname>} \fi \fi - \innerloopcount=\csname res@count\the\loopcount\endcsname - \advance\innerloopcount by \res@perline \advance\innerloopcount by 1 + \ifx\dom@in\y@ + \xdef\temp@{\csname dom@num@break\the\loopcount\endcsname} + \expandafter\get@dom@count\temp@ + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{\temp@} + \innerloopcount=\res@count + \else + \innerloopcount=\csname res@count\the\loopcount\endcsname + \advance\innerloopcount by \res@perline + \fi %%%%%%%%%%%%%***** + \advance\innerloopcount by 1 \ifregionalshade \expandafter\ifx\csname start\the\loopcount\endcsname\ampers@nd \else @@ -14515,6 +15257,7 @@ \def\res@@style{\csname func@style#1\endcsname}% \if\last@ *\def\last@{0}\fi \if\last@ /\def\last@{10}\fi + \if\last@ !\def\last@{11}\fi \else% \iffuncmode% \xdef\boxc@l@r{\csname fg@color#1\endcsname}% @@ -14522,8 +15265,9 @@ \def\res@@style{\csname func@style#1\endcsname}% \if\last@ *\def\last@{0}\fi \if\last@ /\def\last@{10}\fi + \if\last@ !\def\last@{11}\fi \else% - \ifcase#1\xdef\boxc@l@r{\Allmatch}\xdef\textc@l@r{\TextAllmatch}% + \ifcase\last@\xdef\boxc@l@r{\Allmatch}\xdef\textc@l@r{\TextAllmatch}% \def\res@@style{\all@style}% \or\xdef\boxc@l@r{\Identical}\xdef\textc@l@r{\TextIdentical}% \def\res@@style{\id@style}% @@ -14539,7 +15283,9 @@ \def\res@@style{\csname relax\endcsname}% \or\xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@fg}% \def\res@@style{\csname relax\endcsname}% - \else\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \or\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \def\res@@style{\csname relax\endcsname}% + \else\xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@fg}% \def\res@@style{\csname relax\endcsname}% \fi\fi\fi\fi% \ifx\second@\comm@% @@ -14581,6 +15327,9 @@ \if\last@ *% \xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@bg}% \else% + \if\last@ !% + \xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@bg}% + \else% \if\last@ /% \xdef\boxc@l@r{White}\xdef\textc@l@r{White}% \else% @@ -14605,18 +15354,22 @@ \else \xdef\textc@l@r{\c@nsc@l}% \fi% - \fi\fi\fi% + \fi\fi\fi\fi% \def\res@@style{\csname relax\endcsname}% \else% \ifT@coffee% \if\last@ *% \xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@bg}% \else% - \if\last@ /% - \xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \if\last@ !% + \xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@bg}% \else% - \xdef\boxc@l@r{White}\xdef\textc@l@r{TC\last@}% - \def\res@@style{\csname relax\endcsname}% + \if\last@ /% + \xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \else% + \xdef\boxc@l@r{White}\xdef\textc@l@r{TC\last@}% + \def\res@@style{\csname relax\endcsname}% + \fi \fi% \fi% \else% @@ -14636,7 +15389,9 @@ \def\res@@style{\csname relax\endcsname}% \or\xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@fg}% \def\res@@style{\csname relax\endcsname}% - \else\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \or\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \def\res@@style{\csname relax\endcsname}% + \else\xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@fg}% \def\res@@style{\csname relax\endcsname}% \fi\fi\fi\fi% \xdef\first@{#3@}% @@ -15650,124 +16405,6 @@ \fi% \fi% } -\def\next@hidebar#1;#2;#3;#4@{% - \xdef\first@{#1}% - \ifx\first@\ampers@nd% - \else% - \fontfamily{\hideblock@family}\fontseries{\hideblock@series}% - \fontshape{\hideblock@shape}% - \selectfont% - \newline\hbox{}% - \ifnames@right\else\ifnames@\hbox to \name@width{\hss}\fi\fi% - \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi% - \hbox to -\box@width{\hss}% - \kern-0.1\box@width% - \xdef\last@{#3[,]&}\expandafter\opt@color\last@% - \ifx\f@color\comm@\xdef\f@color{Black}\fi% - \textcolor{\f@color}{% - \hbox to \first@\box@width{}% - \hbox to 0pt{\hss\strut\hideblock@size{\,\fourth@}\hss}}% - \xdef\last@{#2[,]&}\expandafter\opt@color\last@% - \ifx\f@color\comm@\xdef\f@color{Black}\fi% - \vspace{-0.23\box@height}% - \xdef\temp@{triangle}% - \ifx\fourth@\temp@% - \else - \xdef\temp@{square}% - \ifx\fourth@\temp@% - \else - \xdef\temp@{none}% - \ifx\fourth@\temp@% - \else - \vspace{-0.06\box@height}% - \fi\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% - \hbox to -\box@width{\hss}% - \hbox to \first@\box@width{}% - \kern-0.1\box@width% - \textcolor{\f@color}{% - \raisebox{0.47\box@height}{\rule{0.2\box@width}{\temp@@length}}% - \xdef\first@{triangle}% - \ifx\fourth@\first@% - \kern-0.582\box@width% - \raisebox{\temp@@length}{\hbox to \box@width{\hss$\bigtriangledown$\hss}}% - \kern-0.418\box@width% - \else - \xdef\first@{square}% - \ifx\fourth@\first@% - \kern-0.6\box@width% - \raisebox{-0.12\box@height}{% - \raisebox{\temp@@length}{\hbox to \box@width{\hss$\square$\hss}}}% - \raisebox{-0.19\box@height}{% - \raisebox{\temp@@length}{\hbox to \box@width{\hss\strut}}}% - \kern-1.4\box@width% - \else - \xdef\first@{none}% - \ifx\fourth@\first@% - \kern-0.6\box@width% - \raisebox{-0.19\box@height}{% - \raisebox{\temp@@length}{\hbox to \box@width{\hss\strut}}}% - \kern-0.4\box@width% - \else - \kern-0.6\box@width% - \raisebox{\temp@@length}{\hbox to \box@width{\hss$\bigodot$\hss}}% - \kern-0.4\box@width% - \fi% - \fi% - \fi% - \kern-0.58\box@width% - \raisebox{\temp@@length}{\hbox to \box@width{\hss$\bullet$\hss}}% - \xdef\first@{#4@}}% - \fi -} -\def\put@@hidebar{% - \if\first@ @% - \else - \hbox to -\box@width{\hss}% - \expandafter\next@hidebar\first@% - \put@@hidebar% - \fi% -} -\def\put@hidebar{% - \ifx\hide@seqs\n@% - \ifshow@cons\ifnum\cons@top=1 \vspace{-\baselineskip}\fi\fi% - \temp@count=\seq@count% - \advance\temp@count by 1% - \ifx\hide@seqs\y@ - \advance\temp@count by -1 % - \else% - \loopcount=1% - \xdef\first@{true}% - \loop% - \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@% - \advance\temp@count by -1\fi% - \advance\loopcount by 1% - \ifnum\loopcount>\seq@count\else\repeat% - \fi - \ifnum\temp@count>0% - \setlength\temp@@length{\box@height}% - \advance\temp@@length by \box@depth% - \setlength\arrow@height{0.5\temp@@length}% - \setlength\temp@@length{\temp@count\temp@@length}% - \advance\temp@@length by \arrow@height% - \advance\temp@@length by -0.75\box@height%%%%%%% - \setlength\arrow@width{\sep@space}% - \setlength\arrow@width{\seq@gap@num\arrow@width}% - \advance\temp@@length by \arrow@width% - \vspace{\arrow@height}% - \vspace{-\temp@@length}% - \vspace{-2.56\baselineskip}% - \xdef\first@{\stylehidebar @}% - \put@@hidebar% - \vspace{-\arrow@height}% - \vspace{-0.47\box@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}% @@ -15899,14 +16536,15 @@ \expandafter\decimal@E\fourth@% \fi\fi\fi\fi% \xdef\fourth@{\fl@g\temp@}% - \if\first@ W% + \if\first@ W% \hbox to \box@width{\hss% - \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{0.8}[\third@]% + \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{\char@stretch@W}[\third@]% {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{W}\hss}}}}}\hss}% \kern-\box@width% \else% - \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}}}}}% + \hbox to \box@width{\hss% + \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{\char@stretch}[\third@]% + {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{\first@}\hss}}}}}\hss}% \kern-\box@width% \fi% \advance\temp@count by \second@% @@ -16205,7 +16843,7 @@ \def\set@lines{% \pos@count=1 - \xdef\frame@pos{1}\xdef\bar@pos{0}\xdef\hidebar@on{0}% + \xdef\frame@pos{1}\xdef\bar@pos{0}% \xdef\featurepostop{1} \xdef\featureposbottom{1}% \xdef\featureposttop{1} \xdef\featureposbbottom{1}% \xdef\featurepostttop{1} \xdef\featureposbbbottom{1}% @@ -16327,9 +16965,6 @@ \ifnum\frame@on=0 \xdef\frame@{0}\fi% \put@frame% \fi% - \ifnum\hidebar@on=1 % - \put@hidebar% - \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 @@ -16435,7 +17070,7 @@ \fi \fi \xdef\consensus{} \xdef\ruler@{} - \xdef\styleframe{} \xdef\stylehidebar{} + \xdef\styleframe{} \xdef\textfeaturetop{} \xdef\textfeaturebottom{} \xdef\textfeaturettop{} \xdef\textfeaturebbottom{} \xdef\textfeaturetttop{} \xdef\textfeaturebbbottom{} @@ -16559,7 +17194,7 @@ \xdef\textfeaturebbottom{} \xdef\featureonbbottom{0} \xdef\textfeaturebbbottom{} \xdef\featureonbbbottom{0} \xdef\textfeaturebbbbottom{} \xdef\featureonbbbbottom{0} - \xdef\styleframe{} \xdef\stylehidebar{} + \xdef\styleframe{} \xdef\stylefeaturetop{} \xdef\stylefeaturettop{} \xdef\stylefeaturetttop{} @@ -16570,6 +17205,134 @@ \xdef\stylefeaturebbbbottom{}} \def\guess@protein{\seqtype{P}\message{<Seqtype guess: protein>}} \def\guess@DNA{\seqtype{N}\message{<Seqtype guess: nucleotide>}} +\def\domain@count{% + \loopcount=0 + \ifT@coffee + \xdef\seq@line{\csname T@cof\the\loopcount\endcsname} + \expandafter\res@get\seq@line + \expandafter\xdef\csname TC@num\the\loopcount\endcsname{\first@} + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\seq@line} + \fi + \loop + \advance\loopcount by 1 + \xdef\seq@line{\csname seq\the\loopcount\endcsname} + \expandafter\res@get\seq@line + \expandafter\xdef\csname res\the\loopcount\endcsname{\first@} + \expandafter\xdef\csname seq\the\loopcount\endcsname{\seq@line} + \ifT@coffee + \xdef\seq@line{\csname T@cof\the\loopcount\endcsname} + \expandafter\res@get\seq@line + \expandafter\xdef\csname TC@num\the\loopcount\endcsname{\first@} + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\seq@line} + \fi + \ifnum\loopcount<\seq@count\repeat + \ifx\first@\ampers@nd + \else + \ifnum\next@domain@num>-99999\relax + \ifnum\domain@seq=0 + \temp@count=\csname dom@count0\endcsname + \advance\temp@count by 1 + \expandafter\xdef\csname dom@count0\endcsname{\the\temp@count} + \fi + \loopcount=0 + \loop + \advance\loopcount by 1 + \xdef\first@{\csname res\the\loopcount\endcsname} + \expandafter\check@char\first@ + \ifletter + \temp@count=\csname dom@count\the\loopcount\endcsname + \advance\temp@count by 1 + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{\the\temp@count} + \if\seq@type A \relax + \temp@count=\char@num + \ifnum\temp@count>96 \advance\temp@count by -32 \fi + \ifnum\temp@count=69 \guess@protein + \else + \ifnum\temp@count=70 \guess@protein + \else + \ifnum\temp@count=73 \guess@protein + \else + \ifnum\temp@count=76 \guess@protein + \else + \ifnum\temp@count=80 \guess@protein + \else + \ifnum\temp@count=81 \guess@protein + \fi\fi\fi\fi\fi\fi + \fi + \fi + \ifnum\loopcount<\seq@count\repeat + \expandafter\ifnum\csname dom@count\domain@seq\endcsname=\next@domain@num + \advance\total@count by 1 + \advance\outerloopcount by 1 \ifnum\outerloopcount=\res@perline \outerloopcount=0 \fi + \loopcount=0 + \ifx\g@p\y@ + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{% + \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname} + \fi + \fi + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{% + \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname} + \fi + \loop + \advance\loopcount by 1 + \ifx\g@p\y@ + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{% + \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname} + \fi + \expandafter\xdef\csname sequence\the\loopcount\endcsname{% + \csname sequence\the\loopcount\endcsname\equ@l} + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{% + \csname dom@num\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \ifnum\outerloopcount=0 + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \fi + \fi + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{% + \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname} + \fi + \expandafter\xdef\csname sequence\the\loopcount\endcsname{% + \csname sequence\the\loopcount\endcsname \csname res\the\loopcount\endcsname} + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{% + \csname dom@num\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \ifnum\outerloopcount=0 + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \fi + \ifnum\loopcount<\seq@count\repeat + \expandafter\get@item\domain@num@list + \xdef\domain@num@list{\first@} + \ifx\fourth@\ampers@nd \xdef\next@domain@num{-99999} + \else + \loopcount=\next@domain@num + \advance\loopcount by 1 + \ifnum\loopcount=\fourth@ + \xdef\g@p{n} + \else + \xdef\g@p{y} + \advance\total@count by 1 + \advance\outerloopcount by 1 + \ifnum\outerloopcount=\res@perline + \outerloopcount=0 + \loopcount=0 + \loop + \advance\loopcount by 1 + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \ifnum\loopcount<\seq@count\repeat + \fi + \fi + \xdef\next@domain@num{\fourth@} \xdef\end@num{\fourth@} + \fi + \fi + \domain@count + \fi + \fi +} \def\residue@count{% \expandafter\res@get\seq@line \if\first@\ampers@nd @@ -16648,6 +17411,55 @@ \fi \fi \ifeof\alignfile + \ifx\dom@in\y@ + \loopcount=0 + \ifT@coffee + \xdef\temp@{\csname T@coffee\the\loopcount\endcsname} + \expandafter\get@temp\temp@ + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@} + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} + \fi + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0} + \loop + \advance\loopcount by 1 + \ifT@coffee + \xdef\temp@{\csname T@coffee\the\loopcount\endcsname} + \expandafter\get@temp\temp@ + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@} + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} + \fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@} + \expandafter\xdef\csname sequence\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0} + \ifnum\loopcount<\seq@count\repeat + \xdef\domain@num@list{} + \xdef\last@{\stack@dom} + \get@domain + \xdef\domain@num@list{\domain@num@list &,@} + \expandafter\get@item\domain@num@list + \xdef\next@domain@num{\fourth@} \xdef\domain@num@list{\first@} + \domain@count + \loopcount=0 + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} + \fi + \loop + \advance\loopcount by 1 + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} + \fi + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\csname dom@num\the\loopcount\endcsname @} + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,@} + \ifnum\loopcount<\seq@count\repeat + \if\seq@type A \guess@DNA \fi + \advance\seq@pointer by \total@count\relax + \xdef\total@pos{\the\total@count} + + \else + \ifnum\start@seq=0 \xdef\seq@line{\csname sequence1\endcsname &@} \else @@ -16665,9 +17477,10 @@ \advance\total@count by \first@\relax \xdef\first@{\the\total@count} \ifnum\end@num>\total@count\xdef\end@num{\the\total@count}\fi - \ifshow@sublogo \prep@sublogo \fi - \ifshow@logo \prep@logo \fi - \ifnum\seq@pointer>\res@perline \block@output \fi + \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{% @@ -16697,6 +17510,55 @@ \fi \fi \ifeof\alignfile + \ifx\dom@in\y@ + \loopcount=0 + \ifT@coffee + \xdef\temp@{\csname T@coffee\the\loopcount\endcsname} + \expandafter\get@temp\temp@ + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@} + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} + \fi + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0} + \loop + \advance\loopcount by 1 + \ifT@coffee + \xdef\temp@{\csname T@coffee\the\loopcount\endcsname} + \expandafter\get@temp\temp@ + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@} + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} + \fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@} + \expandafter\xdef\csname sequence\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0} + \ifnum\loopcount<\seq@count\repeat + \xdef\domain@num@list{} + \xdef\last@{\stack@dom} + \get@domain + \xdef\domain@num@list{\domain@num@list &,@} + \expandafter\get@item\domain@num@list + \xdef\next@domain@num{\fourth@} \xdef\domain@num@list{\first@} + \domain@count + \loopcount=0 + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} + \fi + \loop + \advance\loopcount by 1 + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} + \fi + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\csname dom@num\the\loopcount\endcsname @} + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,@} + \ifnum\loopcount<\seq@count\repeat + \if\seq@type A \guess@DNA \fi + \advance\seq@pointer by \total@count\relax + \xdef\total@pos{\the\total@count} + + \else + \ifnum\start@seq=0 \xdef\seq@line{\csname sequence1\endcsname &@} \else @@ -16714,9 +17576,10 @@ \advance\total@count by \first@\relax \xdef\first@{\the\total@count} \ifnum\end@num>\total@count\xdef\end@num{\the\total@count}\fi - \ifshow@sublogo \prep@sublogo \fi - \ifshow@logo \prep@logo \fi - \ifnum\seq@pointer>\res@perline \block@output \fi + \fi + \ifshow@sublogo \prep@sublogo \fi + \ifshow@logo \prep@logo \fi + \ifnum\seq@pointer>\res@perline \block@output \fi \else \read@fasta \fi} @@ -16847,6 +17710,7 @@ \fi \set@savedseqlength \loopcount=0 \xdef\seq@order{} + \expandafter\xdef\csname stack@dom\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@hidereg\the\loopcount\endcsname{&;&;&;&;@} @@ -17280,6 +18144,7 @@ \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} +\expandafter\xdef\csname res@num\equ@l\endcsname{0} \xdef\res@corrA{0} \xdef\res@corrB{0} \xdef\res@corrC{0} \xdef\res@corrD{0} \xdef\res@corrE{0} \xdef\res@corrF{0} @@ -17294,6 +18159,7 @@ \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} +\expandafter\xdef\csname res@corr\equ@l\endcsname{0} \xdef\corr@max{0} \xdef\do@freq@correction{n} \xdef\res@total{0} \xdef\stack@sequencelogo{} \xdef\bit@total{0} @@ -17307,12 +18173,11 @@ \expandafter\xdef\csname group@num1\endcsname{0} \expandafter\xdef\csname group@num2\endcsname{0} \xdef\exp@rt@num{0} \xdef\exp@rt{n} -\xdef\hide@true{n} \xdef\hide@now{n} -\xdef\hide@label{circ} \xdef\divref@{0} \xdef\all@thresh@ld{100} \all@shadefalse \hidefeaturenames \hidefeaturestylenames \xdef\T@coffee@ccons{n} \xdef\T@coffee@bcons{n} +\xdef\dom@in{no} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% %%%%% @@ -17345,6 +18210,8 @@ \gapchar{.} % . is printed in sequence gaps \gaprule{0.3pt} % If a rule is printed in gaps use 0.3 pt \gapcolors{Black}{White} % Gap symbols appear `Black on White' +\domaingaprule{1pt} % If a rule is set between domains use 1 pt +\domaingapcolors{Red}{White} % Domain separation line appears `Red on White' \numberingcolor{Black} % Numbering color is `Black' \shownumbering{right} % Show sequence numbering on the left \namescolor{Black} % Names' color is `Black' @@ -17406,10 +18273,6 @@ \setseries{featurestyles}{md} % Use normal series for feature styles \setshape {featurestyles}{up} % Use upright shape for feature styles \setsize {featurestyles}{normalsize}% Use normal size for feature styles -\setfamily{hideblock}{rm} % Use roman family for hidden block labels -\setseries{hideblock}{md} % Use normal series for hidden block labels -\setshape {hideblock}{it} % Use italics shape for hidden block labels -\setsize {hideblock}{normalsize} % Use normal size for hidden block labels \setfamily{legend}{tt} % Use typewriter family for legend texts \setseries{legend}{md} % Use normal series for legend texts \setshape {legend}{up} % Use upright shape for legend texts @@ -17546,6 +18409,8 @@ \gapchar{.} % . is printed in sequence gaps \gaprule{0.3pt} % If a rule is printed in gaps use 0.3 pt \gapcolors{Black}{White} % Gap symbols appear `Black on White' +\domaingaprule{1pt} % If a rule is set between domains use 1 pt +\domaingapcolors{Red}{White} % Domain separation line appears `Red on White' \numberingcolor{Black} % Numbering color is `Black' \shownumbering{right} % Show sequence numbering on the left \namescolor{Black} % Names' color is `Black' @@ -17603,10 +18468,6 @@ \setseries{features}{md} % Use normal series for feature texts \setshape {features}{it} % Use italics shape for feature texts \setsize {features}{normalsize} % Use normal size for feature texts -\setfamily{hideblock}{rm} % Use roman family for hidden block labels -\setseries{hideblock}{md} % Use normal series for hidden block labels -\setshape {hideblock}{it} % Use italics shape for hidden block labels -\setsize {hideblock}{normalsize} % Use normal size for hidden block labels \setfamily{legend}{tt} % Use typewriter family for legend texts \setseries{legend}{md} % Use normal series for legend texts \setshape {legend}{up} % Use upright shape for legend texts diff --git a/Master/texmf-dist/source/latex/texshade/texshade.ins b/Master/texmf-dist/source/latex/texshade/texshade.ins index 7f548d9cdb8..51f043c8d20 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-2008 Eric Beitz +%% Copyright 1999-2009 Eric Beitz %% \def\batchfile{texshade.ins} @@ -14,7 +14,7 @@ LaTeX package for typesetting nucleotide and peptide alignments -Copyright (C) 1999-2007 Eric Beitz +Copyright (C) 1999-2009 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 2de06346a09..a69d64f5d23 100644 --- a/Master/texmf-dist/tex/latex/texshade/texshade.def +++ b/Master/texmf-dist/tex/latex/texshade/texshade.def @@ -32,6 +32,8 @@ \gapchar{.} % . is printed in sequence gaps \gaprule{0.3pt} % If a rule is printed in gaps use 0.3 pt \gapcolors{Black}{White} % Gap symbols appear `Black on White' +\domaingaprule{1pt} % If a rule is set between domains use 1 pt +\domaingapcolors{Red}{White} % Domain separation line appears `Red on White' \numberingcolor{Black} % Numbering color is `Black' \shownumbering{right} % Show sequence numbering on the left \namescolor{Black} % Names' color is `Black' @@ -89,10 +91,6 @@ \setseries{features}{md} % Use normal series for feature texts \setshape {features}{it} % Use italics shape for feature texts \setsize {features}{normalsize} % Use normal size for feature texts -\setfamily{hideblock}{rm} % Use roman family for hidden block labels -\setseries{hideblock}{md} % Use normal series for hidden block labels -\setshape {hideblock}{it} % Use italics shape for hidden block labels -\setsize {hideblock}{normalsize} % Use normal size for hidden block labels \setfamily{legend}{tt} % Use typewriter family for legend texts \setseries{legend}{md} % Use normal series for legend texts \setshape {legend}{up} % Use upright shape for legend texts diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.sty b/Master/texmf-dist/tex/latex/texshade/texshade.sty index a3cd5b24ade..96221a75e00 100644 --- a/Master/texmf-dist/tex/latex/texshade/texshade.sty +++ b/Master/texmf-dist/tex/latex/texshade/texshade.sty @@ -8,13 +8,13 @@ %% %% LaTeX package for typesetting nucleotide and peptide alignments %% -%% Copyright (C) 1999-2007 Eric Beitz +%% Copyright (C) 1999-2009 Eric Beitz %% See the file texshade.txt %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{texshade}[2007/06/19 LaTeX TeXshade (v1.17)] -\message{Package `texshade', Version 1.17 of 2007/06/19.} +\ProvidesPackage{texshade}[2009/03/09 LaTeX TeXshade (v1.19)] +\message{Package `texshade', Version 1.19 of 2009/03/09.} \PassOptionsToPackage{dvips}{color} \PassOptionsToPackage{dvips}{graphicx} @@ -137,8 +137,10 @@ \def\n@me{Name:} \def\@msf{MSF:} \def\he@derend{//} \def\ampers@nd{&} \def\comm@{,} \def\@loc{LOC} \def\@asg{ASG} \def\@t{@} \def\@HP{>HP:} \def\gre@ter{>} \def\sm@ller{<} \def\N@{N} \def\equ@l{=} \def\H@{H} -\def\gap@char{.} \def\yes{yes} \def\y@{y} \def\n@{n} \def\o@{o} \def\d@t{.} +\def\gap@char{.} \def\dom@char{{\dom@rule}} \def\yes{yes} \def\y@{y} \def\n@{n} \def\o@{o} \def\d@t{.} +\def\@TOM{ATOM} \def\C@lpha{CA} \def\@point@{point} \def\@line@{line} \def\@plane@{plane} \def\gap@rule{\rule[0.3\box@height]{\box@width}{\gap@rulethick}} +\def\dom@rule{\vrule depth\box@depth height\box@height width\domgap@rulethick} \def\fgroup@num{0} \def\max@seqnumber{0} \def\@lign@count{0} \def\resn@m@tch{upper} \def\ressimm@tch{upper} \def\resm@tch{upper} \def\res@llm@tch{upper} @@ -701,6 +703,8 @@ \expandafter\xdef\csname cons.Z\endcsname{0} \expandafter\xdef\csname cons..\endcsname{0} +\expandafter\xdef\csname cons==\endcsname{0} + \def\c@d@ns{% \codon{A}{GCA,GCG,GCC,GCT,GCU,GCN} \codon{B}{---} @@ -1452,6 +1456,7 @@ \expandafter\xdef\csname res\the\loopcount\endcsname{\first@} \expandafter\xdef\csname sequence\the\loopcount\endcsname{#2@}} \def\remove@fromseq#1@{\expandafter\xdef\csname sequence\the\loopcount\endcsname{#1}} +\def\get@temp#1@{\xdef\temp@{#1}} \def\TC@get#1#2@{\xdef\char@num{`#1} \ifnum\char@num=45 \xdef\TC@first@{*} \else @@ -1596,6 +1601,7 @@ \ifnum\loopcount<\killseq@count \repeat \ifnum\cons@num>0 \xdef\cons@num{\csname @rd\cons@num\endcsname} \fi \ifnum\rule@num>0 \xdef\rule@num{\csname @rd\rule@num\endcsname} \fi + \ifnum\divref@>0 \xdef\divref@{\csname @rd\divref@\endcsname} \fi \loopcount=0 \loop \advance\loopcount by 1 @@ -2086,9 +2092,9 @@ \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{Arg, Lys, His}{KRH}{Blue}{White}{upper}{up} + \funcgroup{Phe, Tyr, Trp}{FYW}{MidnightBlue}{White}{upper}{up} + \funcgroup{Ala, Gly}{AG}{Gray}{White}{upper}{up} \funcgroup{Cys, Met}{CM}{Yellow}{White}{upper}{up} \funcgroup{Ser, Thr}{ST}{Orange}{White}{upper}{up} \funcgroup{Asn, Gln}{NQ}{Cyan}{White}{upper}{up} @@ -2154,14 +2160,6 @@ \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} \sort@hidestack \fi\fi } -\def\get@hideregions#1..#2,#3@{% - \xdef\hide@true{y} - \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} - \xdef\last@{\csname stack@hidereg\seq@\endcsname} - \xdef\tmpstack{} - \sort@hidestack - \expandafter\xdef\csname stack@hidereg\seq@\endcsname{\tmpstack} -} \def\get@fromemphstack#1;#2;#3;#4@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} \xdef\last@{#4@} @@ -2194,6 +2192,40 @@ \sort@emphstack \expandafter\xdef\csname stack@emphreg\seq@\endcsname{\tmpstack} } +\def\get@fromdomstack#1;#2;#3@{% + \xdef\first@{#1} \xdef\second@{#2} + \xdef\last@{#3@} +} +\def\sort@domstack{% + \expandafter\get@fromdomstack\last@ + \ifx\first@\ampers@nd + \xdef\tmpstack{\tmpstack\st@rt;\st@p;&;&;@} + \else + \ifnum\st@rt<\second@ + \xdef\tmpstack{\tmpstack\st@rt;\st@p;\first@;\second@;\last@} + \else + \xdef\tmpstack{\tmpstack\first@;\second@;} \sort@domstack + \fi\fi +} +\def\get@domainregions#1..#2,#3@{% + \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} + \xdef\last@{\stack@dom} + \xdef\tmpstack{} + \sort@domstack + \xdef\stack@dom{\tmpstack} +} +\def\get@domain{% + \expandafter\get@fromdomstack\last@ + \ifx\first@\ampers@nd + \else + \loopcount=\first@ + \loop + \xdef\domain@num@list{\domain@num@list \the\loopcount,} + \advance\loopcount by 1 + \ifnum\loopcount>\second@\else\repeat + \get@domain + \fi +} \def\getregion@fromtintstack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@tintreg\temp@\endcsname} @@ -2365,6 +2397,132 @@ \fi% \fi% } + +\def\test@PDB#1:#2,#3,#4,#5,#6@{% + \xdef\last@{#1[,]&}\expandafter\opt@color\last@ + \ifx\f@color\comm@ + \xdef\PDB@distance{no} + \else + \xdef\f@color{\f@color .&&@} + \expandafter\coord@get\f@color + \temp@count=\c@@rd + \multiply\temp@count by \temp@count + \xdef\PDB@distance{\the\temp@count} + \fi + \xdef\PDB@hitpos{0} + \xdef\PDB@stack{} + \xdef\PDB@name{#2} + \xdef\PDB@type{point} + \ifx\fourth@\PDB@type + \xdef\last@{#3[,]&}\expandafter\opt@color\last@ + \xdef\PDB@refnum@a{\fourth@} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@a{CA} + \else + \xdef\PDB@back@side@a{side} + \fi + \xdef\PDB@refnum@b{0} \xdef\PDB@back@side@b{x} + \xdef\PDB@refnum@c{0} \xdef\PDB@back@side@c{x} + \ifx\PDB@distance\n@ \xdef\PDB@distance{3600}\fi + \load@PDB + \expandafter\get@item\PDB@stack \xdef\list@{\first@@} + \else + \xdef\PDB@type{line} + \ifx\fourth@\PDB@type + \xdef\last@{#3[,]&}\expandafter\opt@color\last@ + \xdef\PDB@refnum{\fourth@} + \ifx\f@color\C@lpha + \xdef\PDB@back@side{CA} + \else + \xdef\PDB@back@side{side} + \fi + \xdef\last@{#4[,]&}\expandafter\opt@color\last@ + \ifnum\PDB@refnum<\fourth@ + \xdef\PDB@refnum@a{\PDB@refnum} + \xdef\PDB@refnum@b{\fourth@} + \xdef\PDB@back@side@a{\PDB@back@side} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@b{CA} + \else + \xdef\PDB@back@side@b{side} + \fi + \else + \xdef\PDB@refnum@b{\PDB@refnum} + \xdef\PDB@refnum@a{\fourth@} + \xdef\PDB@back@side@b{\PDB@back@side} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@a{CA} + \else + \xdef\PDB@back@side@a{side} + \fi + \fi + \xdef\PDB@refnum@c{0} \xdef\PDB@back@side@c{x} + \ifx\PDB@distance\n@ \xdef\PDB@distance{100}\fi + \load@PDB + \expandafter\get@item\PDB@stack \xdef\list@{\first@@} + \else + \xdef\PDB@type{plane} + \ifx\fourth@\PDB@type + \xdef\last@{#3[,]&}\expandafter\opt@color\last@ + \xdef\PDB@refnum{\fourth@} + \ifx\f@color\C@lpha + \xdef\PDB@back@side{CA} + \else + \xdef\PDB@back@side{side} + \fi + \xdef\last@{#4[,]&}\expandafter\opt@color\last@ + \ifnum\PDB@refnum<\fourth@ + \xdef\PDB@refnum@a{\PDB@refnum} + \xdef\PDB@refnum@b{\fourth@} + \xdef\PDB@back@side@a{\PDB@back@side} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@b{CA} + \else + \xdef\PDB@back@side@b{side} + \fi + \else + \xdef\PDB@refnum@b{\PDB@refnum} + \xdef\PDB@refnum@a{\fourth@} + \xdef\PDB@back@side@b{\PDB@back@side} + \ifx\f@color\C@lpha + \xdef\PDB@back@side@a{CA} + \else + \xdef\PDB@back@side@a{side} + \fi + \fi + \xdef\last@{#5[,]&}\expandafter\opt@color\last@ + \xdef\PDB@refnum{\fourth@} + \ifx\f@color\C@lpha + \xdef\PDB@back@side{CA} + \else + \xdef\PDB@back@side{side} + \fi + \ifnum\PDB@refnum>\PDB@refnum@b + \xdef\PDB@refnum@c{\PDB@refnum} + \xdef\PDB@back@side@c{\PDB@back@side} + \else + \ifnum\PDB@refnum>\PDB@refnum@a + \xdef\PDB@refnum@c{\PDB@refnum@b} + \xdef\PDB@back@side@c{\PDB@back@side@b} + \xdef\PDB@refnum@b{\PDB@refnum} + \xdef\PDB@back@side@b{\PDB@back@side} + \else + \xdef\PDB@refnum@c{\PDB@refnum@b} + \xdef\PDB@back@side@c{\PDB@back@side@b} + \xdef\PDB@refnum@b{\PDB@refnum@a} + \xdef\PDB@back@side@b{\PDB@back@side@a} + \xdef\PDB@refnum@a{\PDB@refnum} + \xdef\PDB@back@side@a{\PDB@back@side} + \fi + \fi + \ifx\PDB@distance\n@ \xdef\PDB@distance{100}\fi + \load@PDB + \expandafter\get@item\PDB@stack \xdef\list@{\first@@} + \fi + \fi + \fi +} + \def\test@fill#1:#2:#3&{% \xdef\last@{#1[,][,]&}\expandafter\arrow@col@width\last@% \xdef\second@@{\fourth@}% @@ -2541,6 +2699,7 @@ \expandafter\xdef\csname \prfx grpZ\endcsname{-26} \expandafter\xdef\csname \prfx grp-\endcsname{-999} \expandafter\xdef\csname \prfx grp.\endcsname{-999} + \expandafter\xdef\csname \prfx grp=\endcsname{-999} } \def\inactivate@chars{% \catcode`\#=12 @@ -2555,9 +2714,15 @@ \def\romancount{\@roman\loopcount} \def\Romancount{\@Roman\loopcount} \def\cut@name#1.#2@{\global\xdef\file@n@me{#1}} +\def\coord@get#1.#2#3@{% + \xdef\temp@{#2} + \ifx\temp@\ampers@nd \xdef\temp@{0} \fi + \xdef\c@@rd{#1\temp@} +} \def\struc@get#1 #2 #3 #4 #5 #6 #7 #8 #9@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} \xdef\fourth@{#4} - \xdef\fifth@{#5} \xdef\sixth@{#6} \xdef\seventh@{#7}\xdef\eighth@{#8}} + \xdef\fifth@{#5} \xdef\sixth@{#6} \xdef\seventh@{#7}\xdef\eighth@{#8} + \xdef\nineth@{#9}} \def\get@PHD#1|#2|#3@{\xdef\PHD@line{\PHD@line #2}} \def\write@PHDsec{% \expandafter\get@sim\last@ @@ -3525,7 +3690,7 @@ \xdef\fourth@{#2,&,@} \expandafter\get@triplet\fourth@ \fi} - +\def\get@dom@count#1,#2@{\res@count=#1 \xdef\temp@{#2 @}} \def\get@name@number{% \xdef\second@{n} \loopcount=0 @@ -3542,6 +3707,318 @@ \fi } +\def\calc@distance@point{% + \loopcount=\xref@coord@a \advance\loopcount by -\x@coord\relax + \multiply\loopcount by \loopcount \xdef\x@distance{\the\loopcount} + \loopcount=\yref@coord@a \advance\loopcount by -\y@coord\relax + \multiply\loopcount by \loopcount \xdef\y@distance{\the\loopcount} + \loopcount=\zref@coord@a \advance\loopcount by -\z@coord\relax + \multiply\loopcount by \loopcount \xdef\z@distance{\the\loopcount} + \advance\loopcount by \y@distance\relax + \advance\loopcount by \x@distance\relax + \ifnum\loopcount > \PDB@distance \else + \loopcount=\PDB@hitpos \advance\loopcount by 1 + \ifnum\loopcount=\PDB@pos + \else + \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} + \fi + \xdef\PDB@hitpos{\PDB@pos} + \fi +} + +\def\calc@distance@line{% + \loopcount=\x@coord\relax \multiply\loopcount by \x@orient + \temp@count=\y@coord \relax \multiply\temp@count by \y@orient + \advance\loopcount by \temp@count + \temp@count=\z@coord \relax \multiply\temp@count by \z@orient + \advance\loopcount by \temp@count + \advance\loopcount by -\c@nst@ + \xdef\z@hler{\the\loopcount} + \multiply\loopcount by \x@orient \divide\loopcount by \f@ct@r \advance\loopcount by \xref@coord@a + \advance\loopcount by -\x@coord + \multiply\loopcount by \loopcount \xdef\x@distance{\the\loopcount} + \loopcount=\z@hler + \multiply\loopcount by \y@orient \divide\loopcount by \f@ct@r \advance\loopcount by \yref@coord@a + \advance\loopcount by -\y@coord + \multiply\loopcount by \loopcount \xdef\y@distance{\the\loopcount} + \loopcount=\z@hler + \multiply\loopcount by \z@orient \divide\loopcount by \f@ct@r \advance\loopcount by \zref@coord@a + \advance\loopcount by -\z@coord + \multiply\loopcount by \loopcount \xdef\z@distance{\the\loopcount} + \advance\loopcount by \y@distance\relax + \advance\loopcount by \x@distance\relax + \ifnum\loopcount > \PDB@distance \else + \loopcount=\PDB@hitpos \advance\loopcount by 1 + \ifnum\loopcount=\PDB@pos + \else + \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} + \fi + \xdef\PDB@hitpos{\PDB@pos} + \fi +} + +\def\intr@@t{% + \loopcount=\r@@t + \temp@count=1 + \loop + \advance\loopcount by \temp@count + \divide\loopcount by 2 + \temp@count=\r@@t + \divide\temp@count by \loopcount + \ifnum\loopcount>\temp@count\repeat +} + +\def\calc@distance@plane{% + \loopcount=\x@coord\relax + \multiply\loopcount by \x@orient + \temp@count=\y@coord \relax + \multiply\temp@count by \y@orient + \advance\loopcount by \temp@count + \temp@count=\z@coord \relax + \multiply\temp@count by \z@orient + \advance\loopcount by \temp@count + \advance\loopcount by \c@nst@ + \divide\loopcount by \f@ct@r + \multiply\loopcount by \loopcount + \ifnum\loopcount > \PDB@distance \else + \loopcount=\PDB@hitpos \advance\loopcount by 1 + \ifnum\loopcount=\PDB@pos + \else + \xdef\PDB@stack{\PDB@stack\PDB@hitpos,\PDB@pos..} + \fi + \xdef\PDB@hitpos{\PDB@pos} + \fi +} + +\def\load@PDB{% + \bgroup + \immediate\openin\structurefile = \PDB@name\relax + \ifeof\structurefile + \PackageError{TeXshade} + {File `\PDB@name' not found} + {\MessageBreak + The file you specified is missing or you have \MessageBreak + misspelled it. \MessageBreak\MessageBreak + No PDB domain labeling will be displayed. \MessageBreak + Type <return> to proceed. \MessageBreak + Type X <return> to quit. \MessageBreak +} + \immediate\closein\structurefile\egroup + \else + \message{<reading PDB: \PDB@name>} + \xdef\first@{} + \loop + \read\structurefile to \readline + \xdef\test@{\expandafter\string\readline} + \ifx\test@\par@ + \else + \xdef\structureline{\readline & & & & & & & & &@} + \expandafter\struc@get\structureline + \ifx\first@\@TOM + \ifx\PDB@back@side@a\C@lpha + \ifx\third@\C@lpha + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@a + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@a{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@a{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@a{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@a + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@a{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@a{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@a{\c@@rd} + \fi + \fi + \fi + \else + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@a + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@a{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@a{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@a{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@a + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@a{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@a{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@a{\c@@rd} + \fi + \fi + \fi + \ifx\PDB@back@side@b\C@lpha + \ifx\third@\C@lpha + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@b + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@b{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@b{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@b{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@b + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@b{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@b{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@b{\c@@rd} + \fi + \fi + \fi + \else + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@b + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@b{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@b{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@b{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@b + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@b{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@b{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@b{\c@@rd} + \fi + \fi + \fi + \ifx\PDB@back@side@c\C@lpha + \ifx\third@\C@lpha + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@c + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@c{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@c{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@c{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@c + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@c{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@c{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@c{\c@@rd} + \fi + \fi + \fi + \else + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \ifnum\fifth@=\PDB@refnum@c + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\xref@coord@c{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\yref@coord@c{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\zref@coord@c{\c@@rd} + \fi + \else + \ifnum\sixth@=\PDB@refnum@c + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\xref@coord@c{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\yref@coord@c{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\zref@coord@c{\c@@rd} + \fi + \fi + \fi + \fi + \fi + \ifeof\structurefile \else\repeat + \closein\structurefile + \ifx\PDB@type\@line@ + \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@b \xdef\x@orient{\the\loopcount} + \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@b \xdef\y@orient{\the\loopcount} + \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@b \xdef\z@orient{\the\loopcount} + \loopcount=\xref@coord@a \multiply\loopcount by \x@orient + \temp@count=\yref@coord@a \multiply\temp@count by \y@orient + \advance\loopcount by \temp@count + \temp@count=\zref@coord@a \multiply\temp@count by \z@orient + \advance\loopcount by \temp@count + \xdef\c@nst@{\the\loopcount} + \loopcount=\x@orient \multiply\loopcount by \x@orient + \temp@count=\y@orient \multiply\temp@count by \y@orient + \advance\loopcount by \temp@count + \temp@count=\z@orient \multiply\temp@count by \z@orient + \advance\loopcount by \temp@count + \xdef\f@ct@r{\the\loopcount} + \fi + \ifx\PDB@type\@plane@ + \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@b \xdef\x@orient@r{\the\loopcount} + \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@b \xdef\y@orient@r{\the\loopcount} + \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@b \xdef\z@orient@r{\the\loopcount} + \loopcount=\xref@coord@a \advance\loopcount by -\xref@coord@c \xdef\x@orient@s{\the\loopcount} + \loopcount=\yref@coord@a \advance\loopcount by -\yref@coord@c \xdef\y@orient@s{\the\loopcount} + \loopcount=\zref@coord@a \advance\loopcount by -\zref@coord@c \xdef\z@orient@s{\the\loopcount} + \loopcount=\y@orient@r \multiply\loopcount by \z@orient@s + \temp@count=\z@orient@r \multiply\temp@count by \y@orient@s + \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\x@orient{\the\loopcount} + \loopcount=\z@orient@r \multiply\loopcount by \x@orient@s + \temp@count=\x@orient@r \multiply\temp@count by \z@orient@s + \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\y@orient{\the\loopcount} + \loopcount=\x@orient@r \multiply\loopcount by \y@orient@s + \temp@count=\y@orient@r \multiply\temp@count by \x@orient@s + \advance\loopcount by -\temp@count \divide\loopcount by 100 \xdef\z@orient{\the\loopcount} + \loopcount=\x@orient \multiply\loopcount by \xref@coord@a + \temp@count=\y@orient \multiply\temp@count by \yref@coord@a + \advance\loopcount by \temp@count + \temp@count=\z@orient \multiply\temp@count by \zref@coord@a + \advance\loopcount by \temp@count + \multiply\loopcount by -1\relax + \xdef\c@nst@{\the\loopcount} + \loopcount=\x@orient \multiply\loopcount by \loopcount + \temp@count=\y@orient \multiply\temp@count by \temp@count + \advance\loopcount by \temp@count + \temp@count=\z@orient \multiply\temp@count by \temp@count + \advance\loopcount by \temp@count + \xdef\r@@t{\the\loopcount} \intr@@t + \xdef\f@ct@r{\the\loopcount} + \fi + \immediate\openin\structurefile = \PDB@name\relax + \xdef\first@{} + \loop + \read\structurefile to \readline + \xdef\test@{\expandafter\string\readline} + \ifx\test@\par@ + \else + \xdef\structureline{\readline & & & & & & & & &@} + \expandafter\struc@get\structureline + \ifx\first@\@TOM + \xdef\temp@@@{\fifth@ &&@} + \expandafter\check@letter\temp@@@ + \ifnumber + \xdef\PDB@pos{\fifth@} + \xdef\sixth@{\sixth@ &.&&@} \expandafter\coord@get\sixth@ \xdef\x@coord{\c@@rd} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\y@coord{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\z@coord{\c@@rd} + \else + \xdef\PDB@pos{\sixth@} + \xdef\seventh@{\seventh@ &.&&@} \expandafter\coord@get\seventh@ \xdef\x@coord{\c@@rd} + \xdef\eighth@{\eighth@ &.&&@} \expandafter\coord@get\eighth@ \xdef\y@coord{\c@@rd} + \xdef\nineth@{\nineth@ &.&&@} \expandafter\coord@get\nineth@ \xdef\z@coord{\c@@rd} + \fi + \ifnum\PDB@hitpos=\PDB@pos + \else + \ifx\PDB@type\@point@ + \calc@distance@point + \else + \ifx\PDB@type\@line@ + \calc@distance@line + \else + \ifx\PDB@type\@plane@ + \calc@distance@plane + \fi + \fi + \fi + \fi + \fi + \fi + \ifeof\structurefile \xdef\PDB@stack{\PDB@stack\PDB@hitpos,&@} + \else\repeat + \closein\structurefile + + \fi + \egroup + } + %%%%% Definition of user commands \def\clearfuncgroups{\xdef\prfx{func} \clear@groups \xdef\fgroup@num{0}} @@ -3630,6 +4107,34 @@ \separationline{\the\loopcount} \ifnum\loopcount<\seq@count\repeat \fi} +\def\printPDBlist#1{% + \xdef\list@{} + \xdef\temp@{#1,,,:,,,,@} \expandafter\test@PDB\temp@ + \xdef\first@{\list@ &} + \ifx\first@\ampers@nd + \else + \xdef\first@{\list@ @} + \loop + \expandafter\get@item\first@ + \fourth@ + \ifx\first@@\ampers@nd\else{,\ }\repeat + \fi +} +\def\messagePDBlist#1{% + \xdef\list@{} + \xdef\temp@{#1,,,:,,,,@} \expandafter\test@PDB\temp@ + \xdef\first@{\list@ &} + \ifx\first@\ampers@nd + \else + \message{(#1:} + \xdef\first@{\list@ @}% + \loop% + \expandafter\get@item\first@% + \message{\fourth@}% + \ifx\first@@\ampers@nd\else\repeat% + \message{)} + \fi +} \def\shaderegion#1#2#3#4{% \regionalshadetrue \xdef\seq@{#1} @@ -3647,6 +4152,7 @@ \expandafter\xdef\csname fgseqregion\the\loopcount\endcsname{#3} \expandafter\xdef\csname bgseqregion\the\loopcount\endcsname{#4} \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@regions\list@ @@ -3670,6 +4176,7 @@ \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@tintregions\list@ @@ -3710,6 +4217,7 @@ \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@emphregions\list@ @@ -3734,29 +4242,13 @@ \else \xdef\@ll{#3} \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ \loop \xdef\list@{\list@ @} \expandafter\get@frameregions\list@ \ifx\list@\ampers@nd\else\repeat \fi } -\def\hideblock#1#2#3#4{% - \xdef\seq@{#1} - \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi - \xdef\first@{\seq@ @} \expandafter\check@letter\first@ - \xdef\first@{\seq@} - \ifletter \get@name@number \xdef\seq@{\first@} \fi - \ifnum\seq@>\seq@count - \message{<Ignored seq `\seq@' in \noexpand\hideblock>} - \else - \xdef\@ll{#3} \xdef\text@{#4} - \xdef\list@{#2,&} - \loop - \xdef\list@{\list@ @} - \expandafter\get@hideregions\list@ - \ifx\list@\ampers@nd\else\repeat - \fi -} \def\bargraphstretch#1{\def\b@r@stretch{#1}} \def\colorscalestretch#1{\def\sc@le@stretch{#1}} \def\rm@@measure#1#2@{% @@ -4118,7 +4610,7 @@ \ifx\second@@\last@ \xdef\list@{#3,&} \xdef\style@{#4} - \xdef\f@text@{#5} + \def\f@text@{#5} \do@bargraph \xdef\temp@{bottom} \ifx\bottop@\temp@ \xdef\bottom@stretch{y}\fi @@ -4133,11 +4625,14 @@ \ifx\second@@\last@ \xdef\list@{#3,&} \xdef\style@{#4} - \xdef\f@text@{#5} + \def\f@text@{#5} \do@colorgraph \else - \xdef\f@text@{#5} + \xdef\f@@color{\f@color} \xdef\list@{#3,&} + \xdef\temp@{#3,,,:,,,,@} \expandafter\test@PDB\temp@ + \def\f@text@{#5} + \xdef\f@color{\f@@color} \xdef\temp@{#4&} \ifx\temp@\ampers@nd \xdef\style@{&} @@ -4215,7 +4710,9 @@ \fi \fi \fi + \loopcount=0 \loop + \advance\loopcount by 1\relax \xdef\list@{\list@ @} \expandafter\get@fregions\list@ \ifx\list@\ampers@nd\else\repeat @@ -4273,7 +4770,23 @@ \def\decide@{\ifx\l@@k * \let\next\@rplfix \else \let\next\@rplvar \fi \next} \futurelet\l@@k\decide@} \def\numberingwidth#1{\def\num@width{#1}} -\def\charstretch#1{\def\char@stretch{#1}} +\def\charstretch#1{% + \def\char@stretch{#1} + \xdef\temp@{\char@stretch .00@} \expandafter\coord@get\temp@ \loopcount=\c@@rd + \multiply \loopcount by 7 + \divide \loopcount by 10 + \ifnum\loopcount<10 + \xdef\temp@{0\the\loopcount @} + \else + \xdef\temp@{\the\loopcount @} + \fi + \expandafter\decimal@B\temp@ + \ifnum\loopcount>99 + \xdef\char@stretch@W{#1} + \else + \xdef\char@stretch@W{\temp@} + \fi +} \def\linestretch#1{\def\line@stretch{#1}} \def\logostretch#1{% \def\logo@stretch{#1} @@ -4405,6 +4918,7 @@ \ifx\first@\second@\def\gap@char{o} \else\def\gap@char{#1}\fi} \def\gaprule#1{\def\gap@rulethick{#1}} +\def\domaingaprule#1{\def\domgap@rulethick{#1}} \newcommand{\setends}[3][&]{% \xdef\start@seq{#2} \xdef\temp@{consensus} @@ -4877,9 +5391,6 @@ \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@family{\third@} \else - \xdef\temp@{hideblock} - \ifx\first@\temp@ \xdef\hideblock@family{\third@} - \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@family{\third@} \else @@ -4897,9 +5408,8 @@ \xdef\residues@family{\third@} \xdef\legend@family{\third@} \xdef\label@family{\third@} - \xdef\hideblock@family{\third@} \xdef\ruler@family{\second@} - \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\setseries#1#2{% @@ -4942,9 +5452,6 @@ \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@series{\third@} \else - \xdef\temp@{hideblock} - \ifx\first@\temp@ \xdef\hideblock@series{\third@} - \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@series{\third@} \else @@ -4958,9 +5465,8 @@ \xdef\namestext@series{\third@} \xdef\residues@series{\third@} \xdef\legend@series{\third@} - \xdef\hideblock@series{\third@} \xdef\label@series{\third@} - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi } \def\setshape#1#2{% @@ -5011,9 +5517,6 @@ \xdef\temp@{legend} \ifx\first@\temp@ \xdef\legend@shape{\third@} \else - \xdef\temp@{hideblock} - \ifx\first@\temp@ \xdef\hideblock@shape{\third@} - \else \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@shape{\third@} \else @@ -5027,9 +5530,8 @@ \xdef\namestext@shape{\third@} \xdef\residues@shape{\third@} \xdef\legend@shape{\third@} - \xdef\hideblock@shape{\third@} \xdef\label@shape{\third@} - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi } \def\setsize#1#2{% @@ -5065,20 +5567,6 @@ \ifx\first@\temp@ \def\legend@size{\csname #2\endcsname} \else - \xdef\temp@{hideblock} - \ifx\first@\temp@ - \xdef\temp@@{#2} - \xdef\temp@{huge} - \ifx\temp@\temp@@ - \def\hideblock@size{\csname LARGE\endcsname} - \else - \xdef\temp@{Huge} - \ifx\temp@\temp@@ - \def\hideblock@size{\csname LARGE\endcsname} - \else - \def\hideblock@size{\csname #2\endcsname} - \fi\fi - \else \xdef\temp@{labels} \ifx\first@\temp@ \def\label@size{\csname #2\endcsname} @@ -5097,11 +5585,10 @@ \def\numbertext@size{\csname #2\endcsname} \def\namestext@size{\csname #2\endcsname} \def\legend@size{\csname #2\endcsname} - \def\hideblock@size{\csname #2\endcsname} \def\label@size{\csname #2\endcsname} \def\residues@size{\csname #2\endcsname} \xdef\res@size{#2} - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \xdef\temp@{Huge} \ifx\temp@\res@size \def\bottomruler@size{\csname Large\endcsname} @@ -5285,25 +5772,6 @@ \def\legendLARGE {\setsize{legend}{LARGE}} \def\legendhuge {\setsize{legend}{huge}} \def\legendHuge {\setsize{legend}{Huge}} -\def\hideblockrm{\setfamily{hideblock}{rm}} -\def\hideblocksf{\setfamily{hideblock}{sf}} -\def\hideblocktt{\setfamily{hideblock}{tt}} -\def\hideblockmd{\setseries{hideblock}{md}} -\def\hideblockbf{\setseries{hideblock}{bf}} -\def\hideblockup{\setshape {hideblock}{up}} -\def\hideblockit{\setshape {hideblock}{it}} -\def\hideblocksl{\setshape {hideblock}{sl}} -\def\hideblocksc{\setshape {hideblock}{sc}} -\def\hideblocktiny {\setsize{hideblock}{tiny}} -\def\hideblockscriptsize {\setsize{hideblock}{scriptsize}} -\def\hideblockfootnotesize{\setsize{hideblock}{footnotesize}} -\def\hideblocksmall {\setsize{hideblock}{small}} -\def\hideblocknormalsize {\setsize{hideblock}{normalsize}} -\def\hideblocklarge {\setsize{hideblock}{large}} -\def\hideblockLarge {\setsize{hideblock}{Large}} -\def\hideblockLARGE {\setsize{hideblock}{LARGE}} -\def\hideblockhuge {\setsize{hideblock}{LARGE}} -\def\hideblockHuge {\setsize{hideblock}{LARGE}} \def\rulerrm{\setfamily{ruler}{rm}} \def\rulersf{\setfamily{ruler}{sf}} \def\rulertt{\setfamily{ruler}{tt}} @@ -5396,6 +5864,12 @@ \expandafter\def\csname fg@textcolor*\endcsname{#1}\fi \ifx\second@\last@\else\def\gap@bg{#2} \expandafter\def\csname fg@color*\endcsname{#2}\fi} +\def\domaingapcolors#1#2 {\xdef\first@{#1&}\xdef\second@{#2&} + \xdef\last@{\ampers@nd} + \ifx\first@\last@\else\def\domgap@fg{#1} + \expandafter\def\csname fg@textcolor!\endcsname{#1}\fi + \ifx\second@\last@\else\def\domgap@bg{#2} + \expandafter\def\csname fg@color!\endcsname{#2}\fi} \def\shadebox#1{% \xdef\first@{White}% \xdef\third@{#1}% @@ -5868,6 +6342,24 @@ \fi } +\def\setdomain#1#2{% + \xdef\first@{#1} + \xdef\temp@{consensus} + \ifx\first@\temp@ \xdef\domain@seq{0} + \else + \xdef\first@{#1 @} \expandafter\check@letter\first@ + \xdef\first@{#1} \ifletter \get@name@number \fi + \xdef\domain@seq{\csname @rd\first@\endcsname}% + \fi + \xdef\list@{#2,&} + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ + \loop + \xdef\list@{\list@ @} + \expandafter\get@domainregions\list@ + \ifx\list@\ampers@nd\else\repeat + \xdef\dom@in{y} +} + %%%%% Calculate consensus \def\check@sim{% @@ -5933,7 +6425,6 @@ \fi \else \newresfalse - \expandafter\xdef\csname res\the\loopcount\endcsname{\d@t} \fi \ifnewres @@ -6027,13 +6518,29 @@ \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname3\gap@char} \else + \expandafter\ifx\csname res\the\loopcount\endcsname\equ@l + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname!\dom@char} \xdef\g@p{y} + \else \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% 3\csname res\the\loopcount\endcsname} \fi + \fi \else \xdef\first@{\csname res\the\loopcount\endcsname} - \ifx\first@\d@t + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{9} + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \xdef\first@{,\first@}\fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname\third@\first@} \xdef\g@p{y} + \else + \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname \ifsh@wg@ps @@ -6053,27 +6560,28 @@ \fi \fi \fi - \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ - \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} - \xdef\first@{=\first@}\fi - \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ - \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} - \xdef\first@{,\first@}\fi - \expandafter\xdef\csname seq\the\loopcount\endcsname{% - \csname seq\the\loopcount\endcsname\third@\first@} - \else - \ifnum\divref@=\loopcount\else - \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else - \xdef\low@up{upper} \ifx\resn@m@tch\low@up - \else \xdef\first@{\resn@m@tch} \fi\fi\fi - \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ - \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi - \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ - \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi - \expandafter\xdef\csname seq\the\loopcount\endcsname{% - \csname seq\the\loopcount\endcsname3\first@} + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname\third@\first@} + \else + \ifnum\divref@=\loopcount\else + \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else + \xdef\low@up{upper} \ifx\resn@m@tch\low@up + \else \xdef\first@{\resn@m@tch} \fi\fi\fi + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \xdef\first@{,\first@}\fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname3\first@} + \fi \fi \fi \ifnum\loopcount<\seq@count \repeat @@ -6086,9 +6594,13 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus 4\first@} - \expandafter\ifx\csname res\cons@num\endcsname\d@t + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus 4\first@} + \expandafter\ifx\csname res\cons@num\endcsname\d@t \else\xdef\constopo{\constopo 0}\fi + \fi \else \ifnum\cons@num>0 \xdef\tmp@{\csname res\cons@num\endcsname} @@ -6104,6 +6616,7 @@ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi + \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -6111,8 +6624,7 @@ \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} \xdef\first@{,\first@}\fi \expandafter\xdef\csname seq\the\loopcount\endcsname{% - \csname seq\the\loopcount\endcsname% - 3\first@} + \csname seq\the\loopcount\endcsname3\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\last@{\csname res\the\loopcount\endcsname} @@ -6123,6 +6635,9 @@ \xdef\low@up{upper} \ifx\ressimm@tch\low@up \else \xdef\first@{\ressimm@tch} \fi\fi\fi \else + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} + \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -6150,6 +6665,7 @@ \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi + \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} @@ -6171,8 +6687,12 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus5\first@} - \xdef\constopo{\constopo 1} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus5\first@} + \xdef\constopo{\constopo 1} + \fi \fi \else \iffuncmode @@ -6180,6 +6700,17 @@ \loop \advance\loopcount by 1 \xdef\first@{\csname res\the\loopcount\endcsname} + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{!} \xdef\g@p{y} + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \xdef\first@{,\first@}\fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname\third@\first@} + \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -6221,6 +6752,7 @@ \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname0\first@} \fi + \fi \ifnum\loopcount<\seq@count \repeat \else \loopcount=0 @@ -6230,6 +6762,7 @@ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi + \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -6241,6 +6774,17 @@ 3\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} + \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \xdef\first@{,\first@}\fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname\third@\first@} + \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -6283,6 +6827,7 @@ \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname3\first@} \fi + \fi \fi \ifnum\loopcount<\seq@count \repeat \xdef\low@up{lower} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else @@ -6294,8 +6839,12 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus 4\first@} - \xdef\constopo{\constopo 0} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus 4\first@} + \xdef\constopo{\constopo 0} + \fi \fi\fi} \def\c@nserved{% @@ -6307,6 +6856,7 @@ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi + \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -6345,6 +6895,7 @@ \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi + \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -6386,8 +6937,12 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus 5\first@} - \xdef\constopo{\constopo 2}} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus 5\first@} + \xdef\constopo{\constopo 2} + \fi} \def\allm@tch{% \xdef\tmp@{\csname res\cons@seq\endcsname} @@ -6398,6 +6953,7 @@ \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\d@t\def\first@{\gap@char}\fi + \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -6441,6 +6997,7 @@ \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi \fi + \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -6482,8 +7039,12 @@ \expandafter\ifx\csname emph@seq0\endcsname\y@ \expandafter\xdef\csname emph@seq0\endcsname{n} \xdef\first@{,\first@}\fi - \xdef\consensus{\consensus 6\first@} - \xdef\constopo{\constopo 3}} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus 6\first@} + \xdef\constopo{\constopo 3} + \fi} \def\functi@nal{% \ifnum\cons@num>0 @@ -6509,6 +7070,9 @@ 0\first@} \else \xdef\first@{\csname res\the\loopcount\endcsname} + \ifx\first@\equ@l + \def\first@{\dom@char} \def\third@{!} \xdef\g@p{y} + \else \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -6540,6 +7104,7 @@ \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi \fi + \fi \fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} @@ -6559,6 +7124,7 @@ \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\second@{\csname funcgrp\first@\endcsname} \ifnum\second@<0 \xdef\second@{0} \fi + \ifx\first@\equ@l \def\first@{\dom@char} \def\second@{!} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -6609,19 +7175,11 @@ \def\T@coffee@shade{% \loopcount=0 - \expandafter\ifx\csname tint@seq0\endcsname\y@ - \expandafter\xdef\csname tint@seq0\endcsname{n} - \xdef\first@{=\first@}\fi - \expandafter\ifx\csname emph@seq0\endcsname\y@ - \expandafter\xdef\csname emph@seq0\endcsname{n} - \xdef\first@{,\first@}\fi - \xdef\second@{\csname TC@num0\endcsname} - \xdef\consensus{\consensus\second@\n@m@tch} - \xdef\constopo{\constopo\second@} \loop \advance\loopcount by 1 \xdef\first@{\csname res\the\loopcount\endcsname} \xdef\second@{\csname TC@num\the\loopcount\endcsname} + \ifx\first@\equ@l \def\first@{\dom@char} \def\second@{!} \xdef\g@p{y} \fi \ifx\first@\d@t \expandafter\ifnum\csname res@count\the\loopcount\endcsname% <\csname seq@start\the\loopcount\endcsname @@ -6665,7 +7223,22 @@ \csname seq\the\loopcount\endcsname% \second@\first@} \fi - \ifnum\loopcount<\seq@count \repeat} + \ifnum\loopcount<\seq@count \repeat + \xdef\first@{\csname res0\endcsname} + \expandafter\ifx\csname tint@seq0\endcsname\y@ + \expandafter\xdef\csname tint@seq0\endcsname{n} + \xdef\first@{=\first@}\fi + \expandafter\ifx\csname emph@seq0\endcsname\y@ + \expandafter\xdef\csname emph@seq0\endcsname{n} + \xdef\first@{,\first@}\fi + \xdef\second@{\csname TC@num0\endcsname} + \ifx\g@p\y@ + \xdef\consensus{\consensus 8{}} + \else + \xdef\consensus{\consensus\second@\n@m@tch} + \xdef\constopo{\constopo\second@} + \fi + } \def\getregion@fromstack@first{% \expandafter\getregion@fromstack{\the\loopcount} @@ -6708,7 +7281,6 @@ \fi \fi\fi \ifnum\loopcount<\seq@count \repeat - \ifx\hide@now\n@ \loopcount=0 \expandafter\ifx\csname shade@style\the\loopcount\endcsname\y@ \else @@ -6728,7 +7300,6 @@ &\csname shade@style\the\loopcount\endcsname)} \fi \ifnum\loopcount<\seq@count \repeat - \fi } \def\getregion@fromemphstack@first{% @@ -7089,13 +7660,13 @@ \xdef\cons@val{\csname TC@num0\endcsname} \if\cons@val * \xdef\cons@val{99} - \fi \message{(b(\cons@val)b)} + \fi \fi \ifx\T@coffee@ccons\y@ \xdef\cons@val{\csname TC@num0\endcsname} \if\cons@val * \xdef\cons@val{99} - \fi \message{(c(\cons@val)c)} + \fi \fi \fi } @@ -7990,11 +8561,24 @@ \ifnum\loopcount<\seq@count \repeat } +\def\add@to@rule@tens{% + \advance\innerloopcount by \ruler@step\relax + \ifnum\innerloopcount=0 + \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi + \fi + \expandafter\ifnum\csname res@count\rule@num\endcsname>\innerloopcount \add@to@rule@tens + \else + \xdef\rule@tens{\the\innerloopcount} + \fi +} + \def\c@nsensus{% \ifnum\pos@count>\res@perline \else \loopcount=0 - \global\advance\cons@count by 1\relax + \ifx\g@p\n@ + \global\advance\cons@count by 1\relax + \fi \ifnum\cons@count=0\relax \ifx\allow@zero\n@ \global\advance\cons@count by 1 \fi \fi @@ -8003,21 +8587,6 @@ \expandafter\TC@get\TC@line \fi \expandafter\xdef\csname res@count0\endcsname{\the\cons@count} - \ifx\hide@true\y@ - \expandafter\ifx\csname hidestart0\endcsname\ampers@nd - \else - \expandafter\ifnum\csname hidestart0\endcsname>\cons@count - \else - \expandafter\ifnum\csname hidestop0\endcsname<\cons@count - \else - \xdef\hide@now{y} \xdef\eighth@{0} - \fi - \expandafter\ifnum\csname hidestop0\endcsname=\cons@count - \getregion@fromhidestack{0} - \fi - \fi - \fi - \fi \loop \advance\loopcount by 1 \ifT@coffee @@ -8032,46 +8601,35 @@ \advance\innerloopcount by 1 \expandafter\xdef\csname res@num\first@\endcsname{\the\innerloopcount} \expandafter\check@char\first@ + \ifx\dom@in\y@ %%%%%%%%%%%***** + \xdef\temp@{\csname dom@num\the\loopcount\endcsname} + \expandafter\get@dom@count\temp@ + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\temp@} + \fi %%%%%%%%%%%***** \ifletter - \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=\exp@rt@num \xdef\sixth@{\the\res@count}\xdef\seventh@{y}\fi - \ifx\hide@true\y@ - \expandafter\ifx\csname hidestart\the\loopcount\endcsname\ampers@nd - \else - \expandafter\ifnum\csname hidestart\the\loopcount\endcsname>\res@count + \ifx\dom@in\y@ \else - \expandafter\ifnum\csname hidestop\the\loopcount\endcsname<\res@count - \else - \xdef\hide@now{y}\xdef\eighth@{\the\loopcount} - \fi - \expandafter\ifnum\csname hidestop\the\loopcount\endcsname=\res@count - \xdef\first@@{\first@} - \expandafter\getregion@fromhidestack{\the\loopcount} - \xdef\first@{\first@@} - \fi - \fi + \res@count=\csname res@count\the\loopcount\endcsname + \advance\res@count by 1 + \ifnum\res@count=0\relax + \ifx\allow@zero\n@ \advance\res@count by 1 \fi \fi \fi + \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} + \ifnum\loopcount=\exp@rt@num \xdef\sixth@{\the\res@count}\xdef\seventh@{y}\fi \ifnum\loopcount=\rule@num\relax + \expandafter\ifnum\csname res@count\rule@num\endcsname>\rule@tens + \innerloopcount=\rule@tens \add@to@rule@tens + \fi \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax \xdef\temp@{\rule@tens} \else \xdef\temp@{\csname alt@ruler\rule@tens\endcsname} \fi - \ifx\hide@now\n@ \xdef\ruler@{\ruler@ !<\temp@>} \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} + \xdef\ruler@{\ruler@ !<\temp@>} \else - \ifx\hide@now\n@ \xdef\ruler@{\ruler@ -} \fi + \xdef\ruler@{\ruler@ -} \fi \xdef\temp@{\csname res@count\rule@num\endcsname} \expandafter\ifx\csname alt@ruler\temp@\endcsname\relax @@ -8079,7 +8637,6 @@ \expandafter\xdef\csname alt@ruler\temp@\endcsname{\temp@} \fi \fi - \ifx\hide@now\n@ \ifx\collect@valtop\yes \ifnum\v@lseqtop=\loopcount \xdef\v@ltop{\v@ltop,\csname \ffourth@top\first@\endcsname} @@ -8112,14 +8669,11 @@ \ifnum\v@lseqbbbbottom=\loopcount \xdef\v@lbbbbottom{\v@lbbbbottom,\csname \ffourth@bbbbottom\first@\endcsname} \fi\fi - \fi \ifx\collect@restop\yes \ifnum\tr@nsseqtop=\loopcount \xdef\last@restop{\last@@restop} \xdef\last@@restop{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatetop{\tr@nslatetop\first@} - \fi + \xdef\tr@nslatetop{\tr@nslatetop\first@} \innerloopcount=\triple@counttop \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -8129,9 +8683,7 @@ \ifnum\tr@nsseqttop=\loopcount \xdef\last@resttop{\last@@resttop} \xdef\last@@resttop{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatettop{\tr@nslatettop\first@} - \fi + \xdef\tr@nslatettop{\tr@nslatettop\first@} \innerloopcount=\triple@countttop \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -8140,10 +8692,8 @@ \ifx\collect@restttop\yes \ifnum\tr@nsseqtttop=\loopcount \xdef\last@restttop{\last@@restttop} - \xdef\last@@restttop{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatetttop{\tr@nslatetttop\first@} - \fi + \last@@restttop{\first@} + \xdef\tr@nslatetttop{\tr@nslatetttop\first@} \innerloopcount=\triple@counttttop \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -8153,9 +8703,7 @@ \ifnum\tr@nsseqttttop=\loopcount \xdef\last@resttttop{\last@@resttttop} \xdef\last@@resttttop{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatettttop{\tr@nslatettttop\first@} - \fi + \xdef\tr@nslatettttop{\tr@nslatettttop\first@} \innerloopcount=\triple@countttttop \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -8165,9 +8713,7 @@ \ifnum\tr@nsseqbottom=\loopcount \xdef\last@resbottom{\last@@resbottom} \xdef\last@@resbottom{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatebottom{\tr@nslatebottom\first@} - \fi + \xdef\tr@nslatebottom{\tr@nslatebottom\first@} \innerloopcount=\triple@countbottom \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -8177,9 +8723,7 @@ \ifnum\tr@nsseqbbottom=\loopcount \xdef\last@resbbottom{\last@@resbbottom} \xdef\last@@resbbottom{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatebbottom{\tr@nslatebbottom\first@} - \fi + \xdef\tr@nslatebbottom{\tr@nslatebbottom\first@} \innerloopcount=\triple@countbbottom \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -8189,9 +8733,7 @@ \ifnum\tr@nsseqbbbottom=\loopcount \xdef\last@resbbbottom{\last@@resbbbottom} \xdef\last@@resbbbottom{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatebbbottom{\tr@nslatebbbottom\first@} - \fi + \xdef\tr@nslatebbbottom{\tr@nslatebbbottom\first@} \innerloopcount=\triple@countbbbottom \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -8201,9 +8743,7 @@ \ifnum\tr@nsseqbbbbottom=\loopcount \xdef\last@resbbbbottom{\last@@resbbbbottom} \xdef\last@@resbbbbottom{\first@} - \ifx\hide@now\n@ - \xdef\tr@nslatebbbbottom{\tr@nslatebbbbottom\first@} - \fi + \xdef\tr@nslatebbbbottom{\tr@nslatebbbbottom\first@} \innerloopcount=\triple@countbbbbottom \advance\innerloopcount by 1 \ifnum\innerloopcount>3 \innerloopcount=1 \fi @@ -8218,8 +8758,7 @@ \expandafter\xdef\csname ch@rge\the\loopcount\endcsname{% \the\innerloopcount} \else - \ifnum\loopcount=\rule@num \ifx\hide@now\n@ \xdef\ruler@{\ruler@ -} \fi\fi - \ifx\hide@now\n@ + \ifnum\loopcount=\rule@num \xdef\ruler@{\ruler@ -} \fi \ifx\collect@valtop\yes \ifnum\v@lseqtop=\loopcount \xdef\v@ltop{\v@ltop,N} @@ -8284,31 +8823,8 @@ \ifnum\tr@nsseqbbbbottom=\loopcount \xdef\tr@nslatebbbbottom{\tr@nslatebbbbottom -} \fi\fi - \fi \fi \ifnum\loopcount<\seq@count \repeat - \ifnum\rule@num=0 - \ifnum\cons@count=\rule@tens - \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax - \xdef\temp@{\rule@tens} - \else - \xdef\temp@{\csname alt@ruler\rule@tens\endcsname} - \fi - \ifx\hide@now\n@ \xdef\ruler@{\ruler@ !<\temp@>} \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 - \ifx\hide@now\n@ \xdef\ruler@{\ruler@ -} \fi - \fi - \expandafter\ifx\csname alt@ruler\the\cons@count\endcsname\relax - \else - \expandafter\xdef\csname alt@ruler\the\cons@count\endcsname{\the\cons@count} - \fi - \fi - \ifx\hide@now\n@ \ifx\collect@cons@graphtop\yes \outerloopcount=1\relax \temp@count=0\relax @@ -8382,13 +8898,8 @@ \immediate\write\exp@rtfile{\string color col\the\outerloopcount, resi \sixth@} \fi \fi - \fi -%%%%%%%%%%%%% - \ifx\hide@now\y@ - \regionalshadenowtrue \regionaltintnowtrue - \regionalemphnowtrue \framenowtrue - \fi + \xdef\g@p{n} \ifregionalshadenow \calc@regshade \fi \ifregionaltintnow \calc@regtint \fi \ifregionalemphnow \calc@regemph \fi @@ -8401,17 +8912,6 @@ \ifbbottomfeaturenow \xdef\bottop@{bbottom} \calc@feature \fi \ifbbbottomfeaturenow \xdef\bottop@{bbbottom} \calc@feature \fi \ifbbbbottomfeaturenow \xdef\bottop@{bbbbottom} \calc@feature \fi - \ifx\hide@now\y@ - \xdef\hidebar@on{1} - \ifnum\pos@count=\bar@pos - \else - \loopcount=\pos@count - \advance\loopcount by -\bar@pos - \xdef\bar@pos{\the\pos@count} - \xdef\stylehidebar{\stylehidebar\the\loopcount;\csname hidestyle\eighth@\endcsname;\csname hidetext\eighth@\endcsname;} - \fi - \else -%%%%%%%%%%%%% \advance\pos@count by 1 \ifshow@logo \calc@logo \fi \ifall@fshade \all@funcshade @@ -8427,10 +8927,31 @@ \ifcase\match@case \unc@nserved \or \c@nserved \or \allm@tch \else \functi@nal \fi \fi \fi -%%%%%%%% - \fi - \xdef\hide@now{n} -%%%%%%%% + \ifnum\rule@num=0 + \ifx\g@p\y@ + \xdef\ruler@{\ruler@ -} + \else + \ifnum\cons@count=\rule@tens + \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax + \xdef\temp@{\rule@tens} + \else + \xdef\temp@{\csname alt@ruler\rule@tens\endcsname} + \fi + \xdef\ruler@{\ruler@ !<\temp@>} + \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step\relax + \ifnum\innerloopcount=0 + \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi + \fi + \xdef\rule@tens{\the\innerloopcount} + \else + \xdef\ruler@{\ruler@ -} + \fi + \expandafter\ifx\csname alt@ruler\the\cons@count\endcsname\relax + \else + \expandafter\xdef\csname alt@ruler\the\cons@count\endcsname{\the\cons@count} + \fi + \fi + \fi \expandafter\ifnum\csname res@count\start@seq\endcsname<\end@num\relax \c@nsensus \else @@ -8473,6 +8994,11 @@ \ifnum\res@count=0 \ifx\allow@zero\n@ \advance\res@count by 1 \fi \fi + \ifx\dom@in\y@ + \xdef\temp@{\csname dom@num\the\loopcount\endcsname} + \expandafter\get@dom@count\temp@ + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\temp@} + \fi %%%%%%%%%%%***** \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \ifnum\rule@num=\loopcount \temp@count=\csname res@count\the\loopcount\endcsname @@ -8502,10 +9028,6 @@ \csname sequence\the\loopcount\endcsname @} \ifnum\loopcount<\seq@count \repeat \end@count=0 \count@first \end@count=0 \xdef\start@number{0} - \ifx\hide@now\n@ - \regionalshadenowfalse \regionalemphnowfalse \regionaltintnowfalse - \framenowfalse - \fi \topfeaturenowfalse \bottomfeaturenowfalse \ttopfeaturenowfalse \bbottomfeaturenowfalse \tttopfeaturenowfalse \bbbottomfeaturenowfalse @@ -8656,6 +9178,11 @@ \ifx\allow@zero\n@ \advance\res@count by 1 \fi \fi \fi + \ifx\dom@in\y@ + \xdef\temp@{\csname dom@num\the\loopcount\endcsname} + \expandafter\get@dom@count\temp@ + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\the\res@count,\temp@} + \fi %%%%%%%%%%***** \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \ifnames@right \expandafter\xdef\csname seq\the\loopcount\endcsname{% @@ -8665,15 +9192,18 @@ <\csname newseqname\the\loopcount\endcsname> \csname res@count\the\loopcount\endcsname)} \fi - \expandafter\ifnum\csname res@count\the\loopcount\endcsname=% - \innerloopcount + \ifx\dom@in\y@ \else - \res@count=\csname res@count\the\loopcount\endcsname - \advance\res@count by -1 - \ifnum\res@count=0 - \ifx\allow@zero\n@ \advance\res@count by -1 \fi + \expandafter\ifnum\csname res@count\the\loopcount\endcsname=% + \innerloopcount + \else + \res@count=\csname res@count\the\loopcount\endcsname + \advance\res@count by -1 + \ifnum\res@count=0 + \ifx\allow@zero\n@ \advance\res@count by -1 \fi + \fi + \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \fi - \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \fi \else \ifnames@right @@ -8683,8 +9213,16 @@ <\csname newseqname\the\loopcount\endcsname>} \fi \fi - \innerloopcount=\csname res@count\the\loopcount\endcsname - \advance\innerloopcount by \res@perline \advance\innerloopcount by 1 + \ifx\dom@in\y@ + \xdef\temp@{\csname dom@num@break\the\loopcount\endcsname} + \expandafter\get@dom@count\temp@ + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{\temp@} + \innerloopcount=\res@count + \else + \innerloopcount=\csname res@count\the\loopcount\endcsname + \advance\innerloopcount by \res@perline + \fi %%%%%%%%%%%%%***** + \advance\innerloopcount by 1 \ifregionalshade \expandafter\ifx\csname start\the\loopcount\endcsname\ampers@nd \else @@ -9088,6 +9626,7 @@ \def\res@@style{\csname func@style#1\endcsname}% \if\last@ *\def\last@{0}\fi \if\last@ /\def\last@{10}\fi + \if\last@ !\def\last@{11}\fi \else% \iffuncmode% \xdef\boxc@l@r{\csname fg@color#1\endcsname}% @@ -9095,8 +9634,9 @@ \def\res@@style{\csname func@style#1\endcsname}% \if\last@ *\def\last@{0}\fi \if\last@ /\def\last@{10}\fi + \if\last@ !\def\last@{11}\fi \else% - \ifcase#1\xdef\boxc@l@r{\Allmatch}\xdef\textc@l@r{\TextAllmatch}% + \ifcase\last@\xdef\boxc@l@r{\Allmatch}\xdef\textc@l@r{\TextAllmatch}% \def\res@@style{\all@style}% \or\xdef\boxc@l@r{\Identical}\xdef\textc@l@r{\TextIdentical}% \def\res@@style{\id@style}% @@ -9112,7 +9652,9 @@ \def\res@@style{\csname relax\endcsname}% \or\xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@fg}% \def\res@@style{\csname relax\endcsname}% - \else\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \or\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \def\res@@style{\csname relax\endcsname}% + \else\xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@fg}% \def\res@@style{\csname relax\endcsname}% \fi\fi\fi\fi% \ifx\second@\comm@% @@ -9154,6 +9696,9 @@ \if\last@ *% \xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@bg}% \else% + \if\last@ !% + \xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@bg}% + \else% \if\last@ /% \xdef\boxc@l@r{White}\xdef\textc@l@r{White}% \else% @@ -9178,18 +9723,22 @@ \else \xdef\textc@l@r{\c@nsc@l}% \fi% - \fi\fi\fi% + \fi\fi\fi\fi% \def\res@@style{\csname relax\endcsname}% \else% \ifT@coffee% \if\last@ *% \xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@bg}% \else% - \if\last@ /% - \xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \if\last@ !% + \xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@bg}% \else% - \xdef\boxc@l@r{White}\xdef\textc@l@r{TC\last@}% - \def\res@@style{\csname relax\endcsname}% + \if\last@ /% + \xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \else% + \xdef\boxc@l@r{White}\xdef\textc@l@r{TC\last@}% + \def\res@@style{\csname relax\endcsname}% + \fi \fi% \fi% \else% @@ -9209,7 +9758,9 @@ \def\res@@style{\csname relax\endcsname}% \or\xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@fg}% \def\res@@style{\csname relax\endcsname}% - \else\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \or\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% + \def\res@@style{\csname relax\endcsname}% + \else\xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@fg}% \def\res@@style{\csname relax\endcsname}% \fi\fi\fi\fi% \xdef\first@{#3@}% @@ -10223,124 +10774,6 @@ \fi% \fi% } -\def\next@hidebar#1;#2;#3;#4@{% - \xdef\first@{#1}% - \ifx\first@\ampers@nd% - \else% - \fontfamily{\hideblock@family}\fontseries{\hideblock@series}% - \fontshape{\hideblock@shape}% - \selectfont% - \newline\hbox{}% - \ifnames@right\else\ifnames@\hbox to \name@width{\hss}\fi\fi% - \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi% - \hbox to -\box@width{\hss}% - \kern-0.1\box@width% - \xdef\last@{#3[,]&}\expandafter\opt@color\last@% - \ifx\f@color\comm@\xdef\f@color{Black}\fi% - \textcolor{\f@color}{% - \hbox to \first@\box@width{}% - \hbox to 0pt{\hss\strut\hideblock@size{\,\fourth@}\hss}}% - \xdef\last@{#2[,]&}\expandafter\opt@color\last@% - \ifx\f@color\comm@\xdef\f@color{Black}\fi% - \vspace{-0.23\box@height}% - \xdef\temp@{triangle}% - \ifx\fourth@\temp@% - \else - \xdef\temp@{square}% - \ifx\fourth@\temp@% - \else - \xdef\temp@{none}% - \ifx\fourth@\temp@% - \else - \vspace{-0.06\box@height}% - \fi\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% - \hbox to -\box@width{\hss}% - \hbox to \first@\box@width{}% - \kern-0.1\box@width% - \textcolor{\f@color}{% - \raisebox{0.47\box@height}{\rule{0.2\box@width}{\temp@@length}}% - \xdef\first@{triangle}% - \ifx\fourth@\first@% - \kern-0.582\box@width% - \raisebox{\temp@@length}{\hbox to \box@width{\hss$\bigtriangledown$\hss}}% - \kern-0.418\box@width% - \else - \xdef\first@{square}% - \ifx\fourth@\first@% - \kern-0.6\box@width% - \raisebox{-0.12\box@height}{% - \raisebox{\temp@@length}{\hbox to \box@width{\hss$\square$\hss}}}% - \raisebox{-0.19\box@height}{% - \raisebox{\temp@@length}{\hbox to \box@width{\hss\strut}}}% - \kern-1.4\box@width% - \else - \xdef\first@{none}% - \ifx\fourth@\first@% - \kern-0.6\box@width% - \raisebox{-0.19\box@height}{% - \raisebox{\temp@@length}{\hbox to \box@width{\hss\strut}}}% - \kern-0.4\box@width% - \else - \kern-0.6\box@width% - \raisebox{\temp@@length}{\hbox to \box@width{\hss$\bigodot$\hss}}% - \kern-0.4\box@width% - \fi% - \fi% - \fi% - \kern-0.58\box@width% - \raisebox{\temp@@length}{\hbox to \box@width{\hss$\bullet$\hss}}% - \xdef\first@{#4@}}% - \fi -} -\def\put@@hidebar{% - \if\first@ @% - \else - \hbox to -\box@width{\hss}% - \expandafter\next@hidebar\first@% - \put@@hidebar% - \fi% -} -\def\put@hidebar{% - \ifx\hide@seqs\n@% - \ifshow@cons\ifnum\cons@top=1 \vspace{-\baselineskip}\fi\fi% - \temp@count=\seq@count% - \advance\temp@count by 1% - \ifx\hide@seqs\y@ - \advance\temp@count by -1 % - \else% - \loopcount=1% - \xdef\first@{true}% - \loop% - \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@% - \advance\temp@count by -1\fi% - \advance\loopcount by 1% - \ifnum\loopcount>\seq@count\else\repeat% - \fi - \ifnum\temp@count>0% - \setlength\temp@@length{\box@height}% - \advance\temp@@length by \box@depth% - \setlength\arrow@height{0.5\temp@@length}% - \setlength\temp@@length{\temp@count\temp@@length}% - \advance\temp@@length by \arrow@height% - \advance\temp@@length by -0.75\box@height%%%%%%% - \setlength\arrow@width{\sep@space}% - \setlength\arrow@width{\seq@gap@num\arrow@width}% - \advance\temp@@length by \arrow@width% - \vspace{\arrow@height}% - \vspace{-\temp@@length}% - \vspace{-2.56\baselineskip}% - \xdef\first@{\stylehidebar @}% - \put@@hidebar% - \vspace{-\arrow@height}% - \vspace{-0.47\box@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}% @@ -10474,12 +10907,13 @@ \xdef\fourth@{\fl@g\temp@}% \if\first@ W% \hbox to \box@width{\hss% - \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{0.8}[\third@]% + \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{\char@stretch@W}[\third@]% {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{W}\hss}}}}}\hss}% \kern-\box@width% \else% - \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}}}}}% + \hbox to \box@width{\hss% + \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{\char@stretch}[\third@]% + {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{\first@}\hss}}}}}\hss}% \kern-\box@width% \fi% \advance\temp@count by \second@% @@ -10778,7 +11212,7 @@ \def\set@lines{% \pos@count=1 - \xdef\frame@pos{1}\xdef\bar@pos{0}\xdef\hidebar@on{0}% + \xdef\frame@pos{1}\xdef\bar@pos{0}% \xdef\featurepostop{1} \xdef\featureposbottom{1}% \xdef\featureposttop{1} \xdef\featureposbbottom{1}% \xdef\featurepostttop{1} \xdef\featureposbbbottom{1}% @@ -10900,9 +11334,6 @@ \ifnum\frame@on=0 \xdef\frame@{0}\fi% \put@frame% \fi% - \ifnum\hidebar@on=1 % - \put@hidebar% - \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 @@ -11008,7 +11439,7 @@ \fi \fi \xdef\consensus{} \xdef\ruler@{} - \xdef\styleframe{} \xdef\stylehidebar{} + \xdef\styleframe{} \xdef\textfeaturetop{} \xdef\textfeaturebottom{} \xdef\textfeaturettop{} \xdef\textfeaturebbottom{} \xdef\textfeaturetttop{} \xdef\textfeaturebbbottom{} @@ -11132,7 +11563,7 @@ \xdef\textfeaturebbottom{} \xdef\featureonbbottom{0} \xdef\textfeaturebbbottom{} \xdef\featureonbbbottom{0} \xdef\textfeaturebbbbottom{} \xdef\featureonbbbbottom{0} - \xdef\styleframe{} \xdef\stylehidebar{} + \xdef\styleframe{} \xdef\stylefeaturetop{} \xdef\stylefeaturettop{} \xdef\stylefeaturetttop{} @@ -11143,6 +11574,134 @@ \xdef\stylefeaturebbbbottom{}} \def\guess@protein{\seqtype{P}\message{<Seqtype guess: protein>}} \def\guess@DNA{\seqtype{N}\message{<Seqtype guess: nucleotide>}} +\def\domain@count{% + \loopcount=0 + \ifT@coffee + \xdef\seq@line{\csname T@cof\the\loopcount\endcsname} + \expandafter\res@get\seq@line + \expandafter\xdef\csname TC@num\the\loopcount\endcsname{\first@} + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\seq@line} + \fi + \loop + \advance\loopcount by 1 + \xdef\seq@line{\csname seq\the\loopcount\endcsname} + \expandafter\res@get\seq@line + \expandafter\xdef\csname res\the\loopcount\endcsname{\first@} + \expandafter\xdef\csname seq\the\loopcount\endcsname{\seq@line} + \ifT@coffee + \xdef\seq@line{\csname T@cof\the\loopcount\endcsname} + \expandafter\res@get\seq@line + \expandafter\xdef\csname TC@num\the\loopcount\endcsname{\first@} + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\seq@line} + \fi + \ifnum\loopcount<\seq@count\repeat + \ifx\first@\ampers@nd + \else + \ifnum\next@domain@num>-99999\relax + \ifnum\domain@seq=0 + \temp@count=\csname dom@count0\endcsname + \advance\temp@count by 1 + \expandafter\xdef\csname dom@count0\endcsname{\the\temp@count} + \fi + \loopcount=0 + \loop + \advance\loopcount by 1 + \xdef\first@{\csname res\the\loopcount\endcsname} + \expandafter\check@char\first@ + \ifletter + \temp@count=\csname dom@count\the\loopcount\endcsname + \advance\temp@count by 1 + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{\the\temp@count} + \if\seq@type A \relax + \temp@count=\char@num + \ifnum\temp@count>96 \advance\temp@count by -32 \fi + \ifnum\temp@count=69 \guess@protein + \else + \ifnum\temp@count=70 \guess@protein + \else + \ifnum\temp@count=73 \guess@protein + \else + \ifnum\temp@count=76 \guess@protein + \else + \ifnum\temp@count=80 \guess@protein + \else + \ifnum\temp@count=81 \guess@protein + \fi\fi\fi\fi\fi\fi + \fi + \fi + \ifnum\loopcount<\seq@count\repeat + \expandafter\ifnum\csname dom@count\domain@seq\endcsname=\next@domain@num + \advance\total@count by 1 + \advance\outerloopcount by 1 \ifnum\outerloopcount=\res@perline \outerloopcount=0 \fi + \loopcount=0 + \ifx\g@p\y@ + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{% + \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname} + \fi + \fi + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{% + \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname} + \fi + \loop + \advance\loopcount by 1 + \ifx\g@p\y@ + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{% + \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname} + \fi + \expandafter\xdef\csname sequence\the\loopcount\endcsname{% + \csname sequence\the\loopcount\endcsname\equ@l} + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{% + \csname dom@num\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \ifnum\outerloopcount=0 + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \fi + \fi + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{% + \csname T@coffee\the\loopcount\endcsname \csname TC@num\the\loopcount\endcsname} + \fi + \expandafter\xdef\csname sequence\the\loopcount\endcsname{% + \csname sequence\the\loopcount\endcsname \csname res\the\loopcount\endcsname} + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{% + \csname dom@num\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \ifnum\outerloopcount=0 + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \fi + \ifnum\loopcount<\seq@count\repeat + \expandafter\get@item\domain@num@list + \xdef\domain@num@list{\first@} + \ifx\fourth@\ampers@nd \xdef\next@domain@num{-99999} + \else + \loopcount=\next@domain@num + \advance\loopcount by 1 + \ifnum\loopcount=\fourth@ + \xdef\g@p{n} + \else + \xdef\g@p{y} + \advance\total@count by 1 + \advance\outerloopcount by 1 + \ifnum\outerloopcount=\res@perline + \outerloopcount=0 + \loopcount=0 + \loop + \advance\loopcount by 1 + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,} + \ifnum\loopcount<\seq@count\repeat + \fi + \fi + \xdef\next@domain@num{\fourth@} \xdef\end@num{\fourth@} + \fi + \fi + \domain@count + \fi + \fi +} \def\residue@count{% \expandafter\res@get\seq@line \if\first@\ampers@nd @@ -11221,6 +11780,55 @@ \fi \fi \ifeof\alignfile + \ifx\dom@in\y@ + \loopcount=0 + \ifT@coffee + \xdef\temp@{\csname T@coffee\the\loopcount\endcsname} + \expandafter\get@temp\temp@ + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@} + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} + \fi + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0} + \loop + \advance\loopcount by 1 + \ifT@coffee + \xdef\temp@{\csname T@coffee\the\loopcount\endcsname} + \expandafter\get@temp\temp@ + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@} + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} + \fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@} + \expandafter\xdef\csname sequence\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0} + \ifnum\loopcount<\seq@count\repeat + \xdef\domain@num@list{} + \xdef\last@{\stack@dom} + \get@domain + \xdef\domain@num@list{\domain@num@list &,@} + \expandafter\get@item\domain@num@list + \xdef\next@domain@num{\fourth@} \xdef\domain@num@list{\first@} + \domain@count + \loopcount=0 + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} + \fi + \loop + \advance\loopcount by 1 + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} + \fi + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\csname dom@num\the\loopcount\endcsname @} + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,@} + \ifnum\loopcount<\seq@count\repeat + \if\seq@type A \guess@DNA \fi + \advance\seq@pointer by \total@count\relax + \xdef\total@pos{\the\total@count} + + \else + \ifnum\start@seq=0 \xdef\seq@line{\csname sequence1\endcsname &@} \else @@ -11238,9 +11846,10 @@ \advance\total@count by \first@\relax \xdef\first@{\the\total@count} \ifnum\end@num>\total@count\xdef\end@num{\the\total@count}\fi - \ifshow@sublogo \prep@sublogo \fi - \ifshow@logo \prep@logo \fi - \ifnum\seq@pointer>\res@perline \block@output \fi + \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{% @@ -11270,6 +11879,55 @@ \fi \fi \ifeof\alignfile + \ifx\dom@in\y@ + \loopcount=0 + \ifT@coffee + \xdef\temp@{\csname T@coffee\the\loopcount\endcsname} + \expandafter\get@temp\temp@ + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@} + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} + \fi + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0} + \loop + \advance\loopcount by 1 + \ifT@coffee + \xdef\temp@{\csname T@coffee\the\loopcount\endcsname} + \expandafter\get@temp\temp@ + \expandafter\xdef\csname T@cof\the\loopcount\endcsname{\temp@ &@} + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{} + \fi + \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@} + \expandafter\xdef\csname sequence\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{} + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{0} + \ifnum\loopcount<\seq@count\repeat + \xdef\domain@num@list{} + \xdef\last@{\stack@dom} + \get@domain + \xdef\domain@num@list{\domain@num@list &,@} + \expandafter\get@item\domain@num@list + \xdef\next@domain@num{\fourth@} \xdef\domain@num@list{\first@} + \domain@count + \loopcount=0 + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} + \fi + \loop + \advance\loopcount by 1 + \ifT@coffee + \expandafter\xdef\csname T@coffee\the\loopcount\endcsname{\csname T@coffee\the\loopcount\endcsname @} + \fi + \expandafter\xdef\csname dom@num\the\loopcount\endcsname{\csname dom@num\the\loopcount\endcsname @} + \expandafter\xdef\csname dom@num@break\the\loopcount\endcsname{% + \csname dom@num@break\the\loopcount\endcsname \csname dom@count\the\loopcount\endcsname,@} + \ifnum\loopcount<\seq@count\repeat + \if\seq@type A \guess@DNA \fi + \advance\seq@pointer by \total@count\relax + \xdef\total@pos{\the\total@count} + + \else + \ifnum\start@seq=0 \xdef\seq@line{\csname sequence1\endcsname &@} \else @@ -11287,9 +11945,10 @@ \advance\total@count by \first@\relax \xdef\first@{\the\total@count} \ifnum\end@num>\total@count\xdef\end@num{\the\total@count}\fi - \ifshow@sublogo \prep@sublogo \fi - \ifshow@logo \prep@logo \fi - \ifnum\seq@pointer>\res@perline \block@output \fi + \fi + \ifshow@sublogo \prep@sublogo \fi + \ifshow@logo \prep@logo \fi + \ifnum\seq@pointer>\res@perline \block@output \fi \else \read@fasta \fi} @@ -11419,6 +12078,7 @@ \fi \set@savedseqlength \loopcount=0 \xdef\seq@order{} + \expandafter\xdef\csname stack@dom\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@hidereg\the\loopcount\endcsname{&;&;&;&;@} @@ -11852,6 +12512,7 @@ \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} +\expandafter\xdef\csname res@num\equ@l\endcsname{0} \xdef\res@corrA{0} \xdef\res@corrB{0} \xdef\res@corrC{0} \xdef\res@corrD{0} \xdef\res@corrE{0} \xdef\res@corrF{0} @@ -11866,6 +12527,7 @@ \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} +\expandafter\xdef\csname res@corr\equ@l\endcsname{0} \xdef\corr@max{0} \xdef\do@freq@correction{n} \xdef\res@total{0} \xdef\stack@sequencelogo{} \xdef\bit@total{0} @@ -11879,12 +12541,11 @@ \expandafter\xdef\csname group@num1\endcsname{0} \expandafter\xdef\csname group@num2\endcsname{0} \xdef\exp@rt@num{0} \xdef\exp@rt{n} -\xdef\hide@true{n} \xdef\hide@now{n} -\xdef\hide@label{circ} \xdef\divref@{0} \xdef\all@thresh@ld{100} \all@shadefalse \hidefeaturenames \hidefeaturestylenames \xdef\T@coffee@ccons{n} \xdef\T@coffee@bcons{n} +\xdef\dom@in{no} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% %%%%% @@ -11917,6 +12578,8 @@ \gapchar{.} % . is printed in sequence gaps \gaprule{0.3pt} % If a rule is printed in gaps use 0.3 pt \gapcolors{Black}{White} % Gap symbols appear `Black on White' +\domaingaprule{1pt} % If a rule is set between domains use 1 pt +\domaingapcolors{Red}{White} % Domain separation line appears `Red on White' \numberingcolor{Black} % Numbering color is `Black' \shownumbering{right} % Show sequence numbering on the left \namescolor{Black} % Names' color is `Black' @@ -11978,10 +12641,6 @@ \setseries{featurestyles}{md} % Use normal series for feature styles \setshape {featurestyles}{up} % Use upright shape for feature styles \setsize {featurestyles}{normalsize}% Use normal size for feature styles -\setfamily{hideblock}{rm} % Use roman family for hidden block labels -\setseries{hideblock}{md} % Use normal series for hidden block labels -\setshape {hideblock}{it} % Use italics shape for hidden block labels -\setsize {hideblock}{normalsize} % Use normal size for hidden block labels \setfamily{legend}{tt} % Use typewriter family for legend texts \setseries{legend}{md} % Use normal series for legend texts \setshape {legend}{up} % Use upright shape for legend texts |