Difference between revisions of "BIN-PHYLO-Tree analysis"

From "A B C"
Jump to navigation Jump to search
m
m
Line 98: Line 98:
  
 
===Analysis===
 
===Analysis===
 +
 +
 +
 +
 +
==Analysing your tree==
 +
{{Vspace}}
 +
 +
In order to analyse your tree, you need a species tree as reference. This really is an absolute prerequisite to make your expectations about the observed tree explicit. Fortunately we have all species nicely documented in our database.
 +
 +
{{Vspace}}
 +
 +
===The reference species tree===
 +
 +
{{Vspace}}
 +
 +
{{task|1=
 +
 +
* Navigate to the [http://www.ncbi.nlm.nih.gov/taxonomy '''NCBI Taxonomy page''']
 +
 +
* Execute the following '''R''' command to create an Entrez command that will retrieve all taxonomy records for the species in your database:
 +
<source lang="R">
 +
cat(paste(paste(c(myDB$taxonomy$ID, "83333"), "[taxid]", sep=""), collapse=" OR "))
 +
</source>
 +
 +
* Copy the Entrez command, and enter it into the search field of the NCBI taxonomy page. Click on '''Search'''. The resulting page should have twelve species listed - ten "reference" fungi, ''E. coli'' (as the outgroup), and MYSPE. Make sure MYSPE is included! If it's not there, you did something wrong that needs to be fixed.
 +
 +
* Click on the '''Summary''' options near the top-left of the page, and select '''Common Tree'''. This places all the species into the universal tree of life and identifies their relationships.
 +
 +
* At the top, there is an option to '''Save as''' ... and the option to select a format to save the tree in. Select '''Phylip Tree''' as the format and click the '''Save as''' button. The file <code>phyliptree.phy</code> will be downloaded to your computer into your default download directory. Move it to the directory you have defined as <code>PROJECTDIR</code>.
 +
 +
*Open the file in a text-editor. This is a tree, specified in the so-called {{WP|Newick_format|'''"Newick format"'''}}. The topology of the tree is defined through the brackets, and the branch-lengths are all the same: this is a cladogram, not a phylogram. The tree contains the long names for the species/strains and for our purposes we really need the "biCodes" instead. I can't think of a very elegant way to make that change programmatically, so just go ahead and replace the species names (not the taxonomic ranks though) with their biCode in your text editor. Remove all the single quotes, and replace any remaining blanks in names with an underscore. Take care however not to delete any colons or parentheses. Save the file.
 +
 +
My version looks like this - '''Your version must have MYSPE somewhere in the tree.'''.
 +
 +
(
 +
'ESCCO':4,
 +
(
 +
(
 +
'PUCGR':4,
 +
'USTMA':4,
 +
(
 +
'WALME':4,
 +
'COPCI':4,
 +
'CRYNE':4
 +
)Agaricomycotina:4
 +
)Basidiomycota:4,
 +
(
 +
(
 +
(
 +
'ASPNI':4,
 +
'BIPOR':4,
 +
'NEUCR':4
 +
)leotiomyceta:4,
 +
'SACCE':4
 +
)saccharomyceta:4,
 +
'SCHPO':4
 +
)Ascomycota:4
 +
)Dikarya:4
 +
)'cellular organisms':4;
 +
 +
*Now read the tree in '''R''' and plot it.
 +
 +
<source lang="R">
 +
 +
# Download the EDITED phyliptree.phy
 +
orgTree <- read.tree("phyliptree.phy")
 +
 +
# Plot the tree in a new window
 +
dev.new(width=6, height=3)
 +
plot(orgTree, cex=1.0, root.edge=TRUE, no.margin=TRUE)
 +
nodelabels(text=orgTree$node.label, cex=0.6, adj=0.2, bg="#D4F2DA")
 +
 +
</source>
 +
 +
}}
 +
 +
{{Vspace}}
 +
 +
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 trees 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.
 +
 +
{{vspace}}
 +
<div class="reference-box">
 +
[[Image:FungiCladogram.jpg|600px|none]]
 +
 +
 +
<small>'''Cladogram of the "reference" fungi''' studied in the assignments. This cladogram is based on a tree returned by the NCBI Common Tree. It is thus a digest of cladistic relationships, not a representation of a specific molecular phylogeny.</small>
 +
</div>
 +
 +
Alternatively, you can look up your species in the latest version of the species tree for the fungi and add it to the tree by hand while resolving the trifurcations. See:
 +
{{#pmid: 22114356}}
 +
 +
{{Vspace}}
 +
 +
 +
{{task|1=
 +
 +
* Return to the RStudio project and continue with the script to its end. Note the deliverable at the end: to print out your trees and bring them to class.
 +
 +
}}
 +
 +
 +
 +
<!--
 +
 +
#Copy the tree-string from the R console.
 +
#Visualize the tree online: navigate to the [http://www.trex.uqam.ca/index.php?action=newick&project=trex Trex-online Newick tree viewer]. Visualize the tree as a phylogram. Explore the options.
 +
 +
# A particularly useful viewer is actually Jalview - although this may be more apparent with the larger alignment of '''all''' sequences we'll produce later.
 +
##Open Jalview and load your alignment of all APSES domain proteins.
 +
##Save the Newick-formatted tree.
 +
##In the alignment window, choose '''File &rarr; Load associated Tree''' and load your tree 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 &rarr; Sort &rarr; 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.
 +
 +
 +
ANALYSIS
 +
 +
* First, the APS and ANK trees should have the same topology, since they are only different parts of the same protein (unless that protein has swapped its domains with another one during evolution). Clearly, that is not the case. The ''basidiomycota'' are reasonably consistent, although their internal ordering is poorly resolved, particularly in the APS tree. The ''ascomycota'' show two major differences, but they are actually consistent between the APS and the ANK tree: SACCE is less similar to all than we would expect from the species tree. And NEUCR is more similar to the ''basidiomycotal'' proteins.
 +
 +
* Consider the scale bars: ANK domains have evolved at about twice the rate of the APS domains. This alone should tell us to be cautious with our interpretations since this shows there are different degrees of selective pressure on different parts of the protein. Moreover the <u>relative rates</u> differ as well. NEUCR's APSES domain has evolved much faster by comparison to other proteins than its ankyrin domain. Has its biological function changed?
 +
 +
* Secondly, both gene trees should follow the species tree. Again, there are differences. But if we exclude SACCE and NEUCR, the remainder actually turns out relatively consistent.
 +
 +
In any case: this is what the data tells us. The big picture is mostly conserved, but there are differences in the details. However: now we know what degree of accuracy we can expect from the analysis.
 +
 +
{{Vspace}}
 +
 +
==The mixed gene tree==
 +
{{vspace}}
 +
 +
You have now practiced how to calculate, manipulate, plot, annotate and compare trees.
 +
 +
{{task|1=
 +
 +
* Now use Rproml to calculate a mixed gene tree based on '''all'' APSES domains. You saved it as <code>APSES.mfa</code>. For the fifty or so domains, each run will take about an hour. Thus run as many <code>random.addition</code> cycles as reasonable during a study break, or overnight. Thus the command will be something like:
 +
 +
<source lang="R">
 +
allApsIn <- read.protein("APSES.mfa")
 +
fullApsTree <- Rproml(allApsIn, path=PROMLPATH, random.addition=3)
 +
 +
#... and don't forget:
 +
save(fullApsTree, file="fullApsTree.rda")
 +
</source>
 +
 +
}}
 +
 +
{{Vspace}}
 +
 +
 +
 +
 +
 +
 +
  
 
{{Vspace}}
 
{{Vspace}}

Revision as of 04:07, 1 November 2017

Title


 

Keywords:  Species trees, gene trees and the importance of naming, Speciation and duplication signatures


 



 


Caution!

This unit is under development. There is some contents here but it is incomplete and/or may change significantly: links may lead to nowhere, the contents is likely going to be rearranged, and objectives, deliverables etc. may be incomplete or missing. Do not work with this material until it is updated to "live" status.


 


Abstract

The analysis of mixed gene trees.


 


This unit ...

Prerequisites

You need to complete the following units before beginning this one:


 


Objectives

This unit will ...

  • ... introduce ;
  • ... demonstrate ;
  • ... teach ;


 


Outcomes

After working through this unit you ...

  • ... can ;
  • ... are familar with ;
  • ... have begun to.


 


Deliverables

  • Time management: Before you begin, estimate how long it will take you to complete this unit. Then, record in your course journal: the number of hours you estimated, the number of hours you worked on the unit, and the amount of time that passed between start and completion of this unit.
  • Journal: Document your progress in your Course Journal. Some tasks may ask you to include specific items in your journal. Don't overlook these.
  • Insights: If you find something particularly noteworthy about this unit, make a note in your insights! page.


 


Evaluation

Evaluation: NA

This unit is not evaluated for course marks.


 


Contents

Task:


Analysis

Analysing your tree

 

In order to analyse your tree, you need a species tree as reference. This really is an absolute prerequisite to make your expectations about the observed tree explicit. Fortunately we have all species nicely documented in our database.


 

The reference species tree

 

Task:

  • Execute the following R command to create an Entrez command that will retrieve all taxonomy records for the species in your database:
cat(paste(paste(c(myDB$taxonomy$ID, "83333"), "[taxid]", sep=""), collapse=" OR "))
  • Copy the Entrez command, and enter it into the search field of the NCBI taxonomy page. Click on Search. The resulting page should have twelve species listed - ten "reference" fungi, E. coli (as the outgroup), and MYSPE. Make sure MYSPE is included! If it's not there, you did something wrong that needs to be fixed.
  • Click on the Summary options near the top-left of the page, and select Common Tree. This places all the species into the universal tree of life and identifies their relationships.
  • At the top, there is an option to Save as ... and the option to select a format to save the tree in. Select Phylip Tree as the format and click the Save as button. The file phyliptree.phy will be downloaded to your computer into your default download directory. Move it to the directory you have defined as PROJECTDIR.
  • Open the file in a text-editor. This is a tree, specified in the so-called "Newick format". The topology of the tree is defined through the brackets, and the branch-lengths are all the same: this is a cladogram, not a phylogram. The tree contains the long names for the species/strains and for our purposes we really need the "biCodes" instead. I can't think of a very elegant way to make that change programmatically, so just go ahead and replace the species names (not the taxonomic ranks though) with their biCode in your text editor. Remove all the single quotes, and replace any remaining blanks in names with an underscore. Take care however not to delete any colons or parentheses. Save the file.

My version looks like this - Your version must have MYSPE somewhere in the tree..

(
'ESCCO':4,
(
(
'PUCGR':4,
'USTMA':4,
(
'WALME':4,
'COPCI':4,
'CRYNE':4
)Agaricomycotina:4
)Basidiomycota:4,
(
(
(
'ASPNI':4,
'BIPOR':4,
'NEUCR':4
)leotiomyceta:4,
'SACCE':4
)saccharomyceta:4,
'SCHPO':4
)Ascomycota:4
)Dikarya:4
)'cellular organisms':4;
  • Now read the tree in R and plot it.
# Download the EDITED phyliptree.phy
orgTree <- read.tree("phyliptree.phy")

# Plot the tree in a new window
dev.new(width=6, height=3)
plot(orgTree, cex=1.0, root.edge=TRUE, no.margin=TRUE)
nodelabels(text=orgTree$node.label, cex=0.6, adj=0.2, bg="#D4F2DA")


 

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 trees 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.


 
FungiCladogram.jpg


Cladogram of the "reference" fungi studied in the assignments. This cladogram is based on a tree returned by the NCBI Common Tree. It is thus a digest of cladistic relationships, not a representation of a specific molecular phylogeny.

Alternatively, you can look up your species in the latest version of the species tree for the fungi and add it to the tree by hand while resolving the trifurcations. See:

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.


 


Task:

  • Return to the RStudio project and continue with the script to its end. Note the deliverable at the end: to print out your trees and bring them to class.




 


Self-evaluation

 



 




 

If in doubt, ask! If anything about this learning unit is not clear to you, do not proceed blindly but ask for clarification. Post your question on the course mailing list: others are likely to have similar problems. Or send an email to your instructor.



 

About ...
 
Author:

Boris Steipe <boris.steipe@utoronto.ca>

Created:

2017-08-05

Modified:

2017-10-31

Version:

1.0

Version history:

  • 1.0 First live version.
  • 0.1 First stub

CreativeCommonsBy.png This copyrighted material is licensed under a Creative Commons Attribution 4.0 International License. Follow the link to learn more.