diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-05 00:29:23 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-05 00:29:23 +0000 |
commit | 09957f78ef831e10c41f8b12329282e8bcef03e3 (patch) | |
tree | dd180f619e1b327904e9b4757a49842469220986 /Master/texmf-dist/tex/latex/texshade | |
parent | ba5d024e2cd6ca72d404ce6b081797ec9f5f2a6d (diff) |
texshade 1.21 (2mar10)
git-svn-id: svn://tug.org/texlive/trunk@17314 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/texshade')
-rw-r--r-- | Master/texmf-dist/tex/latex/texshade/texshade.def | 10 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/texshade/texshade.sty | 783 |
2 files changed, 676 insertions, 117 deletions
diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.def b/Master/texmf-dist/tex/latex/texshade/texshade.def index a69d64f5d23..0f1931a541e 100644 --- a/Master/texmf-dist/tex/latex/texshade/texshade.def +++ b/Master/texmf-dist/tex/latex/texshade/texshade.def @@ -62,7 +62,7 @@ \medsepline % Medium height if separation line is on \medblockskip % Medium skip between sequence blocks \flexblockspace % Use optimized space between blocks -\featurerule{0.5ex} % Set feature rule thickness to 1/5 ex +\featurerule{0.5ex} % Set feature rule thickness to 1/2 ex \bargraphstretch{1} % Do not stretch bars in feature graphs \colorscalestretch{1} % Do not stretch color scales in features \backtranstext{horizontal} % Horizontal triplets in feature texts @@ -91,6 +91,10 @@ \setseries{features}{md} % Use normal series for feature texts \setshape {features}{it} % Use italics shape for feature texts \setsize {features}{normalsize} % Use normal size for feature texts +\setfamily{featurestyles}{tt} % Use typewriter family for feature styles +\setseries{featurestyles}{md} % Use normal series for feature styles +\setshape {featurestyles}{up} % Use upright shape for feature styles +\setsize {featurestyles}{normalsize}% Use normal size for feature styles \setfamily{legend}{tt} % Use typewriter family for legend texts \setseries{legend}{md} % Use normal series for legend texts \setshape {legend}{up} % Use upright shape for legend texts @@ -113,10 +117,10 @@ \appearance{PHDtopo}{TM}{top} % | {box[LightGray]:TM\numcount}{} % | \appearance{HMMTOP}{internal} % | - {bottom}{---} % | + {bottom}{'-'} % | {int.\ \Alphacount} % | \appearance{HMMTOP}{external} % | - {top}{---} % | + {top}{,-,} % | {ext.\ \Alphacount} % | \appearance{HMMTOP}{TM}{top} % | {helix}{TM\numcount} % | diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.sty b/Master/texmf-dist/tex/latex/texshade/texshade.sty index 646ce2b077e..d8ab1cccdc6 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-2009 Eric Beitz +%% Copyright (C) 1999-2010 Eric Beitz %% See the file texshade.txt %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{texshade}[2009/10/05 LaTeX TeXshade (v1.20)] -\message{Package `texshade', Version 1.20 of 2009/10/05.} +\ProvidesPackage{texshade}[2010/03/01 LaTeX TeXshade (v1.21)] +\message{Package `texshade', Version 1.21 of 2010/03/01.} \PassOptionsToPackage{dvips}{color} \PassOptionsToPackage{dvips}{graphicx} @@ -112,12 +112,14 @@ \newif\iftttopfeature \newif\ifbbbottomfeature \newif\ifttttopfeature\newif\ifbbbbottomfeature \newif\ifall@fshade \newif\ifregionalemph +\newif\ifregionallower \newif\ifframe@ \newif\ifregionaltint \newif\ifshow@logo \newif\ifshow@sublogo \newif\ifhidechar \newif\ifsh@wg@ps \newif\ifsimmode \newif\ifregionaltintnow \newif\ifregionalemphnow +\newif\ifregionallowernow \newif\ifregionalshadenow \newif\iftopfeaturenow \newif\ifttopfeaturenow @@ -138,7 +140,8 @@ \def\comm@{,} \def\@loc{LOC} \def\@asg{ASG} \def\@t{@} \def\@HP{>HP:} \def\gre@ter{>} \def\sm@ller{<} \def\N@{N} \def\equ@l{=} \def\H@{H} \def\gap@char{.} \def\dom@char{{\dom@rule}} \def\yes{yes} \def\y@{y} \def\n@{n} -\def\o@{o} \def\d@t{.} \def\questi@n{?} \def\st@p@char{*} +\def\o@{o} \def\d@t{.} \def\questi@n{?} \def\st@p@char{*} \def\semic@n{;} +\def\br@cket{[} \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} @@ -2288,10 +2291,10 @@ \csname stack@@reg#1\endcsname} \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{% \csname stack@@tintreg#1\endcsname} - \expandafter\xdef\csname stack@hidereg\the\loopcount\endcsname{% - \csname stack@@hidereg#1\endcsname} \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{% \csname stack@@emphreg#1\endcsname} + \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{% + \csname stack@@lowerreg#1\endcsname} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{% \csname stack@@framereg#1\endcsname} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{% @@ -2341,10 +2344,10 @@ \csname stack@reg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@tintreg\the\loopcount\endcsname{% \csname stack@tintreg\the\loopcount\endcsname} - \expandafter\xdef\csname stack@@hidereg\the\loopcount\endcsname{% - \csname stack@hidereg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@emphreg\the\loopcount\endcsname{% \csname stack@emphreg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@@lowerreg\the\loopcount\endcsname{% + \csname stack@lowerreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@framereg\the\loopcount\endcsname{% \csname stack@framereg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@top\the\loopcount\endcsname{% @@ -2630,10 +2633,10 @@ \csname stack@reg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{% \csname stack@tintreg\the\innerloopcount\endcsname} - \expandafter\xdef\csname stack@hidereg\the\loopcount\endcsname{% - \csname stack@hidereg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{% \csname stack@emphreg\the\innerloopcount\endcsname} + \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{% + \csname stack@lowerreg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{% \csname stack@framereg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{% @@ -2909,7 +2912,8 @@ \xdef\tmpstack{\tmpstack\the\loopcount;\st@rt;\st@p;\@ll;% \first@;\second@;\third@;\fourth@;\last@} \else - \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} \sort@stack + \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} + \sort@stack \fi\fi } \def\get@regions#1..#2,#3@{% @@ -2919,28 +2923,6 @@ \sort@stack \expandafter\xdef\csname stack@reg\seq@\endcsname{\tmpstack} } -\def\getregion@fromhidestack#1{% - \xdef\temp@{#1} - \xdef\first@{\csname stack@hidereg\temp@\endcsname} - \expandafter\get@fromstack\first@ - \expandafter\xdef\csname hidestart\temp@\endcsname{\first@} - \expandafter\xdef\csname hidestop\temp@\endcsname{\second@} - \expandafter\xdef\csname hidestyle\temp@\endcsname{\third@} - \expandafter\xdef\csname hidetext\temp@\endcsname{\fourth@} - \expandafter\xdef\csname stack@hidereg\temp@\endcsname{\last@} -} -\def\sort@hidestack{% - \expandafter\get@fromstack\last@ - \ifx\first@\ampers@nd - \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;\text@;&;&;&;&;&;@} - \else - \ifnum\st@rt<\second@ - \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;\text@;% - \first@;\second@;\third@;\fourth@;\last@} - \else - \xdef\tmpstack{\tmpstack\first@;\second@;\third@;\fourth@;} \sort@hidestack - \fi\fi -} \def\get@fromemphstack#1;#2;#3;#4@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} \xdef\last@{#4@} @@ -2973,6 +2955,34 @@ \sort@emphstack \expandafter\xdef\csname stack@emphreg\seq@\endcsname{\tmpstack} } +\def\getregion@fromlowerstack#1{% + \xdef\temp@{#1} + \xdef\first@{\csname stack@lowerreg\temp@\endcsname} + \expandafter\get@fromemphstack\first@ + \expandafter\xdef\csname lowerstart\temp@\endcsname{\first@} + \expandafter\xdef\csname lowerstop\temp@\endcsname{\second@} + \expandafter\xdef\csname lowerall\temp@\endcsname{\third@} + \expandafter\xdef\csname stack@lowerreg\temp@\endcsname{\last@} +} +\def\sort@lowerstack{% + \expandafter\get@fromemphstack\last@ + \ifx\first@\ampers@nd + \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;&;&;&;@} + \else + \ifnum\st@rt<\second@ + \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;\first@;\second@;\third@;\last@} + \else + \xdef\tmpstack{\tmpstack\first@;\second@;\third@;} \sort@lowerstack + \fi\fi +} +\def\get@lowerregions#1..#2,#3@{% + \regionallowertrue + \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} + \xdef\last@{\csname stack@lowerreg\seq@\endcsname} + \xdef\tmpstack{} + \sort@lowerstack + \expandafter\xdef\csname stack@lowerreg\seq@\endcsname{\tmpstack} +} \def\get@fromdomstack#1;#2;#3@{% \xdef\first@{#1} \xdef\second@{#2} \xdef\last@{#3@} @@ -3016,23 +3026,12 @@ \expandafter\xdef\csname tintall\temp@\endcsname{\third@} \expandafter\xdef\csname stack@tintreg\temp@\endcsname{\last@} } -\def\sort@tintstack{% - \expandafter\get@fromemphstack\last@ - \ifx\first@\ampers@nd - \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;&;&;&;@} - \else - \ifnum\st@rt<\second@ - \xdef\tmpstack{\tmpstack\st@rt;\st@p;\@ll;\first@;\second@;\third@;\last@} - \else - \xdef\tmpstack{\tmpstack\first@;\second@;\third@;} \sort@tintstack - \fi\fi -} \def\get@tintregions#1..#2,#3@{% \regionaltinttrue \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} \xdef\last@{\csname stack@tintreg\seq@\endcsname} \xdef\tmpstack{} - \sort@tintstack + \sort@emphstack \expandafter\xdef\csname stack@tintreg\seq@\endcsname{\tmpstack} } \def\getregion@fromframestack#1{% @@ -3178,23 +3177,312 @@ \fi% \fi% } +\def\test@get#1#2@{% + \xdef\temp@{#1} \xdef\third@@{#2@} + \ifx\temp@\ampers@nd + \else + \if \temp@ X + \xdef\temp@{\second@@} + \fi + \ifx\temp@\second@@ + \xdef\third@@{\second@@} + \else + \expandafter\test@get\third@@ + \fi + \fi +} +\def\get@@second@#1#2@{\xdef\second@@{#1}\xdef\first@@{#2@}} +\def\get@@third@#1]#2@{\xdef\third@@{#1&@}\xdef\fifth@@{#2@}} +\def\get@third@#1#2@{\xdef\third@@{#1}\xdef\fifth@@{#2@}} +\def\find@motif{% + \expandafter\get@@second@\first@@ + \ifx\second@@\ampers@nd + \else + \ifx\second@@\d@t + \else + \advance\temp@count by 1 + \if \third@@ X + \xdef\third@@{\second@@} + \fi + \ifx\third@@\br@cket + \expandafter\get@@third@\fifth@@ + \expandafter\test@get\third@@ + \fi + \ifx\second@@\third@@ + \ifx\nineth@@\n@ + \xdef\st@rt{\the\temp@count} + \xdef\st@p{n} + \fi + \xdef\nineth@@{y} + \expandafter\get@third@\fifth@@ + \ifx\third@@\ampers@nd + \xdef\st@p{\the\temp@count} + \xdef\list@{} + \xdef\tmpstack{} + \xdef\temp@{shade} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@reg\seq@\endcsname} + \loopcount=\style@ + \sort@stack + \expandafter\xdef\csname stack@reg\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{emph} + \ifx\temp@\temp@@ + \regionalemphtrue + \xdef\last@{\csname stack@emphreg\seq@\endcsname} + \sort@emphstack + \expandafter\xdef\csname stack@emphreg\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{lower} + \ifx\temp@\temp@@ + \regionallowertrue + \xdef\last@{\csname stack@lowerreg\seq@\endcsname} + \sort@lowerstack + \expandafter\xdef\csname stack@lowerreg\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{tint} + \ifx\temp@\temp@@ + \regionaltinttrue + \xdef\last@{\csname stack@tintreg\seq@\endcsname} \message{((last:\last@))} + \sort@emphstack + \expandafter\xdef\csname stack@tintreg\seq@\endcsname{\tmpstack} \message{((tmp:\tmpstack))} + \else + \xdef\temp@{frame} + \ifx\temp@\temp@@ + \frame@true + \xdef\last@{\csname stack@framereg\seq@\endcsname} + \sort@emphstack + \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{ttttop} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@ttttop\seq@\endcsname} + \sort@fstack + \expandafter\xdef\csname stack@ttttop\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{tttop} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@tttop\seq@\endcsname} + \sort@fstack + \expandafter\xdef\csname stack@tttop\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{ttop} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@ttop\seq@\endcsname} + \sort@fstack + \expandafter\xdef\csname stack@ttop\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{top} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@top\seq@\endcsname} + \sort@fstack + \expandafter\xdef\csname stack@top\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{bottom} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@bottom\seq@\endcsname} + \sort@fstack + \expandafter\xdef\csname stack@bottom\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{bbottom} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@bbottom\seq@\endcsname} + \sort@fstack + \expandafter\xdef\csname stack@bbottom\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{bbbottom} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@bbbottom\seq@\endcsname} + \sort@fstack + \expandafter\xdef\csname stack@bbbottom\seq@\endcsname{\tmpstack} + \else + \xdef\temp@{bbbbottom} + \ifx\temp@\temp@@ + \xdef\last@{\csname stack@bbbbottom\seq@\endcsname} + \sort@fstack + \expandafter\xdef\csname stack@bbbbottom\seq@\endcsname{\tmpstack} + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \fi + \xdef\fifth@@{\m@tif} \expandafter\get@third@\fifth@@ + \xdef\nineth@@{n} + \fi + \else + \xdef\nineth@@{n} \xdef\st@p{n} + \xdef\fifth@@{\m@tif} \expandafter\get@third@\fifth@@ + \fi + \fi + \find@motif + \fi +} +\def\prep@motif{% + + \def\get@motif@specs##1,##2,##3,##4,##5,&{% + \xdef\seq@{##1} \xdef\temp@@{##2} \xdef\@ll{##3} \def\fourth@@{##4} \xdef\fifth@@{##5&@} + } + + \loopcount=0 + \loop + \advance\loopcount by 1 + \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{\csname style\the\loopcount\endcsname;% + \csname start\the\loopcount\endcsname;% + \csname stop\the\loopcount\endcsname;% + \csname all\the\loopcount\endcsname;% + \csname stack@reg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{\csname emphstart\the\loopcount\endcsname;% + \csname emphstop\the\loopcount\endcsname;% + \csname emphall\the\loopcount\endcsname;% + \csname stack@emphreg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{\csname lowerstart\the\loopcount\endcsname;% + \csname lowerstop\the\loopcount\endcsname;% + \csname lowerall\the\loopcount\endcsname;% + \csname stack@lowerreg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{\csname tintstart\the\loopcount\endcsname;% + \csname tintstop\the\loopcount\endcsname;% + \csname tintall\the\loopcount\endcsname;% + \csname stack@tintreg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{\csname framestart\the\loopcount\endcsname;% + \csname framestop\the\loopcount\endcsname;% + \csname framestyle\the\loopcount\endcsname;% + \csname stack@framereg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@ttttop\the\loopcount\endcsname{\csname textttttop\the\loopcount\endcsname;% + \csname startttttop\the\loopcount\endcsname;% + \csname stopttttop\the\loopcount\endcsname;% + \csname stylettttop\the\loopcount\endcsname;% + \csname stack@ttttop\the\loopcount\endcsname} + \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{\csname texttttop\the\loopcount\endcsname;% + \csname starttttop\the\loopcount\endcsname;% + \csname stoptttop\the\loopcount\endcsname;% + \csname styletttop\the\loopcount\endcsname;% + \csname stack@tttop\the\loopcount\endcsname} + \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{\csname textttop\the\loopcount\endcsname;% + \csname startttop\the\loopcount\endcsname;% + \csname stopttop\the\loopcount\endcsname;% + \csname stylettop\the\loopcount\endcsname;% + \csname stack@ttop\the\loopcount\endcsname} + \expandafter\xdef\csname stack@top\the\loopcount\endcsname{\csname texttop\the\loopcount\endcsname;% + \csname starttop\the\loopcount\endcsname;% + \csname stoptop\the\loopcount\endcsname;% + \csname styletop\the\loopcount\endcsname;% + \csname stack@top\the\loopcount\endcsname} + \expandafter\xdef\csname stack@bottom\the\loopcount\endcsname{\csname textbottom\the\loopcount\endcsname;% + \csname startbottom\the\loopcount\endcsname;% + \csname stopbottom\the\loopcount\endcsname;% + \csname stylebottom\the\loopcount\endcsname;% + \csname stack@bottom\the\loopcount\endcsname} + \expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{\csname textbbottom\the\loopcount\endcsname;% + \csname startbbottom\the\loopcount\endcsname;% + \csname stopbbottom\the\loopcount\endcsname;% + \csname stylebbottom\the\loopcount\endcsname;% + \csname stack@bbottom\the\loopcount\endcsname} + \expandafter\xdef\csname stack@bbbottom\the\loopcount\endcsname{\csname textbbbottom\the\loopcount\endcsname;% + \csname startbbbottom\the\loopcount\endcsname;% + \csname stopbbbottom\the\loopcount\endcsname;% + \csname stylebbbottom\the\loopcount\endcsname;% + \csname stack@bbbottom\the\loopcount\endcsname} + \expandafter\xdef\csname stack@bbbbottom\the\loopcount\endcsname{\csname textbbbbottom\the\loopcount\endcsname;% + \csname startbbbbottom\the\loopcount\endcsname;% + \csname stopbbbbottom\the\loopcount\endcsname;% + \csname stylebbbbottom\the\loopcount\endcsname;% + \csname stack@bbbbottom\the\loopcount\endcsname} + \ifnum\loopcount<\seq@num\repeat + \temp@@count=0 + \loop + \advance\temp@@count by 1 + \xdef\first@@{\csname motif\the\temp@@count\endcsname} + \expandafter\get@motif@specs\first@@ + \xdef\first@@{\csname sequence\seq@\endcsname &@} + \temp@count=\csname res@count\seq@\endcsname + \xdef\f@text@{\@ll} + \xdef\style@{\fourth@@} + \xdef\m@tif{\fifth@@} \expandafter\get@third@\fifth@@ + \xdef\nineth@@{n} \xdef\st@p{n} + \find@motif + \ifnum\temp@@count<\motif@num\repeat + \loopcount=0 + \loop + \advance\loopcount by 1 + \expandafter\getregion@fromstack{\the\loopcount} + \expandafter\getregion@fromtintstack{\the\loopcount} + \expandafter\getregion@fromemphstack{\the\loopcount} + \expandafter\getregion@fromlowerstack{\the\loopcount} + \expandafter\getregion@fromframestack{\the\loopcount} + \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} + \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} + \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount} + \xdef\bottop@{ttttop} \expandafter\getregion@fromfstack{\the\loopcount} + \xdef\bottop@{bottom} \expandafter\getregion@fromfstack{\the\loopcount} + \xdef\bottop@{bbottom} \expandafter\getregion@fromfstack{\the\loopcount} + \xdef\bottop@{bbbottom} \expandafter\getregion@fromfstack{\the\loopcount} + \xdef\bottop@{bbbbottom} \expandafter\getregion@fromfstack{\the\loopcount} + \ifnum\loopcount<\seq@num\repeat +} + +\def\test@motif#1#2@{% + \xdef\temp@{shade} + \ifx\temp@\temp@@ \xdef\style@{\the\loopcount} \fi + \xdef\temp@{emph} + \ifx\temp@\temp@@ \xdef\style@{0} \fi + \xdef\temp@{lower} + \ifx\temp@\temp@@ \xdef\style@{0} \fi + \xdef\temp@{tint} + \ifx\temp@\temp@@ \xdef\style@{0} \fi + \xdef\temp@{frame} + \ifx\temp@\temp@@ \xdef\style@{0} \fi + \xdef\temp@{#1#2} + \xdef\first@{#1} + \ifx\first@\br@cket + \xdef\label@motif{y} + \temp@count=\motif@num + \advance\temp@count by 1 + \xdef\motif@num{\the\temp@count} + \expandafter\xdef\csname motif\the\temp@count\endcsname{\seq@,\temp@@,\@ll,\style@,\temp@} + \xdef\list@{&} + \else + \expandafter\check@char\first@ + \ifletter + \xdef\label@motif{y} + \temp@count=\motif@num + \advance\temp@count by 1 + \xdef\motif@num{\the\temp@count} + \expandafter\xdef\csname motif\the\temp@count\endcsname{\seq@,\temp@@,\@ll,\style@,\temp@} + \xdef\list@{&} + \fi + \fi +} \def\test@PDB#1:#2,#3,#4,#5,#6@{% \xdef\last@{#1[,]&}\expandafter\opt@color\last@ + \xdef\PDB@distance{no} \ifx\f@color\comm@ - \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} + \xdef\temp@{\c@@rd @} + \expandafter\check@letter\temp@ + \ifletter + \else + \temp@count=\c@@rd + \multiply\temp@count by \temp@count + \xdef\PDB@distance{\the\temp@count} + \fi \fi \xdef\PDB@hitpos{0} \xdef\PDB@stack{} \xdef\PDB@name{#2} \xdef\PDB@type{point} \ifx\fourth@\PDB@type + \xdef\PDB@{y} \xdef\last@{#3[,]&}\expandafter\opt@color\last@ \xdef\PDB@refnum@a{\fourth@} \ifx\f@color\C@lpha @@ -3210,6 +3498,7 @@ \else \xdef\PDB@type{line} \ifx\fourth@\PDB@type + \xdef\PDB@{y} \xdef\last@{#3[,]&}\expandafter\opt@color\last@ \xdef\PDB@refnum{\fourth@} \ifx\f@color\C@lpha @@ -3244,6 +3533,7 @@ \else \xdef\PDB@type{plane} \ifx\fourth@\PDB@type + \xdef\PDB@{y} \xdef\last@{#3[,]&}\expandafter\opt@color\last@ \xdef\PDB@refnum{\fourth@} \ifx\f@color\C@lpha @@ -3299,6 +3589,9 @@ \ifx\PDB@distance\n@ \xdef\PDB@distance{100}\fi \load@PDB \expandafter\get@item\PDB@stack \xdef\list@{\first@@} + \else + \xdef\temp@{\list@ @} + \expandafter\test@motif\temp@ \fi \fi \fi @@ -4952,11 +5245,15 @@ \expandafter\xdef\csname fgseqregion\the\loopcount\endcsname{#3} \expandafter\xdef\csname bgseqregion\the\loopcount\endcsname{#4} \xdef\list@{#2,&} + \xdef\temp@@{shade} \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ - \loop - \xdef\list@{\list@ @} - \expandafter\get@regions\list@ - \ifx\list@\ampers@nd\else\repeat + \ifx\list@\ampers@nd + \else + \loop + \xdef\list@{\list@ @} + \expandafter\get@regions\list@ + \ifx\list@\ampers@nd\else\repeat + \fi \fi } \def\shadeblock#1#2#3#4{% @@ -4976,11 +5273,15 @@ \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \xdef\list@{#2,&} + \xdef\temp@@{tint} \loopcount=0 \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ - \loop - \xdef\list@{\list@ @} - \expandafter\get@tintregions\list@ - \ifx\list@\ampers@nd\else\repeat + \ifx\list@\ampers@nd + \else + \loop + \xdef\list@{\list@ @} + \expandafter\get@tintregions\list@ + \ifx\list@\ampers@nd\else\repeat + \fi \fi } \def\tintblock#1#2{% @@ -5006,6 +5307,34 @@ \xdef\light@{LightLight} \fi\fi\fi } +\def\lowerregion#1#2{% + \xdef\seq@{#1} + \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi + \xdef\first@{\seq@ @} \expandafter\check@letter\first@ + \xdef\first@{\seq@} + \ifletter \get@name@number \xdef\seq@{\first@} \fi + \ifnum\seq@>\seq@count + \message{<Ignored seq `\seq@' in \noexpand\lowerregion or \noexpand\lowerblock>} + \else + \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi + \xdef\list@{#2,&} + \xdef\temp@@{lower} \loopcount=0 + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ + \ifx\list@\ampers@nd + \else + \loop + \xdef\list@{\list@ @} + \expandafter\get@lowerregions\list@ + \ifx\list@\ampers@nd\else\repeat + \fi + \fi +} +\def\lowerblock#1#2{% + \xdef\seq@{#1} + \xdef\@ll{yes} + \lowerregion{#1}{#2} + \xdef\@ll{} +} \def\emphregion#1#2{% \xdef\seq@{#1} \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi @@ -5017,11 +5346,15 @@ \else \ifx\@ll\yes \xdef\@ll{y}\else \xdef\@ll{n}\fi \xdef\list@{#2,&} + \xdef\temp@@{emph} \loopcount=0 \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ - \loop - \xdef\list@{\list@ @} - \expandafter\get@emphregions\list@ - \ifx\list@\ampers@nd\else\repeat + \ifx\list@\ampers@nd + \else + \loop + \xdef\list@{\list@ @} + \expandafter\get@emphregions\list@ + \ifx\list@\ampers@nd\else\repeat + \fi \fi } \def\emphblock#1#2{% @@ -5042,11 +5375,15 @@ \else \xdef\@ll{#3} \xdef\list@{#2,&} + \xdef\temp@@{frame} \loopcount=0 \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ - \loop - \xdef\list@{\list@ @} - \expandafter\get@frameregions\list@ - \ifx\list@\ampers@nd\else\repeat + \ifx\list@\ampers@nd + \else + \loop + \xdef\list@{\list@ @} + \expandafter\get@frameregions\list@ + \ifx\list@\ampers@nd\else\repeat + \fi \fi } \def\bargraphstretch#1{\def\b@r@stretch{#1}} @@ -5429,8 +5766,6 @@ \do@colorgraph \else \xdef\f@@color{\f@color} - \xdef\list@{#3,&} - \xdef\temp@{#3,,,:,,,,@} \expandafter\test@PDB\temp@ \def\f@text@{#5} \xdef\f@color{\f@@color} \xdef\temp@{#4&} @@ -5509,13 +5844,20 @@ \fi \fi \fi + \xdef\list@{#3,&} + \xdef\@ll{\f@text@} + \xdef\temp@@{\bottop@} + \xdef\temp@{#3,,,:,,,,@} \expandafter\test@PDB\temp@ \fi \loopcount=0 - \loop - \advance\loopcount by 1\relax - \xdef\list@{\list@ @} - \expandafter\get@fregions\list@ - \ifx\list@\ampers@nd\else\repeat + \ifx\list@\ampers@nd + \else + \loop + \advance\loopcount by 1\relax + \xdef\list@{\list@ @} + \expandafter\get@fregions\list@ + \ifx\list@\ampers@nd\else\repeat + \fi \fi\fi\fi \fi } @@ -7470,6 +7812,9 @@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7499,6 +7844,9 @@ \fi \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7520,6 +7868,9 @@ \def\first@{{}} \def\third@{8} \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7533,6 +7884,9 @@ \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7549,6 +7903,9 @@ \xdef\low@up{lower} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else \xdef\low@up{upper} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else \xdef\first@{\n@m@tch} \fi\fi + \expandafter\ifx\csname lower@seq0\endcsname\y@ + \expandafter\xdef\csname lower@seq0\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi @@ -7579,6 +7936,9 @@ \ifx\first@\d@t\def\first@{\gap@char}\fi \ifx\first@\questi@n\def\first@{\st@p@char}\fi \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7643,6 +8003,9 @@ \fi \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7657,6 +8020,9 @@ \xdef\low@up{lower} \ifx\m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\m@tch\low@up \else \xdef\first@{\m@tch} \fi\fi + \expandafter\ifx\csname lower@seq0\endcsname\y@ + \expandafter\xdef\csname lower@seq0\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi @@ -7678,6 +8044,9 @@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{!} \xdef\g@p{y} + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7707,6 +8076,9 @@ \fi \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7728,6 +8100,9 @@ \def\first@{{}} \def\third@{/} \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\st@p@char}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\st@p@char}\fi @@ -7740,6 +8115,9 @@ \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7762,6 +8140,9 @@ \ifx\first@\d@t\def\first@{\gap@char}\fi \ifx\first@\questi@n\def\first@{\st@p@char}\fi \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7775,6 +8156,9 @@ \xdef\first@{\csname res\the\loopcount\endcsname} \ifx\first@\equ@l \def\first@{\dom@char} \def\third@{9} \xdef\g@p{y} + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7804,6 +8188,9 @@ \fi \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7825,6 +8212,9 @@ \def\first@{{}} \def\third@{8} \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7838,6 +8228,9 @@ \xdef\low@up{lower} \ifx\resn@m@tch\low@up \make@lower \else \xdef\low@up{upper} \ifx\resn@m@tch\low@up \else \xdef\first@{\resn@m@tch} \fi\fi\fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7854,6 +8247,9 @@ \xdef\low@up{lower} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else \xdef\low@up{upper} \ifx\n@m@tch\low@up \xdef\first@{{ }} \else \xdef\first@{\n@m@tch} \fi\fi + \expandafter\ifx\csname lower@seq0\endcsname\y@ + \expandafter\xdef\csname lower@seq0\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi @@ -7879,6 +8275,9 @@ \ifx\first@\d@t\def\first@{\gap@char}\fi \ifx\first@\questi@n\def\first@{\st@p@char}\fi \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7952,6 +8351,9 @@ \fi \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -7966,6 +8368,9 @@ \xdef\second@{lower} \ifx\m@tch\second@ \make@lower \else \xdef\second@{upper} \ifx\m@tch\second@ \else \xdef\first@{\m@tch} \fi\fi + \expandafter\ifx\csname lower@seq0\endcsname\y@ + \expandafter\xdef\csname lower@seq0\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi @@ -7990,6 +8395,9 @@ \ifx\first@\d@t\def\first@{\gap@char}\fi \ifx\first@\questi@n\def\first@{\st@p@char}\fi \ifx\first@\equ@l\def\first@{\dom@char} \xdef\g@p{y} \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -8068,6 +8476,9 @@ \fi \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -8082,6 +8493,9 @@ \xdef\second@{lower} \ifx\@llm@tch\second@ \make@lower \else \xdef\second@{upper} \ifx\@llm@tch\second@ \else \xdef\first@{\@llm@tch} \fi\fi + \expandafter\ifx\csname lower@seq0\endcsname\y@ + \expandafter\xdef\csname lower@seq0\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi @@ -8108,6 +8522,9 @@ \xdef\third@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\third@ \xdef\first@{\csname res\the\loopcount\endcsname} + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -8169,6 +8586,9 @@ \fi \fi \fi + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -8227,6 +8647,9 @@ \make@lower \fi \xdef\third@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\third@ + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -8237,6 +8660,9 @@ \csname seq\the\loopcount\endcsname% 0\first@} \else + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -8292,6 +8718,9 @@ \fi \xdef\third@{noshade} \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\third@ + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -8302,6 +8731,9 @@ \csname seq\the\loopcount\endcsname% *\first@} \else + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq\the\loopcount\endcsname\y@ \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \xdef\first@{=\first@}\fi @@ -8314,6 +8746,9 @@ \fi \ifnum\loopcount<\seq@count \repeat \xdef\first@{\csname res0\endcsname} + \expandafter\ifx\csname lower@seq0\endcsname\y@ + \expandafter\xdef\csname lower@seq0\endcsname{n} + \xdef\first@{;\first@}\fi \expandafter\ifx\csname tint@seq0\endcsname\y@ \expandafter\xdef\csname tint@seq0\endcsname{n} \xdef\first@{=\first@}\fi @@ -8441,6 +8876,56 @@ \fi } +\def\getregion@fromlowerstack@first{% + \expandafter\getregion@fromlowerstack{\the\loopcount} + \expandafter\ifx\csname lowerstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname lowerstop\the\loopcount\endcsname<\first@@ + \getregion@fromlowerstack@first + \else + \expandafter\ifx\csname lowerall\the\loopcount\endcsname\y@ + \innerloopcount=1 + \fi + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{y} + \fi + \fi +} + +\def\calc@reglower{% + \loopcount=-1 \innerloopcount=0 + \loop + \advance\loopcount by 1 + \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} + \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi + \expandafter\ifx\csname lowerstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname lowerstart\the\loopcount\endcsname>\first@@ + \else + \expandafter\ifnum\csname lowerstop\the\loopcount\endcsname<\first@@ + \getregion@fromlowerstack@first + \else + \expandafter\ifx\csname lowerall\the\loopcount\endcsname\y@ + \innerloopcount=1 + \fi + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{y} + \expandafter\ifnum\csname lowerstop\the\loopcount\endcsname=\first@@ + \expandafter\getregion@fromlowerstack{\the\loopcount} + \fi + \fi + \fi\fi + \ifnum\loopcount<\seq@count \repeat + \loopcount=0 + \expandafter\ifx\csname lower@seq\the\loopcount\endcsname\y@ + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{y} + \fi + \ifnum\innerloopcount>0 + \loop + \advance\loopcount by 1 + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{y} + \ifnum\loopcount<\seq@count \repeat + \fi +} + \def\getregion@fromtintstack@first{% \expandafter\getregion@fromtintstack{\the\loopcount} \expandafter\ifx\csname tintstart\the\loopcount\endcsname\ampers@nd @@ -8728,6 +9213,59 @@ \xdef\second@@@{\csname res\the\innerloopcount\endcsname} \xdef\third@@@{\csname cons\first@@@\second@@@\endcsname} \advance\temp@count by \third@@@ + \ifnum\innerloopcount<\seq@count\sum@up\fi +} + +\def\sum@up@cons{% + \innerloopcount=\outerloopcount + \xdef\first@@@{\csname res\the\outerloopcount\endcsname} + \sum@up + \advance\outerloopcount by 1\relax + \ifnum\outerloopcount<\seq@count + \sum@up@cons + \else + \innerloopcount=\seq@count + \advance\innerloopcount by -1 + \multiply\innerloopcount by \seq@count + \multiply\temp@count by 2 + \multiply\temp@count by \m@trixf@ctor + \divide\temp@count by \innerloopcount + + \ifnum\temp@count>100 \temp@count=100 \fi + \ifnum\temp@count<0 \temp@count=0 \fi + \xdef\cons@val{\the\temp@count} + \ifx\first@\equ@l \xdef\cons@val{N} \fi + + \ifx\T@coffee@bcons\y@ + \xdef\cons@val{\csname TC@num0\endcsname} + \if\cons@val * + \xdef\cons@val{99} + \fi + \fi + \ifx\T@coffee@ccons\y@ + \xdef\cons@val{\csname TC@num0\endcsname} + \if\cons@val * + \xdef\cons@val{99} + \fi + \fi + \fi +} + +\def\collect@cons@res{% + \xdef\temp@{\temp@\csname res\the\innerloopcount\endcsname} + \advance\innerloopcount by 1 + \ifnum\innerloopcount>\seq@count\relax + \outerloopcount=1\relax + \temp@count=0\relax + \sum@up@cons + \else + \collect@cons@res + \fi +} + +\def\sum@@up{% + \advance\innerloopcount by 1 + \xdef\second@@@{\csname res\the\innerloopcount\endcsname} \ifx\first@@@\d@t \else @@ -8765,55 +9303,31 @@ \fi \fi - \ifnum\innerloopcount<\seq@count\sum@up\fi + \ifnum\innerloopcount<\seq@count\sum@@up\fi } -\def\sum@up@cons{% +\def\sum@up@sim{% \innerloopcount=\outerloopcount \xdef\first@@@{\csname res\the\outerloopcount\endcsname} - \sum@up + \sum@@up \advance\outerloopcount by 1\relax \ifnum\outerloopcount<\seq@count - \sum@up@cons - \else - \innerloopcount=\seq@count - \advance\innerloopcount by -1 - \multiply\innerloopcount by \seq@count - \multiply\temp@count by 2 - \multiply\temp@count by \m@trixf@ctor - \divide\temp@count by \innerloopcount - - \ifnum\temp@count>100 \temp@count=100 \fi - \ifnum\temp@count<0 \temp@count=0 \fi - \xdef\cons@val{\the\temp@count} - \ifx\first@\equ@l \xdef\cons@val{N} \fi - - \ifx\T@coffee@bcons\y@ - \xdef\cons@val{\csname TC@num0\endcsname} - \if\cons@val * - \xdef\cons@val{99} - \fi - \fi - \ifx\T@coffee@ccons\y@ - \xdef\cons@val{\csname TC@num0\endcsname} - \if\cons@val * - \xdef\cons@val{99} - \fi - \fi + \sum@up@sim \fi } -\def\collect@cons@res{% +\def\collect@similarity{% \xdef\temp@{\temp@\csname res\the\innerloopcount\endcsname} \advance\innerloopcount by 1 \ifnum\innerloopcount>\seq@count\relax \outerloopcount=1\relax \temp@count=0\relax - \sum@up@cons + \sum@up@sim \else - \collect@cons@res + \collect@similarity \fi } + \def\sum@up@bits{% \ifx\first@@@\second@@@ \ifx\first@@@\d@t @@ -10035,6 +10549,7 @@ \ifregionalshadenow \calc@regshade \fi \ifregionaltintnow \calc@regtint \fi \ifregionalemphnow \calc@regemph \fi + \ifregionallowernow \calc@reglower \fi \ifframenow \calc@frame \fi \iftopfeaturenow \xdef\bottop@{top} \calc@feature \fi \ifttopfeaturenow \xdef\bottop@{ttop} \calc@feature \fi @@ -10044,6 +10559,7 @@ \ifbbottomfeaturenow \xdef\bottop@{bbottom} \calc@feature \fi \ifbbbottomfeaturenow \xdef\bottop@{bbbottom} \calc@feature \fi \ifbbbbottomfeaturenow \xdef\bottop@{bbbbottom} \calc@feature \fi + \ifnum\seq@count>1 \innerloopcount=1 \collect@similarity \fi \advance\pos@count by 1 \ifshow@logo \calc@logo \fi \ifall@fshade \all@funcshade @@ -10193,11 +10709,20 @@ \expandafter\ifnum\csname emphstart\the\loopcount\endcsname>% \innerloopcount \else - \else \regionalemphnowtrue \fi \fi \fi + \ifregionallower + \expandafter\ifx\csname lowerstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname lowerstart\the\loopcount\endcsname>% + \innerloopcount + \else + \regionallowernowtrue + \fi + \fi + \fi \ifframe@ \expandafter\ifx\csname framestart\the\loopcount\endcsname\ampers@nd \else @@ -10353,7 +10878,7 @@ \else \innerloopcount=\csname res@count\the\loopcount\endcsname \advance\innerloopcount by \res@perline - \fi %%%%%%%%%%%%%***** + \fi \advance\innerloopcount by 1 \ifregionalshade \expandafter\ifx\csname start\the\loopcount\endcsname\ampers@nd @@ -10385,6 +10910,16 @@ \fi \fi \fi + \ifregionallower + \expandafter\ifx\csname lowerstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname lowerstart\the\loopcount\endcsname>% + \innerloopcount + \else + \regionallowernowtrue + \fi + \fi + \fi \ifframe@ \expandafter\ifx\csname framestart\the\loopcount\endcsname\ampers@nd \else @@ -10799,6 +11334,14 @@ \xdef\temp@@{\light@}% \expandafter\get@second@\first@% \fi% + \ifx\second@\semic@n% + \expandafter\get@second@\first@% + \xdef\first@@{\first@}% + \xdef\first@{\second@}% + \make@lower% + \xdef\second@{\first@}% + \xdef\first@{\first@@}% + \fi% \textcolor{\temp@@\boxc@l@r}{\box@rule}% \ifhidechar% \ifx\second@\o@% @@ -10903,6 +11446,14 @@ \else% \def\temp@{\csname relax\endcsname}% \fi% + \ifx\second@\semic@n% + \expandafter\get@second@\first@% + \xdef\first@@{\first@}% + \xdef\first@{\second@}% + \make@lower% + \xdef\second@{\first@}% + \xdef\first@{\first@@}% + \fi% \textcolor{\boxc@l@r}{\box@rule}% \ifhidechar% \ifx\second@\o@% @@ -12963,7 +13514,7 @@ \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} + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{\csname res@count\the\loopcount\endcsname} \ifnum\loopcount<\seq@count\repeat \xdef\domain@num@list{} \xdef\last@{\stack@dom} @@ -13012,6 +13563,7 @@ \fi \ifshow@sublogo \prep@sublogo \fi \ifshow@logo \prep@logo \fi + \ifx\label@motif\y@ \prep@motif \fi \ifnum\seq@pointer>\res@perline \block@output \fi \else \read@loop \fi} @@ -13063,7 +13615,7 @@ \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} + \expandafter\xdef\csname dom@count\the\loopcount\endcsname{\csname res@count\the\loopcount\endcsname} \ifnum\loopcount<\seq@count\repeat \xdef\domain@num@list{} \xdef\last@{\stack@dom} @@ -13112,6 +13664,7 @@ \fi \ifshow@sublogo \prep@sublogo \fi \ifshow@logo \prep@logo \fi + \ifx\label@motif\y@ \prep@motif \fi \ifnum\seq@pointer>\res@perline \block@output \fi \else \read@fasta @@ -13245,8 +13798,8 @@ \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{&;&;&;&;@} \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{&;&;&;@} + \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{&;&;&;&;@} @@ -13266,6 +13819,7 @@ \cleanup@name \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} + \expandafter\xdef\csname lower@seq\the\loopcount\endcsname{n} \expandafter\xdef\csname hide@seq\the\loopcount\endcsname{false} \expandafter\xdef\csname hide@@@seq\the\loopcount\endcsname{false} \expandafter\xdef\csname hide@name\the\loopcount\endcsname{no} @@ -13274,8 +13828,8 @@ \expandafter\xdef\csname number@col\the\loopcount\endcsname{yes} \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{&;&;&;@} - \expandafter\xdef\csname stack@hidereg\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{&;&;&;@} + \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{&;&;&;&;@} @@ -13322,9 +13876,9 @@ \ifshow@cons\setbox1=\hbox{\cons@name}\name@width=\wd1\else\name@width=0pt\fi \loopcount=0 \expandafter\getregion@fromstack{\the\loopcount} - \expandafter\getregion@fromhidestack{\the\loopcount} \expandafter\getregion@fromtintstack{\the\loopcount} \expandafter\getregion@fromemphstack{\the\loopcount} + \expandafter\getregion@fromlowerstack{\the\loopcount} \expandafter\getregion@fromframestack{\the\loopcount} \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} @@ -13373,9 +13927,9 @@ \baselineskip=\box@height \advance\baselineskip by \box@depth \fi \expandafter\getregion@fromstack{\the\loopcount} - \expandafter\getregion@fromhidestack{\the\loopcount} \expandafter\getregion@fromtintstack{\the\loopcount} \expandafter\getregion@fromemphstack{\the\loopcount} + \expandafter\getregion@fromlowerstack{\the\loopcount} \expandafter\getregion@fromframestack{\the\loopcount} \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} @@ -13607,7 +14161,7 @@ \cons@count=0 \expandafter\xdef\csname res@count0\endcsname{0} \xdef\allow@zero{n} \xdef\c@ns@shift{0} -\regionalshadefalse\regionalemphfalse\regionaltintfalse +\regionalshadefalse\regionalemphfalse\regionallowerfalse\regionaltintfalse \frame@false \xdef\ruler@rot{0} \topfeaturefalse \bottomfeaturefalse @@ -13716,7 +14270,8 @@ \xdef\all@thresh@ld{100} \all@shadefalse \hidefeaturenames \hidefeaturestylenames \xdef\T@coffee@ccons{n} \xdef\T@coffee@bcons{n} -\xdef\dom@in{no} +\xdef\dom@in{no} \xdef\label@motif{no} +\xdef\motif@num{0} \hfuzz9999pt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |