Difference between revisions of "ABC-INT-Phylogeny"
m |
m |
||
Line 29: | Line 29: | ||
<section begin=abstract /> | <section begin=abstract /> | ||
<!-- included from "../components/ABC-INT-Phylogeny.components.wtxt", section: "abstract" --> | <!-- included from "../components/ABC-INT-Phylogeny.components.wtxt", section: "abstract" --> | ||
− | This page | + | This page integrates material from the learning units for working with multiple sequence alignments, and building and analysing phylogenetic trees, in a task for evaluation. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<section end=abstract /> | <section end=abstract /> | ||
Line 49: | Line 40: | ||
<!-- included from "ABC-unit_components.wtxt", section: "notes-prerequisites" --> | <!-- included from "ABC-unit_components.wtxt", section: "notes-prerequisites" --> | ||
You need to complete the following units before beginning this one: | You need to complete the following units before beginning this one: | ||
− | *[[BIN-PHYLO-Tree_analysis|BIN-PHYLO-Tree_analysis ( | + | *[[BIN-PHYLO-Tree_analysis|BIN-PHYLO-Tree_analysis (Analysing Phylogenetic Trees)]] |
{{Vspace}} | {{Vspace}} | ||
− | === | + | === Deliverables === |
− | <!-- included from "../components/ABC-INT-Phylogeny.components.wtxt", section: " | + | <!-- included from "../components/ABC-INT-Phylogeny.components.wtxt", section: "deliverables" --> |
− | . | + | <!-- included from "ABC-unit_components.wtxt", section: "deliverables-integrator" --> |
+ | *<b>Integrator unit</b>: Deliverables will be marked as detailed on this page. | ||
{{Vspace}} | {{Vspace}} | ||
− | === | + | === Evaluation === |
− | <!-- included from "../components/ABC-INT-Phylogeny.components.wtxt", section: " | + | <!-- included from "../components/ABC-INT-Phylogeny.components.wtxt", section: "evaluation" --> |
− | ... | + | ;This "Integrator Unit" should be submitted for evaluation for a maximum of 10 marks. |
+ | :Please note the evaluation types that are available as options for this unit. Choose one evaluation type that you have not chosen for another Integrator Unit. (Each submitted Integrator Unit must be evaluated in a different way and one of your evaluations - but not your first one - must be an oral exam). | ||
+ | {{Smallvspace}} | ||
+ | ;Report option | ||
+ | * Work through the tasks described in the scenario. | ||
+ | * Document your results in a short report on a subpage of your User page on the Student Wiki. Describe your methods (R-code!) in an appendix; | ||
+ | * When you are done with everything, add the following category tag to the page: | ||
+ | ::<code><nowiki>[[Category:EVAL-INT-Phylogeny]]</nowiki></code> | ||
+ | :'''Do not''' change your submission page after this tag has been added. The page will be marked and the category tag will be removed by the instructor. | ||
+ | {{Smallvspace}} | ||
+ | ;Interview option | ||
+ | : Identify a laboratory whose work includes constructing and evaluating phylogenetic trees. Get in touch with the PI, a postdoc or senior graduate student in the laboratory and interview them in person or by eMail. Find out | ||
+ | :* why this work is important; | ||
+ | :* how they approach it methodologically; | ||
+ | :* in particular, how they quantify the severity of an effect (get technical on that point); | ||
+ | :* what they have recently learned; | ||
+ | :* what the major challenges, current discussions, or controversies are. | ||
+ | :* write up your interview on a subpage of your User page of the Student Wiki; | ||
+ | :* add information that may be required to understand the methodology; | ||
+ | :* make sure that you have included important literature references. | ||
+ | :* When you are done with everything, add the following category tag to the page: | ||
+ | ::<code><nowiki>[[Category:EVAL-INT-Phylogeny]]</nowiki></code> | ||
+ | :'''Do not''' change your submission page after this tag has been added. The page will be marked and the category tag will be removed by the instructor. | ||
+ | {{Smallvspace}} | ||
+ | ;Literature research option | ||
+ | :Navigate to the [http://steipe.biochemistry.utoronto.ca/abc/students/index.php/ABC-INT-Phylogeny_topics '''Phylogeny Literature Research Topics] page on the Student Wiki. | ||
+ | :* Pick a topic and enter your name in the table to claim it. | ||
+ | :* Write a report on your research. Note: this is not a review, but a report. Think of a "whitepaper", not a publication. Write to a specialist technical audience and be specific to provide actionable information. | ||
+ | :* write your report on a subpage of your User page of the Student Wiki; | ||
+ | :* make sure that you have included all references and citations. | ||
+ | :* When you are done with everything, add the following category tag to the page: | ||
+ | ::<code><nowiki>[[Category:EVAL-INT-Phylogeny]]</nowiki></code> | ||
+ | :'''Do not''' change your submission page after this tag has been added. The page will be marked and the category tag will be removed by the instructor. | ||
+ | {{Smallvspace}} | ||
+ | ;Oral exam option | ||
+ | * Work through the tasks described in the scenario. Remember to document your work in your journal. | ||
+ | * Part of your task will involve writing an R script, place that code in a subpage of your User page on the Student Wiki and link to it from your Journal. (Do not add an evaluation category tag to that code). | ||
+ | * Your work must be complete before 21:00 on the day of your exam. | ||
+ | * Schedule an oral exam by editing the [http://steipe.biochemistry.utoronto.ca/abc/students/index.php/Signup-Oral_exams_2017 '''signup page on the Student Wiki''']. Enter the unit that you are signing up for, and your name. You must have signed-up for an exam slot before 21:00 on the day before your exam. | ||
+ | {{Smallvspace}} | ||
+ | ;R code option | ||
+ | * Work through the tasks described in the scenario and develop code as required. | ||
+ | * Put your code on a subpage of your User page on the Student Wiki; | ||
+ | * When you are done with everything, add the following category tag to the page: | ||
+ | ::<code><nowiki>[[Category:EVAL-INT-Phylogeny]]</nowiki></code> | ||
+ | :'''Do not''' change your submission page after this tag has been added. The page will be marked and the category tag will be removed by the instructor. | ||
+ | |||
{{Vspace}} | {{Vspace}} | ||
− | === | + | </div> |
− | <!-- included from "../components/ABC-INT-Phylogeny.components.wtxt", section: " | + | <div id="BIO"> |
− | + | == Contents == | |
− | + | <!-- included from "../components/ABC-INT-Phylogeny.components.wtxt", section: "contents" --> | |
+ | |||
+ | |||
+ | === For the Report Option ...=== | ||
+ | |||
+ | Choose '''one''' of the two tasks below: | ||
+ | {{Smallvspace}} | ||
+ | ;Does masking improve the tree? | ||
+ | {{Smallvspace}} | ||
+ | {{task| | ||
+ | # Produce a phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Do not apply masking. | ||
+ | # Produce a second phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Apply masking to delete all columns that have more then 2/3 gap-characters. | ||
+ | # Determine which tree is "more correct" by calculating tree distances to the species tree. | ||
+ | # Report your findings. | ||
+ | }} | ||
+ | {{Smallvspace}} | ||
+ | ;Does adding characters improve the tree? | ||
+ | {{Smallvspace}} | ||
+ | {{task| | ||
+ | # Produce a phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Do not apply masking. | ||
+ | # Produce a second phylogenetic tree only from APSES domains of Mbp1 orthologues for the reference species and MYSPE. Again, do not apply masking. | ||
+ | # Determine which tree is "more correct" by calculating tree distances to the species tree. | ||
+ | # Report your findings. | ||
+ | }} | ||
{{Vspace}} | {{Vspace}} | ||
+ | === For the Oral Exam Option ...=== | ||
+ | |||
+ | Interpret the full APSES tree. | ||
+ | {{Smallvspace}} | ||
+ | {{task|1= | ||
+ | * Produce a phylogenetic tree from APSES domains of all proteins in myDB. This includes all APSES domain proteins from MYSPE that you have found with PSI-BLAST. (Caution: the proml program may take quite long to compute this tree. Several hours.) You will find tis bit of code useful to get you started: | ||
+ | <source lang ="R"> | ||
+ | library(msa) | ||
− | + | # Align all sequences in the database + KILA_ESSCO | |
− | < | + | mySeq <- myDB$protein$sequence |
− | < | + | names(mySeq) <- myDB$protein$name |
− | < | + | mySeq <- c(mySeq, |
− | : | + | "IDGEIIHLRAKDGYINATSMCRTAGKLLSDYTRLKTTQEFFDELSRDMGIPISELIQSFKGGRPENQGTWVHPDIAINLAQ") |
+ | names(mySeq)[length(mySeq)] <- "KILA_ESCCO" | ||
+ | |||
+ | mySeqMSA <- msaClustalOmega(AAStringSet(mySeq)) # too many sequences for MUSCLE | ||
+ | |||
+ | |||
+ | # get the sequence of the SACCE APSES domain | ||
+ | sel <- myDB$protein$name == "MBP1_SACCE" | ||
+ | proID <- myDB$protein$ID[sel] | ||
+ | |||
+ | sel <- myDB$feature$ID[myDB$feature$name == "APSES fold"] | ||
+ | fanID <- myDB$annotation$ID[myDB$annotation$proteinID == proID & | ||
+ | myDB$annotation$featureID == sel] | ||
+ | start <- myDB$annotation$start[fanID] | ||
+ | end <- myDB$annotation$end[fanID] | ||
+ | |||
+ | SACCEapses <- substring(myDB$protein$sequence[proID], start, end) | ||
+ | |||
+ | # extract the APSES domains from the MSA | ||
+ | APSESmsa <- fetchMSAmotif(mySeqMSA, SACCEapses) | ||
+ | |||
+ | # Produce the phylogenetic tree ... | ||
+ | </source> | ||
+ | * Interpret the tree with two objectives. | ||
+ | :* (A) how many APSES domain proteins did the last common ancestor (LCA) of all fungi have? | ||
+ | :* (B) what is the evolutionary history of the APSES domain proteins in MYSPE? Were genes lost? Did duplications occur? | ||
+ | * Print your tree and annotate it. Bring it to the exam and be prepared to discuss your interpretation. | ||
+ | }} | ||
{{Vspace}} | {{Vspace}} | ||
+ | === For the R-code option ...=== | ||
+ | |||
+ | ;Does adding species improve the tree? | ||
+ | {{Smallvspace}} | ||
+ | {{task|1= | ||
+ | * Produce a MSA from APSES domains of all proteins in myDB. | ||
+ | <source lang ="R"> | ||
+ | library(msa) | ||
+ | |||
+ | # Align all sequences in the database + KILA_ESSCO | ||
+ | mySeq <- myDB$protein$sequence | ||
+ | names(mySeq) <- myDB$protein$name | ||
+ | mySeq <- c(mySeq, | ||
+ | "IDGEIIHLRAKDGYINATSMCRTAGKLLSDYTRLKTTQEFFDELSRDMGIPISELIQSFKGGRPENQGTWVHPDIAINLAQ") | ||
+ | names(mySeq)[length(mySeq)] <- "KILA_ESCCO" | ||
+ | |||
+ | mySeqMSA <- msaClustalOmega(AAStringSet(mySeq)) # too many sequences for MUSCLE | ||
+ | |||
+ | |||
+ | # get the sequence of the SACCE APSES domain | ||
+ | sel <- myDB$protein$name == "MBP1_SACCE" | ||
+ | proID <- myDB$protein$ID[sel] | ||
+ | |||
+ | sel <- myDB$feature$ID[myDB$feature$name == "APSES fold"] | ||
+ | fanID <- myDB$annotation$ID[myDB$annotation$proteinID == proID & | ||
+ | myDB$annotation$featureID == sel] | ||
+ | start <- myDB$annotation$start[fanID] | ||
+ | end <- myDB$annotation$end[fanID] | ||
+ | |||
+ | SACCEapses <- substring(myDB$protein$sequence[proID], start, end) | ||
+ | |||
+ | # extract the APSES domains from the MSA | ||
+ | APSESmsa <- fetchMSAmotif(mySeqMSA, SACCEapses) | ||
+ | </source> | ||
+ | |||
+ | * Write an R-script that does the following: | ||
+ | ** pick ten random sequences that are not Mbp1 orthologues and not <tt>KILA_ESCCO</tt> | ||
+ | ** remove all other sequences from the alignment | ||
+ | ** mask all columns that have more then 80% gap characters | ||
+ | ** produce a phylogenetic tree from this input data | ||
+ | ** drop all tips that are not Mbp1 orthologues and not <tt>KILA_ESCCO</tt>. This code will be useful: | ||
+ | <source lang = "R"> | ||
+ | # assuming your new tree is called "allApsTree" | ||
+ | sel <- ! (allApsTree$tip.label %in% fungiTree$tip.label) | ||
+ | newTree <- drop.tip(allApsTree, allApsTree$tip.label[sel]) | ||
+ | </source> | ||
+ | * Is this tree more similar to <tt>fungiTree</tt> than <tt>apsTree</tt> was? | ||
+ | # Submit your script, significant output, and its results. | ||
+ | |||
+ | }} | ||
+ | |||
+ | {{Vspace}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Vspace}} | {{Vspace}} | ||
Line 113: | Line 255: | ||
</div> | </div> | ||
<div id="ABC-unit-framework"> | <div id="ABC-unit-framework"> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Vspace}} | {{Vspace}} | ||
Line 159: | Line 279: | ||
:2017-08-05 | :2017-08-05 | ||
<b>Modified:</b><br /> | <b>Modified:</b><br /> | ||
− | :2017- | + | :2017-11-01 |
<b>Version:</b><br /> | <b>Version:</b><br /> | ||
− | :0 | + | :1.0 |
<b>Version history:</b><br /> | <b>Version history:</b><br /> | ||
+ | *1.0 First live version | ||
*0.1 First stub | *0.1 First stub | ||
</div> | </div> |
Revision as of 16:02, 2 November 2017
Integration Unit: Phylogeny
Keywords: Integration unit: calculate and analyse a phylogenetic tree
Contents
This page is only a stub; it is here as a placeholder to establish the logical framework of the site but there is no significant content as yet. Do not work with this material until it is updated to "live" status.
Abstract
This page integrates material from the learning units for working with multiple sequence alignments, and building and analysing phylogenetic trees, in a task for evaluation.
This unit ...
Prerequisites
You need to complete the following units before beginning this one:
Deliverables
- Integrator unit: Deliverables will be marked as detailed on this page.
Evaluation
- This "Integrator Unit" should be submitted for evaluation for a maximum of 10 marks.
- Please note the evaluation types that are available as options for this unit. Choose one evaluation type that you have not chosen for another Integrator Unit. (Each submitted Integrator Unit must be evaluated in a different way and one of your evaluations - but not your first one - must be an oral exam).
- Report option
- Work through the tasks described in the scenario.
- Document your results in a short report on a subpage of your User page on the Student Wiki. Describe your methods (R-code!) in an appendix;
- When you are done with everything, add the following category tag to the page:
[[Category:EVAL-INT-Phylogeny]]
- Do not change your submission page after this tag has been added. The page will be marked and the category tag will be removed by the instructor.
- Interview option
- Identify a laboratory whose work includes constructing and evaluating phylogenetic trees. Get in touch with the PI, a postdoc or senior graduate student in the laboratory and interview them in person or by eMail. Find out
- why this work is important;
- how they approach it methodologically;
- in particular, how they quantify the severity of an effect (get technical on that point);
- what they have recently learned;
- what the major challenges, current discussions, or controversies are.
- write up your interview on a subpage of your User page of the Student Wiki;
- add information that may be required to understand the methodology;
- make sure that you have included important literature references.
- When you are done with everything, add the following category tag to the page:
[[Category:EVAL-INT-Phylogeny]]
- Do not change your submission page after this tag has been added. The page will be marked and the category tag will be removed by the instructor.
- Literature research option
- Navigate to the Phylogeny Literature Research Topics page on the Student Wiki.
- Pick a topic and enter your name in the table to claim it.
- Write a report on your research. Note: this is not a review, but a report. Think of a "whitepaper", not a publication. Write to a specialist technical audience and be specific to provide actionable information.
- write your report on a subpage of your User page of the Student Wiki;
- make sure that you have included all references and citations.
- When you are done with everything, add the following category tag to the page:
[[Category:EVAL-INT-Phylogeny]]
- Do not change your submission page after this tag has been added. The page will be marked and the category tag will be removed by the instructor.
- Oral exam option
- Work through the tasks described in the scenario. Remember to document your work in your journal.
- Part of your task will involve writing an R script, place that code in a subpage of your User page on the Student Wiki and link to it from your Journal. (Do not add an evaluation category tag to that code).
- Your work must be complete before 21:00 on the day of your exam.
- Schedule an oral exam by editing the signup page on the Student Wiki. Enter the unit that you are signing up for, and your name. You must have signed-up for an exam slot before 21:00 on the day before your exam.
- R code option
- Work through the tasks described in the scenario and develop code as required.
- Put your code on a subpage of your User page on the Student Wiki;
- When you are done with everything, add the following category tag to the page:
[[Category:EVAL-INT-Phylogeny]]
- Do not change your submission page after this tag has been added. The page will be marked and the category tag will be removed by the instructor.
Contents
For the Report Option ...
Choose one of the two tasks below:
- Does masking improve the tree?
Task:
- Produce a phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Do not apply masking.
- Produce a second phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Apply masking to delete all columns that have more then 2/3 gap-characters.
- Determine which tree is "more correct" by calculating tree distances to the species tree.
- Report your findings.
- Does adding characters improve the tree?
Task:
- Produce a phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Do not apply masking.
- Produce a second phylogenetic tree only from APSES domains of Mbp1 orthologues for the reference species and MYSPE. Again, do not apply masking.
- Determine which tree is "more correct" by calculating tree distances to the species tree.
- Report your findings.
For the Oral Exam Option ...
Interpret the full APSES tree.
Task:
- Produce a phylogenetic tree from APSES domains of all proteins in myDB. This includes all APSES domain proteins from MYSPE that you have found with PSI-BLAST. (Caution: the proml program may take quite long to compute this tree. Several hours.) You will find tis bit of code useful to get you started:
library(msa)
# Align all sequences in the database + KILA_ESSCO
mySeq <- myDB$protein$sequence
names(mySeq) <- myDB$protein$name
mySeq <- c(mySeq,
"IDGEIIHLRAKDGYINATSMCRTAGKLLSDYTRLKTTQEFFDELSRDMGIPISELIQSFKGGRPENQGTWVHPDIAINLAQ")
names(mySeq)[length(mySeq)] <- "KILA_ESCCO"
mySeqMSA <- msaClustalOmega(AAStringSet(mySeq)) # too many sequences for MUSCLE
# get the sequence of the SACCE APSES domain
sel <- myDB$protein$name == "MBP1_SACCE"
proID <- myDB$protein$ID[sel]
sel <- myDB$feature$ID[myDB$feature$name == "APSES fold"]
fanID <- myDB$annotation$ID[myDB$annotation$proteinID == proID &
myDB$annotation$featureID == sel]
start <- myDB$annotation$start[fanID]
end <- myDB$annotation$end[fanID]
SACCEapses <- substring(myDB$protein$sequence[proID], start, end)
# extract the APSES domains from the MSA
APSESmsa <- fetchMSAmotif(mySeqMSA, SACCEapses)
# Produce the phylogenetic tree ...
- Interpret the tree with two objectives.
- (A) how many APSES domain proteins did the last common ancestor (LCA) of all fungi have?
- (B) what is the evolutionary history of the APSES domain proteins in MYSPE? Were genes lost? Did duplications occur?
- Print your tree and annotate it. Bring it to the exam and be prepared to discuss your interpretation.
For the R-code option ...
- Does adding species improve the tree?
Task:
- Produce a MSA from APSES domains of all proteins in myDB.
library(msa)
# Align all sequences in the database + KILA_ESSCO
mySeq <- myDB$protein$sequence
names(mySeq) <- myDB$protein$name
mySeq <- c(mySeq,
"IDGEIIHLRAKDGYINATSMCRTAGKLLSDYTRLKTTQEFFDELSRDMGIPISELIQSFKGGRPENQGTWVHPDIAINLAQ")
names(mySeq)[length(mySeq)] <- "KILA_ESCCO"
mySeqMSA <- msaClustalOmega(AAStringSet(mySeq)) # too many sequences for MUSCLE
# get the sequence of the SACCE APSES domain
sel <- myDB$protein$name == "MBP1_SACCE"
proID <- myDB$protein$ID[sel]
sel <- myDB$feature$ID[myDB$feature$name == "APSES fold"]
fanID <- myDB$annotation$ID[myDB$annotation$proteinID == proID &
myDB$annotation$featureID == sel]
start <- myDB$annotation$start[fanID]
end <- myDB$annotation$end[fanID]
SACCEapses <- substring(myDB$protein$sequence[proID], start, end)
# extract the APSES domains from the MSA
APSESmsa <- fetchMSAmotif(mySeqMSA, SACCEapses)
- Write an R-script that does the following:
- pick ten random sequences that are not Mbp1 orthologues and not KILA_ESCCO
- remove all other sequences from the alignment
- mask all columns that have more then 80% gap characters
- produce a phylogenetic tree from this input data
- drop all tips that are not Mbp1 orthologues and not KILA_ESCCO. This code will be useful:
# assuming your new tree is called "allApsTree"
sel <- ! (allApsTree$tip.label %in% fungiTree$tip.label)
newTree <- drop.tip(allApsTree, allApsTree$tip.label[sel])
- Is this tree more similar to fungiTree than apsTree was?
- Submit your script, significant output, and its results.
Further reading, links and resources
Notes
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-11-01
Version:
- 1.0
Version history:
- 1.0 First live version
- 0.1 First stub
This copyrighted material is licensed under a Creative Commons Attribution 4.0 International License. Follow the link to learn more.