From 5a93e784e01b2dc5b07c6fe841e31e90eff72f4a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 9 Mar 2009 23:14:54 +0000 Subject: texshade 1.19 (9mar09) git-svn-id: svn://tug.org/texlive/trunk@12351 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/texshade/texshade.def | 6 +- Master/texmf-dist/tex/latex/texshade/texshade.sty | 1483 +++++++++++++++------ 2 files changed, 1073 insertions(+), 416 deletions(-) (limited to 'Master/texmf-dist/tex') 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 to proceed. \MessageBreak + Type X to quit. \MessageBreak +} + \immediate\closein\structurefile\egroup + \else + \message{} + \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{} - \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{}} \def\guess@DNA{\seqtype{N}\message{}} +\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 -- cgit v1.2.3