diff options
author | Karl Berry <karl@freefriends.org> | 2006-06-30 13:15:37 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-06-30 13:15:37 +0000 |
commit | f6a09a7a14c0554f9118c06bdfd67813eac4c0ab (patch) | |
tree | fcd0cdfa489c217cf100970ff99695d8ca167616 /Master/texmf-dist/tex | |
parent | 2e9f3d4c5505449dcb952eda85a9f94979511477 (diff) |
texshade 1.15 update
git-svn-id: svn://tug.org/texlive/trunk@1729 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/texshade/texshade.def | 18 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/texshade/texshade.sty | 2505 |
2 files changed, 2220 insertions, 303 deletions
diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.def b/Master/texmf-dist/tex/latex/texshade/texshade.def index be63e0f7c69..a2ab60fb1a6 100644 --- a/Master/texmf-dist/tex/latex/texshade/texshade.def +++ b/Master/texmf-dist/tex/latex/texshade/texshade.def @@ -27,23 +27,30 @@ \threshold{50} % Consensus threshold percentage is 50 \residuesperline{999} % As many residues as possible per line \numberingwidth{9999} % Assign space for 4 digit numbering -\charstretch{1.15} % Stretch character width 1.15fold -\linestretch{1} % Do not stretch lines +\charstretch{1} % Do not stretch character width +\linestretch{1} % Do not stretch lines vertically \gapchar{.} % . is printed in sequence gaps \gaprule{0.3pt} % If a rule is printed in gaps use 0.3 pt \gapcolors{Black}{White} % Gap symbols appear `Black on White' \numberingcolor{Black} % Numbering color is `Black' -\shownumbering{left} % Show sequence numbering on the left +\shownumbering{right} % Show sequence numbering on the left \namescolor{Black} % Names' color is `Black' -\shownames{right} % Show sequence names on the right +\shownames{left} % Show sequence names on the right \consensuscolors{Black}{White} % All consensus symbols/letters {Black}{White} % appear `Black on White' {Black}{White} % \showconsensus{bottom} % Show consensus line at bottom with +\hidesequencelogo % Do not show a sequence logo as consensus +\showlogoscale{leftright} % Show vertical scale bar if logo is on +\logostretch{1} % Do not stretch sequence logo vertically +\hidesubfamilylogo % Do not show a subfamily logo +\subfamilythreshold{50} % Set subfamily threshold to 50% +\shownegatives % Show negative values in subfamily logo +\showrelevance[Black]{*} % Label relevant subfamily deviations \defconsensus{{}}{*}{!} % Blank =no match; * =match; ! =all match +\showleadinggaps % Show gap symbols before sequence start \rulercolor{Black} % Ruler's color is `Black' \hideruler % Do not show the ruler -\showleadinggaps % Show gap symbols before sequence start \rulersteps{10} % Ruler ticks every 10 residues \legendcolor{Black} % Legend text color is `Black' \hidelegend % Do not show the legend @@ -76,6 +83,7 @@ \setseries{legend}{md} % Use normal series for legend texts \setshape {legend}{up} % Use upright shape for legend texts \setsize {legend}{normalsize} % Use normal size for legend texts +\setfamily{ruler}{sf} % Use sans serif font for ruler numbers \tintdefault{medium} % Use medium tint intensity \emphdefault{it} % Use italics to emphasize regions \showonPHDsec{alpha,beta} % Show helices and strands (PHD input) diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.sty b/Master/texmf-dist/tex/latex/texshade/texshade.sty index 2ba3a2cdc1f..729d15deb04 100644 --- a/Master/texmf-dist/tex/latex/texshade/texshade.sty +++ b/Master/texmf-dist/tex/latex/texshade/texshade.sty @@ -8,20 +8,22 @@ %% %% LaTeX package for typesetting nucleotide and peptide alignments %% -%% Copyright (C) 1999-2005 Eric Beitz +%% Copyright (C) 1999-2006 Eric Beitz %% See the file texshade.txt %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{texshade}[2005/04/13 LaTeX TeXshade (v1.12)] -\message{Package `texshade', Version 1.12 of 2005/09/20.} +\ProvidesPackage{texshade}[2006/06/27 LaTeX TeXshade (v1.15)] +\message{Package `texshade', Version 1.15 of 2006/06/27.} \PassOptionsToPackage{dvips}{color} +\PassOptionsToPackage{dvips}{graphicx} \DeclareOption*{% \PassOptionsToPackage{\CurrentOption}{color}% + \PassOptionsToPackage{\CurrentOption}{graphicx}% } \ProcessOptions -\RequirePackage{color} +\RequirePackage{color,graphics} \expandafter\ifx\csname TeXshade\endcsname\relax \else \endinput \fi @@ -40,8 +42,19 @@ \catcode`\@11 +\def\rotopo#1{% + \Grot@setangle{#1}% + \setbox\z@\hbox\bgroup\ignorespaces} +\def\endrotopo{% + \unskip\egroup + \Grot@x\z@ + \Grot@y\z@ + \wd0\z@\dp0\z@\ht0\z@ + \Grot@box +} + \newread\structurefile \newwrite\featurefile -\newread\alignfile +\newread\alignfile \newread\sublogofile \expandafter\ifx\csname blacktriangleright\endcsname\relax \openin\structurefile = amssymb.sty @@ -57,41 +70,47 @@ \closein\structurefile \fi +\DeclareSymbolFont{alphahelix}{OML}{cmm}{m}{it} +\DeclareMathSymbol{\helixhook}{\mathrel}{alphahelix}{"5E} + \newcount\loopcount \newcount\innerloopcount \newcount\outerloopcount \newcount\seq@count \newcount\killseq@count \newcount\seq@percent \newcount\res@count \newcount\seq@pointer \newcount\pos@count \newcount\res@perline \newcount\end@count -\newcount\cons@count \expandafter\newcount\csname res@count0\endcsname +\newcount\cons@count \newcount\total@count \newcount\temp@count \newcount\triple@count +\newcount\pos@sum \newlength\box@width \newlength\name@width \newlength\box@depth \newlength\width@tmp \newlength\box@height \newlength\number@width -\newlength\char@stretch \newlength\line@stretch +\newlength\line@stretch \newlength\center@fill \newlength\arrow@width \newlength\arrow@height \newlength\rule@thick -\newlength\arrow@thick +\newlength\arrow@thick \newlength\logo@height \newlength\equal@width \newlength\equal@tmp \newlength\equal@height \newlength\temp@@length \newlength\vspace@legend \newlength\hspace@legend -\newif\ifletter \newif\ifnumber -\newif\ifnewres \newif\ifall@shade -\newif\ifnames@right \newif\ifnumbers@left -\newif\ifhide@cons \newif\ifshow@cons -\newif\iffuncmode \newif\iflegend@ -\newif\ifnumbers@ \newif\ifnames@ -\newif\ifgerm@n \newif\ifsp@nish +\newif\ifletter \newif\ifnumber +\newif\ifnewres \newif\ifall@shade +\newif\ifnames@right +\newif\ifnumbers@left \newif\ifnumbers@right +\newif\ifhide@cons \newif\ifshow@cons +\newif\iffuncmode \newif\iflegend@ +\newif\ifnumbers@ \newif\ifnames@ +\newif\ifgerm@n \newif\ifsp@nish \newif\ifrpl@fix -\newif\ifnosh@de \newif\ifregionalshade -\newif\ifstart@ \newif\ifstop@ -\newif\iftopfeature \newif\ifbottomfeature -\newif\ifttopfeature \newif\ifbbottomfeature -\newif\ifall@fshade \newif\ifregionalemph -\newif\ifframe@ \newif\ifregionaltint -\newif\ifhidechar \newif\ifsh@wg@ps +\newif\ifnosh@de \newif\ifregionalshade +\newif\ifstart@ \newif\ifstop@ +\newif\iftopfeature \newif\ifbottomfeature +\newif\ifttopfeature \newif\ifbbottomfeature +\newif\ifall@fshade \newif\ifregionalemph +\newif\ifframe@ \newif\ifregionaltint +\newif\ifshow@logo \newif\ifshow@sublogo +\newif\ifhidechar \newif\ifsh@wg@ps \newif\ifsimmode \newif\ifregionaltintnow \newif\ifregionalemphnow @@ -125,7 +144,254 @@ \expandafter\def\csname funcm@tch*\endcsname{upper} \setlength\hspace@legend{0pt} \setlength\vspace@legend{0pt} -\triple@count=0 \cons@count=0 + +\expandafter\xdef\csname log2@1\endcsname{0} +\expandafter\xdef\csname log2@2\endcsname{1000} +\expandafter\xdef\csname log2@3\endcsname{1585} +\expandafter\xdef\csname log2@4\endcsname{2000} +\expandafter\xdef\csname log2@5\endcsname{2322} +\expandafter\xdef\csname log2@6\endcsname{2585} +\expandafter\xdef\csname log2@7\endcsname{2807} +\expandafter\xdef\csname log2@8\endcsname{3000} +\expandafter\xdef\csname log2@9\endcsname{3170} +\expandafter\xdef\csname log2@10\endcsname{3322} +\expandafter\xdef\csname log2@11\endcsname{3459} +\expandafter\xdef\csname log2@12\endcsname{3585} +\expandafter\xdef\csname log2@13\endcsname{3700} +\expandafter\xdef\csname log2@14\endcsname{3807} +\expandafter\xdef\csname log2@15\endcsname{3907} +\expandafter\xdef\csname log2@16\endcsname{4000} +\expandafter\xdef\csname log2@17\endcsname{4087} +\expandafter\xdef\csname log2@18\endcsname{4170} +\expandafter\xdef\csname log2@19\endcsname{4248} +\expandafter\xdef\csname log2@20\endcsname{4322} +\expandafter\xdef\csname log2@21\endcsname{4392} +\expandafter\xdef\csname log2@22\endcsname{4459} +\expandafter\xdef\csname log2@23\endcsname{4524} +\expandafter\xdef\csname log2@24\endcsname{4585} +\expandafter\xdef\csname log2@25\endcsname{4644} +\expandafter\xdef\csname log2@26\endcsname{4700} +\expandafter\xdef\csname log2@27\endcsname{4755} +\expandafter\xdef\csname log2@28\endcsname{4807} +\expandafter\xdef\csname log2@29\endcsname{4858} +\expandafter\xdef\csname log2@30\endcsname{4907} +\expandafter\xdef\csname log2@31\endcsname{4954} +\expandafter\xdef\csname log2@32\endcsname{5000} +\expandafter\xdef\csname log2@33\endcsname{5044} +\expandafter\xdef\csname log2@34\endcsname{5087} +\expandafter\xdef\csname log2@35\endcsname{5129} +\expandafter\xdef\csname log2@36\endcsname{5170} +\expandafter\xdef\csname log2@37\endcsname{5209} +\expandafter\xdef\csname log2@38\endcsname{5248} +\expandafter\xdef\csname log2@39\endcsname{5285} +\expandafter\xdef\csname log2@40\endcsname{5322} +\expandafter\xdef\csname log2@41\endcsname{5358} +\expandafter\xdef\csname log2@42\endcsname{5392} +\expandafter\xdef\csname log2@43\endcsname{5426} +\expandafter\xdef\csname log2@44\endcsname{5459} +\expandafter\xdef\csname log2@45\endcsname{5492} +\expandafter\xdef\csname log2@46\endcsname{5524} +\expandafter\xdef\csname log2@47\endcsname{5555} +\expandafter\xdef\csname log2@48\endcsname{5585} +\expandafter\xdef\csname log2@49\endcsname{5615} +\expandafter\xdef\csname log2@50\endcsname{5644} +\expandafter\xdef\csname log2@51\endcsname{5672} +\expandafter\xdef\csname log2@52\endcsname{5700} +\expandafter\xdef\csname log2@53\endcsname{5728} +\expandafter\xdef\csname log2@54\endcsname{5755} +\expandafter\xdef\csname log2@55\endcsname{5781} +\expandafter\xdef\csname log2@56\endcsname{5807} +\expandafter\xdef\csname log2@57\endcsname{5833} +\expandafter\xdef\csname log2@58\endcsname{5858} +\expandafter\xdef\csname log2@59\endcsname{5883} +\expandafter\xdef\csname log2@60\endcsname{5907} +\expandafter\xdef\csname log2@61\endcsname{5931} +\expandafter\xdef\csname log2@62\endcsname{5954} +\expandafter\xdef\csname log2@63\endcsname{5977} +\expandafter\xdef\csname log2@64\endcsname{6000} +\expandafter\xdef\csname log2@65\endcsname{6022} +\expandafter\xdef\csname log2@66\endcsname{6044} +\expandafter\xdef\csname log2@67\endcsname{6066} +\expandafter\xdef\csname log2@68\endcsname{6087} +\expandafter\xdef\csname log2@69\endcsname{6109} +\expandafter\xdef\csname log2@70\endcsname{6129} +\expandafter\xdef\csname log2@71\endcsname{6149} +\expandafter\xdef\csname log2@72\endcsname{6170} +\expandafter\xdef\csname log2@73\endcsname{6190} +\expandafter\xdef\csname log2@74\endcsname{6209} +\expandafter\xdef\csname log2@75\endcsname{6229} +\expandafter\xdef\csname log2@76\endcsname{6248} +\expandafter\xdef\csname log2@77\endcsname{6267} +\expandafter\xdef\csname log2@78\endcsname{6285} +\expandafter\xdef\csname log2@79\endcsname{6304} +\expandafter\xdef\csname log2@80\endcsname{6322} +\expandafter\xdef\csname log2@81\endcsname{6340} +\expandafter\xdef\csname log2@82\endcsname{6358} +\expandafter\xdef\csname log2@83\endcsname{6375} +\expandafter\xdef\csname log2@84\endcsname{6392} +\expandafter\xdef\csname log2@85\endcsname{6409} +\expandafter\xdef\csname log2@86\endcsname{6426} +\expandafter\xdef\csname log2@87\endcsname{6443} +\expandafter\xdef\csname log2@88\endcsname{6459} +\expandafter\xdef\csname log2@89\endcsname{6476} +\expandafter\xdef\csname log2@90\endcsname{6492} +\expandafter\xdef\csname log2@91\endcsname{6508} +\expandafter\xdef\csname log2@92\endcsname{6524} +\expandafter\xdef\csname log2@93\endcsname{6539} +\expandafter\xdef\csname log2@94\endcsname{6555} +\expandafter\xdef\csname log2@95\endcsname{6570} +\expandafter\xdef\csname log2@96\endcsname{6585} +\expandafter\xdef\csname log2@97\endcsname{6600} +\expandafter\xdef\csname log2@98\endcsname{6615} +\expandafter\xdef\csname log2@99\endcsname{6629} +\expandafter\xdef\csname log2@100\endcsname{6644} +\expandafter\xdef\csname log2@101\endcsname{6658} +\expandafter\xdef\csname log2@102\endcsname{6672} +\expandafter\xdef\csname log2@103\endcsname{6687} +\expandafter\xdef\csname log2@104\endcsname{6700} +\expandafter\xdef\csname log2@105\endcsname{6714} +\expandafter\xdef\csname log2@106\endcsname{6728} +\expandafter\xdef\csname log2@107\endcsname{6741} +\expandafter\xdef\csname log2@108\endcsname{6755} +\expandafter\xdef\csname log2@109\endcsname{6768} +\expandafter\xdef\csname log2@110\endcsname{6781} +\expandafter\xdef\csname log2@111\endcsname{6794} +\expandafter\xdef\csname log2@112\endcsname{6807} +\expandafter\xdef\csname log2@113\endcsname{6820} +\expandafter\xdef\csname log2@114\endcsname{6833} +\expandafter\xdef\csname log2@115\endcsname{6845} +\expandafter\xdef\csname log2@116\endcsname{6858} +\expandafter\xdef\csname log2@117\endcsname{6870} +\expandafter\xdef\csname log2@118\endcsname{6883} +\expandafter\xdef\csname log2@119\endcsname{6895} +\expandafter\xdef\csname log2@120\endcsname{6907} +\expandafter\xdef\csname log2@121\endcsname{6919} +\expandafter\xdef\csname log2@122\endcsname{6931} +\expandafter\xdef\csname log2@123\endcsname{6943} +\expandafter\xdef\csname log2@124\endcsname{6954} +\expandafter\xdef\csname log2@125\endcsname{6966} +\expandafter\xdef\csname log2@126\endcsname{6977} +\expandafter\xdef\csname log2@127\endcsname{6989} +\expandafter\xdef\csname log2@128\endcsname{7000} +\expandafter\xdef\csname log2@129\endcsname{7011} +\expandafter\xdef\csname log2@130\endcsname{7022} +\expandafter\xdef\csname log2@131\endcsname{7033} +\expandafter\xdef\csname log2@132\endcsname{7044} +\expandafter\xdef\csname log2@133\endcsname{7055} +\expandafter\xdef\csname log2@134\endcsname{7066} +\expandafter\xdef\csname log2@135\endcsname{7077} +\expandafter\xdef\csname log2@136\endcsname{7088} +\expandafter\xdef\csname log2@137\endcsname{7098} +\expandafter\xdef\csname log2@138\endcsname{7108} +\expandafter\xdef\csname log2@139\endcsname{7119} +\expandafter\xdef\csname log2@140\endcsname{7129} +\expandafter\xdef\csname log2@141\endcsname{7140} +\expandafter\xdef\csname log2@142\endcsname{7150} +\expandafter\xdef\csname log2@143\endcsname{7160} +\expandafter\xdef\csname log2@144\endcsname{7170} +\expandafter\xdef\csname log2@145\endcsname{7180} +\expandafter\xdef\csname log2@146\endcsname{7190} +\expandafter\xdef\csname log2@147\endcsname{7200} +\expandafter\xdef\csname log2@148\endcsname{7209} +\expandafter\xdef\csname log2@149\endcsname{7219} +\expandafter\xdef\csname log2@150\endcsname{7229} +\expandafter\xdef\csname log2@151\endcsname{7238} +\expandafter\xdef\csname log2@152\endcsname{7248} +\expandafter\xdef\csname log2@153\endcsname{7257} +\expandafter\xdef\csname log2@154\endcsname{7267} +\expandafter\xdef\csname log2@155\endcsname{7276} +\expandafter\xdef\csname log2@156\endcsname{7285} +\expandafter\xdef\csname log2@157\endcsname{7295} +\expandafter\xdef\csname log2@158\endcsname{7304} +\expandafter\xdef\csname log2@159\endcsname{7313} +\expandafter\xdef\csname log2@160\endcsname{7323} +\expandafter\xdef\csname log2@161\endcsname{7331} +\expandafter\xdef\csname log2@162\endcsname{7340} +\expandafter\xdef\csname log2@163\endcsname{7349} +\expandafter\xdef\csname log2@164\endcsname{7358} +\expandafter\xdef\csname log2@165\endcsname{7366} +\expandafter\xdef\csname log2@166\endcsname{7375} +\expandafter\xdef\csname log2@167\endcsname{7374} +\expandafter\xdef\csname log2@168\endcsname{7392} +\expandafter\xdef\csname log2@169\endcsname{7401} +\expandafter\xdef\csname log2@170\endcsname{7409} +\expandafter\xdef\csname log2@171\endcsname{7418} +\expandafter\xdef\csname log2@172\endcsname{7463} +\expandafter\xdef\csname log2@173\endcsname{7435} +\expandafter\xdef\csname log2@174\endcsname{7443} +\expandafter\xdef\csname log2@175\endcsname{7451} +\expandafter\xdef\csname log2@176\endcsname{7460} +\expandafter\xdef\csname log2@177\endcsname{7468} +\expandafter\xdef\csname log2@178\endcsname{7476} +\expandafter\xdef\csname log2@179\endcsname{7484} +\expandafter\xdef\csname log2@180\endcsname{7492} +\expandafter\xdef\csname log2@181\endcsname{7500} +\expandafter\xdef\csname log2@182\endcsname{7508} +\expandafter\xdef\csname log2@183\endcsname{7516} +\expandafter\xdef\csname log2@184\endcsname{7524} +\expandafter\xdef\csname log2@185\endcsname{7531} +\expandafter\xdef\csname log2@186\endcsname{7539} +\expandafter\xdef\csname log2@187\endcsname{7547} +\expandafter\xdef\csname log2@188\endcsname{7555} +\expandafter\xdef\csname log2@189\endcsname{7562} +\expandafter\xdef\csname log2@190\endcsname{7570} +\expandafter\xdef\csname log2@191\endcsname{7577} +\expandafter\xdef\csname log2@192\endcsname{7585} +\expandafter\xdef\csname log2@193\endcsname{7592} +\expandafter\xdef\csname log2@194\endcsname{7600} +\expandafter\xdef\csname log2@195\endcsname{7607} +\expandafter\xdef\csname log2@196\endcsname{7615} +\expandafter\xdef\csname log2@197\endcsname{7622} +\expandafter\xdef\csname log2@198\endcsname{7629} +\expandafter\xdef\csname log2@199\endcsname{7637} +\expandafter\xdef\csname log2@200\endcsname{7644} +\expandafter\xdef\csname log2@201\endcsname{7651} +\expandafter\xdef\csname log2@202\endcsname{7658} +\expandafter\xdef\csname log2@203\endcsname{7665} +\expandafter\xdef\csname log2@204\endcsname{7672} +\expandafter\xdef\csname log2@205\endcsname{7679} +\expandafter\xdef\csname log2@206\endcsname{7687} +\expandafter\xdef\csname log2@207\endcsname{7693} +\expandafter\xdef\csname log2@208\endcsname{7700} +\expandafter\xdef\csname log2@209\endcsname{7707} +\expandafter\xdef\csname log2@210\endcsname{7714} +\expandafter\xdef\csname log2@211\endcsname{7721} +\expandafter\xdef\csname log2@212\endcsname{7728} +\expandafter\xdef\csname log2@213\endcsname{7735} +\expandafter\xdef\csname log2@214\endcsname{7741} +\expandafter\xdef\csname log2@215\endcsname{7748} +\expandafter\xdef\csname log2@216\endcsname{7755} +\expandafter\xdef\csname log2@217\endcsname{7761} +\expandafter\xdef\csname log2@218\endcsname{7768} +\expandafter\xdef\csname log2@219\endcsname{7775} +\expandafter\xdef\csname log2@220\endcsname{7781} + +\expandafter\xdef\csname ch@r@65\endcsname{A} +\expandafter\xdef\csname ch@r@66\endcsname{B} +\expandafter\xdef\csname ch@r@67\endcsname{C} +\expandafter\xdef\csname ch@r@68\endcsname{D} +\expandafter\xdef\csname ch@r@69\endcsname{E} +\expandafter\xdef\csname ch@r@70\endcsname{F} +\expandafter\xdef\csname ch@r@71\endcsname{G} +\expandafter\xdef\csname ch@r@72\endcsname{H} +\expandafter\xdef\csname ch@r@73\endcsname{I} +\expandafter\xdef\csname ch@r@74\endcsname{J} +\expandafter\xdef\csname ch@r@75\endcsname{K} +\expandafter\xdef\csname ch@r@76\endcsname{L} +\expandafter\xdef\csname ch@r@77\endcsname{M} +\expandafter\xdef\csname ch@r@78\endcsname{N} +\expandafter\xdef\csname ch@r@79\endcsname{O} +\expandafter\xdef\csname ch@r@80\endcsname{P} +\expandafter\xdef\csname ch@r@81\endcsname{Q} +\expandafter\xdef\csname ch@r@82\endcsname{R} +\expandafter\xdef\csname ch@r@83\endcsname{S} +\expandafter\xdef\csname ch@r@84\endcsname{T} +\expandafter\xdef\csname ch@r@85\endcsname{U} +\expandafter\xdef\csname ch@r@86\endcsname{V} +\expandafter\xdef\csname ch@r@87\endcsname{W} +\expandafter\xdef\csname ch@r@88\endcsname{X} +\expandafter\xdef\csname ch@r@89\endcsname{Y} +\expandafter\xdef\csname ch@r@90\endcsname{Z} \def\clear@sims{% \expandafter\xdef\csname \prfx simA\endcsname{(1)A} @@ -685,6 +951,7 @@ \definecolor{LightLightLightSalmon} {cmyk}{0,0.06,0.04,0} \definecolor{LightLightLightCarnationPink} {cmyk}{0,0.08,0,0} \definecolor{LightLightLightMagenta} {cmyk}{0,0.12,0,0} +\definecolor{LightLightLightLightMagenta} {cmyk}{0,0.06,0,0} \definecolor{LightLightLightVioletRed} {cmyk}{0,0.10,0,0} \definecolor{LightLightLightRhodamine} {cmyk}{0,0.10,0,0} \definecolor{LightLightLightMulberry} {cmyk}{0.04,0.11,0,0.002} @@ -907,7 +1174,7 @@ \if\first@ y\xdef\first@{Y}\else \if\first@ z\xdef\first@{Z}\else \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} -\def\type@get#1 MSF: #2 Type: #3 #4@{\def\seq@type{#3}} +\def\type@get#1 MSF: #2 Type: #3 #4@{\seqtype{#3}} \def\inf@@get#1 #2 #3 #4 #5 #6@{% \def\first@{#1} \def\second@{#2} @@ -929,18 +1196,26 @@ \def\last@{#6}} \def\check@char#1{\letterfalse \ifnum\catcode`#1=11 \lettertrue \fi \numberfalse \ifnum\catcode`#1=12 \numbertrue \fi - \xdef\code@num{\the\catcode`#1}} + \xdef\code@num{\the\catcode`#1} + \xdef\char@num{`#1}} \def\check@letter#1#2@{\letterfalse \ifnum\catcode`#1=11 \lettertrue \fi \numberfalse \ifnum\catcode`#1=12 \numbertrue \fi} \def\seq@get#1 #2@{\def\first@{#1} \def\seq@line{#2}} \def\res@get#1#2@{\def\first@{#1} \def\seq@line{#2&@}} -\def\firstchar@get#1#2@{\def\first@{#1} \def\third@{#2@}} +\def\tot@get#1#2@{% + \xdef\first@{#1} + \expandafter\xdef\csname seq\the\triple@count\endcsname{#2&@}} +\def\dis@get#1#2@{% + \xdef\first@{#1} + \expandafter\xdef\csname res\the\triple@count\endcsname{#1} + \expandafter\xdef\csname seq\the\triple@count\endcsname{#2&@}} +\def\firstchar@get#1#2@{\def\first@{#1}\def\third@{#2@}} \def\residue@get#1#2@{\xdef\first@{#1} - \ifnum`#1>96 \make@upper \fi - \ifnum`#1=45 \xdef\first@{\d@t} \fi + \xdef\char@num{`#1} \expandafter\xdef\csname res\the\loopcount\endcsname{\first@} \expandafter\xdef\csname sequence\the\loopcount\endcsname{#2@}} \def\remove@fromseq#1@{\expandafter\xdef\csname sequence\the\loopcount\endcsname{#1}} +\def\sublogo@get#1 @{\xdef\first@{#1}} \def\re@write#1,#2@{% \xdef\third@{#2,@} \xdef\first@{\csname hide@@@seq#1\endcsname} @@ -955,8 +1230,8 @@ \def\order@set#1,#2@{% \xdef\second@{#2,@} \expandafter\xdef\csname @rd#1\endcsname{\the\loopcount} - \csname res@count\the\loopcount\endcsname=% - \csname pos#1\endcsname + \expandafter\xdef\csname res@count\the\loopcount\endcsname{% + \csname pos#1\endcsname} \expandafter\xdef\csname hide@seq\the\loopcount\endcsname{% \csname hide@@seq#1\endcsname} \expandafter\xdef\csname hide@name\the\loopcount\endcsname{% @@ -998,8 +1273,8 @@ \loopcount=0 \loop \advance\loopcount by 1 - \csname pos\the\loopcount\endcsname=% - \csname res@count\the\loopcount\endcsname + \expandafter\xdef\csname pos\the\loopcount\endcsname{% + \csname res@count\the\loopcount\endcsname} \expandafter\xdef\csname hide@@seq\the\loopcount\endcsname{% \csname hide@seq\the\loopcount\endcsname} \expandafter\xdef\csname hide@@name\the\loopcount\endcsname{% @@ -1057,11 +1332,12 @@ \loopcount=0 \loop \advance\loopcount by 1 - \csname pos\the\loopcount\endcsname=0 + \expandafter\xdef\csname pos\the\loopcount\endcsname{0} \ifnum\loopcount<\killseq@count \repeat } \def\group@get#1,#2@{% \def\group@set{\expandafter\residue@get\second@ + \ifnum\char@num>96 \make@upper \fi \ifx\first@\ampers@nd \else \expandafter\xdef\csname \prfx grp\first@\endcsname{\the\loopcount} \xdef\second@{\csname sequence\the\loopcount\endcsname} \group@set @@ -1116,6 +1392,35 @@ \donot@shade \fi \fi} +\def\clear@res@nums#1{% + \temp@count=65 + \loop + \xdef\first@@{\csname ch@r@\the\temp@count\endcsname} + \expandafter\xdef\csname res@num\first@@ #1\endcsname{0} + \advance\temp@count by 1 + \ifnum\temp@count>90\else\repeat + \expandafter\xdef\csname res@num\d@t #1\endcsname{0} +} +\def\setsubfamily@{% + \expandafter\check@letter\first@ + \ifletter + \expandafter\get@item\first@ + \xdef\first@{\fourth@} + \get@name@number + \advance\res@count by 1 + \expandafter\xdef\csname subfamily@num\first@\endcsname{\subfamily@count} + \xdef\first@{\first@@ @} + \setsubfamily@ + \else + \expandafter\get@digit\first@ + \ifx\fourth@\ampers@nd + \else + \advance\res@count by 1 + \expandafter\xdef\csname subfamily@num\fourth@\endcsname{\subfamily@count} + \setsubfamily@ + \fi + \fi +} \def\hideseq@{% \expandafter\check@letter\first@ \ifletter @@ -1283,8 +1588,8 @@ \csname stack@bottom\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@bbottom\the\loopcount\endcsname{% \csname stack@bbottom\the\innerloopcount\endcsname} - \csname res@count\the\loopcount\endcsname=% - \csname res@count\the\innerloopcount\endcsname + \expandafter\xdef\csname res@count\the\loopcount\endcsname{% + \csname res@count\the\innerloopcount\endcsname} \expandafter\xdef\csname hide@seq\the\innerloopcount\endcsname{kill} \ifnum\loopcount=\rule@num \hideruler \fi \fi @@ -1296,15 +1601,6 @@ \else \kill@seqnow \fi} -\def\set@maxseqnumber#1{% - \ifnum#1>\max@seqnumber - \loopcount=\max@seqnumber \xdef\max@seqnumber{\the #1} - \loop - \advance\loopcount by 1 - \expandafter\newcount\csname pos\the\loopcount\endcsname - \expandafter\newcount\csname res@count\the\loopcount\endcsname - \ifnum\loopcount<\max@seqnumber \repeat - \fi} \def\get@sim#1#2@{\xdef\sim@char{#1} \xdef\last@{#2 &@}} \def\getsim@char{% \advance\innerloopcount by 1 @@ -1360,6 +1656,7 @@ \ifgerm@n \funcgroup{sauer ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{aliphatisch}{AGVIL}{White}{Black}{upper}{up} + \funcgroup{aliphatisch (klein)}{AG}{White}{Gray}{upper}{up} \funcgroup{Amid}{NQ}{White}{Green}{upper}{up} \funcgroup{aromatisch}{FYW}{White}{Brown}{upper}{up} \funcgroup{basisch (+)}{KRH}{White}{Blue}{upper}{up} @@ -1370,6 +1667,7 @@ \ifsp@nish \funcgroup{\'acido ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{alif\'atico}{AGVIL}{White}{Black}{upper}{up} + \funcgroup{alif\'atico (parvo)}{AG}{White}{Gray}{upper}{up} \funcgroup{amida}{NQ}{White}{Green}{upper}{up} \funcgroup{arom\'atico}{FYW}{White}{Brown}{upper}{up} \funcgroup{b\'asico ($+$)}{KRH}{White}{Blue}{upper}{up} @@ -1379,6 +1677,7 @@ \else \funcgroup{acidic ($-$)}{DE}{White}{Red}{upper}{up} \funcgroup{aliphatic}{AGVIL}{White}{Black}{upper}{up} + \funcgroup{aliphatic (small)}{AG}{White}{Gray}{upper}{up} \funcgroup{amide}{NQ}{White}{Green}{upper}{up} \funcgroup{aromatic}{FYW}{White}{Brown}{upper}{up} \funcgroup{basic ($+$)}{KRH}{White}{Blue}{upper}{up} @@ -1506,8 +1805,21 @@ \funcgroup{110.3 (K)}{K}{White}{Black}{upper}{up} \fi \fi - \else \message{<Unknown shading mode. Clearing `funcgroups'>} - \fi\fi\fi\fi\fi\fi + \else + \xdef\second@{rasmol} + \ifx\temp@\second@ + \funcgroup{Asp, Glu}{DE}{Red}{White}{upper}{up} + \funcgroup{Arg, Lys, His}{KR}{Blue}{White}{upper}{up} + \funcgroup{Phe, Tyr, Trp}{FY}{MidnightBlue}{White}{upper}{up} + \funcgroup{Ala, Gly}{G}{Gray}{White}{upper}{up} + \funcgroup{Cys, Met}{CM}{Yellow}{White}{upper}{up} + \funcgroup{Ser, Thr}{ST}{Orange}{White}{upper}{up} + \funcgroup{Asn, Gln}{NQ}{Cyan}{White}{upper}{up} + \funcgroup{Leu, Val, Ile}{LVI}{Green}{White}{upper}{up} + \funcgroup{Pro}{P}{Apricot}{White}{upper}{up} + \else + \message{<Unknown shading mode - clearing `funcgroups'>} + \fi\fi\fi\fi\fi\fi\fi } \def\shadeallresidues{\all@fshadetrue} \def\get@fromstack#1;#2;#3;#4;#5@{% @@ -1732,6 +2044,7 @@ \xdef\frame@color{#1}% \ifx\seventh@\ampers@nd% \xdef\back@color{#1}% + \xdef\backtext@color{White}% \else% \expandafter\second@color\seventh@% \fi% @@ -1840,7 +2153,29 @@ \ifx\f@color\comm@\xdef\f@color{GrayDefault}\fi% \xdef\fill@char{\fourth@}% \xdef\box@color{\f@color,&@}% - \expandafter\two@opt@color\box@color% + \expandafter\two@opt@color\box@color% + \else + \xdef\arrow@color{\f@color}% + \ifx\arrow@color\comm@\xdef\arrow@color{Black}\fi% + \xdef\seventh@{\f@color @}\expandafter\check@letter\seventh@% + \ifnumber% + \ifx\rule@@thick\comm@% + \xdef\rule@@thick{\f@color}% + \xdef\arrow@color{Black}% + \else% + \xdef\seventh@{\rule@@thick}% + \xdef\rule@@thick{\f@color}% + \xdef\arrow@color{\seventh@}% + \fi% + \fi% + \xdef\fill@char{#2[,]&}% + \expandafter\opt@color\fill@char% + \xdef\fill@char{\fourth@}% + \ifx\f@color\comm@\xdef\f@color{Black,White}\fi% + \xdef\backtext@color{White}% + \xdef\f@color{\f@color,&@}% + \expandafter\two@opt@color\f@color% + \xdef\f@color{\arrow@color}% \fi \fi \fi @@ -2611,7 +2946,7 @@ \ifeof\alignfile \xdef\first@{make new} \fi \immediate\closein\alignfile \else - \message{<Unknown type. Ignoring \noexpand\includePHD>} + \message{<Unknown type - ignoring \noexpand\includePHD>} \xdef\first@{ignore} \fi\fi \xdef\temp@{make new} @@ -2796,7 +3131,7 @@ \fi \ifnum\loopcount=\seq@count \else \repeat \ifx\second@\n@ - \message{<Sequence name `\first@' was not found, using first sequence.>} + \message{<Sequence name `\first@' was not found - using first sequence.>} \xdef\first@{1} \fi } @@ -3473,6 +3808,13 @@ \def\numberingwidth#1{\def\num@width{#1}} \def\charstretch#1{\def\char@stretch{#1}} \def\linestretch#1{\def\line@stretch{#1}} +\def\logostretch#1{% + \def\logo@stretch{#1} + \setlength\temp@@length{1000sp} + \setlength\temp@@length{\logo@stretch\temp@@length} + \loopcount=\temp@@length + \xdef\logo@stretch@IOOO{\the\loopcount} +} \def\noblockskip{\def\block@skip{\vspace{0pt}}} \def\smallblockskip{\def\block@skip{\vspace{\baselineskip}}} \def\medblockskip{\def\block@skip{\vspace{1.5\baselineskip}}} @@ -3490,15 +3832,15 @@ \def\bigsepline{\def\seq@skip{\vspace{12pt}}\def\sep@space{12pt}} \def\vsepspace#1{\def\seq@skip{\vspace{#1}}\xdef\sep@space{#1}} \def\separationline#1{% - \xdef\start@seq{#1} + \xdef\first@@{#1} \xdef\first@{#1 @} \expandafter\check@letter\first@ \xdef\first@{#1} - \ifletter \get@name@number \xdef\start@seq{\first@} \fi - \ifnum\start@seq>\seq@count \xdef\start@seq{1} + \ifletter \get@name@number \xdef\first@@{\first@} \fi + \ifnum\first@@>\seq@count \xdef\first@@{1} \else - \ifnum\start@seq<0 \xdef\start@seq{1} + \ifnum\first@@<0 \xdef\first@@{1} \else - \expandafter\def\csname seq@gap\start@seq\endcsname{yes} + \expandafter\def\csname seq@gap\first@@\endcsname{yes} \loopcount=\seq@gap@num \advance\loopcount by 1 \xdef\seq@gap@num{\the\loopcount} @@ -3521,8 +3863,9 @@ \else \xdef\first@{functional} \ifx\first@\last@ - \if\seq@type P \simmodefalse \funcmodetrue \func@shading{#1} - \else \message{<No functional shading on DNA sequences>} \fi + \if\seq@type N \message{<No functional shading on DNA sequences>} + \else \simmodefalse \funcmodetrue \func@shading{#1} + \xdef\seq@type{P} \xdef\prefix@{pep} \fi \else \xdef\first@{diverse} \ifx\first@\last@ @@ -3539,7 +3882,7 @@ \gapchar{-} \hideconsensus \else - \message{<Unknown shading mode. Using `similar'>} + \message{<Unknown shading mode - using `similar'>} \simmodetrue \funcmodefalse \fi\fi\fi\fi} \def\allmatchspecial{\all@shadetrue} @@ -3550,31 +3893,53 @@ \else\def\gap@char{#1}\fi} \def\gaprule#1{\def\gap@rulethick{#1}} \def\setends#1#2{% - \xdef\start@seq{#1} - \xdef\temp@{consensus} - \ifx\start@seq\temp@ \xdef\start@seq{0} \fi - \xdef\first@{\start@seq @} \expandafter\check@letter\first@ - \xdef\first@{\start@seq} - \ifletter \get@name@number \xdef\start@seq{\first@} \fi - \ifnum\start@seq>\seq@count \xdef\start@seq{1} - \else - \ifnum\start@seq<0 \xdef\start@seq{1} - \else - \xdef\second@{#2@} \expandafter\get@nums\second@ - \xdef\start@num{\first@} \xdef\end@num{\second@} - \start@false - \fi - \fi} + \xdef\start@seq{#1} + \xdef\temp@{consensus} + \ifx\start@seq\temp@ + \message{<\noexpand\setends does not accept `consensus'>} + \xdef\start@seq{0} + \else + \xdef\first@{\start@seq @} \expandafter\check@letter\first@ + \xdef\first@{\start@seq} + \ifletter \get@name@number \xdef\start@seq{\first@} \fi + \ifnum\start@seq>\seq@count + \message{<\noexpand\setends{} error: sequence `#1' not defined>} + \xdef\start@seq{0} + \else + \ifnum\start@seq<1 + \message{<\noexpand\setends{} error: sequence `#1' not defined>} + \xdef\start@seq{0} + \else + \xdef\second@{#2@} \expandafter\get@nums\second@ + \xdef\start@num{\first@} \xdef\end@num{\second@} + \ifnum\start@num=0 \xdef\allow@zero{y}\fi + \ifnum\end@num=0 \xdef\allow@zero{y}\fi + \start@false + \fi + \fi + \fi +} \def\startnumber#1#2{% - \xdef\first@{#1 @} \expandafter\check@letter\first@ - \xdef\first@{#1} \ifletter \get@name@number \fi - \ifnum\first@>\seq@count \message{<Ignored seq `#1' in \noexpand\startnumber>} - \else - \xdef\second@{#2} \ifnum\second@=0 \xdef\second@{1} \fi - \expandafter\xdef\csname seq@start\first@\endcsname{\second@} - \csname res@count\first@\endcsname=\second@ - \advance\csname res@count\first@\endcsname by -1 - \fi} + \xdef\first@{#1} \xdef\second@{consensus} + \ifx\first@\second@ + \ifnum#2=0 \xdef\allow@zero{y} \fi + \expandafter\xdef\csname seq@start0\endcsname{#2} + \cons@count=#2 \advance\cons@count by -1\relax + \expandafter\xdef\csname res@count0\endcsname{\the\cons@count} + \else + \xdef\first@{#1 @} \expandafter\check@letter\first@ + \xdef\first@{#1} \ifletter \get@name@number \fi + \ifnum\first@>\seq@count \message{<Ignored seq `#1' in \noexpand\startnumber>} + \else + \xdef\second@{#2} + \ifnum\second@=0 \xdef\allow@zero{y} \fi + \expandafter\xdef\csname seq@start\first@\endcsname{\second@} + \res@count=\second@ + \advance\res@count by -1 + \expandafter\xdef\csname res@count\first@\endcsname{\the\res@count} + \fi + \fi + } \def\seqlength#1#2{% \xdef\first@{#1 @} \expandafter\check@letter\first@ \xdef\first@{#1} \ifletter \get@name@number \fi @@ -3583,14 +3948,21 @@ \xdef\second@{#2} \ifnum\second@<0 \xdef\second@{1} \fi \expandafter\xdef\csname seq@len\first@\endcsname{\second@} \fi} -\def\shownumbering#1{% - \xdef\first@{#1} \xdef\second@{right} - \ifx\first@\second@ \numbers@leftfalse \else \numbers@lefttrue \fi - \numbers@true} +\newcommand\shownumbering[2][n]{% + \xdef\first@{#1}\ifx\first@\n@\else\xdef\numbering@fg{#1}\fi + \xdef\first@{#2} + \xdef\second@{left} + \ifx\first@\second@ \numbers@lefttrue \numbers@rightfalse \numbers@true \fi + \xdef\second@{right} + \ifx\first@\second@ \numbers@leftfalse \numbers@righttrue \numbers@true \fi + \xdef\second@{leftright} + \ifx\first@\second@ \numbers@lefttrue \numbers@righttrue \numbers@true \fi + } \def\hidenumbering{\numbers@false} \def\hidenumber#1{\xdef\first@{#1,&,@} \hidenumber@} -\def\shownames#1{% - \xdef\first@{#1} \xdef\second@{left} +\newcommand\shownames[2][n]{% + \xdef\first@{#1}\ifx\first@\n@\else\xdef\names@fg{#1}\fi + \xdef\first@{#2} \xdef\second@{left} \ifx\first@\second@ \names@rightfalse \else \names@righttrue \fi \names@true} \def\hidenames{\names@false} @@ -3616,8 +3988,204 @@ \else \xdef\first@{#1,&,@} \donot@shade \fi} +\def\hideseqs{\xdef\hide@seqs{y}} +\def\showseqs{\xdef\hide@seqs{n}} \def\hideseq#1{\xdef\first@{#1,&,@} \hideseq@} \def\killseq#1{\xdef\first@{#1,&,@} \killseq@} +\def\hidesequencelogo{\show@logofalse} +\def\hidesubfamilylogo{\show@sublogofalse} +\def\logo@group@get#1#2@{% + \xdef\first@{#1}\xdef\third@{#2@} + \ifx\first@\ampers@nd + \else + \ifnum`#1>96 \make@upper\fi + \expandafter\xdef\csname logo@col\first@\endcsname{\second@} + \expandafter\logo@group@get\third@ + \fi +} +\def\logocolor#1#2{% + \xdef\logo@colors@set{yes} + \xdef\second@{#2} + \xdef\third@{#1&@} + \expandafter\logo@group@get\third@ +} +\newcommand\clearlogocolors[1][Black]{% + \logocolor{ABCDEFGHIJKLMNOPQRSTUVWXYZ}{#1} +} +\def\dofrequencycorrection{\xdef\do@freq@correction{y}} +\def\undofrequencycorrection{\xdef\do@freq@correction{n}} +\newcommand\showlogoscale[2][Black]{\xdef\logo@scalecol{#1}\xdef\show@logoscale{#2}} +\def\hidelogoscale{\xdef\show@logoscale{n}} +\def\hidenegatives{\xdef\hide@negatives{y}\xdef\sublogo@tint{}} +\newcommand\shownegatives[1][medium]{% + \xdef\hide@negatives{n} + \xdef\first@{#1} + \xdef\second@{full} + \ifx\first@\second@ + \xdef\sublogo@tint{} + \else + \xdef\second@{strong} + \ifx\first@\second@ + \xdef\sublogo@tint{Light} + \else + \xdef\second@{medium} + \ifx\first@\second@ + \xdef\sublogo@tint{LightLight} + \else + \xdef\second@{weak} + \ifx\first@\second@ + \xdef\sublogo@tint{LightLightLight} + \else + \xdef\sublogo@tint{LightLight} + \fi\fi\fi\fi +} +\def\set@logocolors{% + \xdef\second@{undefined} + \ifx\first@\second@ + \if\logo@colors@set\n@ + \xdef\first@{standard} + \fi + \fi + \xdef\second@{standard} + \ifx\first@\second@ + \if\seq@type A + \xdef\logo@colors@set{n} + \else + \if\seq@type P + \xdef\first@{rasmol} + \else + \xdef\first@{nucleotide} + \fi + \fi + \fi + \xdef\second@{nucleotide} + \ifx\first@\second@ + \clearlogocolors + \logocolor{G}{Black} + \logocolor{A}{Green} + \logocolor{TU}{Red} + \logocolor{C}{Blue} + \else + \xdef\second@{rasmol} + \ifx\first@\second@ + \clearlogocolors + \logocolor{DE}{Red} + \logocolor{CM}{Yellow} + \logocolor{KR}{Blue} + \logocolor{ST}{Orange} + \logocolor{FY}{MidnightBlue} + \logocolor{NQ}{Cyan} + \logocolor{G}{LightGray} + \logocolor{LVI}{Green} + \logocolor{A}{DarkGray} + \logocolor{W}{CarnationPink} + \logocolor{H}{CornflowerBlue} + \logocolor{P}{Apricot} + \logocolor{BZ}{LightMagenta} + \else + \xdef\second@{chemical} + \ifx\first@\second@ + \clearlogocolors + \logocolor{DE}{Red} + \logocolor{VIL}{Black} + \logocolor{AG}{Gray} + \logocolor{NQ}{Green} + \logocolor{FYW}{Brown} + \logocolor{KRH}{Blue} + \logocolor{ST}{Magenta} + \logocolor{P}{Orange} + \logocolor{CM}{Yellow} + \else + \xdef\second@{hydropathy} + \ifx\first@\second@ + \clearlogocolors + \logocolor{DE}{Red} + \logocolor{KRH}{Blue} + \logocolor{YSTGNQC}{Yellow} + \logocolor{AFPMWVIL}{Green} + \else + \xdef\second@{structure} + \ifx\first@\second@ + \clearlogocolors + \logocolor{DEHKNQR}{Orange} + \logocolor{ACGPSTWY}{Yellow} + \logocolor{FILMV}{Green} + \else + \xdef\second@{standard area} + \ifx\first@\second@ + \clearlogocolors + \logocolor{G}{BrickRed} + \logocolor{AS}{Orange} + \logocolor{CP}{Yellow} + \logocolor{TDVN}{YellowGreen} + \logocolor{IE}{PineGreen} + \logocolor{LQHM}{SkyBlue} + \logocolor{FK}{RoyalPurple} + \logocolor{Y}{RedViolet} + \logocolor{RW}{Black} + \else + \xdef\second@{accessible area} + \ifx\first@\second@ + \clearlogocolors + \logocolor{C}{BrickRed} + \logocolor{IVG}{Orange} + \logocolor{FLMA}{Yellow} + \logocolor{WSTH}{YellowGreen} + \logocolor{P}{PineGreen} + \logocolor{YDN}{SkyBlue} + \logocolor{EQ}{RoyalPurple} + \logocolor{R}{RedViolet} + \logocolor{K}{Black} + \fi\fi\fi\fi\fi\fi\fi +} +\newcommand\findsubfamily[2][n]{% + \xdef\first@{#1} + \ifx\first@\n@ + \else + \xdef\subfamily@threshold{#1} + \fi + \xdef\subfamily@seq{#2} +} +\def\setsubfamily#1{% + \xdef\sub@family@setting{#1} + \loopcount=1 + \loop + \expandafter\xdef\csname subfamily@num\the\loopcount\endcsname{1} + \advance\loopcount by 1 + \ifnum\loopcount>\seq@count\else\repeat + \xdef\subfamily@count{2} + \res@count=0 + \xdef\first@{#1,&,@} + \setsubfamily@ + \clear@res@nums{1} + \clear@res@nums{2} + \expandafter\xdef\csname group@num2\endcsname{\the\res@count} + \loopcount=\seq@count + \advance\loopcount by -\res@count + \expandafter\xdef\csname group@num1\endcsname{\the\loopcount} +} +\def\subfamilythreshold#1{\xdef\subfamily@threshold{#1}} +\newcommand\showsubfamilylogo[2][undefined]{% + \xdef\first@{#1} \set@logocolors + \xdef\first@{#2} \xdef\last@{top} + \ifx\first@\last@\xdef\sublogo@top{0}\else\xdef\sublogo@top{1}\fi + \show@sublogotrue +} +\def\relevance#1{% + \def\sig@max{#1} + \setlength\temp@@length{1000sp} + \setlength\temp@@length{\sig@max\temp@@length} + \loopcount=\temp@@length + \xdef\sig@max{\the\loopcount} +} +\newcommand\showrelevance[2][Black]{\def\sig@color{#1}\def\sig@char{#2}\xdef\hide@sig{n}} +\def\hiderelevance{\xdef\hide@sig{y}} +\newcommand\showsequencelogo[2][undefined]{% + \xdef\first@{#1} \set@logocolors + \xdef\first@{#2} \xdef\last@{top} + \ifx\first@\last@\xdef\logo@top{0}\else\xdef\logo@top{1}\fi + \show@logotrue +} \newcommand\showconsensus[2][n]{% \xdef\text@scale{n} \xdef\box@scale{n} @@ -3690,16 +4258,20 @@ \ifx\second@\ampers@nd \else \def\@llm@tch{#3}\fi} \def\hideconsensus{\show@consfalse} \def\nameconsensus#1{\def\cons@name{#1}} +\def\namesequencelogo#1{\def\logo@name@user{#1}} +\newcommand\namesubfamilylogo[2][]{\def\sublogo@name@neg{#1}\def\sublogo@name@user{#2}} \def\hideleadinggaps{\sh@wg@psfalse} \def\showleadinggaps{\sh@wg@pstrue} -\def\showruler#1#2{% - \xdef\first@{consensus} \xdef\second@{#2} - \xdef\third@{bottom} \xdef\fourth@{#1} +\newcommand\showruler[3][n]{% + \xdef\first@{#1} + \ifx\first@\n@\else\xdef\ruler@fg{#1}\fi + \xdef\first@{consensus} \xdef\second@{#3} + \xdef\third@{bottom} \xdef\fourth@{#2} \ifx\third@\fourth@ \xdef\rule@top{1}\else\xdef\rule@top{0}\fi \ifx\first@\second@ \xdef\rule@num{0} \else - \xdef\first@{#2 @} \expandafter\check@letter\first@ - \xdef\first@{#2} \ifletter \get@name@number \fi + \xdef\first@{#3 @} \expandafter\check@letter\first@ + \xdef\first@{#3} \ifletter \get@name@number \fi \ifnum\first@>\seq@count \else \ifnum\first@>0 @@ -3709,7 +4281,14 @@ \fi \xdef\ruler@{}} \def\hideruler{\xdef\rule@num{-1}} -\def\rulersteps#1{\xdef\ruler@step{#1}} +\def\allowzero{\xdef\allow@zero{y}} +\def\disallowzero{\xdef\allow@zero{n}} +\def\rulersteps#1{% + \xdef\ruler@step{#1} + \ifnum#1<4 \xdef\ruler@rot{90}\fi +} +\def\rotateruler{\xdef\ruler@rot{90}} +\def\unrotateruler{\xdef\ruler@rot{0}} \def\featurerule#1{\setlength\rule@thick{#1}} \def\orderseqs#1{% \def\order@loop{% @@ -3777,6 +4356,9 @@ \xdef\temp@{labels} \ifx\first@\temp@ \xdef\label@family{\third@} \else + \xdef\temp@{ruler} + \ifx\first@\temp@ \xdef\ruler@family{\second@} + \else \xdef\temp@{all} \ifx\first@\temp@ \xdef\featuretext@family{\third@} @@ -3786,7 +4368,8 @@ \xdef\residues@family{\third@} \xdef\legend@family{\third@} \xdef\label@family{\third@} - \fi\fi\fi\fi\fi\fi\fi\fi + \xdef\ruler@family{\second@} + \fi\fi\fi\fi\fi\fi\fi\fi\fi \fi } \def\setseries#1#2{% @@ -4085,6 +4668,9 @@ \def\legendLARGE {\setsize{legend}{LARGE}} \def\legendhuge {\setsize{legend}{huge}} \def\legendHuge {\setsize{legend}{Huge}} +\def\rulerrm{\setfamily{ruler}{rm}} +\def\rulersf{\setfamily{ruler}{sf}} +\def\rulertt{\setfamily{ruler}{tt}} \def\funcshadingstyle#1#2#3#4#5{% \xdef\temp@{nomatch} \xdef\first@{#1} \ifx\temp@\first@ @@ -4123,7 +4709,7 @@ \allmatchresidues{White}{Black}{upper}{sl} \else \xdef\second@{grays} \ifx\first@\second@ - \else \message{<Undefined color set. Using `grays'>} \xdef\first@{grays}\fi + \else \message{<Undefined color set - using `grays'>} \xdef\first@{grays}\fi \ifx\first@\second@ \similarresidues{Black}{LightGray}{upper}{up} \conservedresidues{White}{DarkGray}{upper}{up} @@ -4624,20 +5210,21 @@ \fi \ifnewres - \expandafter\csname pos\the\loopcount\endcsname=0 + \pos@sum=0 \innerloopcount=0 \loop \advance\innerloopcount by 1 \xdef\second@{\csname res\the\innerloopcount\endcsname} \expandafter\ifx\csname \prefix@ grp\second@\endcsname\first@ - \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi + \advance\pos@sum by 1 \fi \ifnum\innerloopcount<\seq@count \repeat - \expandafter\multiply\csname pos\the\loopcount\endcsname by \seq@percent + \multiply\pos@sum by \seq@percent + \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum} \expandafter\ifnum\csname pos\the\loopcount\endcsname<\thresh@ld \else \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x - \xdef\m@x{\the\csname pos\the\loopcount\endcsname} + \xdef\m@x{\csname pos\the\loopcount\endcsname} \xdef\cons@seq{\the\loopcount} \xdef\match@case{\c@se} \xdef\simgroup@{\first@} \else @@ -4671,22 +5258,24 @@ \fi \ifnewres - \expandafter\csname pos\the\loopcount\endcsname=0 + \pos@sum=0 \innerloopcount=0 \loop \advance\innerloopcount by 1 \expandafter\ifx\csname res\the\innerloopcount\endcsname\first@ - \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi + \advance\pos@sum by 1 \fi \ifnum\innerloopcount<\seq@count \repeat + \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum} \expandafter\ifnum\csname pos\the\loopcount\endcsname=\seq@count \xdef\cons@seq{\the\loopcount} \xdef\match@case{2} \loopcount=1 \else - \expandafter\multiply\csname pos\the\loopcount\endcsname by \seq@percent + \multiply\pos@sum by \seq@percent + \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum} \expandafter\ifnum\csname pos\the\loopcount\endcsname<\thresh@ld \else \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x - \xdef\m@x{\the\csname pos\the\loopcount\endcsname} + \xdef\m@x{\csname pos\the\loopcount\endcsname} \xdef\cons@seq{\the\loopcount} \xdef\match@case{1} \else \expandafter\ifnum\csname pos\the\loopcount\endcsname=\m@x @@ -4719,21 +5308,22 @@ \fi \ifnewres - \expandafter\csname pos\the\loopcount\endcsname=0 + \pos@sum=0 \innerloopcount=0 \loop \advance\innerloopcount by 1 \expandafter\ifx\csname res\the\innerloopcount\endcsname\first@ \xdef\second@{\csname res\the\innerloopcount\endcsname} \expandafter\ifx\csname \prefix@ grp\second@\endcsname\simgroup@ - \expandafter\advance\csname pos\the\loopcount\endcsname by 1 \fi + \advance\pos@sum by 1 \fi \fi \ifnum\innerloopcount<\seq@count \repeat - \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x - \xdef\m@x{\the\csname pos\the\loopcount\endcsname} + \expandafter\xdef\csname pos\the\loopcount\endcsname{\the\pos@sum} + \expandafter\ifnum\csname pos\the\loopcount\endcsname>\m@x + \xdef\m@x{\csname pos\the\loopcount\endcsname} \xdef\cons@seq{\the\loopcount} - \fi + \fi \fi \ifnum\loopcount=\cons@num \loopcount=1 \fi @@ -5298,7 +5888,7 @@ \advance\loopcount by 1 \expandafter\xdef\csname shade@style\the\loopcount\endcsname{y} \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} - \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi + \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi \expandafter\ifx\csname start\the\loopcount\endcsname\ampers@nd \else \expandafter\ifnum\csname start\the\loopcount\endcsname>\first@@ @@ -5358,7 +5948,7 @@ \loop \advance\loopcount by 1 \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} - \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi + \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi \expandafter\ifx\csname emphstart\the\loopcount\endcsname\ampers@nd \else \expandafter\ifnum\csname emphstart\the\loopcount\endcsname>\first@@ @@ -5408,7 +5998,7 @@ \loop \advance\loopcount by 1 \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} - \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi + \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi \expandafter\ifx\csname tintstart\the\loopcount\endcsname\ampers@nd \else \expandafter\ifnum\csname tintstart\the\loopcount\endcsname>\first@@ @@ -5499,7 +6089,7 @@ \loop \advance\loopcount by 1 \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} - \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi + \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi \expandafter\ifx\csname framestart\the\loopcount\endcsname\ampers@nd \else \expandafter\ifnum\csname framestart\the\loopcount\endcsname>\first@@ @@ -5560,7 +6150,6 @@ \def\get@nextres#1#2:{% \xdef\first@{#1} \xdef\temp@{#2:} - \ifnum`#1>96 \make@upper \fi \ifx\first@\gap@char \expandafter\get@nextres\temp@ \else \if\first@ @ @@ -5573,7 +6162,6 @@ \def\get@@nextres#1#2:{% \xdef\first@{#1} \xdef\temp@@{#2:} - \ifnum`#1>96 \make@upper \fi \ifx\first@\gap@char \expandafter\get@@nextres\temp@@ \else \if\first@ @ @@ -5710,6 +6298,577 @@ \collect@cons@res \fi } +\def\sum@up@bits{% + \ifx\first@@@\second@@@ + \ifx\first@@@\d@t + \temp@count=0\relax + \else + \temp@count=100\relax + \fi + \else + \temp@count=0 + \fi + \multiply\temp@count by \last@ + \divide\temp@count by 100 + \expandafter\ifx\csname info@\subfamily@seq @\the\outerloopcount\endcsname\relax + \expandafter\xdef\csname info@\subfamily@seq @\the\outerloopcount\endcsname{0} + \fi + \xdef\third@@@{\csname info@\subfamily@seq @\the\outerloopcount\endcsname} + \advance\temp@count by \third@@@ + \expandafter\xdef\csname info@\subfamily@seq @\the\outerloopcount\endcsname{\the\temp@count} +} +\def\sum@up@info{% + \ifnum\outerloopcount=\subfamily@seq \advance\outerloopcount by 1 \fi + \ifnum\outerloopcount>\seq@count + \else + \xdef\first@@@{\csname res\the\outerloopcount\endcsname} + \sum@up@bits + \advance\outerloopcount by 1\relax + \fi + \ifnum\outerloopcount>\seq@count\else\sum@up@info\fi +} +\def\collect@info{% + \outerloopcount=1\relax + \temp@count=0\relax + \xdef\second@@@{\csname res\subfamily@seq\endcsname} + \sum@up@info +} + +\def\calc@grouping{% + \xdef\second@{\csname res@num\d@t\endcsname} + \innerloopcount=\seq@count + \advance\innerloopcount by -\second@ + \xdef\second@{\the\innerloopcount} + \xdef\seventh@{0} + \innerloopcount=0 + \outerloopcount=65 + \loop + \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname} + \xdef\first@{\csname res@num\first@@\endcsname} + \ifnum\first@>0 + \temp@count=\csname log2@\first@\endcsname + \advance\temp@count by -\csname log2@\second@\endcsname + \advance\temp@count by \csname res@corr\first@@\endcsname + \multiply\temp@count by -\first@ + \divide\temp@count by \second@ + \advance\innerloopcount by \temp@count\relax + \temp@count=\second@ %%% + \advance\temp@count by -\first@ %%% + \advance\temp@count by \seventh@ %%% + \xdef\seventh@{\the\temp@count} %%% + \fi + \expandafter\xdef\csname res@num\first@@\endcsname{0} + \advance\outerloopcount by 1 + \ifnum\outerloopcount>90\else\repeat + \expandafter\xdef\csname res@num\d@t\endcsname{0} + \if\seq@type P + \temp@count=\csname log2@20\endcsname + \ifnum\sig@max=100000 \xdef\sig@max{2321} \fi + \else + \temp@count=\csname log2@4\endcsname + \ifnum\sig@max=100000 \xdef\sig@max{1000} \fi + \fi + \xdef\bit@max{\the\temp@count} + \advance\temp@count by -\innerloopcount + \multiply\temp@count by \second@ + \divide\temp@count by \seq@count + \xdef\last@{\the\temp@count} + \expandafter\xdef\csname bit@pos\the\loopcount\endcsname{\last@} + \temp@count=\bit@total + \advance\temp@count by \last@ + \xdef\bit@total{\the\temp@count} + \collect@info +} +\def\do@grouping{% + \ifnum\loopcount>\total@pos + \else + \triple@count=1 + \loop + \xdef\first@{\csname seq\the\triple@count\endcsname} + \expandafter\dis@get\first@ + \ifx\first@\ampers@nd + \else + \innerloopcount=\csname res@num\first@\endcsname + \advance\innerloopcount by 1 + \expandafter\xdef\csname res@num\first@\endcsname{\the\innerloopcount} + \fi + \advance\triple@count by 1\relax + \ifnum\triple@count>\seq@count + \calc@grouping + \advance\loopcount by 1 + \do@grouping + \else + \repeat + \fi +} +\def\total@frequency@correction{% + \innerloopcount=0 + \outerloopcount=65 + \loop + \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname} + \xdef\first@{\csname res@corr\first@@\endcsname} + \advance\innerloopcount by \first@\relax + \advance\outerloopcount by 1 + \ifnum\outerloopcount>90\else\repeat + \xdef\res@num@total{\the\innerloopcount} + \outerloopcount=65 + \loop + \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname} + \xdef\first@{\csname res@corr\first@@\endcsname} + \innerloopcount=\first@\relax + \ifnum\innerloopcount>0 + \multiply\innerloopcount by 1000\relax + \divide\innerloopcount by \res@num@total\relax + \innerloopcount=\csname log2@\the\innerloopcount\endcsname + \advance\innerloopcount by -5644\relax + \multiply\innerloopcount by -1\relax + \fi + \expandafter\xdef\csname res@corr\first@@\endcsname{\the\innerloopcount} + \ifnum\the\innerloopcount>\corr@max \xdef\corr@max{\the\innerloopcount}\fi + \advance\outerloopcount by 1 + \ifnum\outerloopcount>90\else\repeat +} +\def\calc@total@frequency{% + \ifnum\loopcount>\total@pos + \else + \triple@count=1 + \loop + \xdef\first@{\csname seq\the\triple@count\endcsname} + \expandafter\tot@get\first@ + \ifx\first@\ampers@nd + \else + \innerloopcount=\csname res@corr\first@\endcsname + \advance\innerloopcount by 1 + \expandafter\xdef\csname res@corr\first@\endcsname{\the\innerloopcount} + \fi + \advance\triple@count by 1\relax + \ifnum\triple@count>\seq@count + \advance\loopcount by 1 + \calc@total@frequency + \else + \repeat + \fi +} +\def\prep@logo{% + \if\seq@type P + \ifx\do@freq@correction\y@ + \xdef\do@freq@correction{n} + \loopcount=1 + \loop + \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\the\loopcount\endcsname &@} + \advance\loopcount by 1 + \ifnum\loopcount>\seq@count\else\repeat + \xdef\corr@max{0} + \loopcount=1 + \calc@total@frequency + \total@frequency@correction + \fi + \fi +} +\def\define@subfamilies{% + \xdef\first@{\csname group@num1\endcsname} + \advance\loopcount by -1 + \xdef\last@{\the\loopcount} + \outerloopcount=\bit@total + \divide\outerloopcount by \last@ + \xdef\bit@mean{\the\outerloopcount} + \multiply\outerloopcount by \subfamily@threshold\relax + \divide\outerloopcount by 100\relax + \xdef\sub@threshold{\the\outerloopcount} + \ifnum\first@=0 + \clear@res@nums{1} + \clear@res@nums{2} + \immediate\write\featurefile{TeXshade subfamily logo data file for \alignfilename} + \immediate\write\featurefile{--} + \immediate\write\featurefile{Average information content [1000*bits per position]: \bit@mean} + \immediate\write\featurefile{Subfamily threshold setting [percent]: \subfamily@threshold} + \immediate\write\featurefile{=> \bit@mean\space * 0.\subfamily@threshold\space = \sub@threshold\space [1000*bits per position]} + \immediate\write\featurefile{} + \expandafter\xdef\csname subfamily@num\subfamily@seq\endcsname{2} + \immediate\write\featurefile{Automatic subfamily assignment around sequence no. \subfamily@seq:} + \immediate\write\featurefile{[sequence pair: average shared information *1000, subfamily number]} + \temp@count=1 + \outerloopcount=1 + \loop + \ifnum\outerloopcount=\subfamily@seq \advance\outerloopcount by 1 \fi + \ifnum\outerloopcount>\seq@count + \else + \xdef\first@{\csname info@\subfamily@seq @\the\outerloopcount\endcsname} + \loopcount=\first@\relax + \divide\loopcount by \last@\relax + \ifnum\loopcount>\sub@threshold + \expandafter\xdef\csname subfamily@num\the\outerloopcount\endcsname{2} + \advance\temp@count by 1\relax + \else + \expandafter\xdef\csname subfamily@num\the\outerloopcount\endcsname{1} + \fi + \xdef\first@@{\csname subfamily@num\the\outerloopcount\endcsname} + \immediate\write\featurefile{\subfamily@seq-\the\outerloopcount:\space\the\loopcount,\space subfamily: \first@@} + \advance\outerloopcount by 1 + \fi + \ifnum\outerloopcount>\seq@count\else\repeat + \immediate\write\featurefile{} + \immediate\write\featurefile{//} + \ifnum\temp@count>0 + \expandafter\xdef\csname group@num2\endcsname{\the\temp@count} + \else + \message{<No subfamilies found (check threshold) - hiding subfamily logo>} + \show@sublogofalse + \immediate\write\featurefile{<No subfamilies found (check threshold) - hiding subfamily logo>} + \fi + \loopcount=\seq@count + \advance\loopcount by -\temp@count + \ifnum\loopcount>0 + \expandafter\xdef\csname group@num1\endcsname{\the\loopcount} + \else + \message{<No subfamilies found (check threshold) - hiding subfamily logo>} + \immediate\write\featurefile{<No subfamilies found (check threshold) - hiding subfamily logo>} + \show@sublogofalse + \fi + \else + \immediate\write\featurefile{TeXshade subfamily logo data file for \alignfilename} + \immediate\write\featurefile{--} + \immediate\write\featurefile{Average information content [1000*bits per position]: \bit@mean} + \immediate\write\featurefile{Subfamily threshold setting [percent]: \subfamily@threshold} + \immediate\write\featurefile{=> \bit@mean\space * 0.\subfamily@threshold\space = \sub@threshold\space [1000*bits per position]} + \immediate\write\featurefile{} + \immediate\write\featurefile{User defined subfamily: \sub@family@setting} + \immediate\write\featurefile{} + \immediate\write\featurefile{//} + \fi +} +\def\prep@sublogo{% + \message{<Calculating subfamily logo...>} + \immediate\openout\featurefile = sublogo.txt + \if\seq@type P + \ifx\do@freq@correction\y@ + \xdef\do@freq@correction{n} + \loopcount=1 + \loop + \xdef\first@{\csname @rd\the\loopcount\endcsname} %%% + \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\first@\endcsname &@} + \advance\loopcount by 1 + \ifnum\loopcount>\seq@count\else\repeat + \xdef\corr@max{0} + \loopcount=1 + \calc@total@frequency + \total@frequency@correction + \fi + \fi + \loopcount=1 + \loop + \xdef\first@{\csname @rd\the\loopcount\endcsname} %%% + \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\first@\endcsname &@} + \advance\loopcount by 1 + \ifnum\loopcount>\seq@count\else\repeat + \loopcount=1 + \do@grouping + \define@subfamilies + \ifshow@sublogo + \loopcount=1 + \loop + \xdef\first@{\csname @rd\the\loopcount\endcsname} %%% + \expandafter\xdef\csname seq\the\loopcount\endcsname{\csname sequence\first@\endcsname &@} + \advance\loopcount by 1 + \ifnum\loopcount>\seq@count\else\repeat + \xdef\first@{\csname group@num1\endcsname} + \xdef\first@@{\csname log2@\first@\endcsname} + \xdef\second@{\csname group@num2\endcsname} + \xdef\second@@{\csname log2@\second@\endcsname} + \loopcount=\first@ + \advance\loopcount by \second@ + \xdef\third@{\the\loopcount} + \xdef\third@@{\csname log2@\third@\endcsname} + \loopcount=\first@@ + \advance\loopcount by -\third@@ + \multiply\loopcount by \first@ + \divide\loopcount by \third@ + \xdef\first@@@{\the\loopcount} + \loopcount=\second@@ + \advance\loopcount by -\third@@ + \multiply\loopcount by \second@ + \divide\loopcount by \third@ + \xdef\second@@@{\the\loopcount} + \loopcount=\bit@max + \advance\loopcount by \first@@@ + \advance\loopcount by \second@@@ + \xdef\group@correction{\the\loopcount} + \loopcount=1 \total@count=0 + \do@sublogo + \immediate\closeout\featurefile + \openin\sublogofile = sublogo.txt\relax + \read@header + \else + \immediate\closeout\featurefile + \fi +} +\def\read@header{% + \read\sublogofile to \first@\relax + \xdef\first@{\expandafter\string\first@} + \ifx\first@\par@ \read@header + \else + \xdef\first@{\first@ @} + \expandafter\seq@get\first@ + \ifx\first@\he@derend + \else\read@header + \fi + \fi +} +\def\read@sublogo{% + \xdef\stack@sublogo{}% + \loopcount=1 % + \loop% + \ifeof\sublogofile% + \advance\loopcount by \res@perline% + \else% + \read\sublogofile to \first@\relax% + \xdef\first@{\expandafter\string\first@}% + \ifx\first@\par@% + \advance\loopcount by \res@perline% + \else + \xdef\first@{\first@ @}% + \expandafter\sublogo@get\first@% + \xdef\stack@sublogo{\stack@sublogo\first@}% + \advance\loopcount by 1% + \fi% + \fi% + \ifnum\loopcount=\res@perline\else\repeat% +} +\def\calc@sublogo{% + \xdef\seventh@{\csname res@num.2\endcsname} + \xdef\first@{\csname group@num2\endcsname} + \innerloopcount=\first@ + \advance\innerloopcount by -\seventh@ + \xdef\seventh@{\the\innerloopcount} + \xdef\eighth@{\csname res@num.1\endcsname} + \xdef\first@{\csname group@num1\endcsname} + \innerloopcount=\first@ + \advance\innerloopcount by -\eighth@ + \xdef\eighth@{\the\innerloopcount} + \xdef\nineth@{n} + \xdef\pos@max{0} + \xdef\pos@min{0} + \outerloopcount=65 + \loop + \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname} + \xdef\first@{\csname res@num\first@@ 1\endcsname} \xdef\temp@{\first@} + \temp@count=\first@ + \ifnum\seventh@>0 \multiply\temp@count by \seventh@ \fi + \xdef\first@{\the\temp@count} + \xdef\second@{\csname res@num\first@@ 2\endcsname} + \temp@count=\temp@ + \advance\temp@count by \second@\relax + \ifnum\temp@count>0 + \temp@count=\second@ + \ifnum\eighth@>0 \multiply\temp@count by \eighth@ \fi + \advance\temp@count by -\first@ + \xdef\last@{\csname bit@pos\the\loopcount\endcsname} + \multiply\temp@count by \last@ + \ifnum\seventh@>0 \divide\temp@count by \seventh@ \fi + \ifnum\eighth@>0 \divide\temp@count by \eighth@ \fi + \multiply\temp@count by \bit@max + \divide\temp@count by \group@correction + \ifx\hide@negatives\y@ + \ifnum\temp@count>0 \else \temp@count=1 \fi% + \else + \ifnum\temp@count=0 \temp@count=1 \fi% + \fi + \expandafter\xdef\csname res@val\first@@\endcsname{\the\temp@count} + \expandafter\xdef\csname res@num\first@@ 1\endcsname{0} + \expandafter\xdef\csname res@num\first@@ 2\endcsname{0} + \xdef\nineth@{y} + \else + \expandafter\xdef\csname res@val\first@@\endcsname{0} + \expandafter\xdef\csname res@num\first@@ 1\endcsname{0} + \expandafter\xdef\csname res@num\first@@ 2\endcsname{0} + \fi + \ifnum\temp@count>\pos@max \xdef\pos@max{\the\temp@count}\fi + \ifnum\temp@count<\pos@min \xdef\pos@min{\the\temp@count}\fi + \advance\outerloopcount by 1 + \ifnum\outerloopcount>90\else\repeat + \expandafter\xdef\csname res@val\d@t\endcsname{0} + \expandafter\xdef\csname res@num\d@t 1\endcsname{0} + \expandafter\xdef\csname res@num\d@t 2\endcsname{0} + \temp@count=\pos@min\relax + \multiply\temp@count by -1\relax + \xdef\pos@min{\the\temp@count} + \ifnum\pos@min>\pos@max \xdef\pos@max{\pos@min}\fi + \temp@count=\pos@max + \multiply\temp@count by 100 \relax + \divide\temp@count by \bit@max \relax + \xdef\sublogo@num{\sublogo@num\the\temp@count,} + \ifnum\pos@max<\sig@max \xdef\sublogo@sig{\sublogo@sig n} \else \xdef\sublogo@sig{\sublogo@sig y} \fi + \ifx\nineth@\y@ + \xdef\tmpstack{&:&,} + \outerloopcount=65 + \loop + \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname} + \xdef\second@@{\csname res@val\first@@\endcsname} + \ifnum\second@@=0 + \else + \xdef\third@{\tmpstack @} \xdef\tmpstack{} + \sort@logostack + \fi + \advance\outerloopcount by 1 + \ifnum\outerloopcount>90 + \immediate\write\featurefile{\expandafter\string\tmpstack&:&,} + \else\repeat + \else + \immediate\write\featurefile{\expandafter\string O:0,&:&,} + \fi +} +\def\do@sublogo{% + \ifnum\loopcount>\total@pos + \xdef\sublogo@sig{\sublogo@sig &@} + \else + \triple@count=1 + \loop + \xdef\first@{\csname seq\the\triple@count\endcsname} + \expandafter\dis@get\first@ + \ifnum\triple@count=\start@seq + \ifx\first@\d@t\else \advance\total@count by 1\relax\fi + \fi + \ifnum\loopcount<\start@number + \else + \ifnum\total@count>\end@num + \else + \ifx\first@\ampers@nd + \else + \xdef\second@{\csname subfamily@num\the\triple@count\endcsname} + \innerloopcount=\csname res@num\first@\second@\endcsname + \advance\innerloopcount by 1 + \expandafter\xdef\csname res@num\first@\second@\endcsname{\the\innerloopcount} + \fi + \fi + \fi + \advance\triple@count by 1\relax + \ifnum\triple@count>\seq@count + \ifnum\loopcount<\start@number + \else + \ifnum\total@count>\end@num + \else + \calc@sublogo + \fi + \fi + \advance\loopcount by 1 + \do@sublogo + \else + \repeat + \fi +} +\def\calc@logo{% + \xdef\second@{\csname res@num\d@t\endcsname} + \innerloopcount=\seq@count + \advance\innerloopcount by -\second@ + \xdef\second@{\the\innerloopcount} + \xdef\seventh@{0} + \innerloopcount=0 + \outerloopcount=65 + \loop + \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname} + \xdef\first@{\csname res@num\first@@\endcsname} + \ifnum\first@>0 + \temp@count=\csname log2@\first@\endcsname + \advance\temp@count by -\csname log2@\second@\endcsname + \advance\temp@count by \csname res@corr\first@@\endcsname %%%% correct for background freq. + \multiply\temp@count by -\first@ + \divide\temp@count by \second@ + \advance\innerloopcount by \temp@count\relax + \fi + \advance\outerloopcount by 1 + \ifnum\outerloopcount>90\else\repeat + \if\seq@type P + \temp@count=\csname log2@20\endcsname + \else + \temp@count=\csname log2@4\endcsname + \fi + \advance\temp@count by -\innerloopcount + \multiply\temp@count by \second@ + \divide\temp@count by \seq@count + \xdef\last@{\the\temp@count} + \xdef\nineth@{n} + \outerloopcount=65 + \loop + \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname} + \xdef\first@{\csname res@num\first@@\endcsname} + \ifnum\first@>0 + \temp@count=\last@ + \multiply\temp@count by \first@\relax + \divide\temp@count by \second@\relax + \ifnum\temp@count=0 % + \temp@count=1 % + \fi% + \expandafter\xdef\csname res@val\first@@\endcsname{\the\temp@count} + \expandafter\xdef\csname res@num\first@@\endcsname{0} + \xdef\nineth@{y} + \else + \expandafter\xdef\csname res@val\first@@\endcsname{0} + \fi + \advance\outerloopcount by 1 + \ifnum\outerloopcount>90\else\repeat + \expandafter\xdef\csname res@val\d@t\endcsname{0} + \expandafter\xdef\csname res@num\d@t\endcsname{0} + \ifx\nineth@\y@ + \xdef\tmpstack{&:&,} + \outerloopcount=65 + \loop + \xdef\first@@{\csname ch@r@\the\outerloopcount\endcsname} + \xdef\second@@{\csname res@val\first@@\endcsname} + \ifnum\second@@>0 + \xdef\third@{\tmpstack @} \xdef\tmpstack{} + \sort@logostack + \fi + \advance\outerloopcount by 1 + \ifnum\outerloopcount>90 + \xdef\stack@sequencelogo{\stack@sequencelogo\tmpstack&:&,} + \else\repeat + \else + \xdef\stack@sequencelogo{\stack@sequencelogo O:0,&:&,} + \fi +} +\def\get@fromlogostack#1:#2,#3@{% + \xdef\first@{#1} \xdef\second@{#2} \xdef\third@{#3} +} +\def\sort@logostack{% + \expandafter\get@fromlogostack\third@ + \ifx\first@\ampers@nd + \xdef\tmpstack{\tmpstack\first@@:\second@@,} + \else + \ifnum\second@@<0 + \ifnum\second@>0 + \xdef\tmpstack{\tmpstack\first@@:\second@@,\first@:\second@,\third@} + \else + \temp@count=\second@@\relax \multiply\temp@count by -1\relax + \triple@count=\second@\relax \multiply\triple@count by -1\relax + \ifnum\temp@count<\triple@count + \xdef\tmpstack{\tmpstack\first@@:\second@@,\first@:\second@,\third@} + \else + \xdef\tmpstack{\tmpstack\first@:\second@,} + \xdef\third@@{\third@ .} + \ifx\third@@\d@t + \xdef\third@{&:&,@} + \else + \xdef\third@{\third@ @} + \fi + \sort@logostack + \fi + \fi + \else + \ifnum\second@@<\second@ + \xdef\tmpstack{\tmpstack\first@@:\second@@,\first@:\second@,\third@} + \else + \xdef\tmpstack{\tmpstack\first@:\second@,} + \xdef\third@@{\third@ .} + \ifx\third@@\d@t + \xdef\third@{&:&,@} + \else + \xdef\third@{\third@ @} + \fi + \sort@logostack + \fi + \fi + \fi +} \def\calc@feature{% \advance\pos@count by -1 @@ -5717,7 +6876,7 @@ \loop \advance\loopcount by 1 \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} - \else \xdef\first@@{\the\csname res@count\the\loopcount\endcsname} \fi + \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd \else \expandafter\ifnum\csname start\bottop@\the\loopcount\endcsname>\first@@ @@ -6029,25 +7188,29 @@ \xdef\seq@line{\csname sequence\the\loopcount\endcsname} \expandafter\residue@get\seq@line \xdef\first@{\csname res\the\loopcount\endcsname} + \innerloopcount=\csname res@num\first@\endcsname + \advance\innerloopcount by 1 + \expandafter\xdef\csname res@num\first@\endcsname{\the\innerloopcount} \expandafter\check@char\first@ \ifletter - \global\advance\csname res@count\the\loopcount\endcsname by 1 - \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0 - \global\advance\csname res@count\the\loopcount\endcsname by 1 - \fi - \ifnum\loopcount=\rule@num\relax - \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens + \res@count=\csname res@count\the\loopcount\endcsname + \advance\res@count by 1 + \ifnum\res@count=0\relax + \ifx\allow@zero\n@ \advance\res@count by 1 \fi + \fi + \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} + \ifnum\loopcount=\rule@num\relax + \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens \xdef\ruler@{\ruler@ !<\rule@tens>} - \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step - \ifnum\innerloopcount=0 \innerloopcount=1 \fi - \advance\innerloopcount by -1 - \ifnum\innerloopcount=\ruler@step - \else \advance\innerloopcount by 1 \fi + \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step\relax + \ifnum\innerloopcount=0 + \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi + \fi \xdef\rule@tens{\the\innerloopcount} - \else + \else \xdef\ruler@{\ruler@ -} - \fi - \fi + \fi + \fi \ifx\collect@valtop\yes \ifnum\v@lseqtop=\loopcount \xdef\v@ltop{\v@ltop,\csname \ffourth@top\first@\endcsname} @@ -6112,7 +7275,7 @@ \advance\innerloopcount by \csname pepcharge\first@\endcsname \expandafter\xdef\csname ch@rge\the\loopcount\endcsname{% \the\innerloopcount} - \else + \else \ifnum\loopcount=\rule@num \xdef\ruler@{\ruler@ -} \fi \ifx\collect@valtop\yes \ifnum\v@lseqtop=\loopcount @@ -6146,7 +7309,7 @@ \ifnum\tr@nsseqbbottom=\loopcount \xdef\tr@nslatebbottom{\tr@nslatebbottom -} \fi\fi - \fi + \fi \ifnum\loopcount<\seq@count \repeat \ifx\collect@cons@graphtop\yes \outerloopcount=1\relax @@ -6185,25 +7348,28 @@ \fi \global\advance\cons@count by 1\relax - \global\csname res@count0\endcsname=\cons@count + \ifnum\cons@count=0\relax + \ifx\allow@zero\n@ \global\advance\cons@count by 1 \fi + \fi + \expandafter\xdef\csname res@count0\endcsname{\the\cons@count} \ifnum\rule@num=0 \ifnum\cons@count=\rule@tens \xdef\ruler@{\ruler@ !<\rule@tens>} - \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step - \ifnum\innerloopcount=0 \innerloopcount=1 \fi - \advance\innerloopcount by -1 - \ifnum\innerloopcount=\ruler@step - \else \advance\innerloopcount by 1 \fi + \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step\relax + \ifnum\innerloopcount=0 + \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi + \fi \xdef\rule@tens{\the\innerloopcount} \else \xdef\ruler@{\ruler@ -} \fi \fi \advance\pos@count by 1 + \ifshow@logo \calc@logo \fi \ifregionalshadenow \calc@regshade \fi \ifregionaltintnow \calc@regtint \fi \ifregionalemphnow \calc@regemph \fi - \ifframenow \calc@frame \fi + \ifframenow \calc@frame \fi \iftopfeaturenow \xdef\bottop@{top} \calc@feature \fi \ifttopfeaturenow \xdef\bottop@{ttop} \calc@feature \fi \ifbottomfeaturenow \xdef\bottop@{bottom} \calc@feature \fi @@ -6239,15 +7405,17 @@ \xdef\first@{\csname res\the\loopcount\endcsname} \expandafter\check@char\first@ \ifletter - \global\advance\csname res@count\the\loopcount\endcsname by 1 - \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0 - \global\advance\csname res@count\the\loopcount\endcsname by 1 + \res@count=\csname res@count\the\loopcount\endcsname + \advance\res@count by 1 + \ifnum\res@count=0 + \ifx\allow@zero\n@ \advance\res@count by 1 \fi \fi + \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \ifnum\rule@num=\loopcount \temp@count=\csname res@count\the\loopcount\endcsname + \advance\temp@count by \ruler@step \divide\temp@count by \ruler@step \multiply\temp@count by \ruler@step - \ifnum\temp@count<0 \else \advance\temp@count by \ruler@step \fi \xdef\rule@tens{\the\temp@count} \fi \fi @@ -6365,26 +7533,30 @@ \expandafter\ifnum\csname res@count\the\loopcount\endcsname=% \innerloopcount \else - \global\advance\csname res@count\the\loopcount\endcsname by 1 - \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0 - \global\advance\csname res@count\the\loopcount\endcsname by 1 + \res@count=\csname res@count\the\loopcount\endcsname + \advance\res@count by 1 + \ifnum\res@count=0 + \ifx\allow@zero\n@ \advance\res@count by 1 \fi \fi \fi + \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \ifnames@right \expandafter\xdef\csname seq\the\loopcount\endcsname{% - \the\csname res@count\the\loopcount\endcsname)} + \csname res@count\the\loopcount\endcsname)} \else \expandafter\xdef\csname seq\the\loopcount\endcsname{% <\csname newseqname\the\loopcount\endcsname> - \the\csname res@count\the\loopcount\endcsname)} + \csname res@count\the\loopcount\endcsname)} \fi \expandafter\ifnum\csname res@count\the\loopcount\endcsname=% \innerloopcount \else - \global\advance\csname res@count\the\loopcount\endcsname by -1 - \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0 - \global\advance\csname res@count\the\loopcount\endcsname by -1 - \fi + \res@count=\csname res@count\the\loopcount\endcsname + \advance\res@count by -1 + \ifnum\res@count=0 + \ifx\allow@zero\n@ \advance\res@count by -1 \fi + \fi + \expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count} \fi \else \ifnames@right @@ -6768,7 +7940,7 @@ \else \innerloopcount=1\relax\put@char% \fi - \ifnumbers@left\else\def\@kern{\kern0em}\expandafter\put@number\first@\fi + \ifnumbers@right\def\@kern{\kern0em}\expandafter\put@number\first@\fi \ifnames@right\def\@kern{\kern1em}\expandafter\put@name\first@\fi \newline\hbox{}% } @@ -6776,13 +7948,21 @@ \def\set@consensus{% \ifnames@right \ifnumbers@left + \ifnumbers@right + \xdef\consensus{)\consensus)<\cons@name>}% + \else \xdef\consensus{)\consensus<\cons@name>}% + \fi \else \xdef\consensus{\consensus)<\cons@name>}% \fi \else \ifnumbers@left + \ifnumbers@right + \xdef\consensus{<\cons@name>)\consensus)}% + \else \xdef\consensus{<\cons@name>)\consensus}% + \fi \else \xdef\consensus{<\cons@name>\consensus)}% \fi @@ -6791,9 +7971,67 @@ \def\get@rulenum<#1>#2@{% \xdef\first@{#2@}% \ifcase\rule@top - \def\third@{\ensuremath{\,\stackrel{\mathtt{#1}}{.}}}% + \ifnum\ruler@rot=0 % + \xdef\temp@{tt}% + \ifx\ruler@family\temp@% + \def\third@{\ensuremath{\,\stackrel{\mathtt{#1}}{.}}}% + \else + \xdef\temp@{sf}% + \ifx\ruler@family\temp@% + \def\third@{\ensuremath{\,\stackrel{\mathsf{#1}}{.}}}% + \else + \xdef\temp@{rm}% + \ifx\ruler@family\temp@% + \def\third@{\ensuremath{\,\stackrel{\mathrm{#1}}{.}}}% + \fi\fi\fi + \else + \xdef\temp@{tt}% + \ifx\ruler@family\temp@% + \def\third@{\tt\bottomruler@size\,\,\,\,% + \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}% + \else + \xdef\temp@{sf}% + \ifx\ruler@family\temp@% + \def\third@{\sf\bottomruler@size\,\,\,\,% + \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}% + \else + \xdef\temp@{rm}% + \ifx\ruler@family\temp@% + \def\third@{\rm\bottomruler@size\,\,\,\,% + \begin{rotopo}{90}\hbox to \ruler@width{\,\ensuremath{\cdot}\,#1\hss}\end{rotopo}}% + \fi\fi\fi + \fi \else - \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathtt{#1}}}}% + \ifnum\ruler@rot=0 % + \xdef\temp@{tt}% + \ifx\ruler@family\temp@% + \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathtt{#1}}}}% + \else + \xdef\temp@{sf}% + \ifx\ruler@family\temp@% + \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathsf{#1}}}}% + \else + \xdef\temp@{rm}% + \ifx\ruler@family\temp@% + \def\third@{\bottomruler@size\ensuremath{\,\stackrel{.}{\mathrm{#1}}}}% + \fi\fi\fi + \else + \xdef\temp@{tt}% + \ifx\ruler@family\temp@% + \def\third@{\tt\bottomruler@size\,\,\,\,% + \begin{rotopo}{90}\hbox to \ruler@width{\hss#1\,\ensuremath{\cdot}}\end{rotopo}}% + \else + \xdef\temp@{sf}% + \ifx\ruler@family\temp@% + \def\third@{\sf\bottomruler@size\,\,\,\,% + \begin{rotopo}{90}\hbox to \ruler@width{\hss#1\,\ensuremath{\cdot}}\end{rotopo}}% + \else + \xdef\temp@{rm}% + \ifx\ruler@family\temp@% + \def\third@{\rm\bottomruler@size\,\,\,\,% + \begin{rotopo}{90}\hbox to \ruler@width{\hss#1\,\ensuremath{\cdot}}\end{rotopo}}% + \fi\fi\fi + \fi \fi} \def\next@rulechar#1#2@{% @@ -6814,15 +8052,35 @@ \fi} \def\put@ruler{% - \ifnames@right - \ifnumbers@left \xdef\ruler@{)\ruler@<>}\else\xdef\ruler@{\ruler@)<>}\fi - \else - \ifnumbers@left \xdef\ruler@{<>)\ruler@}\else\xdef\ruler@{<>\ruler@)}\fi - \fi + \ifnames@right% + \ifnumbers@left% + \ifnumbers@right% + \xdef\ruler@{)\ruler@)<>}% + \else% + \xdef\ruler@{)\ruler@<>}% + \fi% + \else% + \xdef\ruler@{\ruler@)<>}% + \fi% + \else% + \ifnumbers@left% + \ifnumbers@right% + \xdef\ruler@{<>)\ruler@)}% + \else% + \xdef\ruler@{<>)\ruler@}% + \fi% + \else% + \xdef\ruler@{<>\ruler@)}% + \fi% + \fi% \xdef\first@{\ruler@ @}% - \ifnames@right\else\def\@kern{\kern0em}\expandafter\put@name\first@\fi - \ifnumbers@left\def\@kern{\kern1em}\expandafter\put@number\first@\fi + \ifnames@right\else\def\@kern{\kern0em}\expandafter\put@name\first@\fi% + \ifnumbers@left\def\@kern{\kern1em}\expandafter\put@number\first@\fi% \vspace{-0.25\baselineskip}% + \fontfamily{\ruler@family}% + \fontseries{m}% + \fontshape{n}% + \selectfont% \innerloopcount=1\relax\textcolor{\ruler@fg}{\put@rulechar}% \newline\hbox{}% } @@ -7038,22 +8296,22 @@ \else% \xdef\last@{helix}% \ifx\second@@\last@% - \fontfamily{\rmdefault}% - \fontseries{\mddefault}% - \fontshape{\itdefault}% + \fontfamily{cmr}% + \fontseries{m}% + \fontshape{it}% \selectfont% \ifx\bottop@\temp@\xdef\last@{0.35}\else\xdef\last@{0}\fi% \kern0.15\box@width% - \setbox1=\hbox{\ensuremath{\smile}\kern-1.13exo\kern-1.02ex}% + \setbox1=\hbox{\ensuremath{\helixhook}\kern-1.13exo\kern-1.02ex}% \arrow@width=\second@\box@width% \divide\arrow@width by \wd1% \arrow@width=2\wd1% \loop% - \textcolor{\f@color}{\raisebox{-0.25ex}{\ensuremath{\smile}}% + \textcolor{\f@color}{\raisebox{-0.25ex}{\ensuremath{\helixhook}}% \kern-1.13ex\raisebox{0.3ex}{o}}\kern-1.02ex% \advance\arrow@width by \wd1\relax% \ifdim\arrow@width<\second@\box@width \repeat% - \textcolor{\f@color}{\raisebox{-0.25ex}{\ensuremath{\smile}}}% + \textcolor{\f@color}{\raisebox{-0.25ex}{\ensuremath{\helixhook}}}% \else% \xdef\last@{box}% \ifx\second@@\last@% @@ -7212,7 +8470,6 @@ \advance\width@tmp by -0.5\temp@@length% \if\first@@ o\xdef\first@@{O}\fi% \if\third@@ o\xdef\third@@{O}\fi% - \ifx\bottop@\temp@ \else \advance\width@tmp by -0.4\arrow@height\fi% \textcolor{\f@color}{% \if\first@@ ,% \rule{\temp@@length}{\arrow@height}\kern-\temp@@length% @@ -7244,6 +8501,11 @@ \if\third@@ O\advance\loopcount by -1\relax\ifnum\loopcount<0 \loopcount=0\fi\fi% \xdef\second@{\the\loopcount}% \rule[\width@tmp]{\second@\box@width}{\temp@@length}% + \setbox1=\hbox{\residues@size{\fill@char}}% + \kern-\second@\box@width% + \hbox to \second@\box@width{\textcolor{\backtext@color}{\hss\rule[\width@tmp]{1.2\wd1}{\temp@@length}\hss}}% + \kern-\second@\box@width% + \hbox to \second@\box@width{\textcolor{\frame@color}{\residues@size{\hss\fill@char\hss}}}% \if\third@@ ,% \kern-\temp@@length\rule{\temp@@length}{\arrow@height}% \else% @@ -7281,7 +8543,7 @@ } \def\next@featuretext#2;#3@{% \xdef\first@{#3@}% - \xdef\last@{#2::&}\expandafter\test@fill\last@% + \xdef\last@{fill:#2:&}\expandafter\test@fill\last@% \ifx\f@color\comm@\xdef\f@color{Black}\fi% \fontfamily{\featuretext@family}% \fontseries{\featuretext@series}% @@ -7444,7 +8706,21 @@ \fi% } \def\put@frame{% + \ifx\hide@seqs\n@% + \ifshow@cons\ifnum\cons@top=1 \vspace{-\baselineskip}\fi\fi% \temp@count=\seq@count% + \ifx\hide@seqs\y@ + \advance\temp@count by -1 + \else + \loopcount=1% + \xdef\first@{true}% + \loop% + \expandafter\ifx\csname hide@seq\the\loopcount\endcsname\first@% + \advance\temp@count by -1\fi% + \advance\loopcount by 1% + \ifnum\loopcount>\seq@count\else\repeat% + \fi + \ifnum\temp@count>0% \setlength\temp@@length{\box@height}% \advance\temp@@length by \box@depth% \setlength\arrow@height{0.5\temp@@length}% @@ -7456,7 +8732,6 @@ \vspace{\arrow@height}% \vspace{-\temp@@length}% \vspace{-\baselineskip}% - \ifshow@cons\ifnum\cons@top=1 \vspace{-\baselineskip}\fi\fi% \newline\hbox{}% \ifnames@right\else\ifnames@\hbox to \name@width{\hss}\fi\fi% \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi% @@ -7465,7 +8740,444 @@ \vspace{-\arrow@height}% \ifshow@cons\ifnum\cons@top=1 \vspace{\baselineskip}\fi\fi% \newline\hbox{}% + \fi% + \fi% +} +\def\decimal@A#1#2@{% + \def\decimal@AB##1##2@{\xdef\temp@{##1.##2}}% + \xdef\temp@@{#1}% + \xdef\temp@{#2@}% + \expandafter\decimal@AB\temp@% + \xdef\temp@{\temp@@\temp@}% } +\def\decimal@B#1#2@{\xdef\temp@{#1.#2}} +\def\decimal@C#1#2@{\xdef\temp@{0.#1#2}} +\def\decimal@D#1#2@{\xdef\temp@{0.0#1#2}} +\def\decimal@E#1#2@{\xdef\temp@{0.00#1#2}} +\def\correct@CGSO{% + \setlength\temp@@length{0.12\logo@height}% + \multiply\temp@@length by \third@ % + \if\seq@type P % + \divide\temp@@length by 4322 % + \else% + \divide\temp@@length by 4000 % + \fi% + \loopcount=\third@% + \multiply\loopcount by 94 % + \divide\loopcount by 100 % + \xdef\third@{\the\loopcount}% +} +\def\correct@Q{% + \setlength\temp@@length{0.063\logo@height}% + \multiply\temp@@length by \third@% + \if\seq@type P % + \divide\temp@@length by 4322 % + \else% + \divide\temp@@length by 4000 % + \fi% + \multiply\temp@@length by 10 % + \loopcount=\third@% + \multiply\loopcount by 83 % + \divide\loopcount by 100 % + \xdef\third@{\the\loopcount}% +} +\def\correct@JUV{% + \setlength\temp@@length{0.12\logo@height}% + \multiply\temp@@length by \third@ % + \if\seq@type P % + \divide\temp@@length by 4322 % + \else% + \divide\temp@@length by 4000 % + \fi% + \loopcount=\third@% + \multiply\loopcount by 97 % + \divide\loopcount by 100 % + \xdef\third@{\the\loopcount}% +} +\def\next@logo#1:#2,#3@{% + \xdef\first@{#1}\xdef\second@{#2}\xdef\last@{#3}% + \ifx\first@\ampers@nd% + \ifx\clear@logo\n@% + \ifx\hide@sig\n@% + \expandafter\firstchar@get\sublogo@sig% + \xdef\sublogo@sig{\third@}% + \ifx\first@\y@% + \loopcount=\temp@count% + \ifnum\loopcount<0 \loopcount=0\fi% + \xdef\fourth@{\the\loopcount @}% + \ifnum\loopcount>9999 \expandafter\decimal@A\fourth@ \else% + \ifnum\loopcount>999 \expandafter\decimal@B\fourth@ \else% + \ifnum\loopcount>99 \expandafter\decimal@C\fourth@ \else% + \ifnum\loopcount>9 \expandafter\decimal@D\fourth@ \else% + \expandafter\decimal@E\fourth@% + \fi\fi\fi\fi% + \raisebox{\temp@\logo@height}{% + \hbox to \box@width{\textcolor{\sig@color}{\hss\residues@size{\sig@char}\hss}}}% + \kern-\box@width% + \fi% + \fi% + \fi% + \temp@count=0% + \kern\box@width% + \advance\outerloopcount by 1 % + \else% + \ifnum#2=1% + \temp@count=0% + \else% + \if\seq@type N% + \loopcount=\second@% + \multiply\loopcount by 2% + \xdef\second@{\the\loopcount}% + \fi% + \xdef\third@{\second@}% + \if\first@ C\correct@CGSO \else% + \if\first@ G\correct@CGSO \else% + \if\first@ S\correct@CGSO \else% + \if\first@ O\correct@CGSO \else% + \if\first@ Q\correct@Q \else% + \if\first@ J\correct@JUV \else% + \if\first@ U\correct@JUV \else% + \if\first@ V\correct@JUV \else% + \setlength\temp@@length{0pt}% + \fi\fi\fi\fi\fi\fi\fi\fi% + \loopcount=\third@ + \multiply\loopcount by \logo@stretch@IOOO% + \ifnum\loopcount>0 % + \divide\loopcount by 1000 \xdef\fl@g{}% + \xdef\tint@{}% + \else% + \divide\loopcount by -1000 \xdef\fl@g{-}% + \xdef\tint@{\sublogo@tint}% + \fi% + \ifnum\loopcount=0\relax\loopcount=1\relax\fi + \xdef\third@{\the\loopcount @}% + \ifnum\loopcount>9999 \expandafter\decimal@A\third@ \else% + \ifnum\loopcount>999 \expandafter\decimal@B\third@ \else% + \ifnum\loopcount>99 \expandafter\decimal@C\third@ \else% + \ifnum\loopcount>9 \expandafter\decimal@D\third@ \else% + \expandafter\decimal@E\third@% + \fi\fi\fi\fi% + \xdef\third@{\fl@g\temp@}% + \ifnum\temp@count<0 % + \ifnum\second@<0 \else\temp@count=0 \fi% + \fi% + \ifnum\temp@count>0 % + \loopcount=\temp@count \xdef\fl@g{}% + \else + \loopcount=-\temp@count \xdef\fl@g{-}% + \fi% + \xdef\fourth@{\the\loopcount @}% + \ifnum\loopcount>9999 \expandafter\decimal@A\fourth@ \else% + \ifnum\loopcount>999 \expandafter\decimal@B\fourth@ \else% + \ifnum\loopcount>99 \expandafter\decimal@C\fourth@ \else% + \ifnum\loopcount>9 \expandafter\decimal@D\fourth@ \else% + \expandafter\decimal@E\fourth@% + \fi\fi\fi\fi% + \xdef\fourth@{\fl@g\temp@}% + \if\first@ W% + \hbox to \box@width{\hss% + \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{0.8}[\third@]% + {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{W}\hss}}}}}\hss}% + \kern-\box@width% + \else% + \raisebox{\temp@@length}{\raisebox{\fourth@\logo@height}{\scalebox{1}[\third@]% + {\hbox to \box@width{\textcolor{\tint@\csname logo@col\first@\endcsname}{\hss\residues@size{\first@}\hss}}}}}% + \kern-\box@width% + \fi% + \advance\temp@count by \second@% + \fi% + \fi% + \xdef\temp@{\last@.}% + \ifx\temp@\d@t% + \else% + \xdef\last@{#3@}% + \ifnum\outerloopcount>\res@perline% + \else + \expandafter\next@logo\last@% + \fi% + \fi% +} + +\def\put@logo{% + \ifx\clear@logo\y@% + \ifnum\logo@top=1 % + \vspace{-0.5\baselineskip}% + \else + \vspace{-0.75\baselineskip}% + \fi% + \else% + \ifnum\sublogo@top=1 % + \vspace{-0.5\baselineskip}% + \else + \vspace{-0.75\baselineskip}% + \fi% + \fi% + \newline\hbox{}% + \ifnames@right% + \else% + \fontfamily{\namestext@family}\fontseries{\namestext@series}\fontshape{\namestext@shape}% + \selectfont% + \ifnames@ + \textcolor{\names@fg}{% + \raisebox{2\logo@height}{\hbox to \name@width{\namestext@size{\logo@name}\hss}}% + \ifx\clear@logo\n@ + \ifx\hide@negatives\n@% + \kern-\name@width\raisebox{-3\logo@height}{\hbox to \name@width{\namestext@size{\sublogo@name@neg}\hss}}% + \fi% + \fi}% + \fi% + \fi% + \ifnumbers@left\ifnumbers@\hbox to \number@width{\hss}\fi\fi% + \fontfamily{cmss}\fontseries{m}\fontshape{n}\selectfont% + \ifx\show@logoscale\n@% + \if\seq@type P% + \ifnum\corr@max>600\relax% + \rule[5.4\logo@height]{0pt}{0pt}% + \else% + \rule[4.4\logo@height]{0pt}{0pt}% + \fi% + \else% + \rule[4.0688\logo@height]{0pt}{0pt}% + \fi% + \else% + \xdef\first@{right}% + \ifx\show@logoscale\first@% + \else% + \textcolor{\logo@scalecol}{% + \kern-0.7\box@width% + \rule[-0.05\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[2\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[4\logo@height]{0.4\box@width}{0.1\box@width}% + \if\seq@type P% + \kern-0.4\box@width% + \rule[1\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[3\logo@height]{0.4\box@width}{0.1\box@width}% + \ifnum\corr@max>600\relax% + \kern-0.4\box@width\rule[5\logo@height]{0.4\box@width}{0.1\box@width}\fi% + \setbox1=\hbox{\bottomruler@size 2}% + \kern-1.2\box@width% + \ifdim\logo@height>1.25\ht1 \relax% + \raisebox{-0.5\ht1}{\raisebox{1\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 1}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{3\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 3}}}% + \kern-0.6\box@width% + \ifnum\corr@max>600\relax% + \raisebox{-0.5\ht1}{\raisebox{5\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 5}}}% + \kern-0.6\box@width% + \fi + \fi + \raisebox{-0.5\ht1}{\raisebox{2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 2}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 4}}}% + \kern0.6\box@width% + \ifnum\corr@max>600\relax% + \rule[5.4\logo@height]{0pt}{0pt}% + \else + \rule[4.4\logo@height]{0pt}{0pt}% + \fi + \else% + \setbox1=\hbox{\bottomruler@size 2}% + \kern-1.2\box@width% + \raisebox{-0.5\ht1}{\raisebox{2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 1}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss 2}}}% + \kern0.6\box@width% + \rule[4.0688\logo@height]{0pt}{0pt}% + \fi% + \kern-0.1\box@width% + \ifnum\corr@max>600\relax% + \rule{0.1\box@width}{5\logo@height}% + \else% + \rule{0.1\box@width}{4\logo@height}% + \fi% + \ifx\clear@logo\n@% + \ifx\hide@negatives\n@% + \kern-0.4\box@width% + \rule[-2\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[-4\logo@height]{0.4\box@width}{0.1\box@width}% + \if\seq@type P% + \kern-0.4\box@width% + \rule[-\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[-3\logo@height]{0.4\box@width}{0.1\box@width}% + \ifnum\corr@max>600\relax% + \kern-0.4\box@width\rule[-5\logo@height]{0.4\box@width}{0.1\box@width}\fi% + \setbox1=\hbox{\bottomruler@size 2}% + \kern-1.2\box@width% + \ifdim\logo@height>1.25\ht1 \relax% + \raisebox{-0.5\ht1}{\raisebox{-\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -1}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{-3\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -3}}}% + \kern-0.6\box@width% + \ifnum\corr@max>600\relax% + \raisebox{-0.5\ht1}{\raisebox{-5\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -5}}}% + \kern-0.6\box@width% + \fi + \fi + \raisebox{-0.5\ht1}{\raisebox{-2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -2}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{-4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -4}}}% + \kern0.6\box@width% + \ifnum\corr@max>600\relax% + \rule[-5.4\logo@height]{0pt}{0pt}% + \else + \rule[-4.4\logo@height]{0pt}{0pt}% + \fi + \else% + \setbox1=\hbox{\bottomruler@size 2}% + \kern-1.2\box@width% + \raisebox{-0.5\ht1}{\raisebox{-2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -1}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{-4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size\hss -2}}}% + \kern0.6\box@width% + \rule[-4.0688\logo@height]{0pt}{0pt}% + \fi% + \kern-0.1\box@width% + \ifnum\corr@max>600\relax% + \rule[-5\logo@height]{0.1\box@width}{5\logo@height}% + \else% + \rule[-4\logo@height]{0.1\box@width}{4\logo@height}% + \fi% + \fi% + \fi + \kern0.3\box@width}% + \fi% + \fi% + \temp@count=0% + \outerloopcount=1 \expandafter\next@logo\last@% + \ifx\clear@logo\n@% + \ifx\hide@negatives\n@% + \textcolor{\logo@scalecol}{% + \kern-\res@perline\box@width\rule[-0.03\box@width]{\res@perline\box@width}{0.06\box@width}}% + \fi% + \fi% + \def\@kern{\kern1em}% + \ifx\show@logoscale\n@% + \else% + \xdef\first@{left}% + \ifx\show@logoscale\first@% + \kern0.1\box@width% + \else% + \def\@kern{\kern2em}% + \textcolor{\logo@scalecol}{% + \kern0.3\box@width% + \rule[-0.05\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[2\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[4\logo@height]{0.4\box@width}{0.1\box@width}% + \if\seq@type P% + \kern-0.4\box@width% + \rule[1\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[3\logo@height]{0.4\box@width}{0.1\box@width}% + \ifnum\corr@max>600\relax% + \kern-0.4\box@width\rule[5\logo@height]{0.4\box@width}{0.1\box@width}\fi% + \setbox1=\hbox{\bottomruler@size 2}% + \kern0.2\box@width% + \ifdim\logo@height>1.25\ht1 \relax% + \raisebox{-0.5\ht1}{\raisebox{1\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 1 \hss}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{3\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 3 \hss}}}% + \kern-0.6\box@width% + \ifnum\corr@max>600\relax% + \raisebox{-0.5\ht1}{\raisebox{5\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 5 \hss}}}% + \kern-0.6\box@width% + \fi + \fi + \raisebox{-0.5\ht1}{\raisebox{2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 2 \hss}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 4 \hss}}}% + \kern-0.8\box@width% + \ifnum\corr@max>600\relax% + \rule[5.4\logo@height]{0pt}{0pt}% + \else + \rule[4.4\logo@height]{0pt}{0pt}% + \fi + \else% + \setbox1=\hbox{\bottomruler@size 2}% + \kern0.2\box@width% + \raisebox{-0.5\ht1}{\raisebox{2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 1 \hss}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size 2 \hss}}}% + \kern-0.8\box@width% + \rule[4.0688\logo@height]{0pt}{0pt}% + \fi% + \kern-0.4\box@width% + \ifnum\corr@max>600\relax% + \rule{0.1\box@width}{5\logo@height}% + \else% + \rule{0.1\box@width}{4\logo@height}% + \fi% + \ifx\clear@logo\n@% + \ifx\hide@negatives\n@% + \kern-0.1\box@width% + \rule[-2\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[-4\logo@height]{0.4\box@width}{0.1\box@width}% + \if\seq@type P% + \kern-0.4\box@width% + \rule[-\logo@height]{0.4\box@width}{0.1\box@width}\kern-0.4\box@width% + \rule[-3\logo@height]{0.4\box@width}{0.1\box@width}% + \ifnum\corr@max>600\relax% + \kern-0.4\box@width\rule[-5\logo@height]{0.4\box@width}{0.1\box@width}\fi% + \setbox1=\hbox{\bottomruler@size 2}% + \kern0.2\box@width% + \ifdim\logo@height>1.25\ht1 \relax% + \raisebox{-0.5\ht1}{\raisebox{-\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -1 \hss}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{-3\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -3 \hss}}}% + \kern-0.6\box@width% + \ifnum\corr@max>600\relax% + \raisebox{-0.5\ht1}{\raisebox{-5\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -5 \hss}}}% + \kern-0.6\box@width% + \fi + \fi + \raisebox{-0.5\ht1}{\raisebox{-2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -2 \hss}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{-4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -4 \hss}}}% + \kern-0.8\box@width% + \ifnum\corr@max>600\relax% + \rule[-5.4\logo@height]{0pt}{0pt}% + \else + \rule[-4.4\logo@height]{0pt}{0pt}% + \fi + \else% + \setbox1=\hbox{\bottomruler@size 2}% + \kern0.2\box@width% + \raisebox{-0.5\ht1}{\raisebox{-2\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -1 \hss}}}% + \kern-0.6\box@width% + \raisebox{-0.5\ht1}{\raisebox{-4\logo@height}{\hbox to 0.6\box@width{\bottomruler@size -2 \hss}}}% + \kern-0.8\box@width% + \rule[-4.0688\logo@height]{0pt}{0pt}% + \fi% + \kern-0.4\box@width% + \ifnum\corr@max>600\relax% + \rule[-5\logo@height]{0.1\box@width}{5\logo@height}% + \else% + \rule[-4\logo@height]{0.1\box@width}{4\logo@height}% + \fi% + \fi% + \fi% + \kern-0.3\box@width}% + \fi% + \fi% + \ifnumbers@right\ifnumbers@\hbox to \number@width{\hss}\def\@kern{\kern1em}\fi\fi% + \ifnames@right% + \fontfamily{\namestext@family}\fontseries{\namestext@series}\fontshape{\namestext@shape}% + \selectfont% + \ifnames@ + \textcolor{\names@fg}{% + \raisebox{2\logo@height}{\hbox to \name@width{\namestext@size{\@kern\logo@name}\hss}}% + \ifx\clear@logo\n@ + \ifx\hide@negatives\n@% + \kern-\name@width\raisebox{-3\logo@height}{\hbox to \name@width{\namestext@size{\@kern\sublogo@name@neg}\hss}}% + \fi% + \fi}% + \fi% + \fi% + \ifx\clear@logo\y@\xdef\stack@sequencelogo{}% + \else% + \ifx\hide@negatives\n@ \newline\hbox{}\fi% + \fi% + \newline\hbox{}% +} + \def\set@lines{% \pos@count=1 \xdef\frame@pos{1}% @@ -7494,6 +9206,19 @@ \iffix@\iftopfeature \vspace{\t@sp@ce}\newline\hbox{}\newline\hbox{}\fi\fi \fi \ifnum\rule@num<0 \else \ifnum\rule@top=0 \loopcount=0 \put@ruler \fi\fi + \ifshow@logo\ifnum\logo@top=0 + \xdef\last@{\stack@sequencelogo @}% + \ifx\logo@name@user\ampers@nd\xdef\logo@name{logo}\else\xdef\logo@name{\logo@name@user}\fi + \xdef\clear@logo{y}% + \put@logo% + \xdef\clear@logo{n}% + \fi\fi + \ifshow@sublogo\ifnum\sublogo@top=0 + \read@sublogo% + \xdef\last@{\stack@sublogo @}% + \ifx\sublogo@name@user\ampers@nd\xdef\logo@name{subfamily}\else\xdef\logo@name{\sublogo@name@user}\fi + \put@logo% + \fi\fi \set@consensus \ifshow@cons\ifnum\cons@top=0 \xdef\cons@now{y}% @@ -7504,44 +9229,45 @@ \xdef\c@nscol{}% \xdef\cons@now{no}% \fi\fi - \loopcount=0 + \ifx\hide@seqs\n@% + \loopcount=0 % \loop - \advance\loopcount by 1 + \advance\loopcount by 1 % \xdef\second@{\csname hide@seq\the\loopcount\endcsname}% \xdef\first@{noshade}\nosh@defalse% \ifx\second@\first@ \nosh@detrue \xdef\second@{false}\fi \xdef\first@{false}% \ifx\second@\first@ \ifnames@right - \ifnumbers@left + \ifnumbers@right \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% + \csname res@count\the\loopcount\endcsname)% <\csname newseqname\the\loopcount\endcsname>}% \else \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% - \the\csname res@count\the\loopcount\endcsname)% <\csname newseqname\the\loopcount\endcsname>}% \fi \else - \ifnumbers@left - \else + \ifnumbers@right \expandafter\xdef\csname seq\the\loopcount\endcsname{% \csname seq\the\loopcount\endcsname% - \the\csname res@count\the\loopcount\endcsname)}% + \csname res@count\the\loopcount\endcsname)}% \fi \fi - \xdef\first@{\csname seq\the\loopcount\endcsname @}% - \expandafter\ifx\csname seq@gap\the\loopcount\endcsname\yes% - \ifnum\finger@linenum=0\seq@skip% - \else% + \xdef\first@{\csname seq\the\loopcount\endcsname @}% + \expandafter\ifx\csname seq@gap\the\loopcount\endcsname\yes% + \ifnum\finger@linenum=0\seq@skip% + \else% \ifnum\loopcount<\seq@count\seq@skip\fi% - \fi% + \fi% \fi% \put@line% - \fi - \ifnum\loopcount<\seq@count\repeat - \ifshow@cons\ifnum\cons@top=1 + \fi% + \ifnum\loopcount<\seq@count\repeat% + \fi% + \ifshow@cons\ifnum\cons@top=1 % \xdef\cons@now{y}% \xdef\first@{\consensus @}% \xdef\first@@@{\c@nscol @}% @@ -7549,48 +9275,64 @@ \put@line% \xdef\c@nscol{}% \xdef\cons@now{no}% - \fi\fi - \ifnum\frame@=1 - \ifnum\frame@on=0 \xdef\frame@{0}\fi - \put@frame - \fi - \ifnum\rule@num<0 - \else - \ifnum\rule@top=1 + \fi\fi% + \ifnum\frame@=1 % + \ifnum\frame@on=0 \xdef\frame@{0}\fi% + \put@frame% + \fi% + \ifshow@logo\ifnum\logo@top=1 % + \xdef\last@{\stack@sequencelogo @}% + \ifx\logo@name@user\ampers@nd\xdef\logo@name{logo}\else\xdef\logo@name{\logo@name@user}\fi + \xdef\clear@logo{y}% + \put@logo% + \xdef\clear@logo{n}% + \fi\fi% + \ifshow@sublogo\ifnum\sublogo@top=1 + \read@sublogo% + \xdef\last@{\stack@sublogo @} + \ifx\sublogo@name@user\ampers@nd\xdef\logo@name{subfamily}\else\xdef\logo@name{\sublogo@name@user}\fi + \put@logo% + \fi\fi% + \ifnum\rule@num<0 % + \else% + \ifnum\rule@top=1 % \loopcount=0\relax% + \ifnum\ruler@rot=0 % + \else \vspace{\ruler@width}\vspace{-1.75\baselineskip}\newline\hbox{}% + \fi \put@ruler% - \vspace{0.25\baselineskip}% - \fi - \fi - \ifnum\feature@bottom=1 - \ifnum\featureonbottom=0 \xdef\feature@bottom{0}\fi + \ifnum\ruler@rot=0 \vspace{0.25\baselineskip}\fi% + \fi% + \fi% + \ifnum\feature@bottom=1 % + \ifnum\featureonbottom=0 \xdef\feature@bottom{0}\fi% \xdef\bottop@{bottom}% \vspace{\b@sp@ce}% \if\bottom@stretch y% \vspace{-\box@height}% \vspace{\b@r@stretch\box@height}% \fi% - \put@feature + \put@feature% \else \iffix@ \if\bottom@stretch y% \vspace{-\box@height}% \vspace{\b@r@stretch\box@height}% \fi% - \ifbottomfeature - \vspace{\b@sp@ce}\newline\hbox{}\newline\hbox{} - \fi - \fi - \fi - \ifnum\feature@bbottom=1 - \ifnum\featureonbbottom=0 \xdef\feature@bbottom{0}\fi + \ifbottomfeature% + \vspace{\b@sp@ce}\newline\hbox{}\newline\hbox{}% + \fi% + \fi% + \fi% + \ifnum\feature@bbottom=1 % + \ifnum\featureonbbottom=0 \xdef\feature@bbottom{0}\fi% \xdef\bottop@{bbottom}% \vspace{\bb@sp@ce}% \if\bbottom@stretch y% \vspace{-\box@height}% \vspace{\b@r@stretch\box@height}% \fi% - \put@feature + \put@feature% \else \iffix@ \if\bbottom@stretch y% @@ -7598,7 +9340,7 @@ \vspace{\b@r@stretch\box@height}% \fi% \ifbbottomfeature - \vspace{\bb@sp@ce}\newline\hbox{}\newline\hbox{} + \vspace{\bb@sp@ce}\newline\hbox{}\newline\hbox{}% \fi \fi \fi @@ -7620,7 +9362,7 @@ \message{.} \ifx\out@put\y@ \vbox{\set@lines}\par -\block@skip + \block@skip \else \pos@count=1 \findc@nsensus @@ -7662,7 +9404,7 @@ \advance\loopcount by 1\relax \immediate\write\@auxout{% \string\savedseqlength{\@lign@count}{\the\loopcount}% - {\expandafter\the\csname res@count\the\loopcount\endcsname}} + {\csname res@count\the\loopcount\endcsname}} \ifnum\loopcount<\seq@count \repeat } @@ -7720,49 +9462,64 @@ \xdef\stylefeaturettop{} \xdef\stylefeaturebottom{} \xdef\stylefeaturebbottom{}} -\def\do@count{% - \expandafter\res@get\seq@line - \if\first@\ampers@nd - \else - \advance\innerloopcount by 1 - \expandafter\check@char\first@ - \ifletter - \global\advance\csname res@count\the\loopcount\endcsname by 1 - \expandafter\ifnum\csname res@count\the\loopcount\endcsname=0 - \global\advance\csname res@count\the\loopcount\endcsname by 1 - \fi - \fi - \do@count - \fi} -\def\residue@@count{% - \xdef\seq@line{\csname sequence\the\loopcount\endcsname &@} - \innerloopcount=0 \do@count - \advance\loopcount by 1 - \ifnum\loopcount>\seq@count \else\residue@@count\fi} +\def\guess@protein{\seqtype{P}\message{<Seqtype guess: protein>}} +\def\guess@DNA{\seqtype{N}\message{<Seqtype guess: nucleotide>}} \def\residue@count{% \expandafter\res@get\seq@line \if\first@\ampers@nd \else - \advance\innerloopcount by 1 - \ifstart@ \advance\res@count by 1 - \else + \advance\total@count by 1 + \advance\innerloopcount by 1 + \ifstart@ \advance\res@count by 1 \fi \ifnum\start@seq=0 \advance\end@count by 1 \else \expandafter\check@char\first@ - \ifletter \advance\end@count by 1 \fi - \fi - \ifnum\end@count=\start@num\relax - \xdef\start@number{\the\innerloopcount} - \ifnum\start@seq=0 - \cons@count=\start@number - \advance\cons@count by -1 + \ifletter + \advance\end@count by 1 + \if\seq@type A \relax + \temp@count=\char@num + \ifnum\temp@count>96 \advance\temp@count by -32 \fi + \ifnum\temp@count=69 \guess@protein + \else + \ifnum\temp@count=70 \guess@protein + \else + \ifnum\temp@count=73 \guess@protein + \else + \ifnum\temp@count=76 \guess@protein + \else + \ifnum\temp@count=80 \guess@protein + \else + \ifnum\temp@count=81 \guess@protein + \fi\fi\fi\fi\fi\fi + \fi + \fi + \ifnum\end@count=\start@num\relax + \xdef\start@number{\the\innerloopcount} + \start@true \res@count=1 \fi - \start@true \res@count=1 - \fi \fi \residue@count \fi} +\def\clean@seq{% + \expandafter\res@get\seq@line + \if\first@\ampers@nd \xdef\seq@line{\seq@@line} + \else + \expandafter\check@char\first@ + \ifnum\char@num>64 + \ifnum\char@num>96 \make@upper \fi + \xdef\seq@@line{\seq@@line\first@} + \else + \ifnum\char@num=46 + \xdef\seq@@line{\seq@@line\d@t} + \else + \ifnum\char@num=45 + \xdef\seq@@line{\seq@@line\d@t} + \fi + \fi + \fi + \clean@seq + \fi} \def\read@loop{% \read\alignfile to \inline \xdef\last@{\expandafter\string\inline} @@ -7774,33 +9531,33 @@ \else \innerloopcount=\csname @rd\the\loopcount\endcsname\relax \expandafter\ifx\csname seq@name\the\loopcount\endcsname\first@ + \xdef\seq@@line{} \xdef\seq@line{\seq@line &@} \clean@seq \expandafter\xdef\csname sequence\the\innerloopcount\endcsname{% \csname sequence\the\innerloopcount\endcsname\seq@line} - \ifnum\start@seq=0 - \ifnum\loopcount=1 - \res@count=0 \innerloopcount=0 - \xdef\seq@line{\seq@line &@} \residue@count - \fi - \else - \ifnum\innerloopcount=\start@seq - \res@count=0 \innerloopcount=0 - \xdef\seq@line{\seq@line &@} \residue@count - \fi - \fi \advance\loopcount by 1 \ifnum\loopcount>\seq@count - \ifstart@ - \else - \loopcount=1\residue@@count\clear@seq - \fi - \advance\seq@pointer by \res@count - \ifnum\seq@pointer>\res@perline \block@output \fi \loopcount=1 \fi \fi \fi \fi - \ifeof\alignfile \else \read@loop \fi} + \ifeof\alignfile + \ifnum\start@seq=0 + \xdef\seq@line{\csname sequence1\endcsname &@} + \else + \xdef\seq@line{\csname sequence\start@seq\endcsname &@} + \fi + \res@count=0 + \innerloopcount=0 + \residue@count + \advance\seq@pointer by \res@count\relax + \xdef\total@pos{\the\total@count} + \ifnum\end@num>\end@count\relax\xdef\end@num{\the\end@count}\fi + \ifshow@sublogo \prep@sublogo \fi + \ifshow@logo \prep@logo \fi + \ifnum\seq@pointer>\res@perline \block@output \fi + \else \read@loop + \fi} \def\read@fasta{% \read\alignfile to \inline \xdef\last@{\expandafter\string\inline} @@ -7820,7 +9577,8 @@ \innerloopcount=\csname @rd\the\loopcount\endcsname\relax \else \expandafter\ifx\csname seq@name\the\loopcount\endcsname\seq@name - \expandafter\xdef\csname sequence\the\innerloopcount\endcsname{% + \xdef\seq@@line{} \xdef\seq@line{\seq@line &@} \clean@seq + \expandafter\xdef\csname sequence\the\innerloopcount\endcsname{% \csname sequence\the\innerloopcount\endcsname\seq@line} \fi \fi @@ -7836,6 +9594,10 @@ \innerloopcount=0 \residue@count \advance\seq@pointer by \res@count + \xdef\total@pos{\the\total@count} + \ifnum\end@num>\end@count\relax\xdef\end@num{\the\end@count}\fi + \ifshow@sublogo \prep@sublogo \fi + \ifshow@logo \prep@logo \fi \ifnum\seq@pointer>\res@perline \block@output \fi \else \read@fasta @@ -7850,9 +9612,7 @@ \expandafter\ifnum\csname res@count\start@seq\endcsname<\start@num\relax \xdef\start@num{\the\loopcount} \else \start@true \fi - \loopcount=\end@num - \advance\loopcount by -\csname res@count\start@seq\endcsname\relax - \res@count=0 \seq@pointer=0 \end@count=0 + \res@count=0 \seq@pointer=0 \end@count=0 \total@count=0 \xdef\start@number{0} \ifx\f@st@\y@ \loopcount=0 @@ -7861,6 +9621,7 @@ \loopcount=1 \read@loop \fi + \if\seq@type A \guess@DNA \fi \ifnum\seq@pointer>0 \ifstop@ \else @@ -7869,8 +9630,10 @@ \block@output \fi \fi + \ifshow@sublogo \closein\sublogofile \fi + \closein\alignfile \message{)} - \closein\alignfile} +} %%%%% Read alignment, decide whether MSF or ALN, interpret @@ -7891,7 +9654,7 @@ } \else \message{(\alignfilename :} - \xdef\seq@type{} \xdef\he@der{no} \xdef\f@st@{no} + \xdef\seq@type{A} \xdef\he@der{no} \xdef\f@st@{no} \xdef\first@line{y} \seq@count=0 \loopcount=0 \innerloopcount=0 \temp@count=0 \loop @@ -7910,15 +9673,15 @@ \fi \ifx\first@\he@derend \ifnum\loopcount>0 \xdef\he@der{yes} \fi - \fi - \xdef\alnline{\inline @} - \expandafter\check@letter\alnline - \ifletter - \expandafter\seq@get\alnline - \advance\innerloopcount by 1\relax - \seq@count=\innerloopcount - \expandafter\xdef\csname newseqname\the\seq@count\endcsname{\first@} - \else + \fi + \xdef\alnline{\inline @} + \expandafter\check@letter\alnline + \ifletter + \expandafter\seq@get\alnline + \advance\innerloopcount by 1\relax + \seq@count=\innerloopcount + \expandafter\xdef\csname newseqname\the\seq@count\endcsname{\first@} + \else \expandafter\firstchar@get\alnline \ifx\first@\gre@ter \ifx\first@line\y@ \xdef\f@st@{y}\fi @@ -7930,7 +9693,7 @@ \fi \fi \fi - \xdef\first@line{n} + \xdef\first@line{n} \ifeof\alignfile \else\repeat \closein\alignfile \xdef\first@{no} @@ -7963,7 +9726,6 @@ \ifnum\loopcount<\seq@count \repeat \fi \set@savedseqlength - \ifnum\seq@count>\max@seqnumber \set@maxseqnumber\seq@count \fi \loopcount=0 \xdef\seq@order{} \expandafter\xdef\csname stack@reg\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@tintreg\the\loopcount\endcsname{&;&;&;@} @@ -7979,7 +9741,7 @@ \loop \advance\loopcount by 1 \expandafter\xdef\csname @rd\the\loopcount\endcsname{\the\loopcount} - \csname res@count\the\loopcount\endcsname=0 + \expandafter\xdef\csname res@count\the\loopcount\endcsname{0} \cleanup@name \expandafter\xdef\csname tint@seq\the\loopcount\endcsname{n} \expandafter\xdef\csname emph@seq\the\loopcount\endcsname{n} @@ -8007,9 +9769,6 @@ \killseq@count=\seq@count \seq@percent=100 \ifnum\seq@count>0 \divide\seq@percent by \seq@count \fi - \if\seq@type P \xdef\prefix@{pep} - \else \if\seq@type p \xdef\prefix@{pep} \xdef\seq@type{P} - \else \seqtype{N} \xdef\prefix@{DNA} \fi\fi \fi \fi } @@ -8017,11 +9776,15 @@ %%%%% TeXshade \def\calc@widths{% + \fontfamily{cmss}\fontseries{m}\fontshape{n} + \selectfont + \setbox1=\hbox{\residues@size{A}}\logo@height=\ht1 + \setlength\logo@height{\logo@stretch\logo@height} \fontfamily{\residues@family} \fontseries{\residues@series} \fontshape{\residues@shape} \selectfont - \setbox1=\hbox{\residues@size{W}}\box@width=\wd1 + \setbox1=\hbox{\residues@size{W}}\box@width=1.15\wd1 \global\setlength\box@width{\char@stretch\box@width} \box@height=1.2\ht1 \setbox1=\hbox{\residues@size{g}}\box@depth=1.1\dp1 @@ -8043,6 +9806,26 @@ \fontseries{\namestext@series} \fontshape{\namestext@shape} \selectfont + \ifshow@logo + \ifx\logo@name@user\ampers@nd + \setbox1=\hbox{\namestext@size logo\kern1em} + \else + \setbox1=\hbox{\namestext@size\logo@name@user\kern1em} + \fi + \ifnum\wd1>\name@width \name@width=\wd1 \fi + \fi + \ifshow@sublogo + \ifx\sublogo@name@user\ampers@nd + \setbox1=\hbox{\namestext@size family\kern1em} + \else + \setbox1=\hbox{\namestext@size\sublogo@name@user\kern1em} + \fi + \ifnum\wd1>\name@width \name@width=\wd1 \fi + \ifx\hide@negatives\n@ + \setbox1=\hbox{\namestext@size\sublogo@name@neg\kern1em} + \fi + \ifnum\wd1>\name@width \name@width=\wd1 \fi + \fi \loopcount=1 \loop \setbox1=\hbox{\namestext@size\csname newseqname\the\loopcount\endcsname} @@ -8079,12 +9862,46 @@ \fontseries{\numbertext@series} \fontshape{\numbertext@shape} \selectfont + \setbox1=\hbox{\bottomruler@size\num@width\,-} + \xdef\ruler@width{\the\wd1} \setbox1=\hbox{\numbertext@size\num@width} \number@width=\wd1 \advance\number@width by 1em \loopcount=\textwidth \ifnames@ \advance\loopcount by -\name@width \fi - \ifnumbers@ \advance\loopcount by -\number@width \fi + \width@tmp=1.6\box@width + \ifnumbers@ + \ifnumbers@left + \advance\loopcount by -\number@width + \else + \xdef\first@{left} + \ifx\show@logoscale\first@ + \advance\loopcount by -\width@tmp + \fi + \fi + \ifnumbers@right + \advance\loopcount by -\number@width + \else + \xdef\first@{right} + \ifx\show@logoscale\first@ + \advance\loopcount by -\width@tmp + \fi + \fi + \else + \xdef\first@{left} + \ifx\show@logoscale\first@ + \advance\loopcount by -\width@tmp + \fi + \xdef\first@{right} + \ifx\show@logoscale\first@ + \advance\loopcount by -\width@tmp + \fi + \xdef\first@{leftright} + \ifx\show@logoscale\first@ + \advance\loopcount by -\width@tmp + \advance\loopcount by -\width@tmp + \fi + \fi \divide\loopcount by \box@width \divide\loopcount by 5 \multiply\loopcount by 5 \ifrpl@fix\else @@ -8102,6 +9919,30 @@ \width@tmp=\box@width \multiply\width@tmp by \res@perline \advance\center@fill by -\width@tmp \ifx\out@put\y@\leftskip\c@factor\center@fill\fi + \ifx\logo@colors@set\n@ + \if\seq@type N + \clearlogocolors[Yellow] + \logocolor{G}{Black} + \logocolor{A}{Green} + \logocolor{TU}{Red} + \logocolor{C}{Blue} + \else + \clearlogocolors + \logocolor{DE}{Red} + \logocolor{CM}{Yellow} + \logocolor{KR}{Blue} + \logocolor{ST}{Orange} + \logocolor{FY}{MidnightBlue} + \logocolor{NQ}{Cyan} + \logocolor{G}{LightGray} + \logocolor{LVI}{Green} + \logocolor{A}{DarkGray} + \logocolor{W}{CarnationPink} + \logocolor{H}{CornflowerBlue} + \logocolor{P}{Apricot} + \logocolor{BZ}{LightMagenta} + \fi + \fi } \def\multiple@dssp{% @@ -8152,10 +9993,26 @@ \loopcount=\csname res@count\rule@num\endcsname \divide\loopcount by \ruler@step \multiply\loopcount by \ruler@step - \ifnum\loopcount<0 \else \advance\loopcount by \ruler@step \fi + \ifnum\loopcount<0 + \ifnum\ruler@step<3 + \advance\loopcount by \ruler@step + \fi + \else + \advance\loopcount by \ruler@step + \fi \xdef\rule@tens{\the\loopcount} \else - \xdef\rule@tens{\ruler@step} + \loopcount=\cons@count + \divide\loopcount by \ruler@step + \multiply\loopcount by \ruler@step + \ifnum\loopcount<0 + \ifnum\ruler@step<3 + \advance\loopcount by \ruler@step + \fi + \else + \advance\loopcount by \ruler@step + \fi + \xdef\rule@tens{\the\loopcount} \fi \xdef\first@{top} \ifx\cap@pos\first@ @@ -8173,19 +10030,19 @@ \ifnum\finger@linenum>0 \show@consfalse \hidechartrue - \message{<fingerprinting---please wait>} + \message{<Fingerprinting---please wait>} \fi \calc@widths \read@lines \save@lengths \iflegend@ - \vspace{\vspace@legend} - \setbox1=\vbox{\do@legend} - \vbox{\do@legend}\par - \ifnum\ht1<-\vspace@legend - \vspace{-\ht1}\vspace{-\vspace@legend} - \fi - \fi + \vspace{\vspace@legend} + \setbox1=\vbox{\do@legend} + \vbox{\do@legend}\par + \ifnum\ht1<-\vspace@legend + \vspace{-\ht1}\vspace{-\vspace@legend} + \fi + \fi \egroup \xdef\first@{bottom} \ifx\cap@pos\first@ @@ -8208,13 +10065,17 @@ \xdef\@lign@count{\the\loopcount} \start@true \xdef\start@num{1} \xdef\start@seq{0} \stop@false \xdef\end@num{99999999} \xdef\seq@regions{0} -\cons@count=0 \csname res@count0\endcsname=0 +\cons@count=0 +\expandafter\xdef\csname res@count0\endcsname{0} +\xdef\allow@zero{n} \xdef\c@ns@shift{0} \regionalshadefalse\regionalemphfalse\regionaltintfalse \frame@false +\xdef\ruler@rot{0} \topfeaturefalse\bottomfeaturefalse \ttopfeaturefalse\bbottomfeaturefalse \all@fshadefalse\hidecharfalse \xdef\finger@linenum{0} +\xdef\hide@seqs{n} \xdef\dssp@num{0} \xdef\stride@num{0} \xdef\PHD@num{0} \xdef\HMMTOP@num{0} \xdef\bottop@{top} \expandafter\xdef\csname feature@\bottop@\endcsname{0} \xdef\bottop@{ttop} \expandafter\xdef\csname feature@\bottop@\endcsname{0} @@ -8248,6 +10109,46 @@ \xdef\bottom@stretch{n} \xdef\bbottom@stretch{n} \xdef\c@nscol{} \xdef\c@nssc@le{ColdHot} \xdef\collect@cons@colors{no} \xdef\cons@now{no} +\xdef\res@numA{0} \xdef\res@numB{0} +\xdef\res@numC{0} \xdef\res@numD{0} +\xdef\res@numE{0} \xdef\res@numF{0} +\xdef\res@numG{0} \xdef\res@numH{0} +\xdef\res@numI{0} \xdef\res@numJ{0} +\xdef\res@numK{0} \xdef\res@numL{0} +\xdef\res@numM{0} \xdef\res@numN{0} +\xdef\res@numO{0} \xdef\res@numP{0} +\xdef\res@numQ{0} \xdef\res@numR{0} +\xdef\res@numS{0} \xdef\res@numT{0} +\xdef\res@numU{0} \xdef\res@numV{0} +\xdef\res@numW{0} \xdef\res@numX{0} +\xdef\res@numY{0} \xdef\res@numZ{0} +\expandafter\xdef\csname res@num\d@t\endcsname{0} +\xdef\res@corrA{0} \xdef\res@corrB{0} +\xdef\res@corrC{0} \xdef\res@corrD{0} +\xdef\res@corrE{0} \xdef\res@corrF{0} +\xdef\res@corrG{0} \xdef\res@corrH{0} +\xdef\res@corrI{0} \xdef\res@corrJ{0} +\xdef\res@corrK{0} \xdef\res@corrL{0} +\xdef\res@corrM{0} \xdef\res@corrN{0} +\xdef\res@corrO{0} \xdef\res@corrP{0} +\xdef\res@corrQ{0} \xdef\res@corrR{0} +\xdef\res@corrS{0} \xdef\res@corrT{0} +\xdef\res@corrU{0} \xdef\res@corrV{0} +\xdef\res@corrW{0} \xdef\res@corrX{0} +\xdef\res@corrY{0} \xdef\res@corrZ{0} +\expandafter\xdef\csname res@corr\d@t\endcsname{0} +\xdef\corr@max{0} \xdef\do@freq@correction{n} +\xdef\res@total{0} +\xdef\stack@sequencelogo{} \xdef\bit@total{0} +\clearlogocolors \xdef\logo@colors@set{n} +\show@sublogofalse \xdef\stack@sublogo{} +\xdef\clear@logo{n} \xdef\subfamily@threshold{50} +\xdef\subfamily@seq{1} \xdef\sig@max{100000} +\xdef\sublogo@num{} \xdef\sublogo@sig{} +\xdef\subfamily@count{0} \xdef\sublogo@name@neg{} +\xdef\logo@name@user{&} \xdef\sublogo@name@user{&} +\expandafter\xdef\csname group@num1\endcsname{0} +\expandafter\xdef\csname group@num2\endcsname{0} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%% %%%%% @@ -8257,7 +10158,7 @@ %%%%% %%%%% %%%%% Under any circumstances: %%%%% %%%%% %%%%% -%%%%% DO NOT CHANGE ANY SETTINGS !!! %%%%% +%%%%% DO NOT CHANGE ANY SETTINGS HERE !!! %%%%% %%%%% %%%%% %%%%% Please define your personal parameter file! Store your new file %%%%% %%%%% together with this style-file in the same directory and load the %%%%% @@ -8275,19 +10176,26 @@ \threshold{50} % Consensus threshold percentage is 50 \residuesperline{999} % As many residues as possible per line \numberingwidth{9999} % Assign space for 4 digit numbering -\charstretch{1.15} % Stretch character width 1.15fold -\linestretch{1} % Do not stretch lines +\charstretch{1} % Do not stretch character width +\linestretch{1} % Do not stretch lines vertically \gapchar{.} % . is printed in sequence gaps \gaprule{0.3pt} % If a rule is printed in gaps use 0.3 pt \gapcolors{Black}{White} % Gap symbols appear `Black on White' \numberingcolor{Black} % Numbering color is `Black' -\shownumbering{left} % Show sequence numbering on the left +\shownumbering{right} % Show sequence numbering on the left \namescolor{Black} % Names' color is `Black' -\shownames{right} % Show sequence names on the right +\shownames{left} % Show sequence names on the right \consensuscolors{Black}{White} % All consensus symbols/letters {Black}{White} % appear `Black on White' {Black}{White} % \showconsensus{bottom} % Show consensus line at bottom with +\hidesequencelogo % Do not show a sequence logo as consensus +\showlogoscale{leftright} % Show vertical scale bar if logo is on +\logostretch{1} % Do not stretch sequence logo vertically +\hidesubfamilylogo % Do not show a subfamily logo +\subfamilythreshold{50} % Set subfamily threshold to 50% +\shownegatives % Show negative values in subfamily logo +\showrelevance[Black]{*} % Label relevant subfamily deviations \defconsensus{{}}{*}{!} % Blank =no match; * =match; ! =all match \showleadinggaps % Show gap symbols before sequence start \rulercolor{Black} % Ruler's color is `Black' @@ -8328,6 +10236,7 @@ \setseries{legend}{md} % Use normal series for legend texts \setshape {legend}{up} % Use upright shape for legend texts \setsize {legend}{normalsize} % Use normal size for legend texts +\setfamily{ruler}{sf} % Use sans serif font for ruler numbers \tintdefault{medium} % Use medium tint intensity \emphdefault{it} % Use italics to emphasize regions \showonPHDsec{alpha,beta} % Show helices and strands (PHD input) |