From e3bf038a5a75574e1168569ac5fcd3716eb15bb1 Mon Sep 17 00:00:00 2001
From: Manuel Pégourié-Gonnard <mpg@elzevir.fr>
Date: Tue, 2 Aug 2011 18:25:48 +0000
Subject: TeXshade v1.23

git-svn-id: svn://tug.org/texlive/trunk@23321 c570f23f-e606-0410-a88d-b1316a301751
---
 .../texmf-dist/source/latex/texshade/texshade.dtx  | 153 ++++++++++++++++++++-
 1 file changed, 147 insertions(+), 6 deletions(-)

(limited to 'Master/texmf-dist/source/latex/texshade/texshade.dtx')

diff --git a/Master/texmf-dist/source/latex/texshade/texshade.dtx b/Master/texmf-dist/source/latex/texshade/texshade.dtx
index bcfd2b97ea3..f7590eea074 100644
--- a/Master/texmf-dist/source/latex/texshade/texshade.dtx
+++ b/Master/texmf-dist/source/latex/texshade/texshade.dtx
@@ -10,7 +10,7 @@
 % `README.txt' for further information!
 % 
 %
-% Copyright (C) 1999-2010 Eric Beitz
+% Copyright (C) 1999-2011 Eric Beitz
 % See the file texshade.txt
 % 
 %    \fi
@@ -380,6 +380,11 @@
 %                    of shading colors in different sequence blocks.
 %                    }
 %
+%    \changes{1.23}{2011-05-13}{%
+%      Introduction: `hideallmatchpositions' removes all positions in the
+%                    alignment where all residues match, i.e. a handy feature for
+%                    diverse mode to condense the output to the relevant sites.
+%                    }
 %
 %
 % \CharacterTable
@@ -419,7 +424,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{\small v1.22; 2010/10/11\\[2pt]}
+%    \date{\small v1.23; 2011/05/13\\[2pt]}
 %    \maketitle
 %    \begin{abstract}
 %      Setting alignments of nucleotides and peptides for publication 
@@ -498,6 +503,17 @@
 %    
 %    \subsection{Version History}
 %
+%    \textbf{v1.23  2011/05/13}
+%    \medskip
+%
+%    \emph{Introductions:} 
+%    In diverse mode sequence positions where all residues match do not
+%    contain much information. A new command, 
+%    |\hideallmatchpositions|, \footnote{Requested by Matt Russell.}
+%    will remove all such positions from the alignment and hence condense
+%    the output considerably.
+%    \medskip
+%
 %    \textbf{v1.22  2010/10/11}
 %    \medskip
 %
@@ -508,6 +524,8 @@
 %    |\changeshadingcolors| (\ref{Lchangeshadingcolors}).
 %    \medskip
 %
+%    \newpage
+%
 %    \textbf{v1.21 2010/03/01}
 %    \medskip
 %
@@ -627,6 +645,8 @@
 %    \bigskip
 %
 %
+%    \newpage
+%
 %
 %    \textbf{v1.16 2007/02/18}
 %    \medskip
@@ -915,6 +935,8 @@
 %    `|\Alphacount|'. All commands are described in \ref{structure}.
 %    \bigskip
 %        
+%    \newpage 
+%        
 %    \textbf{v1.1 1999/5/26}
 %    \medskip
 %    
@@ -2549,6 +2571,18 @@
 %       used to redefine the |diverse| mode settings (mind the double 
 %       curly braces around the dot-symbol!). 
 %    
+%       \label{Lhideallmatchpositions}
+%       Since alignment positions where all residues match do not contain
+%       much information, those sites can be blanked out using
+%      �|\hideallmatchpositions|. The resulting break in the alignment is
+%       indicated by a gap and a vertical line. See the |\setdomain| 
+%       command (\ref{Lsetdomain}) 
+%       for further information on how to change the gap and ruler colors.  
+%       A single-stepped ruler is also recommended (\ref{Lshowruler}).
+%      �|\hideallmatchpositions| can be combined with |\setends| 
+%       (\ref{Lsetends}).
+%   
+%    
 %    \item |\shadingmode[|\meta{type}|]{functional}|\label{funcdef}
 %       There are seven different functional shading modes available for
 %       peptide sequences; nucleotide sequences can not be shaded due
@@ -2567,7 +2601,7 @@
 %       \item \meta{type} = |hydropathy|\quad Acidic and basic (as 
 %                           above), polar uncharged (C, G, N, Q, S, 
 %                           T, Y) and hydrophobic nonpolar (A, F, I, L, M, 
-%                           P, V, W), see also \textsc{Kyte} and 
+%                           P, V, W), see also \textsc{Kyte} \& 
 %                           \textsc{Doolittle} [3].
 %    
 %       \item \meta{type} = |structure|\quad External (D, E, H, K, N, Q, R),
@@ -5622,6 +5656,9 @@
 %    \quad|\allmatchspecial[|\meta{percentage}|]|
 %        \hfill[\pageref{Lallmatchspecial}]
 %    
+%    \quad|\hideallmatchpositions|
+%        \hfill[\pageref{Lhideallmatchpositions}]
+%    
 %    \quad|\shadeallresidues|
 %        \hfill[\pageref{Lshadeallresidues}]
 %        
@@ -6426,8 +6463,8 @@
 %    \begin{macrocode}
 %<*texshade>
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{texshade}[2010/10/11 LaTeX TeXshade (v1.22)]
-\message{Package `texshade', Version 1.22 of 2010/10/11.}
+\ProvidesPackage{texshade}[2011/05/13 LaTeX TeXshade (v1.23)]
+\message{Package `texshade', Version 1.23 of 2011/05/13.}
 
 \PassOptionsToPackage{dvips}{color}
 \PassOptionsToPackage{dvips}{graphicx}
@@ -12531,6 +12568,8 @@
    \message{<Unknown shading mode - using `similar'>}
    \simmodetrue  \funcmodefalse
    \fi\fi\fi\fi\fi}
+\def\hideallmatchpositions{\xdef\all@out{y}}
+\def\showallmatchpositions{\xdef\all@out{n}}
 \newcommand\allmatchspecial[1][100]{%
    \ifnum#1<0
       \xdef\all@thresh@ld{0}
@@ -19881,6 +19920,80 @@
     \xdef\stylefeaturebbbbottom{}}
 \def\guess@protein{\seqtype{P}\message{<Seqtype guess: protein>}}
 \def\guess@DNA{\seqtype{N}\message{<Seqtype guess: nucleotide>}}
+\def\allmatch@out{%
+    \xdef\leave@in{n}
+    \loopcount=1
+    \xdef\seq@line{\csname seq\the\loopcount\endcsname}
+    \expandafter\res@get\seq@line
+    \expandafter\xdef\csname seq\the\loopcount\endcsname{\seq@line}
+    \ifnum\loopcount=\start@seq\relax
+       \expandafter\check@char\first@
+       \ifletter
+          \advance\temp@@count by 1
+          \ifnum\temp@@count=\end@num\relax 
+             \advance\temp@count by 1
+             \xdef\second@{\the\temp@count}
+             \advance\temp@count by -1
+          \fi
+       \fi
+    \fi
+    \ifx\first@\ampers@nd
+       \ifx\domain@active\y@
+          \xdef\stack@dom{\stack@dom\the\temp@count;}
+       \fi   
+       \xdef\stack@dom{\stack@dom &;&;@}
+    \else
+       \xdef\first@@{\first@}
+       \advance\temp@count by 1
+       \loop
+          \advance\loopcount by 1
+          \xdef\seq@line{\csname seq\the\loopcount\endcsname}
+          \expandafter\res@get\seq@line
+          \expandafter\xdef\csname seq\the\loopcount\endcsname{\seq@line}
+          \ifx\first@@\first@\else\xdef\leave@in{y}\fi
+          \ifnum\loopcount=\start@seq\relax
+             \expandafter\check@char\first@
+             \ifletter
+                \advance\temp@@count by 1
+                \ifnum\temp@@count=\end@num\relax \xdef\second@{\the\temp@count}\fi
+             \fi
+          \fi
+       \ifnum\loopcount<\seq@count\repeat
+       \ifx\leave@in\y@
+          \ifx\domain@active\n@
+             \ifnum\start@seq=0
+                \xdef\domain@active{y}
+                \xdef\stack@dom{\stack@dom\the\temp@count;}
+             \else
+                \ifnum\temp@@count<\start@num\relax
+                \else
+                   \ifnum\temp@@count>\end@num\relax
+                   \else
+                      \xdef\domain@active{y}
+                      \xdef\stack@dom{\stack@dom\the\temp@count;}
+                   \fi
+                \fi
+             \fi
+          \else
+             \ifnum\start@seq>0
+                \ifnum\temp@@count<\end@num\relax
+                \else
+                   \xdef\domain@active{n}
+                   \xdef\stack@dom{\stack@dom\second@;}
+                \fi
+             \fi
+          \fi
+       \else
+          \ifx\domain@active\y@
+             \xdef\domain@active{n}
+             \advance\temp@count by -1
+             \xdef\stack@dom{\stack@dom\the\temp@count;}
+             \advance\temp@count by 1
+          \fi
+       \fi
+       \allmatch@out
+    \fi
+}
 \def\domain@count{%
     \xdef\@ddg@p{n}
     \loopcount=0
@@ -20117,6 +20230,20 @@
          \fi
        \fi
     \ifeof\alignfile
+     \ifx\all@out\y@
+       \xdef\domain@seq{0}
+       \loopcount=0
+       \loop
+          \advance\loopcount by 1
+          \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@}
+       \ifnum\loopcount<\seq@count\repeat
+       \xdef\domain@active{n}
+       \xdef\stack@dom{}
+       \temp@count=0
+       \temp@@count=0
+       \allmatch@out
+       \xdef\dom@in{y}
+     \fi
      \ifx\dom@in\y@
        \loopcount=0
        \ifT@coffee
@@ -20218,6 +20345,20 @@
          \fi
        \fi
     \ifeof\alignfile
+     \ifx\all@out\y@
+       \xdef\domain@seq{0}
+       \loopcount=0
+       \loop
+          \advance\loopcount by 1
+          \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@}
+       \ifnum\loopcount<\seq@count\repeat
+       \xdef\domain@active{n}
+       \xdef\stack@dom{}
+       \temp@count=0
+       \temp@@count=0
+       \allmatch@out
+       \xdef\dom@in{y}
+     \fi
      \ifx\dom@in\y@
        \loopcount=0
        \ifT@coffee
@@ -20905,7 +21046,7 @@
 \hidefeaturenames         \hidefeaturestylenames
 \xdef\T@coffee@ccons{n}   \xdef\T@coffee@bcons{n}
 \xdef\dom@in{no}          \xdef\label@motif{no}
-\xdef\motif@num{0}
+\xdef\motif@num{0}        \xdef\all@out{n}
 \hfuzz9999pt
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-- 
cgit v1.2.3

