Difference between revisions of "ABC-INT-Phylogeny"

From "A B C"
Jump to navigation Jump to search
m
m
Line 36: Line 36:
  
  
{{HOLD}}
 
  
 
{{Smallvspace}}
 
{{Smallvspace}}
Line 47: Line 46:
  
 
=== Evaluation ===
 
=== Evaluation ===
This "Integrator Unit" should be submitted for evaluation for a maximum of 8 marks if one of the written deliverables is chosen, resp. 16 marks for the oral test<ref>Note: the oral test will focus on the unit content but will also cover other material that leads up to it</ref>.
+
This "Integrator Unit" should be submitted for evaluation for a maximum of 13 marks if one of the written deliverables is chosen, resp. 24 marks if you choose this for your oral test<ref>Note: the oral test is cumulative. It will focus on the content of this unit but will also cover other material that leads up to it.</ref>.
: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 test).
+
:Please note the evaluation types that are available as options for this unit.
 +
:Be mindful of the [[ABC-Rubrics| '''Marking rubrics''']].
 +
:If this is submitted for your oral test, please read the [[BCH441 Oral Test instructions|Oral test instructions]] before you begin.
 +
:If your submission includes R code, please read the [[BCH441 Code submisson instructions|Code submission instructions]] before you begin.
 +
 
 +
Once you have chosen an option ...
 +
<ol>
 +
<li>Create a new page on the student Wiki as a subpage of your User Page.</li>
 +
<li>Put all of your writing to submit on this one page.</li>
 +
 
 +
<li>When you are done with everything, go to the [https://q.utoronto.ca/courses/180416/assignments Quercus '''Assignments''' page] and open the appropriate '''Integrator Unit''' assignment. Paste the URL of your Wiki page into the form, and click on '''Submit Assignment'''.</li>
 +
</ol>
 +
 
 +
'''Do not''' change your Wiki page after you have submitted your assignment, until it has been graded.
 +
 
 
{{Smallvspace}}
 
{{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 end of page''':
 
::<code><nowiki>[[Category:EVAL-INT-Phylogeny]]</nowiki></code>.
 
  
Once the page has been saved with this tag, it is considered "submitted".
 
'''Do not''' change your submission after this tag has been added. The page will be marked and the category tag will be removed by the instructor.
 
{{Smallvspace}}
 
 
;Interview option
 
;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
+
: 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. Make sure they understand that this is a for-credit assignment in a course you are taking.<ref>You may CC me on correspondence if you wish.</ref> Devise meaningful questions to find out:
 
:* why this work is important;
 
:* why this work is important;
:* how they approach it methodologically;
+
:* what methods they employ;
:* in particular, how they quantify the severity of an effect (get technical on that point);
+
:* in particular, how they define reference species, create alignments, compute phylogenetic trees, estimate significance and prepare figures for publication (get technical on that point: you need to report on software and key parameters);
 
:* what they have recently learned;
 
:* what they have recently learned;
:* what the major challenges, current discussions, or controversies are.
+
:* what the major challenges, current discussions, or controversies in their field are.
 
:* write up your interview on a subpage of your User page of the Student Wiki;
 
:* 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;
+
:* add background information that may be required to understand the methodology (assume the level of background knowledge appropriate for a student in this course);
 
:* make sure that you have included important literature references.
 
:* make sure that you have included important literature references.
:* When you are done with everything, add the following category tag '''to the end of page''':
+
:* Follow up questions if additional clarification is needed.
::<code><nowiki>[[Category:EVAL-INT-Phylogeny]]</nowiki></code>.
+
* When you are done, submit the link to your page via Quercus as described above.
  
Once the page has been saved with this tag, it is considered "submitted".
 
'''Do not''' change your submission after this tag has been added. The page will be marked and the category tag will be removed by the instructor.
 
 
{{Smallvspace}}
 
{{Smallvspace}}
 +
 
;Literature research option
 
;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.
 
: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.
Line 80: Line 84:
 
:* 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 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;
 
:* write your report on a subpage of your User page of the Student Wiki;
:* make sure that you have included all references and citations.
+
:* make sure that you have included all references in your report, and citations in an appropriate reference section. Use the <tt><nowiki>{{#pmid:0000000}}</nowiki></tt> template. References must be to the page where the information is found, not merely to a paper as a whole (where appropriate).
:* When you are done with everything, add the following category tag '''to the end of page''':
+
* When you are done, submit the link to your page via Quercus as described above.
::<code><nowiki>[[Category:EVAL-INT-Phylogeny]]</nowiki></code>.
 
  
Once the page has been saved with this tag, it is considered "submitted".
 
'''Do not''' change your submission after this tag has been added. The page will be marked and the category tag will be removed by the instructor.
 
 
{{Smallvspace}}
 
{{Smallvspace}}
 +
 
;Oral test option
 
;Oral test option
* Work through the tasks described in the scenario. Remember to document your work in your journal.
+
* Work through the tasks described below. Remember to document your work in your journal, but there is no need to format this specially as a report.
* 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).
+
* Part of your task will involve writing R code; refer to the [[BCH441 Code submisson instructions|Code submission instructions]] and link to your page from your Journal.
* Your work must be complete before 21:00 on the day before your exam.
+
* Note that the work must be completed [[BCH441 Oral Test instructions| '''before''' your actual test date.]]
* Schedule an oral test by editing the [http://steipe.biochemistry.utoronto.ca/abc/students/index.php/Signup-BCH441_Oral_tests '''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}}
 
{{Smallvspace}}
 
;R code option
 
;R code option
 
* Work through the tasks described in the scenario and develop code as required.
 
* 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;
+
* Put your code and other documentation on a subpage of your User page on the Student Wiki;
* When you are done with everything, add the following category tag '''to the end of page''':
+
* When you are done, submit the link to your page via Quercus as described above.
::<code><nowiki>[[Category:EVAL-INT-Phylogeny]]</nowiki></code>.
 
  
Once the page has been saved with this tag, it is considered "submitted".
 
'''Do not''' change your submission after this tag has been added. The page will be marked and the category tag will be removed by the instructor.
 
 
== Contents ==
 
== Contents ==
  
Line 120: Line 119:
 
{{Smallvspace}}
 
{{Smallvspace}}
 
{{task|
 
{{task|
# Produce a phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Do not apply masking.
+
# Produce a phylogenetic tree only from '''APSES domains''' of 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.
+
# Produce a second phylogenetic tree from '''full-length''' 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.
 
# Determine which tree is "more correct" by calculating tree distances to the species tree.
 
# Report your findings.
 
# Report your findings.
Line 134: Line 133:
 
{{task|1=
 
{{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 this bit of code useful to get you started:
 
* 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 this bit of code useful to get you started:
<source lang ="R">
+
<pre>
 
library(msa)
 
library(msa)
  
Line 163: Line 162:
  
 
# Produce the phylogenetic tree ...
 
# Produce the phylogenetic tree ...
</source>
+
</pre>
 +
 
 
* Interpret the tree with two objectives.
 
* Interpret the tree with two objectives.
 
:* (A) how many APSES domain proteins did the last common ancestor (LCA) of all fungi have?
 
:* (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?
 
:* (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.
+
* Annotate your tree. Be prepared to screen-share your annotation document during the test and to discuss your interpretation.
 
}}
 
}}
  
Line 178: Line 178:
 
{{task|1=
 
{{task|1=
 
* Produce a MSA from APSES domains of all proteins in myDB.
 
* Produce a MSA from APSES domains of all proteins in myDB.
<source lang ="R">
+
<pre>
 
library(msa)
 
library(msa)
  
Line 205: Line 205:
 
# extract the APSES domains from the MSA
 
# extract the APSES domains from the MSA
 
APSESmsa <- fetchMSAmotif(mySeqMSA, SACCEapses)
 
APSESmsa <- fetchMSAmotif(mySeqMSA, SACCEapses)
</source>
+
</pre>
  
 
* Write an R-script that does the following:
 
* Write an R-script that does the following:
Line 213: Line 213:
 
** produce a phylogenetic tree from this input data
 
** produce a phylogenetic tree from this input data
 
** drop all tips from your tree that are not Mbp1 orthologues and not <tt>KILA_ESCCO</tt>. This code will be useful:
 
** drop all tips from your tree that are not Mbp1 orthologues and not <tt>KILA_ESCCO</tt>. This code will be useful:
<source lang = "R">
+
<pre>
 
# assuming your new tree is called "allApsTree"
 
# assuming your new tree is called "allApsTree"
 
sel <- ! (allApsTree$tip.label %in% fungiTree$tip.label)
 
sel <- ! (allApsTree$tip.label %in% fungiTree$tip.label)
 
newTree <- drop.tip(allApsTree, allApsTree$tip.label[sel])
 
newTree <- drop.tip(allApsTree, allApsTree$tip.label[sel])
</source>
+
</pre>
 
* Is this tree more similar to <tt>fungiTree</tt> than <tt>apsTree</tt> was?
 
* Is this tree more similar to <tt>fungiTree</tt> than <tt>apsTree</tt> was?
* Submit your script, significant data, and the results.
+
* Submit your script, significant data, and the results. Interpret the outcome.
  
 
}}
 
}}
Line 243: Line 243:
 
:2017-08-05
 
:2017-08-05
 
<b>Modified:</b><br />
 
<b>Modified:</b><br />
:2017-11-01
+
:2020-10-01
 
<b>Version:</b><br />
 
<b>Version:</b><br />
:1.1
+
:1.2
 
<b>Version history:</b><br />
 
<b>Version history:</b><br />
 +
*1.2 2020 Updates
 
*1.1 Corrected posted marks, which were not consistent with the description in the syllabus.
 
*1.1 Corrected posted marks, which were not consistent with the description in the syllabus.
 
*1.0 First live version
 
*1.0 First live version
Line 256: Line 257:
 
[[Category:ABC-units]]
 
[[Category:ABC-units]]
 
{{INTEGRATOR}}
 
{{INTEGRATOR}}
{{HOLD}}
+
{{LIVE}}
 
{{EVAL}}
 
{{EVAL}}
 
</div>
 
</div>
 
<!-- [END] -->
 
<!-- [END] -->

Revision as of 01:22, 2 October 2020

Integrator Unit: Phylogeny

(Integrator unit: calculate and analyse a phylogenetic tree)


 


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.


Deliverables:

  • Integrator unit: Deliverables can be submitted for course marks. See below for details.

  • Prerequisites:
    This unit builds on material covered in the following prerequisite units:


     



     



     


    Evaluation

    This "Integrator Unit" should be submitted for evaluation for a maximum of 13 marks if one of the written deliverables is chosen, resp. 24 marks if you choose this for your oral test[1].

    Please note the evaluation types that are available as options for this unit.
    Be mindful of the Marking rubrics.
    If this is submitted for your oral test, please read the Oral test instructions before you begin.
    If your submission includes R code, please read the Code submission instructions before you begin.

    Once you have chosen an option ...

    1. Create a new page on the student Wiki as a subpage of your User Page.
    2. Put all of your writing to submit on this one page.
    3. When you are done with everything, go to the Quercus Assignments page and open the appropriate Integrator Unit assignment. Paste the URL of your Wiki page into the form, and click on Submit Assignment.

    Do not change your Wiki page after you have submitted your assignment, until it has been graded.


     
    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 by eMail. Make sure they understand that this is a for-credit assignment in a course you are taking.[2] Devise meaningful questions to find out:
    • why this work is important;
    • what methods they employ;
    • in particular, how they define reference species, create alignments, compute phylogenetic trees, estimate significance and prepare figures for publication (get technical on that point: you need to report on software and key parameters);
    • what they have recently learned;
    • what the major challenges, current discussions, or controversies in their field are.
    • write up your interview on a subpage of your User page of the Student Wiki;
    • add background information that may be required to understand the methodology (assume the level of background knowledge appropriate for a student in this course);
    • make sure that you have included important literature references.
    • Follow up questions if additional clarification is needed.
    • When you are done, submit the link to your page via Quercus as described above.


     
    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 in your report, and citations in an appropriate reference section. Use the {{#pmid:0000000}} template. References must be to the page where the information is found, not merely to a paper as a whole (where appropriate).
    • When you are done, submit the link to your page via Quercus as described above.


     
    Oral test option
    • Work through the tasks described below. Remember to document your work in your journal, but there is no need to format this specially as a report.
    • Part of your task will involve writing R code; refer to the Code submission instructions and link to your page from your Journal.
    • Note that the work must be completed before your actual test date.


     
    R code option
    • Work through the tasks described in the scenario and develop code as required.
    • Put your code and other documentation on a subpage of your User page on the Student Wiki;
    • When you are done, submit the link to your page via Quercus as described above.

    Contents

    For the Report Option ...

    Choose one of the two tasks below:

     
    Does masking improve the tree?
     

    Task:

    1. Produce a phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Do not apply masking.
    2. 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.
    3. Determine which tree is "more correct" by calculating tree distances to the species tree.
    4. Report your findings.
     
    Does adding characters improve the tree?
     

    Task:

    1. Produce a phylogenetic tree only from APSES domains of Mbp1 orthologues for the reference species and MYSPE. Do not apply masking.
    2. Produce a second phylogenetic tree from full-length Mbp1 orthologues for the reference species and MYSPE. Again, do not apply masking.
    3. Determine which tree is "more correct" by calculating tree distances to the species tree.
    4. Report your findings.


     

    For the Oral Test 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 this 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?
    • Annotate your tree. Be prepared to screen-share your annotation document during the test and 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 plus the Mbp1 orthologues plus 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 from your tree 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 data, and the results. Interpret the outcome.


     

    Further reading, links and resources

    Notes

    1. Note: the oral test is cumulative. It will focus on the content of this unit but will also cover other material that leads up to it.
    2. You may CC me on correspondence if you wish.


     


    About ...
     
    Author:

    Boris Steipe <boris.steipe@utoronto.ca>

    Created:

    2017-08-05

    Modified:

    2020-10-01

    Version:

    1.2

    Version history:

    • 1.2 2020 Updates
    • 1.1 Corrected posted marks, which were not consistent with the description in the syllabus.
    • 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.