Difference between revisions of "User:Boris/Temp3"
(Created page with "<div id="BIO"> <div class="b1"> Assignment for Week 11<br /> <span style="font-size: 70%">Calculating Phylogenies</span> </div> {{Template:Inactive}} Concepts and activities...") |
m |
||
Line 77: | Line 77: | ||
− | In principle, we have discussed strategies for using PSI-BLAST to collect suitable sequences earlier. To prepare the process, I have collected all APSES domains for six reference fungal species, together with the KilA-N domain of ''E. coli''. The process is explained on the [[Reference APSES | + | In principle, we have discussed strategies for using PSI-BLAST to collect suitable sequences earlier. To prepare the process, I have collected all APSES domains for six reference fungal species, together with the KilA-N domain of ''E. coli''. The process is explained on the [[Reference APSES domain sequences (reference species)|reference APSES domains page]]. |
Line 83: | Line 83: | ||
− | Renaming sequences so that their species is apparent is crucial for the interpretation of mixed gene trees. Refer to the [[Reference APSES | + | Renaming sequences so that their species is apparent is crucial for the interpretation of mixed gene trees. Refer to the [[Reference APSES domain sequences (reference species)|reference APSES domains page]] to see how I have prepared the FASTA sequence headers. |
Line 89: | Line 89: | ||
− | To analyse phylogenetic trees it is useful (and for some algorithms required) to define an outgroup, a sequence that presumably diverged from all other sequences in a clade before they split up among themselves. Wherever the outgroup inserts into the tree, this is the root of the rest of the tree. And whenever a molecular clock is assumed, the branching point that connects the outgroup can be assumed to be the oldest divergence event. I have defined an outgroup sequence and added it to the [[Reference APSES | + | To analyse phylogenetic trees it is useful (and for some algorithms required) to define an outgroup, a sequence that presumably diverged from all other sequences in a clade before they split up among themselves. Wherever the outgroup inserts into the tree, this is the root of the rest of the tree. And whenever a molecular clock is assumed, the branching point that connects the outgroup can be assumed to be the oldest divergence event. I have defined an outgroup sequence and added it to the [[Reference APSES domain sequences (reference species)|reference APSES domains page]]. The procedure is explained in detail on that page. |
>gi|301025594|ref|ZP_07189117.1| KilA-N domain protein [Escherichia coli MS 69-1] | >gi|301025594|ref|ZP_07189117.1| KilA-N domain protein [Escherichia coli MS 69-1] | ||
Line 101: | Line 101: | ||
===Calculating alignments=== | ===Calculating alignments=== | ||
− | Rather than have you go through the process of using these alignments and adding your YFO sequences to them in Jalview (which would be a bit redundant with what you have done earlier), I have created an alignment of all APSES domains for this assignment. The process too is explained in detail [[ | + | Rather than have you go through the process of using these alignments and adding your YFO sequences to them in Jalview (which would be a bit redundant with what you have done earlier), I have created an alignment of all APSES domains for this assignment. The process too is explained in detail [[Reference APSES domain sequences (reference species)#All_APSES_domains_for_all_course_species|'''on the reference APSES domains page''']]. Read the explanation. |
<!-- | <!-- | ||
{{task|1= | {{task|1= | ||
− | #Navigate to the [[Reference APSES | + | #Navigate to the [[Reference APSES domain sequences (reference species)|reference APSES domains page]] and copy the APSES/KilA-N domain sequences. |
#Open Jalview, select '''File → Input Alignment → from Textbox''' and paste the sequences into the textbox. | #Open Jalview, select '''File → Input Alignment → from Textbox''' and paste the sequences into the textbox. | ||
#Add the APSES domain sequences '''from your species (YFO)''' that you have previously defined through PSI-BLAST. Don't worry that the sequences are longer, the MSA algorithm should be able to take care of that. However: do rename your sequences to follow the pattern for the other domains, i.e. edit the FASTA header line to begin with the five-letter abbreviated species code. | #Add the APSES domain sequences '''from your species (YFO)''' that you have previously defined through PSI-BLAST. Don't worry that the sequences are longer, the MSA algorithm should be able to take care of that. However: do rename your sequences to follow the pattern for the other domains, i.e. edit the FASTA header line to begin with the five-letter abbreviated species code. | ||
Line 988: | Line 988: | ||
;Sequences | ;Sequences | ||
− | :* [[Reference APSES | + | :* [[Reference APSES domain sequences (reference species)|'''reference APSES domains page''']] |
Revision as of 17:44, 1 December 2014
Assignment for Week 11
Calculating Phylogenies
Note! This assignment is currently inactive. Major and minor unannounced changes may be made at any time.
Concepts and activities (and reading, if applicable) for this assignment will be topics on next week's quiz.
Contents
Introduction
- Nothing in Biology makes sense except in the light of evolution.
- Theodosius Dobzhansky
... but does evolution make sense in the light of biology?
As we have seen in the previous assignments, the Mbp1 transcription factor has homologues in all other fungi, yet there is not always a clear one-to-one mapping between members of a family in distantly related species. It appears that various systems of APSES domain transcription factors have evolved independently. Of course this bears directly on our notion of function - what it means to say that two genes in different organisms have the "same" function. In case two organisms both have an orthologous gene for the same, distinct function, saying that the function is the same may be warranted. But what if that gene has duplicated in one species, and the two paralogues now perform different, related functions in one organism? Theses two are still orthologues to the other species, but now we expect functionally significant residues to have adapted to the new role of one paralogue. In order to be able to even ask such questions, we need to make the evolutionary history of gene families explicit. This is the domain of phylogenetic analysis. We can ask questions like: how many paralogues did the cenancestor of a clade possess? Which of these underwent additional duplications in the phylogenesis of the organism I am studying? Did any genes get lost? And - adding additional biological insight to the picture - did the observed duplications lead to the "invention" of new biological systems? When was that? And perhaps even: how did the species benefit from this event?
We will develop this kind of analysis in this assignment. In the previous assignment you have established which gene in your species is the reciprocally most closely related orthologue to yeast Mbp1 (with reciprocal best match) and you have identified the full complement of APSES domain genes in your assigned organism (as a result of your PSI-BLAST search). In this assignment, we will analyse these genes' evolutionary relationship and compare it to the evolutionary relationship of all fungal APSES domains. The goal is to define families of related transcription factors and their evolutionary history.
A number of excellent tools for phylogenetic analysis exist; general purpose packages include the (free) PHYLIP package, the MEGA package and the (commercial) PAUP* package. Of these, only MEGA is still under active development, although PHYLIP still functions perfectly (except for problems with graphical windows under Mac OS 10.6). Specialized tools for tree-building include Treepuzzle or Mr. Bayes. This assignment is constructed around programs that are available in PHYLIP, however you are welcome to use other tools that fulfill a similar purpose if you wish. In this field, researchers consider trees that have been built with ML (maximum likelihood) methods to be more reliable than trees that are built with parsimony methods, or distance methods such as NJ (Neighbor Joining). However ML methods are also much more compute-intensive. Just like with multiple sequence alignments, some algorithms will come closer to guessing the truth and others will not and usually it is hard to tell which is the more trustworthy of two diverging results. The prudent researcher tries out alternatives and forms her own opinion. Specifically, we may usually assume results that converge when computed with different algorithms, to be more reliable than those that depend strongly on a particular algorithm, parameters, or details of input data.
However: regarding algorithm and resources, we will take a shortcut in this assignment (something you should not do in real life). We will assume that the tree the algorithm constructs is correct. In "real life" you would establish its reliability with a bootstrap procedure: repeat the tree-building a hundred times with partial data and see which branches and groupings are robust and which depend on the details of the data. (If you are interested, have a look here for the procedure for running a bootstrap analysis on the data set you are working with, but this may require a day or so of computing time on your computer.) In this assignment, we will simply acknowledge that bifurcations that are very close to each other have not been "resolved" and be appropriately cautious in our inferences. In phylogenetic analysis, not all lines a program draws are equally trustworthy. Don't take the trees as a given fact just because a program suggests this. Look at the evidence, include independent information where available, use your reasoning, and analyse the results critically. As you will see, there are some facts that we know for certain: we know which species the genes we have sequenced come from, and we can (usually) make good assumptions about the relationship of the species themselves - the history of speciation events that underlies all evolution of genes. This is extremely helpful information for our work.
For this assignment, we start from the APSES domains you have collected previously. You will align these domains with a set of reference domains and edit the alignment to make it suitable for phylogenetic analysis, using Jalview. Then you will construct a phylogenetic tree and interpret the tree. The goal is to identify orthologues and paralogues.
In case you want to review concept of trees, clades, LCAs, OTUs and the like, I have linked an excellent and very understandable introduction-level article on phylogenetic analysis here and to the resource section at the bottom of this page.
Baldauf (2003) Phylogeny for the faint of heart: a tutorial. Trends Genet 19:345-51. (pmid: 12801728) |
[ PubMed ] [ DOI ] Phylogenetic trees seem to be finding ever broader applications, and researchers from very different backgrounds are becoming interested in what they might have to say. This tutorial aims to introduce the basics of building and interpreting phylogenetic trees. It is intended for those wanting to understand better what they are looking at when they look at someone else's trees or to begin learning how to build their own. Topics covered include: how to read a tree, assembling a dataset, multiple sequence alignment (how it works and when it does not), phylogenetic methods, bootstrap analysis and long-branch artefacts, and software and resources. |
Preparing input alignments
In this section, we start from a collection of homologous APSES domains, construct a multiple sequence alignment, and edit the alignment to make it suitable for phylogenetic analysis.
Principles
In order to use molecular sequences for the construction of phylogenetic trees, you have to build a multiple alignment first, then edit it. This is important: all rows of sequences have to contain the exact same number of characters and to hold aligned characters in corresponding positions. Phylogeny programs are not meant to revise an alignment but to analyze evolutionary relationships, after the alignment has been determined. The program's inferences are made on a column-wise basis and if your columns contain data from unrelated positions, the inferences are going to be questionable. Clearly, in order for tree-estimation to work, one must not include fragments of sequence which have evolved under a different evolutionary model as all others, e.g. after domain fusion, or after accommodating large stretches of indels. Thus it is appropriate to edit the sequences and pare them down to a most characteristic subset of amino acids. The goal is not to be as comprehensive as possible, but to input those columns of aligned residues that will best represent the true phylogenetic relationships between the sequences.
The result of the tree construction is a decision about the most likely evolutionary relationships. Fundamentally, tree-construction programs decide which sequences had common ancestors.
Distance based phylogeny programs start by using sequence comparisons to estimate evolutionary distances:
- they apply a model of evolution such as a mutation data matrix, to calculate a score for each pair of sequences,
- this score is stored in a "distance matrix" ...
- ... and used to estimate a tree that groups sequences with close relationships together. (e.g. by using an NJ, Neigbor Joining, algorithm).
They are fast, can work on large numbers of sequences, but are less accurate if genes evolve at different rates.
Parsimony based phylogeny programs build a tree that minimizes the number of mutation events that are required to get from a common ancestral sequence to all observed sequences. They take all columns into account, not just a single number per sequence pair, as the Distance Methods do. For closely related sequences they work very well, but they construct inaccurate trees when they can't make good estimates for the required number of sequence changes.
ML, or Maximum Likelihood methods attempt to find the tree for which the observed sequences would be the most likely under a particular evolutionary model. They are based on a rigorous statistical framework and yield the most robust results. But they are also quite compute intensive and a tree of the size that we are building in this assignment is a challenge for the resources of common workstation (runs about an hour on my computer). If the problem is too large, one may split a large problem into smaller, obvious subtrees (e.g. analysing orthologues as a group, only including a few paralogues for comparison) and then merge the smaller trees; this way even very large problems can become tractable.
ML methods suffer less from "long-branch attraction" - the phenomenon that weakly similar sequences can be grouped inappropriately close together in a tree due to spuriously shared differences.
Bayesian methods don't estimate the tree that gives the highest likelihood for the observed data, but find the most probably tree, given that the data have been observed. If this sounds conceptually similar to you, then you are not wrong. However, the approaches employ very different algorithms. And Bayesian methods need a "prior" on trees before observation.
Choosing sequences
In principle, we have discussed strategies for using PSI-BLAST to collect suitable sequences earlier. To prepare the process, I have collected all APSES domains for six reference fungal species, together with the KilA-N domain of E. coli. The process is explained on the reference APSES domains page.
Renaming sequences
Renaming sequences so that their species is apparent is crucial for the interpretation of mixed gene trees. Refer to the reference APSES domains page to see how I have prepared the FASTA sequence headers.
Adding an outgroup
To analyse phylogenetic trees it is useful (and for some algorithms required) to define an outgroup, a sequence that presumably diverged from all other sequences in a clade before they split up among themselves. Wherever the outgroup inserts into the tree, this is the root of the rest of the tree. And whenever a molecular clock is assumed, the branching point that connects the outgroup can be assumed to be the oldest divergence event. I have defined an outgroup sequence and added it to the reference APSES domains page. The procedure is explained in detail on that page.
>gi|301025594|ref|ZP_07189117.1| KilA-N domain protein [Escherichia coli MS 69-1] MTSFQLSLISREIDGEIIHLRAKDGYINATSMCRTAGKLLSDYTRLKTTQEFFDELSRDMGIPISELIQS FKGGRPENQGTWVHPDIAINLAQWLSPKFAVQVSRWVREWMSGERTTAEMPVHLKRYMVNRSRIPHTHFS ILNELTFNLVAPLEQAGYTLPEKMVPDISQGRVFSQWLRDNRNVEPKTFPTYDHEYPDGRVYPARLYPNE YLADFKEHFNNIWLPQYAPKYFADRDKKALALIEKIMLPNLDGNEQF
E. coli KilA-N protein. Residues that do not align with APSES domains are shown in grey.
Calculating alignments
Rather than have you go through the process of using these alignments and adding your YFO sequences to them in Jalview (which would be a bit redundant with what you have done earlier), I have created an alignment of all APSES domains for this assignment. The process too is explained in detail on the reference APSES domains page. Read the explanation.
Editing sequences
As discussed in the lecture, we should edit our alignments to make them suitable for phylogeny calculations. Here are the principles:
Follow the fundamental principle that all characters in a column should be related by homology. This implies the following rules of thumb:
- Remove all stretches of residues in which the alignment appears ambiguous (not just highly variable, but ambiguous regarding the aligned positions).
- Remove all frayed N- and C- termini, especially regions in which not all sequences that are being compared appear homologous and that may stem from unrelated domains. You want to only retain the APSES domains. All the extra residues from the YFO sequence can be deleted.
- Remove all gapped regions that appear to be alignment artefacts due to inappropriate input sequences.
- Remove all but approximately one column from gapped regions in those cases where the presence of several related insertions suggest that the indel is real, and not just an alignment artefact. (Some researchers simply remove all gapped regions).
- Remove sections N- and C- terminal of gaps where the alignment appears questionable.
- If the sequences fit on a single line you will save yourself potential trouble with block-wise vs. interleaved input. If you do run out of memory try removing columns of sequence. Or remove species that you are less interested in from the alignment.
- Move your outgroup sequence to the first line of your alignment, since this is where PHYLIP will look for it by default.
Handling indels
Gaps are a real problem, as usual. Strictly speaking, the similarity score of an alignment program as well as the distance score of a phylogeny program are not calculated for an ordered sequence, but for a sum of independent values, one for each aligned columns of characters. The order of the columns does not change the score. However in an optimal sequence alignment with gaps, this is no longer strictly true since a one-character gap creation has a different penalty score than a one-character gap extension! Most alignment programs use a model with a constant gap insertion penalty and a linear gap extension penalty. This is not rigorously justified from biology, but parametrized (or you could say "tweaked") to correspond to our observations. However, most phylogeny programs, (such as the programs in PHYLIP) do not work in this way. PHYLIP strictly operates on columns of characters and treats a gap character just like a residue with the one letter code "-". Thus gap insertion- and extension- characters get the same score. For short indels, this underestimates the distance between pairs of sequences, since any evolutionary model should reflect the fact that gaps are much less likely than point mutations. If the gap is very long though, all events are counted individually as many single substitutions (rather than one lengthy one) and this overestimates the distance. And it gets worse: long stretches of gaps can make sequences appear similar in a way that is not justified, just because they are identical in the "-" character. It is therefore common and acceptable to edit gaps in the alignment and delete all but one or two columns of gapped sequence, or to remove such columns altogether.
I have taken a shortcut here, by simply removing all columns that contains more than 90% gap characters. For this purpose, I have written the following short Perl script - you could do the same thing with a few lines of R - or you could actually do this by hand. It will take you a little while, but these kinds of tasks are still doable, albeit tedious. Of course, this is not a Perl course, but try reading through the comments to get a sense of what this does.
#!/usr/bin/perl
# RemoveGaps.pl
# Read an aligned multi FASTA file and remove all columns that exceed
# a threshold of gap characters.
# Write output sorted by species code.
# BS Nov 2013
use strict;
use warnings;
my $mfaFile = "APSES_domains.mfa";
#my $mfaFile = "test.mfa";
my $MAXGAP = 0.9; # Maximum allowed gap characters in a column
my $GAPCHAR = '-'; # The gap character
my %seq; # Hash to hold the concatenated sequences that we
# read from the .mfa file
my @ali =(()); # 2D array to hold the aligned sequences
my %phy; # Hash to hold the output with gap columns removed
my $key;
#read the .mfa file into our hash
open IN, $mfaFile or die "$!";
while (my $line = <IN>) { # process all lines from this file
# use regular expression to parse information about annotated Mbp1 RBMs
if ($line =~ m/^>(\S+)/) { # new header
$key = $1;
}
else {
chomp($line); # remove linebreaks
$seq{$key} .= $line; # add to sequence (or create new entry)
}
}
close IN;
# iterate through the hash and convert all the strings to arrays
foreach my $key (keys(%seq)) {
my @a = split(//, $seq{$key}); # split the string into single characters.
push(@ali, [ @a ]); # store the array of characters in our array
$seq{$key} = scalar(@ali) - 1; # store the row index in the original hash
}
my $nrow = scalar(@ali); # number of rows...
my $ncol = scalar(@{$ali[0]}); # number of columns ...
for (my $iC=0; $iC<$ncol; $iC++) { # for all columns...
my $gaps = 0; # clear number of gaps and ...
for (my $iR=0; $iR<$nrow; $iR++) { # for all rows ...
my $x = $ali[$iR][$iC];
if ($ali[$iR][$iC] eq $GAPCHAR) {
$gaps++; # count gaps
}
}
if ($gaps / $nrow < $MAXGAP) { # then, if less gaps than allowed
# in this column, ...
# append the characters to the output hash
foreach my $key (keys(%seq)) {
my $iRow = $seq{$key}; # fetch the row index for this key...
$phy{$key} .= $ali[$iRow][$iC]; # and append array cell contents
}
}
}
# Now iterate through all keys in %phy and print sequences in
# multi FASTA format. But do this nicely sorted by organism!
foreach my $key (sort({substr($a,5,5) cmp substr($b,5,5) } keys(%phy))) {
print (">");
print ("$key\n");
print ("$phy{$key}\n");
}
exit();
Finally: here is the resulting file - 284 sequences in all! They are sorted into three blocks: at the top is the E. coli KilA-N sequence - the "outgroup". This is followed by the domains from six fungal species that span the phylogentic tree of fungi, we'll call them our "reference species". Finally: all the other genome sequenced fungi.
>KilA_ESCCO
----------RAKDGYINATSMCRT----AGKLLSDYTRLLSRDMGIPISEIQSFKGGRPENQGTWVHPDIAINLAQ-----
>Mbp1_SACCE
IHSTGS-IMKRKKDDWVNATHILKA----ANFAKAKRTRILEKEVLKE--THEKVQGGFGKYQGTWVPLNIAKQLAEKFSVY
>Phd1_SACCE
--NGIS-VVRRADNNMINGTKLLNV----TKMTRGRRDGILRSEK-----VREVVKIGSMHLKGVWIPFERAYILAQREQI-
>Sok2_SACCE
--NGIS-VVRRADNDMVNGTKLLNV----TKMTRGRRDGILKAEK-----IRHVVKIGSMHLKGVWIPFERALAIAQREKI-
>Swi4_SACCE
---TKI-VMRRTKDDWINITQVFKI----AQFSKTKRTKILEKESNDM--QHEKVQGGYGRFQGTWIPLDSAKFLVNKYEI-
>Xbp1_SACCE
------DFHWNNIKPELRICQSYKDF--LINELG--PDQIDLPNL-NPANFTKRIRGGYIKIQGTWLPMEISRLLCLRFC--
>Aps1_CANAL
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFERALAMAQREQI-
>Aps2_CANAL
MMNESS-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKVQGGFGRFQGTWIPLEDARKLAKTYGV-
>Aps4_CANAL
---NNHWVIWDYETGWVHLTGIWKASNVSPSHLKADIVKLLESTPKEYQQYIKRIRGGFLKIQGTWLPYKLCKILARRFCYY
>Aps7_CANAL
-HGEII-VLRRVQDSFVNVTQLFQILIKLEVLPTSQVDNYFDNEILSN--LKYF--GSNIYLQGIWIPYDKAVNLALKFDIY
>Mbp1_CANAL
VTSEGP-IMRRKKDSWINATHILKI----AKFPKAKRTRILEKDVQTG--IHEKVQGGYGKYQGTYVPLDLGAAIARNFGVY
>Aps3_CANAL
---NIL-VSRREDTNYINGTKLLNV----IGMTRGKRDGILKTEK-----IKNVVKVGSMNLKGVWIPFDRAYEIARNEGV-
>Aps6_CANAL
MMNESS-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKVQGGFGRFQGTWIPLEDARRLAKTYGV-
>Aps5_CANAL
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFERALAMAQREQI-
>Mbp1_USTMA
IINNVA-VMRRRSDDWLNATQILKV----VGLDKPQRTRVLEREIQKG--IHEKVQGGYGKYQGTWIPLDVAIELAERYNI-
>Aps4_USTMA
---RGHTMMIDVDTSFVRFTSITQAL----GKNKVNFGRLVKTCP-ALDPHITKLKGGYLSIQGTWLPFDLAKELSRR----
>Aps2_USTMA
-VRGIA-VMRRRGDGWLNATQILKI----AGIEKTRRTKILEKSILTG--EHEKIQGGYGKFQGTWIPLQRAQQVAAEYNV-
>Aps2_NEUCR
---GIC-VARREDNAMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps3_NEUCR
---PSYFLMRRSQDGYISATGMFKATFPYASQEEEEAERKYIKSIPTT--SSEETAG------NVWIPPEQALILAEEYQI-
>Aps4_NEUCR
-------VMRRRHDDWVNATHILKA----AGFDKPARTRILEREVQKD--THEKIQGGYGRYQGTWIPLEQAEALARRNNIY
>Aps1_NEUCR
--NNVA-VMRRQKDGWVNATQILKV----ANIDKGRRTKILEKEIQIG--EHEKVQGGYGKYQGTWIPFERGLEVCRQYGV-
>Mbp1_ASPNI
-----S-VMRRRSDDWINATHILKV----AGFDKPARTRILEREVQKG--VHEKVQGGYGKYQGTWIPLQEGRQLAERNNI-
>Aps4_ASPNI
----TYFLMRRSKDGFVSATGMFKIAFPWAKLDEERSEREYLKTRTET--SEDEIAG------NVWISPLLALELAKEYQMY
>Aps3_ASPNI
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps7_ASPNI
---KQWTVMWDYNIGLVRTTHLFKCN----DYSKTTPAKMLNQNP-GLRDICHSITGGALAAQGYWMPYEAAKAIAATFC--
>Aps6_ASPNI
-----S-VMRRRSDDWINATHILKV----AGFDKPARTRILEREVQKG--VHEKVQGGYGKYQGTWIPLPEGRMLAERNNI-
>Aps5_ASPNI
---KTWVISWDYNVGLVLTRSLFKCN----GHPKTAPAKVLKMNP-GLGDISHSITGGALVGQGYWMPFRAAKALATTFC--
>Aps8_ASPNI
--NGVA-VMKRRSDSWLNATQILKV----AGVVKARRTKTLEKEIAAG--EHEKVQGGYGKYQGTWVNYQRGVELCREYHV-
>Aps9_ASPNI
--NGVA-VMKRRSDGWLNATQILKV----AGVVKARRTKTLEKEIAAG--EHEKVQGGYGKYQGTWVNYQRGVELCREYHV-
>Aps2_ASPNI
----TYFLMRRSKDGYVSATGMFKIAFPWAKLEEERSEREYLKTRPET--SEDEIAG------NVWISPVLALELAAEYKMY
>Aps1_ASPNI
--KGVC-VARREDNGMINGTKLLNV----AGMTRGRRDGILKSEK-----VRNVVKIGPMHLKGVWIPFDRALEFANKEKI-
>Res1_SCHPO
-INGFP-LMKRCHDNWLNATQILKI----AELDKPRRTRILEKFAQKG--LHEKIQGGCGKYQGTWVPSERAVELAHEYNVF
>CdcA_SCHPO
---GDNVALRRCPDSYFNISQILRL----AGTSSSENAKELDDIIESG--DYENVDSKHPQIDGVWVPYDRAISIAKRYGVY
>Aps4_SCHPO
-----HFLMRMAKDSSISATSMFRSAFPKATQEEEDLEMRWIRDNLNP--IEDKRVA------GLWVPPADALALAKDYSM-
>Mbp1_SCHPO
-IKGVS-VMRRRRDSWLNATQILKV----ADFDKPQRTRVLERQVQIG--AHEKVQGGYGKYQGTWVPFQRGVDLATKYKV-
>Aps3_AJEDE
---KTYTVMWDYNIGLVRTTSLFRCN----NYSKTAPAKMLNANP-GLREICHSITGGALAAQGYWMPFEAAKAVAATFC--
>Aps2_AJEDE
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRNVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps1_AJEDE
--NGVA-VMRRRSDSWLNATQILKV----AGVMKARRTKTLEKEVAAG--EHEKVQGGYGKYQGTWVNYERGVELCRHYHVF
>Mbp1_AJEDE
-------VMRRRADDWINATHILKV----AGLDKPARTRILEREVQKG--VHEKVQGGYGKYQGTWVPLQEGRELAERNGI-
>Aps2_ARTBE
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----IRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps1_ARTBE
-------VMRRRVDDWVNATHILKA----AGLDKPSRTRILERDVQRG--VHEKIQGGYGKYQGTWIPLAEARALADKNNV-
>Aps3_ARTBE
--------MRRRSDSWLNATQILKV----AGVAKARRTKTLEKEVAAG--EHEKVQGGYGKYQGTWVSYERGLELCRRYQV-
>Aps5_ARTGY
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----IRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps4_ARTGY
-------VMRRRVDDWVNATHILKA----AGLDKPSRTRILEREVQRG--VHEKIQGGYGKYQGTWIPLAEARALADKNGV-
>Aps3_ARTGY
---KVYTVMWDYNIGLVRTTSLFRCN----NYSKTAPAKMLNANP-GLREICHSITGGALAAQGYWMPFEAAKAVAATFC--
>Aps1_ARTGY
----SYFLMRRSRDGHISASGMFKIAFPWAKHSEESDERDYLRTRPET--SEDEIAG------NVWISPELALELAREYGI-
>Aps2_ARTGY
--NGVA-MMRRRSDSWLNATQILKV----AGVAKARRTKTLEKEVAAG--DHEKVQGGYGKYQGTWVSYERGLELCRRYQV-
>Aps2_ASHGO
--NGVS-VVRRADNDMINGTKLLNV----AKMTRGRRDGILKAEK-----VRHVVKIGSMHLKGVWIPFERALALAQREKI-
>Aps1_ASHGO
-----I-VMRRLHDDWVNITQVFKV----ATFSKTQRTKILEKESADI--SHEKIQGGYGRFQGTWIPLDSAKGLVAKYEI-
>Aps4_ASHGO
-----TDVHWNQVDPTWKLCRLYQQ------------EKNLDFTP-EFQDCYKRIRGGYIKIQGTWLPMEICKRLCIRFC--
>Aps3_ASHGO
LHPTGS-IMKRKADDWVNATHILKA----AKFAKAKRTRILEKEVIKD--THEKVQGGFGKYQGTWVPLDIARRLAQKFEV-
>Aps1_ASPCL
--NGVA-VMKRRSDSWLNATQILKV----AGVVKARRTKTLEKEIAAG--EHEKVQGGYGKYQGTWVNYQRGVDLCREYHV-
>Aps3_ASPCL
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps5_ASPCL
---GES-VMRRRGDNWINATHILKV----AGFDKPARTRILEREVQKG--THEKVQGGYGKYQGTWIPLPEGRLLAERNNI-
>Aps4_ASPCL
----TYFLMRRSKDGYVSATGMFKIAFPWAKLEEEKAEREYLKSRDET--SEDEIAG------NIWISPTLALELAKEYQMY
>Aps2_ASPCL
---KEWTVMWDYNIGLVRTTHLFKCN----DYSKTTPAKMLNLNP-GLREICHSITGGALAAQGYWMPFEAAKAVAATFC--
>Aps2_ASPFU
----TYFLMRRSKDGYVSATGMFKIAFPWAKLEEEKAEREYLKTREGT--SEDEIAG------NIWVSPLLALELAKEYQMY
>Mbp1_ASPFU
--------MRRRGDDWINATHILKV----AGFDKPARTRILEREVQKG--THEKVQGGYGKYQGTWIPLHEGRLLAERNNI-
>Aps4_ASPFU
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps1_ASPFU
--NGVA-VMKRRSDSWLNATQILKV----AGVVKARRTKTLEKEIAAG--EHEKVQGGYGKYQGTWVNYQRGVELCREYHV-
>Aps3_ASPFU
---KEWIVMWDYNIGLVRTTHLFKCN----DYS-----KMLNANP-GLREICHSITGGALAAQGYWMPYEAAKAVAATFC--
>Aps1_ASPTE
--KGVC-VARREDNSMINGTKLLNV----AGMTRGRRDGILKSEK-----IRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Mbp1_ASPTE
-----S-VMRRRADDWINATHILKV----AGFDKPARTRILEREVQKG--VHEKVQGGYGKYQGTWIPLPEGRLLAERNNI-
>Aps3_ASPTE
----TYFLM----DGYVSATGMFKIAFPWAKLDEERSEREYLKSREET--SEDEIAG------NVWISPKLALELAGEYQMY
>Aps4_ASPTE
--NGVA-VMKRRSDSWLNATQILKV----AGVVKARRTKTLEKEIAAG--EHEKVQGGYGKYQGTWVNYQRGVDLCREYHV-
>Aps2_ASPTE
---KEWLIMWDYNIGLVRTTPLFRSQ----NYSKTTPAKVLDANP-GLREISHSITGGAIVAQGYWIPFEAAKAVAATFC--
>Aps4_CANDU
---NIL-VSRREDTNYINGTKLLNV----IGMTRGKRDGILKTEK-----IKNVVKVGSMNLKGVWIPFDRAYEIARNEGV-
>Aps1_CANDU
IMNDYS-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKVQGGFGRFQGTWIPLEDARRLAESYGV-
>Aps3_CANDU
VTSEGP-IMRRKKDSWINATHILKI----AKFPKAKRTRILEKDVQTG--IHEKVQGGYGKYQGTYVPLDLGAAIAKNFGVY
>Aps5_CANDU
-HNEII-VLRRVQDSFVNITQLFQILIKLDLLSASQVNNYFDNEILSN--LEYF--GSNTFLQGIWIPYDRAVNLALKFDVY
>Aps2_CANDU
---NNHWVIWDYETGWVHLTGIWKASNVSPSHLKADIVKLLESTPKEYQQYIKRIRGGFLKIQGTWLPFKLCKILARRFCYY
>Aps6_CANDU
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFERALVMAQREGI-
>Mbp1_CANGA
IHPTGS-IMKRKNDGWVNATHILKA----ANFAKAKRTRILEKEVLKE--MHEKVQGGFGKYQGTWVPLNIAINLAEKFDVY
>Aps3_CANGL
--NGVS-VVRRADNDMINGTKLLNV----TKMTRGKRDGILRSEK-----YRKVVKIGSMHLKGVWIPFERALFIAKREKI-
>Aps4_CANGL
-----I-VMRRTMDDWVNVTQVFKI----AQFSKTQRTKILEKESTNM--KHEKVQGGYGRFQGTWVPLEAAKFMTTKYNI-
>Aps2_CANGL
-HNGVT-VVRRADNDMVNGTKLLNV----TGMTRGRRDGILKNEP-----VRDVVKGGPMTLKGVWIPIDRARAIARQEGI-
>Aps1_CANGL
------DFHWFDISEKVRIFEQFKQH--LEKDRN--VDCSTIP---KAEEYIQRIRGGYIKIQGTWVPWYIAKLICIRFC--
>Mbp1_CANOR
VTSEGP-IMRRKGDSWINATHILKI----AKLPKAKRTRILEKDVQTG--IHEKVQGGYGKYQGTYVPLKLGEVIARNYDVY
>Swi4_CANOR
--NDSP-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKVQGGFGRFQGTWIPLEDARRLACTYGV-
>Efh1_CANOR
--NEIL-VSRREDNNYINCTKLLNV----TGMSRGKRDGILKTEK-----VKDVVKVGTMNLKGVWVPFDRAYEIARNEGV-
>Efg1_CANOR
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFERALSMAQRENI-
>Swi6_CANOR
---EII-VLRRVQDSFINASQLLKILVRLHIVTPIQVKNYLNNEVLSN--LEYF--GNNKSLRGIWVPYNKGVKIALDFDVY
>Aps1_CANOR
---NDHWVIWDYETGFVHLTGIWKASPPCASHFKADIVKLLESTPKQYQAYIKRIRGGFLKIQGTWLPFKLCKILARRFCY-
>Aps1_CANTR
---NNHWVIWDYETGWVHLTGIWKASNVSPSHMKADIVKLLESTPKEYQHYIKRIRGGFLKIQGTWLPYKLCKILARRFCYH
>Aps5_CANTR
---NIL-VSRREDSNYINGTKLLNV----IGMTRGKRDGILKTEK-----VKNVVKVGSMNLKGVWIPFDRAYEIARNEGV-
>Aps3_CANTR
-DEELI-ILRRVQDSFINVTQLFEILVKLDLLTLSQLNNFFDNEILSN--LKYF--GSNTYIKGIWIPYDKAVELALKFDIY
>Aps4_CANTR
VTSEGP-IMRRKSDSWINATHILKI----AKFPKARRTRILEKDVQTG--VHEKVQGGYGKYQGTYVPLELGATIAKNFGVY
>Aps2_CANTR
--NDSP-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKVQGGFGRFQGTWIPLEDARRLAETYGV-
>Aps3_CHAGL
--NNVA-VMRRQTDGWLNATQILKV----AGVDKGRRTKILEKEIQTG--EHEKVQGGYGKYQGTWIPFERGFEVCRQYGV-
>Aps2_CHAGL
----SYTVMWDYN---------------------TAPAKMLNLNP-GLKDITYSITGGSIKAQGYWMPYSCAKAVCATFC--
>Aps1_CHAGL
---PSYFLMRRSHDGFVSATGMFKG-----------------HSLPST--SHEETAG------NVWIPPEEALVLAEEYNI-
>Aps4_CHAGL
---GIC-VARREDNAMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPYDRALDFANKEKI-
>Mbp1_CHAGL
-------VMRRREDNWINATHILKA----AGFDKPARTRILERDVQKD--VHEKIQGGYGKYQGTWIPLEQGRALAQRNNIY
>Aps3_CLALU
----SQWIIWDHETGNVLLTSLWRAADKLRAPPKADIVKLLESTPKELHASIKRVRGGFLKIQGTWVPHALCRRLARRFCYY
>Aps2_CLALU
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----IRHVVKIGSMHLKGVWIPFERALAMAQREGI-
>Aps4_CLALU
----VV-VSRREKDDYVNGTKLLNV----TGMSRGKRDGLLKTEK-----GRIVVRNGPMNLKGVWIPFHRASEIARNEGV-
>Aps6_CLALU
VTKEGP-IMRRKSDSWINATHILKI----AKFPKAKRTRILEKDVQTG--IHEKVQGGYGKYQGTYVPLDLGAEIAKSFGIF
>Aps1_CLALU
-DKPIL-VLRRVQDSYVNVSQMLEILVLTGHFSKDQVSGFLRNEILHS--TQYLPRGNVEQIRGLWIPYDKAVSIAVRFDLY
>Aps5_CLALU
--------MRRCKDDWVNATQILKL----CNFPKAKRTKILEKGVQQG--LHEKVQGGYGRFQGTWIPLADARRLADEYGI-
>Aps3_COCIM
----TYFLMRRSKDGYVSATGMFKIAFPWAKLADEKSEREYLRGLPET--SPDEVAG------NLWISPELALELAEEYRM-
>Aps2_COCIM
---KIHTVMWDYNVGLVRTTSLFKCN----NYPKTAPGKMLDANR-GLREICHSITGGALAAQGYWMPFEAAKAVAATFC--
>Aps1_COCIM
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps4_COCIM
-----S-VMRRRHDDWINATHILKV----AGLDKPSRTRILEREVQKG--THEKIQGGYGKYQGTWVPLADGRAVAERNKV-
>Mbp1_COCPO
-----S-VMRRRHDDWINATHILKV----AGLDKPSRTRILEREVQKG--THEKIQGGYGKYQGTWVPLADGRAVAERNKV-
>Aps3_COCPO
---KIHTVMWDYNVGLVRTTSLFKCN----NYPKTAPGKMLDANR-GLREICHSITGGALAAQGYWMPFEAAKAVAATFC--
>Aps4_COCPO
--NGVA-VMRRRSDSWLNATQILKV----AGVVKARRTKTLEKEVVSG--EHEKVQGGYGKYQGTWVSYQRGVELCRRYHV-
>Aps2_COCPO
----TYFLMRRSKDGYVSATGMFKIAFPWAKLADEKSEREYLRGLPET--SPDEVAG------NLWISPELALELAEEYRM-
>Aps1_COCPO
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps6_DEBHA
-DDPIV-ILRRVQDSYINISQLFSILLKIGHLSEAQLTNFLNNEILTN--TQYL--SSVRDLRGLWIPYDRAVSLALKFDIY
>Aps1_DEBHA
--NNSP-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKIQGGYGRFQGTWIPLADAQRLAASYGV-
>Aps5_DEBHA
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFERALAMAQREGI-
>Aps4_DEBHA
---GIL-VSRREDTNYVNGTKLLNV----AGMTRGKRDGILKTEK-----TKSVVKVGAMNLKGVWIPFERASEIARNEGI-
>Aps2_DEBHA
---NNHWIIWDYETGFVHLTGIWKASVNTHRNLKADIVKLLESTPKQYHQHIKRIRGGFLKIQGTWLPFDLCKMLAKRFCYH
>Aps3_DEBHA
VTSEGP-IMRRKSDSWINATHILKI----AKFPKAKRTRILEKDVQTG--VHEKVQGGYGKYQGTYVPLDLGADIAKNFGVF
>Aps2_ERECY
--NSVS-VVRRADNDMINGTKLLNV----AKMTRGRRDGILKAEK-----VRHVVKIGSMHLKGVWIPFERALALAQREKI-
>Aps3_ERECY
IHPTGS-IMKRKADDWVNATHILKA----AKFAKAKRTRILEKEVIKD--IHEKVQGGFGKYQGTWVPLDIARRLAEKFDV-
>Aps1_ERECY
-----TDVHWNQLDPAWKLCQMFQEI--RKNMPRTGSSEHLDFTL-DFQDCYKRIRGGYIKIQGTWLPLEISRQLCTRFC--
>Aps4_ERECY
-----I-VMRRLHDDWVNITQVFKV----ASFTKTQRTKVLEKESTDI--NHEKIQGGYGRFQGTWIPLLSAQNLVAKYCI-
>Aps2_KAZAF
---SHI-VMRRTRDDWINITQVFKV----AKFSKNHRTKVLERESSNL--RHEKVQGGYGRFQGTWIPLVDAKRLIAEYNI-
>Aps7_KAZAF
LRKRYIELHWQNITATMKLFNEFKNY-VLEHEPN--VDATLFQNY-NMADLIHRIRGGCIKVQGTWFPMELAKLFCIKF---
>Aps1_KAZAF
IHPTGS-IMKRKKDGWVNATHILKA----ANFAKAKRTRILEKEVLPG--THEKVQGGFGKYQGTWIPLESAIALAEKFAVY
>Aps8_KAZAF
-----V-VMRRTRDDWVNITQVFKI----AQFSKTQRTKLLEKESMNI--QHEKVQGGYGRFQGTWVPLDAARDIAAKYSI-
>Aps3_KAZAF
LHPAGS-IMKRRIDNWVNATHVLKI----ANFNKSKRLRLLEKEVIKAGKAYEKIQGGSGKYQGTWVPLEVAKELAVKFEV-
>Aps6_KAZAF
--NGVS-VVRRADNDMINGTKLLNV----TKMTRGRRDGILRGEK-----VRNVVKIGSMHLKGVWIPFERAYLIAQREKI-
>Aps4_KAZAF
--NGVS-VVRRADNDMINGTKLLNV----TKMTRGRRDGILKAEK-----IRHVVKIGSMHLKGVWIPFERARYMAEKEKI-
>Aps5_KAZAF
--------HWNNLSKELKILKNFKDF--LINEKH--LTEENLLNY-NLNNLIQRIRGGYIKIQGTWLPMEIAKLICSRFC--
>Aps2_KLULA
--NGVS-VVRRADNDMINGTKLLNV----TRMTRGRRDGILKAEK-----IRHVVKIGSMHLKGVWIPFERALVMAQREKI-
>Aps3_KLULA
IHPTGS-IMKRKADNWVNATHILKA----AKFPKAKRTRILEKEVITD--THEKVQGGFGKYQGTWIPLELASKLAEKFEV-
>Aps1_KLULA
-------IMRRCNDNWLNITQVFKA----GSFTKAQRTKILEKEANEI--KHEKIQGGYGRFQGTWIPWESTKYLVEKYNI-
>Aps4_KOMPA
--NGVS-VVRRADNNMINGTKLLNV----AKMTRGRRDGMLKSEK-----IRHVVKIGSMHLKGVWIPFDRALAMAQKEHI-
>Aps2_KOMPA
VTPLTS-VMRRKSDDWINATHILKV----ADFPKAKRTRILERDIQVG--THEKVQGGYGKYQGTWVPLESAVKIAETFDV-
>Aps1_KOMPA
VVQKIP-LSRRADNDYVNATKLLNL----TGMRRGRRDGILKLEK-----QRQVVKTGTIDLKGVWVPLKRAIKLAKAEQVF
>Aps3_KOMPA
ICNTFP-LMRRCSDDWVNVTQILKI----AQFPKAQRTKILEKEVHDK--THQRIQGGYGRFQGTWTPLDIARNLAMNYG--
>Aps2_LACTH
-----I-VMRRCMDNWVNITQVFKI----ASFSKTQRTKILEKESNMV--KHEKIQGGYGRFQGTWIPLENAHYLVQKYSV-
>Aps1_LACTH
--NGVS-VVRRADNDMINGTKLLNV----AKMTRGRRDGILKAEK-----IRHVVKVGSMHLKGVWIPFDRALAMAQREKI-
>Mbp1_LACTH
IHPTGS-IMKRKEDDWVNATHILKA----AKFAKAKRTRILEKEVIKD--THEKVQGGFGKYQGTWVPLDIARSLAAKFEV-
>Aps3_LODEL
--NDSP-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--VHEKIQGGFGRFQGTWIPLEDARRLAATYGV-
>Aps1_LODEL
---EGP-IMRRKLDSWINATHILKI----AKLPKAKRTRILEKDVQTG--IHEKVQGGYGKYQGTYVPLELGEIIARNYDVY
>Aps4_LODEL
---NIL-VSRREDTNYINCTKLLNV----VGMTRGKRDGILKTEK-----VKQVVKVGSMNLKGVWIPFDRAYEIARNEGV-
>Aps2_LODEL
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKLEK-----VRHVVKIGSMHLKGVWIPFERALTMAQRENI-
>Aps1_MAGOR
---GVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----MRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps2_MAGOR
--NGVA-VMKRIGDSKLNATQILKV----AGVEKGKRTKILEKEIQTG--EHEKVQGGYGKYQGTWIKYERALEVCRQYGV-
>Aps3_MAGOR
-------VMRRRVDDWINATHILKA----AGFDKPARTRILEREVQKD--QHEKVQGGYGKYQGTWIPLEAGEALAHRNNIF
>Aps4_MAGOR
---NAYFLMRRSSDGYVSATGMFKATFPYADAEDEEAERNYIKSLPAT--SKEETAG------NVWISPDQALALAEEYSI-
>Aps1_MALGL
--KGVC-VARRHDNNMVNGTKLLNV----CGMSRGKRDGILKNEK-----ERIVVKVGAMHLKGVWIAFSRGKQLAEQHGI-
>Aps3_MALGL
---GIA-LMRRRSDGYLNATQILKI----AGIEKARRTRILEKEILTG--EHDKVQGGYGTFQGTWIPLQRAQELAISYNVY
>Aps2_MALGL
IIKDVA-VMRRRSDAWLNATQILKV----VGLDKSQRTRVLEKEVQKG--THEKVQGGYGKYQGTWIPMDVAIALAEHYHI-
>Aps5_MEYGU
---SLV-ILRRVQDSFVNVSQLFSILVRLGHSNPDQISSFLSNEILSS--SHYT--GSNPMLQGLWVSYDRAVALALRFDIY
>Aps2_MEYGU
---GVL-VSRREDTNYINGTKLLNV----AGMSRGKRDGILKTEK-----DRYVVRAGAMSLKGVWIPYERAKEIARNEGV-
>Mbp1_MEYGU
VTSEGP-IMRRKLDSWINATHILKI----ARFPKAKRTRILEKDVQTG--IHEKVQGGYGKYQGTYVPLNLGAEIAQSFGVY
>Aps4_MEYGU
---NGQSIIWDYESGYVHLTGIWKAADLPKSNSKADIVKLLESTPRQHQAKIKRIRGGFLKIQGTWLPYSLCRILARRFCYH
>Aps1_MEYGU
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFDRALAMAQREGI-
>Aps3_MEYGU
--------MRRVKDNWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKIQGGYGRFQGTWIPLEDAQQLAANYGL-
>Aps2_MILFA
VTSEGP-IMRRKSDSWINATHILKI----AKFPKAKRTRILEKDVQTG--IHEKVQGGYGKYQGTYVPLELGAEIARSFGIY
>Aps6_MILFA
---NNQWIIWDYETGLVHLTGIWKASQSGSKSVKADIMKLLESTPKQYHSNIKRIRGGFLKIQGTWMPYDLCKVLARRFCYH
>Aps5_MILFA
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFERALAMAQREGI-
>Aps8_MILFA
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFERALAMAQREGI-
>Aps7_MILFA
--NNSP-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKIQGGYGRFQGTWIPLANAQKLAASYGV-
>Aps4_MILFA
---NNQWIIWDYETSLVHLTGIWKASSSGSKSVKADIMKLLESTPKQYHSNIKRIRGGYLKIQGTWMPYGLCKVLARRFCYH
>Aps9_MILFA
--NNSP-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKIQGGYGRFQGTWIPLANAQKLAASYGV-
>Mbp1_MILFA
VTSEGP-IMRRKSDSWINATHILKI----AKFPKAKRTRILEKDVQTG--IHEKVQGGYGKYQGTYVPLDLGAEIARSFGIY
>Aps3_MILFA
---GIL-VSRREDTNFVNGTKLLNV----AGMTRGKRDGILKTEK-----TKSVIKVGTMNLKGVWIPFERAAEIARNEGI-
>Aps1_MILFA
----VI-ILRRVQDSYVNISQLLSILVKMGHFNQTRLNNFLNNEIITN--PQYS--AEVRQLRGLWIPYDKAVSLALKFDIY
>ApsA_MILFA
----VI-ILRRVQDSYVNISQLLSILVKMGHFNQTRLNNFLNNEIITN--PQYS--ADVKQLRGLWISYDKAVSLALKFDIY
>Aps1_MYCTH
---GIC-VARREDNSMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps4_MYCTH
---PSYFLMRRSEDGYVSATGMFKATFPYATQEEEEAERKYIKSLPST--SPEETAG------NVWIPPEQALILAEEYQI-
>Mbp1_MYCTH
-------VMRRREDNWINATHILKA----AGFDKPARTRILERDVQKD--IHEKIQGGYGKYQGTWIPLEHGEALAQRNNVY
>Aps2_MYCTH
---TDYTVMWDHNVGLVRMTPFFKCR----GYSKTTPAKMLNLNP-GLKDITYSITGGSIKAQGYWMPYSCAKAVCATFC--
>Aps3_MYCTH
--NNVA-VMRRQADGWLNATQILKV----AGVDKGRRTKILEKEIQTG--EHEKVQGGYGKYQGTWIPFERGYEVCRQYGV-
>Aps4_NAUCA
-----KDFHWNNLPPILKAINHFRNI--LQMEKG--ITSDYLASM-KDCDFCQRIRGGYIKIQGTWLPIEMAKLICTKFC--
>Aps2_NAUCA
--NGVS-VVRRADNDMINGTKLLNV----TKMTRGRRDGILKSEK-----IRHVVKIGSMHLKGVWVPFERARLMAGREHI-
>Aps1_NAUCA
-CNGVA-VVRRADNDMINGTKLLNV----TKMTRGRRDGILRAEK-----VRSVIKIGSMHLKGVWIPFDRALMMAKREKI-
>Aps5_NAUCA
IHPTGS-VMKRKKDDWVNATHILKA----ANFAKAKRTRILDKEVMGR--KHEKVQGGFGKYQGTWVPLEIATELAMKFDVY
>Aps3_NAUCA
-----SDLHWNNMSPDLQITESFKKD--LIINKH--CNEQDLKDL-NLSNLIQRIRGGYIKIQGTWLPLEIARLLSLRFC--
>Aps6_NAUCA
-----I-VMRRTKDDWINVTQVFKI----ADFSKAHRTKVLEKESSDM--MHEKVQGGYGRFQGTWIPLESALMLVQKYKI-
>Aps1_NAUDA
--NGVS-VVRRADNDMINGTKLLNV----SKMTRGRRDGILKAEK-----IRHVVKIGSMHLKGVWIPFERARIMAEKEKI-
>Aps5_NAUDA
--NSVS-VIRRADNDMINGTKLLNV----TKMTRGRRDGILRTEK-----IRKVVKIGSMHLKGVWIPFDRAYEIARREKI-
>Aps2_NAUDA
-----SDLHWNNISSNIKLCDSFKQY--LTKREN--IPAETLKNL-TLSMLIQRIRGGYIKIQGTWLPMEICRSLCLRFC--
>Aps4_NAUDA
VHPTGS-VMKRKSDDWVNATHILKV----ANFSKAKRTRILEKEVLKE--THEKVQGGFGKYQGTWVPMNIALNLAEKYGVY
>Aps3_NAUDA
----KV-VMRRTRDDWINITQVFKI----GKFSKAQRTKVLELEANEM--KHEKVQGGYGRFQGTWIPLESAMFLAKKYTI-
>Aps1_NECHA
---TEYAVMWDYNVGLVRMTPFFKCC----RYGKTIPAKMLGLNQ-GLKEITHSITGGSIAAQGYWMPYQCARAVCATFC-Y
>Mbp1_NECHA
-------VMRRRQDNWINATHILKA----AGFDKPARTRILERDVQKD--VHEKIQGGYGKYQGTWIPLESGQALAERHSV-
>Aps3_NECHA
---GIC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPYDRALDFANKEKI-
>Aps2_NECHA
---NSYFLMRRSFDGYVSATGMFKATFPYAEAADEEAERKFIKSLATT--SPEETAG------NIWIPPEQALALADEYQI-
>Aps4_NECHA
--NNIA-VMRRRNDSWLNATQILKV----AGVDKGKRTKILEKEIQTG--EHEKVQGGYGKYQGTWITFDRGVQVCRQYGV-
>Aps4_NEOFI
---GES-VMRRRGDNWINATHILKV----AGFDKPARTRILEREVQKG--THEKVQGGYGKYQGTWIPLPEGRLLAERNNI-
>Aps3_NEOFI
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps2_NEOFI
---KEWIVMWDYNIGIVRTTHLFKCN----DYSKTTPAKMLNANP-GLREICHSITGGALAAQGYWMPYEAAKAVAATFC--
>Aps5_NEOFI
----TYFLMRRSKDGYVSATGMFKIAFPWAKLEEEKAEREYLKTREGT--SEDEIAG------NIWVSPLLALELAKEYQMY
>Aps1_NEOFI
--NGVA-VMKRRSDSWLNATQILKV----AGVVKARRTKTLEKEIAAG--EHEKVQGGYGKYQGTWVNYQRGVELCREYHV-
>Aps1_PUCGR
---NGQYIMIDCETGMVHFTGIWKAL----GHTKADVVKLVESDP-TIAPYLRKVRGGYLKIQGTWLPFDTAQTLARR----
>Aps2_PUCGR
-CEGIA-VMRRRSDSWLNATQILKV----AGFDKPQRTRVLEREIQKG--THEKIQGGYGKYQGTWVPLDRGIDLAKQYGV-
>Aps4_PUCGR
-HKGVT-VGRLKGSGLVNGTKLLNL----AGISRGKRDGILKNEK-----IRKVVKHGTMHLKGVWIAFDRAVFLAEQHSI-
>Aps3_PUCGR
---GIG-VMRRRSDSYMNATQILKV----AGLDKSKRTRILEREIIQG--EHEKIQGGYGRYQGTWVPFTRAQELATQLNV-
>Aps2_PYRTE
----SYFLMRRSSDGYISATGMFKAAFPWASLIEEDAERKYQKTFPSA--GAEEVAG------SVWIAPEEALALSEEYGM-
>Aps4_PYRTE
---KEYVVVWDYNVGLVRMTPFFKSC----KYSKTIPAKALRENP-GLKEISYSITGGALVCQGYWMPYHAARAIAATFC-Y
>Aps5_PYRTE
--NGNH-VMRRRADDWINATHILKV----ADYDKPARTRILEREVQKG--VHEKVQGGYGKYQGTWIPLEEGRHLAERNGV-
>Aps1_PYRTE
--NRVA-VMRRRSDGWLNATQILKV----AGVDKGKRTKVLEKEILTG--EHEKVQGGYGKYQGTWINYRRGREFCRQYGV-
>Aps3_PYRTE
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----TRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps5_PYRTR
----SYFLMRRSSDGYISATGMFKAAFPWASLIEEDAERKYQKTFPSA--GAEEVAG------SVWIAPEEALALSEEYGM-
>Aps1_PYRTR
---KEYVVVWDYNIGLVRMTPFFKSC----KYSKTIPAKALRENP-GLKEISYSITGGALVCQGYWMPYHAAKAIAATFC-Y
>Aps3_PYRTR
--NRVA-VMRRRSDGWLNATQILKV----AGVDKGKRTKVLEKEILTG--EHEKVQGGYGKYQGTWINYRRGREFCRQYGV-
>Aps4_PYRTR
--NGNH-VMRRRADDWINATHILKV----ADYDKPARTRILEREVQKG--VHEKVQGGYGKYQGTWIPLEEGRHLAERNGV-
>Aps2_PYRTR
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----TRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Aps4_SCHJA
---NPHFLMRMAKNSHISATSMFRSAFPKATPEEEEAEMSWIQQHLHP--VEEKQVS------GLWVSPEDALALAKDYHM-
>Aps2_SCHJA
LIKGVS-VMRRRHDSWLNATQILKV----ADFDKPQRTRILEKEVQKG--HHEKVQGGYGKYQGTWVPFKRGLELAVQFKV-
>Aps1_SCHJA
IVNGVA-VMKRCRDGWLNATQILKV----AELDKPKRTRVLEKFAQRG--IHEKVQGGYGKYQGTWVPLQRGVELAMEFQVH
>Aps3_SCHJA
---GKR-VLRRCSDSYVNLSHVLQL----IGSSPMQIARELDPIIAAG--DFENVDGRDAELNGVWVPLSRIGNICEKHGL-
>Aps5_SCHST
--NDSP-IMRRCKDDWVNATQILKC----CNFPKAKRTKILEKGVQQG--LHEKVQGGFGRFQGTWIPLPDAQRLATMYGV-
>Aps1_SCHST
---GVL-VSRREDTNFVNGTKLLNV----IGMTRGKRDGILKTEK-----TRNVVKVGSMNLKGVWIPFDRAFEIARNEGV-
>Aps2_SCHST
--NNVS-VVRRADNNMINGTKLLNV----AQMTRGRRDGILKSEK-----VRHVVKIGSMHLKGVWIPFERALAMAQREGI-
>Aps3_SCHST
VTSEGP-IMRRKSDSWINATHILKI----AKFPKAKRTRILEKDVQTG--VHEKVQGGYGKYQGTYVPLELGRDIAKNFGVF
>Aps4_SCHST
LDNTVV-ILRRVQDSYVNVTQLFGILLKLGHFNETQLNNFFNNEIVTN--IQLQ--GANTQLRGLWISYDRAVALALQFDIY
>Aps4_SCLSC
--NRIA-VMRRRKDSWLNATQILKV----AGIEKGKRTKVLEKEILIG--DHEKVQGGYGKYQGTWIRFERGVEFCKQYGV-
>Aps2_SCLSC
----SYFLMRRSSDGYISATGMFKATFPYAEAAEEEMERRYIKSLPTT--SVDETAG------NVWIPPHHALELAEEYQI-
>Aps1_SCLSC
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----MRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Mbp1_SCLSC
-------VMRRRHDDWINATHILKA----AGFDKPARTRILEREVQKE--EHEKIQGGYGKYQGTWVPLEKGQALAQRNNIY
>Aps3_SCLSC
---KDYTVMWDYNVGLVRITPFFKCC----KYSKTTPAKMLGLNP-GLKEITHSITGGALAAQGYWMPYSCALAVCTTFCSH
>Aps1_SORMA
--NNVA-VMRRQKDGWVNATQILKV----ANIDKGRRTKILEKEIQIG--EHEKVQGGYGKYQGTWIPFERGLEVCRQYGV-
>Aps4_SORMA
-------VMRRRHDDWVNATHILKA----AGFDKPARTRILEREVQKD--THEKIQGGYGRYQGTWIPLEQAEALARRNNIY
>Aps3_SORMA
---GIC-VARREDNAMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps2_SORMA
---PSYFLMRRSQDGYISATGMFKATFPYASTEEEEAERKYIKSLPTT--SHEETAG------NVWIPPEQALILAEEYQI-
>Aps4_TALMA
---GEC-LMRRRADDWINATHILKV----AGFDKPSRTRILEREVQKG--VHEKVQGGYGKYQGTWIPLPEARLLAERNNI-
>Aps2_TALMA
--NGIA-VMKRRSDSWLNATQILKV----AGVVKAKRTKTLEKEIAAG--EHEKVQGGYGKYQGTWVSYQRGVELCREYQV-
>Aps3_TALMA
----TYFLMRRSKDGYISATGMFKIAFPWAKAEEEKTEREYVKSKTET--SIDETAG------NLWISPLLALELAKEYQM-
>Aps5_TALMA
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPYERALDFANKEKI-
>Aps1_TALMA
---KTWTMMWDYNIGLVRTTHLFKCL----DYPKTTPAKMLNSNE-GLRDICHSITGGALAAQGYWMPFETAKAVAATFC-Y
>Aps5_TALST
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----VRHVVKIGPMHLKGVWIPYERALDFANKEKI-
>Aps3_TALST
---GEC-LMRRRADDWINATHILKV----AGFDKPSRTRILEREVQKG--VHEKVQGGYGKYQGTWIPLPEARLLAERNNI-
>Aps2_TALST
--NGIA-VMKRRSDSWLNATQILKV----AGVVKAKRTKTLEKEIAAG--EHEKVQGGYGKYQGTWVSYQRGVELCREYQV-
>Aps1_TALST
-----WTIMWDYNIGLVRTTHLFKCL----DYPKTTPAKMLNANE-GLRDICHSITGGALAAQGYWMPFETAKAVAATFC-Y
>Aps4_TALST
----TYFLMRRSKDGYISATGMFKIAFPWAKAEEEKAEREYVKSKTET--SVDETAG------NLWISPMLALELAKEYQM-
>Aps3_TETBL
-----I-VMRRTKNDWINITQVFKL----ASFSKTKRTKILEKESIDI--EHEKVQGGYGRFQGTWIPLHYAKLLVNKYNI-
>Aps2_TETBL
-----------------KLVDGYRAF--LCRQYP--EHAEELRHV-PFASLLQRIRGGYIKIQGTWLPYEVSRQICTRFC--
>Aps1_TETBL
LHPTGS-IMKRKTDNWVNATHILKA----AHLPKAKRTRILERQILNN--NHEKVQGGFGKYQGTWIPLEDAVALAREFGVY
>Aps1_TETPH
IANGVV-VLRRADNHMVNGTKLLNV----TGMTRGRRDRMLRSEK-----ERHVVKVGLMHSKGVWIPLERARYLAEKTNI-
>Aps5_TETPH
-----I-VMRRKNNDWVNITQVLKL----ASFSKTKRTKIIEKESMNM--EHEKVQGGYGRFQGTWIPLSSTKELIEKYNI-
>Mbp1_TETPH
LHSTGS-VMKRKKDGWVNATHILKT----ANFAKAKRTRILEKEVIQE--THEKVQGGFGKYQGTWVPLSVAISLAQKFEVY
>Aps4_TETPH
---TKT-VMRKVSNDWVNATQIFKI----ANFTKNKRTRILEREAKLI--KHEKIQGGYGRFQGTWIPLDDAKMLVNKYEI-
>Aps3_TETPH
--------HWANVSNYLKLLIVFKNY--ILNGENDGVNTDKMQNL-SIYDLINRIRGGYIKIQGTWLPWIMAKEICKRFC--
>Aps2_TETPH
--NGIS-VVRRADNDMINGTKLLNV----TKMTRGRRDGILKAEK-----TRKVVKMGTLNLKGVWIPFDRAYCIARREKI-
>Mbp1_TETRE
IHPTGS-IMKRKIDGWVNATHILKA----AKFPKAKRTRILEKEVIHE--IHEKVQGGFGKYQGTWVPTDIATRLSKKFGVF
>Aps3_THITE
---GIC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----IRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Mbp1_THITE
-------VMRRREDNWINATHILKA----AGFDKPARTRILEREVQKE--AHRKIQGGYGKYQGTWISLEQGEVLARRNNVY
>Aps1_THITE
--NNVA-VMRRQHDSWLNATQILKV----AGVDKGRRTKILEKEIQTG--QHEKVQGGYGKYQGTWIPFERGVEVCRQYGV-
>Aps2_THITE
---PSYFLMRRSVDGFVSATGMFKATFPYATQEEEEAERKYIRSLSST--SPEETAG------NVWIPPEQALALAEDYKI-
>Aps3_TORDE
-----I-VMRRTADDWVNITQVFKI----AQFSKTQRTKVLEKESTDM--RHEKVQGGYGRFQGTWIPLENAKYMVSKYNI-
>Aps1_TORDE
IHPTGS-VMKRKTDDWVNATHILKA----AKFAKAKRTRILEKEVIKE--VHEKVQGGFGKYQGTWVPLDIATRLANKFDVY
>Aps2_TORDE
--NGVS-VVRRADNDMINGTKLLNV----AKITRGRRDGILKAER-----IRHVVKIGSMHLKGVWIPFERAHAMAQREKI-
>Aps4_TRIRU
----SYFLMRRSRDGHISASGMFKIAFPWAKHSEEADEREYLRTRPET--SEDEIAG------NVWISPELALELAREYGI-
>Aps3_TRIRU
--NGVA-MMRRRSDSWLNATQILKV----AGVAKARRTKTLEKEVAAG--EHEKVQGGYGKYQGTWVSYERGLELCRRYQV-
>Aps5_TRIRU
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----IRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps1_TRIRU
-------VMRRRVDDWVNATHILKA----AGLDKPSRTRILERDVQRG--VHEKIQGGYGKYQGTWIPLAEARALADKNNV-
>Aps2_TRIRU
---KVYTVMWDYNIGLVRTTSLFRCN----NYSKTAPAKMLNANP-GLREICHSITGGALAAQGYWMPFEAAKAVAATFC--
>Aps3_TRIVE
--KGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----IRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps1_TRIVE
-------VMRRRVDDWVNATHILKA----AGLDKPSRTRILERDVQRG--VHEKIQGGYGKYQGTWIPLAEARALADKNNV-
>Aps2_TRIVE
--NGVA-MMRRRSDSWLNATQILKV----AGVAKARRTKTLEKEVAAG--EHEKVQGGYGKYQGTWVSYERGLELCRRYQV-
>Aps3_UNCRE
--KGVC-VARREDNHMVNGTKLLNV----AGMTRGRRDGILKSEK-----IRHVVKIGPMHLKGVWIPFERALEFANKEKI-
>Mbp1_UNCRE
-----S-VMRRRHDDWINATHILKV----AGLDKPSRTRILEREVQKG--THEKIQGGYGKYQGTWVPLPDGRHLAERNNV-
>Aps1_UNCRE
----TYFLMRRSKDGYVSATGMFKIAFPWAKQAEEKGEREYLRGHPNT--SSDETAG------NLWISPELALELAEEYKM-
>Aps2_UNCRE
--NGVA-VMRRRSDSWLNATQILKV----AGVVKARRTKTLEKEVASG--EHEKVQGGYGKYQGTWVSYQRGVELCRRYHV-
>Aps2_VANPO
VVNGIT-VLRRDDNNMINGTKLLNV----TKMTRGRRDRILRAEK-----IRHVVKIGSMHLKGVWIPLERAKRMAQMENIY
>Aps1_VANPO
--NGVS-VVRRADNDMINGTKLLNV----TKMTRGRRDGILKAEK-----IRHVVKVGSMNLKGVWIPFERALLMAKKEKI-
>Aps4_VANPO
IHPTGS-VMKRKLDNWVNATHILKA----ANFAKAKRTRILEKEVIKE--THEKVQGGFGKYQGTWVPLDIARKLAEKFGVH
>Aps3_VANPO
-----I-VMRRTSNDWINITQIFKL----ASFTKTKRTKVLEIESNNI--QHEKVQGGYGRFQGTWIPLNDAKNLVQKYNI-
>Aps6_VANPO
--------HWNNISNELKLLITFKDY--LRIKRN--LPESQLTNL-TIYDLIQRIRGGYIKIQGTWLPWEISRILCIRFC-Y
>Aps5_VANPO
-----T-VMRRTLDDWINITQVFKL----ASFSKTKRTKILEKETKSI--DHEKIQGGYGRFQGTWIPLICAKTIVIKYNI-
>Aps4_VERAL
---GIC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----LRHVVKIGPMHLKGVWIPFERALDFANKEKI-
>Aps3_VERAL
--VAEFMVMWDYNIGLVRMTPFFKCC----KYGKTVPAKMLSLNP-GLKDITHSITGGAILAQGYWMPYNCAKAVCATFC-Y
>Aps2_VERAL
---NSYFLMRRSHDGYVSATGMFKATYPYAEAHEEETERRYIKSLPST--SPEETAG------NVWIPPDHALSLAEEYGV-
>Aps5_VERAL
-------VMRRRQDNWINATHILKA----AGFDKPARTRILEREVQKE--KHEKVQGGYGKYQGTWIPLNQGQQLAQRNNCY
>Aps1_VERAL
---GVA-VMRRRNDSWLNATQILKV----AGVEKGKRTKILEKEIQTG--EHEKVQGGYGKYQGTWIKFERAVEVCRQYGV-
>Aps1_YARLI
---NNQWIIWDYHTGYVHLTGLWKAI----GNSKADIVKLIDNSP-DLEAVIRRVRGGYLKIQGTWVPYDIARALASRTCYF
>Aps5_YARLI
---GIC-VARREDNDMINGTKLLNV----AGMTRGRRDGILKGEK-----LRHVVKAGAMHLKGVWIPYDRALEFANKEKI-
>Aps2_YARLI
-CKNVA-VMRRKSDGWVNATHILKV----AGFDKPQRTRILEKEVQKG--VHEKVQGGYGKYQGTWVPLERAREIATLYDV-
>Aps4_YARLI
---GVC-VARREDNNMINGTKLLNV----VGMTRGRRDGILKTEK-----IRHVVKIGAMHLKGVWIPYERALAFAQRERI-
>Aps3_YARLI
MANDVA-VMRRRTDSSLNATQILKV----AGVEKSKRTKILEKEILTG--AHEKVQGGYGKYQGTWIPYERGVDLCRQYSVY
>Aps2_ZYGRO
-----I-VMRRTQDDWVNITQVFKI----AQFSKTQRTKVLEKESNDM--RHEKVQGGYGRFQGTWIPLEDAKYMVTKYNI-
>Aps1_ZYGRO
--NGVS-VVRRADNDMINGTKLLNV----AKITRGRRDGILKAER-----IRHVVKIGSMHLKGVWIPFERAQVMAEREKI-
>Mbp1_ZYGRO
IHPTGS-VMKRRDDDWVNATHILKA----ARFAKAKRTRILEKEVIKE--VHEKVQGGFGKYQGTWVPMDVARTLATKFGVH
>Aps1_ZYMTR
-------VMRRRSDDWINATHILKV----AQYDKPARTRILEREVQKG--VHEKVQGGYGKYQGTWIPLPDGRLLAQKNSV-
>Aps3_ZYMTR
-VHNVA-VMRRRSDGWLNATQILKV----AGVDKGKRTKVLEKEILPG--EHEKVQGGYGKYQGTWISYQRGREFCRQYGV-
>Aps4_ZYMTR
-----YFLMRRSSDGFISATGMFKAAFPYAQQEEELLEKDYIKSLPAA--SSEEVAG------NVWIDAHKALELADEYGI-
>Aps2_ZYMTR
--NGVC-VARREDNHMINGTKLLNV----AGMTRGRRDGILKSEK-----TRHVVKIGPMHLKGVWIPFDRALDFANKEKI-
- ... now we can calculate phylogenies.
But wait: do we really want to work with all these sequences? 284 sequences is not too large, strictly speaking - I have run a maximum likelihood tree on my aging, wheezing laptop in a bit under an hour. You are welcome to try this for yourself. But for the purposes of the assignment, you may want to reduce the number of sequences to those from the six "reference species": (SACCE, CANAL, USTMA, NEUCR, ASPNI and SCHPO), plus the outgroup, plus YFO.
Task:
- Prepare a PHYLIP input file from a selection of the prepared sequences above. The simplest way to achieve this appears to be:
- Copy the sequences you want into a textfile. Make sure the "reference sequences", are included, the outgroup and the sequences from YFO.
- In a browser, navigate to the Readseq sequence conversion service.
- Paste your sequences into the form and choose Phylip as the output format. Click on submit.
- Save the resulting page as a text file. Give it some useful name such as
APSES_domains.phy
.
Calculating trees
In this section we perform the actual phylogenetic calculation.
Task:
- Download the PHYLIP package from the Phylip homepage and install it on your computer.
- Make a copy of your PHYLIP formatted sequence alignment file and name it
infile
. Note: make sure that your Microsoft Windows operating system does not silently append the extension ".txt" to your file. It should be called "infile", nothing else. Place this file into the directory where the PHYLIP executables reside on your computer. - Run the proml program of PHYLIP (protein sequences, maximum likelihood tree) to calculate a phylogenetic tree (on the Mac, use proml.app). The program will automatically use "infile" for its input. Use the default parameters except that you should change option
S: Speedier but rougher analysis?
toNo, not rough
- your analysis should not sacrifice accuracy for speed. The calculation will take some fifteen minutes or so..
The program produces two output files: the outfile
contains a summary of the run, the likelihood of bifurcations, and an ASCII representation of the tree. Open it with your usual text editor to have a look, and save the file with a meaningful name. The outtree
contains the resulting tree in so-called "Newick" format. Again, have a look and save it with a meaningful filename.
Analysing your tree
In order to analyse your tree, you need a species tree as reference. Then you can begin comparing your expectations with the observed tree.
The species tree reference
I have constructed a cladogram for many of the species we are analysing, based on data published for 1551 fungal ribosomal sequences. The six reference species are included. Such reference tres from rRNA data are a standard method of phylogenetic analysis, supported by the assumption that rRNA sequences are monophyletic and have evolved under comparable selective pressure in all species.
Your species may not be included in this cladogram, but you can easily create your own species tree with the following procedure:
Task:
- Access the NCBI taxonomy database Entrez query page.
- Edit the list of reference species below to include your species and paste it into the form.
"Aspergillus nidulans"[Scientific Name] OR "Candida albicans"[Scientific Name] OR "Neurospora crassa"[Scientific Name] OR "Saccharomyces cerevisiae"[Scientific Name] OR "Schizosaccharomyces pombe"[Scientific Name] OR "Ustilago maydis"[Scientific Name]
- Next, as Display Settings option, select Common Tree.
You can use that tree as is - or visualize it more nicely as follows
- Select the phylip tree option from the menu, and click save as to save the tree in phylip (Newick) tree format.
- The output can be edited, and visualized in any program that reads phylip trees. One particularly nice viewer is the iTOL - Interactive Tree of Life project. Copy the contents of the
phyliptree.phy
file that the NCBI page has written, navigate to the iTOL project, click on the Data Upload tab, paste your tree data and click Upload. Then go to the main display page to view the tree. Change the view from Circular to Normal.
- Alternatively ...
You can look up your species in the latest version of the species tree for the fungi:
Ebersberger et al. (2012) A consistent phylogenetic backbone for the fungi. Mol Biol Evol 29:1319-34. (pmid: 22114356) |
[ PubMed ] [ DOI ] The kingdom of fungi provides model organisms for biotechnology, cell biology, genetics, and life sciences in general. Only when their phylogenetic relationships are stably resolved, can individual results from fungal research be integrated into a holistic picture of biology. However, and despite recent progress, many deep relationships within the fungi remain unclear. Here, we present the first phylogenomic study of an entire eukaryotic kingdom that uses a consistency criterion to strengthen phylogenetic conclusions. We reason that branches (splits) recovered with independent data and different tree reconstruction methods are likely to reflect true evolutionary relationships. Two complementary phylogenomic data sets based on 99 fungal genomes and 109 fungal expressed sequence tag (EST) sets analyzed with four different tree reconstruction methods shed light from different angles on the fungal tree of life. Eleven additional data sets address specifically the phylogenetic position of Blastocladiomycota, Ustilaginomycotina, and Dothideomycetes, respectively. The combined evidence from the resulting trees supports the deep-level stability of the fungal groups toward a comprehensive natural system of the fungi. In addition, our analysis reveals methodologically interesting aspects. Enrichment for EST encoded data-a common practice in phylogenomic analyses-introduces a strong bias toward slowly evolving and functionally correlated genes. Consequently, the generalization of phylogenomic data sets as collections of randomly selected genes cannot be taken for granted. A thorough characterization of the data to assess possible influences on the tree reconstruction should therefore become a standard in phylogenomic analyses. |
Visualizing the tree
Once Phylip is done calculating the tree, the tree in a text format will be contained in the Phylip outfile
- the documentation of what the program has done. Open this textfile for a first look. The tree is complicated and it can look confusing at first. The tree in Newick format is contained in the Phylip file outtree
. Visualize it as follows:
Task:
- Open
outtree
in a texteditor and copy the tree. - Visualize the tree in alternative representations:
- I have already mentioned the iTOL - Interactive Tree of Life project viewer.
- Navigate to the Proweb treeviewer, paste and visualize your tree.
- Navigate to the Trex-online Newick tree viewer for an alternative view. Visualize the tree as a phylogram. You can increase the window height to keep the labels from overlapping.
- A particularly useful viwer is actually Jalview.
- Open Jalview, copy the sequences you have used and paste them via File → Input Alignment → from Textbox.
- In the alignment window, choose File → Load associated Tree and load the Phylip
outtree
file. You can click into the tree-window to show which clades branch off at what level - it should be obvious that you can identify three major subclades (plus the outgroup). This view is particularly informative, since you can associate the clades of the tree with the actual sequences in the alignment, and get a good sense what sequence features the tree is based on. - Try the Calculate → Sort → By Tree Order option to sort the sequences by their position in the tree. Also note that you can flip the tree around a node by double-clicking on it. This is especially useful: try to rearrange the tree so that the subdivisions into clades are apparent. Clicking into the window "cuts" the tree and colours your sequences according to the clades in which they are found. This is useful to understand what particular sequences contributed to which part of the phylogenetic inference.
- Study the tree: understand what you see and what you would have expected.
Here are two principles that will help you make sense of the tree.
A: A gene that is present in an ancestral species is inherited in all descendant species. The gene has to be observed in all OTUs, unless its has been lost (which is a rare event).
B: Paralogous genes in an ancestral species should give rise to monophyletic subtrees for each of the paralogues, in all descendants; this means: if the LCA of a branch has e.g. three genes, we would expect three copies of the species cladogram below this branchpoint, one for each of these genes. Each of these subtrees should recapitulate the reference phylogenetic tree of the species, up to the branchpoint of their LCA.
With these two simple principles (you should draw them out on a piece of paper if they do not seem obvious to you), you can probably pry your tree apart quite nicely. A few colored pencils and a printout of the tree will help.
The APSES domains of LCA
Note: A common confusion about cenancestral genes (LCA = Last Common Ancestor) arises from the fact that by far not all expected genes are present in the OTUs. Some will have been lost, some will have been incorrectly annotated in their genome (frameshifts!) and not been found with PSI-BLAST, some may have diverged beyond recognizability. In general you have to ask: given the species represented in a subclade, what is the last common ancestor of that branch? The expectation is that all descendants of that ancestor should be represented in that branch unless one of the above reasons why a gene might be absent would apply.
Task:
- Consider how many APSES domain proteins the fungal cenancestor appears to have possessed and what evidence you see in the tree that this is so. Note that the hallmark of a clade that originated in the cenancestor is that it contains species from all subsequent major branches of the species tree.
The APSES domains of YFO
Assume that the cladogram for fungi that I have given above is correct, and that the mixed gene tree you have calculated is fundamentally correct in its overall arrangement but may have local inaccuracies due to the limited resolution of the method. You have identified the APSES domain genes of the fungal cenancestor above. Apply the expectations we have stated above to identify the sequence of duplications and/or gene loss in your organism through which YFO has ended up with the APSES domains it possesses today.
Task:
- Print the tree to a single sheet of paper.
- Mark the clades for the genes of the cenancestor.
- Label all subsequent branchpoints that affect the gene tree for YFO with either "D" (for duplication) or "S" (for speciation). Remember that specific speciation events can appear more than once in a tree. Identify such events.
Bonus: when did it happen?
A very cool resource is Timetree - a tool that allows you to estimate divergence times between species. For example, the speciation event that separated the main branches of the fungi - i.e. the time when the fungal cenacestor lived - is given by the divergence time of Schizosaccharomyces pombe and Saccharomyces cerevisiaea: 761,000,000 years ago. For comparison, these two fungi are therefore approximately as related to each other as you are ...
A) to the rabbit?
B) to the opossum?
C) to the chicken?
D) to the rainbow trout?
E) to the warty sea squirt?
F) to the bumblebee?
G) to the earthworm?
H) to the fly agaric?
Check it out - the question will be on the quiz.
- That is all.
Links and resources
- Literature
Ebersberger et al. (2012) A consistent phylogenetic backbone for the fungi. Mol Biol Evol 29:1319-34. (pmid: 22114356) |
[ PubMed ] [ DOI ] The kingdom of fungi provides model organisms for biotechnology, cell biology, genetics, and life sciences in general. Only when their phylogenetic relationships are stably resolved, can individual results from fungal research be integrated into a holistic picture of biology. However, and despite recent progress, many deep relationships within the fungi remain unclear. Here, we present the first phylogenomic study of an entire eukaryotic kingdom that uses a consistency criterion to strengthen phylogenetic conclusions. We reason that branches (splits) recovered with independent data and different tree reconstruction methods are likely to reflect true evolutionary relationships. Two complementary phylogenomic data sets based on 99 fungal genomes and 109 fungal expressed sequence tag (EST) sets analyzed with four different tree reconstruction methods shed light from different angles on the fungal tree of life. Eleven additional data sets address specifically the phylogenetic position of Blastocladiomycota, Ustilaginomycotina, and Dothideomycetes, respectively. The combined evidence from the resulting trees supports the deep-level stability of the fungal groups toward a comprehensive natural system of the fungi. In addition, our analysis reveals methodologically interesting aspects. Enrichment for EST encoded data-a common practice in phylogenomic analyses-introduces a strong bias toward slowly evolving and functionally correlated genes. Consequently, the generalization of phylogenomic data sets as collections of randomly selected genes cannot be taken for granted. A thorough characterization of the data to assess possible influences on the tree reconstruction should therefore become a standard in phylogenomic analyses. |
Marcet-Houben & Gabaldón (2009) The tree versus the forest: the fungal tree of life and the topological diversity within the yeast phylome. PLoS ONE 4:e4357. (pmid: 19190756) |
[ PubMed ] [ DOI ] A recurrent topic in phylogenomics is the combination of various sequence alignments to reconstruct a tree that describes the evolutionary relationships within a group of species. However, such approach has been criticized for not being able to properly represent the topological diversity found among gene trees. To evaluate the representativeness of species trees based on concatenated alignments, we reconstruct several fungal species trees and compare them with the complete collection of phylogenies of genes encoded in the Saccharomyces cerevisiae genome. We found that, despite high levels of among-gene topological variation, the species trees do represent widely supported phylogenetic relationships. Most topological discrepancies between gene and species trees are concentrated in certain conflicting nodes. We propose to map such information on the species tree so that it accounts for the levels of congruence across the genome. We identified the lack of sufficient accuracy of current alignment and phylogenetic methods as an important source for the topological diversity encountered among gene trees. Finally, we discuss the implications of the high levels of topological variation for phylogeny-based orthology prediction strategies. |
Baldauf (2003) Phylogeny for the faint of heart: a tutorial. Trends Genet 19:345-51. (pmid: 12801728) |
[ PubMed ] [ DOI ] Phylogenetic trees seem to be finding ever broader applications, and researchers from very different backgrounds are becoming interested in what they might have to say. This tutorial aims to introduce the basics of building and interpreting phylogenetic trees. It is intended for those wanting to understand better what they are looking at when they look at someone else's trees or to begin learning how to build their own. Topics covered include: how to read a tree, assembling a dataset, multiple sequence alignment (how it works and when it does not), phylogenetic methods, bootstrap analysis and long-branch artefacts, and software and resources. |
Tuimala, Jarno (2006) A primer to phylogenetic analysis using the PHYLIP package. |
(pmid: None) [ Source URL ] The purpose of this tutorial is to demonstrate how to use PHYLIP, a collection of phylogenetic analysis software, and some of the options that are available. This tutorial is not intended to be a course in phylogenetics, although some phylogenetic concepts will be discussed briefly. There are other books available which cover the theoretical sides of the phylogenetic analysis, but the actual data analysis work is less well covered. Here we will mostly deal with molecular sequence data analysis in the current PHYLIP version 3.66. |
- Sequences
Footnotes and references
Ask, if things don't work for you!
- If anything about the assignment is not clear to you, please ask on the mailing list. You can be certain that others will have had similar problems. Success comes from joining the conversation.
- Do consider how to ask your questions so that a meaningful answer is possible:
- How to create a Minimal, Complete, and Verifiable example on stackoverflow and ...
- How to make a great R reproducible example are required reading.