[Bio] / FigTutorial / phylogeny.html Repository:
ViewVC logotype

Annotation of /FigTutorial/phylogeny.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : overbeek 1.1 <h1>Tools to Support Phylogenetic Analysis</h1>
2 :     <h2>Introduction</h2>
3 :     Over the coming year FIG and its friends plan on developing and releasing a number of tools
4 :     to support phylogenetic analysis. At this point, we are making
5 :     available a tool for inserting taxa into a tree, assuming that one has
6 :     an alignment of SSU rRNA and a tree that includes some subset of the
7 :     taxa in the alignment. At one time this technology was used to extend
8 :     the tree distributed by thye Ribosomal Database Project. We have
9 :     revived it and make it available now as a first step in supporting the
10 :     development of a large SSU-based phylogenetic tree. By itself, it is
11 :     not adequate for many tasks. A few key tools are needed to complement
12 :     the set we are making available. We plan on making these additional
13 :     tools available over the coming year.
14 :    
15 :     <h2>Extending an Existine Tree by Insertion of One Sequence at a Time</h2>
16 :    
17 :     Assuming that you have
18 :     <ol>
19 :     <li> a new alignment (call it ssu_alignment.fasta),
20 :     <li> a table giving a correspondence between IDs and organisms (call
21 :     it ssu.names), and
22 :     <li> an old tree (call it old.ssu.tree).
23 :     </ol>
24 :    
25 :     you should follow these steps to extend the tree:
26 :     <ul>
27 :     <li>
28 :     First, you need to verify that all of the ids in the tree are still
29 :     in the alignment. To do this, run
30 :     <b><pre>
31 :     compare_tree_and_alignment ssu_alignment.fasta old.ssu.tree tmp.tree.only tmp.ali.only tmp.both
32 :     </pre></b>
33 :     <br>
34 :     If tmp.tree.only is not empty, run
35 :     <b><pre>
36 :     mv old.ssu.tree old.ssu.tree.BAK
37 :     subtree_of old.ssu.tree.Bak < tmp.both > old.ssu.tree
38 :     </pre></b>
39 :    
40 :     <li>
41 :     If you are inserting into a tree that may contain fragments, you should
42 :     probably consider removing short sequences and then insert sequences in
43 :     descending order of length (i.e., nonambiguous characters).
44 :    
45 :     <b><pre>
46 :     count_bases < ssu_alignment.fasta | sort -n -r +1 > nonambiguous
47 :     </pre></b>
48 :    
49 :     gives counts for sequences in the alignment.
50 :    
51 :    
52 :     <b><pre>
53 :     initial_set tmp.both nonambiguous > initial.ids
54 :     subtree_of old.ssu.tree < initial.ids > initial.tree
55 :     mv initial.tree old.ssu.tree
56 :     to_insert nonambiguous initial.ids > tmp.ali.only
57 :     </pre></b>
58 :    
59 :     is how we recommend handling this.
60 :     <li>
61 :     Now you need to get weights and rates for each column of the
62 :     alignment. To do this, run
63 :    
64 :     <b><pre>
65 :     make_rates ssu_alignment.fasta old.ssu.tree > weights_and_rates
66 :     </pre></b>
67 :    
68 :     <li> Now you are ready to do insertions. To accomplish this, run
69 :    
70 :     <b><pre>
71 :     insert_all ssu_alignment.fasta old.ssu.tree weights_and_rates < tmp.ali.only > new.ssu.tree
72 :     </pre></b>
73 :    
74 :     As the insertion runs, it updates the "old.ssu.tree". This means that if
75 :     the run gets terminated, take off the initial section of tmp.ali.only,
76 :     and just restart it.
77 :    
78 :     </ul>
79 :     <br>
80 :     You can display your tree (very crudely) using
81 :     <b><pre>
82 :     display_tree new.ssu.tree ssu.names
83 :     </pre></b>
84 :    
85 :     Note that the tree is unrooted. We supply a command for rooting it,
86 :     but you do need to understand exactly where you wish to place the
87 :     root. To root it, use
88 :    
89 :     <b><pre>
90 :     root_at Node1 Node2 FractionBetween < UntootedTree > RootedTree
91 :     </pre></b>
92 :    
93 :     where the the nodes are specified as either
94 :     <ol>
95 :     <li>
96 :     tip id, or
97 :     <li>three ids separated by commas (which gives a unique point in the
98 :     tree).
99 :     </ol>
100 :     <br>
101 :     You can extract a representative tree by using
102 :     <b><pre>
103 :     representative_tree big.tree N
104 :     </pre></b>
105 :     where <i>big.tree</i> is the file containing a newick tree and
106 :     <i>N</i> is the number of nodes desired in the representative tree.
107 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3