Clade/doc

This is the documentation page, it should be transcluded into the main template page. See Template:Documentation for more information

This template is used for illustrating branching trees with the nodes and base labels being clickable links. They are especially suited to represent evolutionary trees.

Usage

  {{clade |label1=Base |1=Node }}  

produces

Base

Node


  {{clade |1={{clade    |label1=[[Subtree1]]    |1=Leaf1    |label2=Subtree2    |2=[[Leaf2]]    }} }}  

produces


Subtree1 

Leaf1


Subtree2 

Leaf2



  {{clade| style=font-size:75%;line-height:75% |1={{clade    |label1=Subtree1    |1=Leaf1    |label2=Subtree2    |2=Leaf2    }} }}  

produces


Subtree1

Leaf1


Subtree2

Leaf2



  {{clade |1={{clade    |1={{clade | thickness=3       |1=Leaf1       |2=Leaf2       }}    |2=Leaf3    }} }}  

produces




Leaf1



Leaf2




Leaf3



To replace the solid line with a dashed line, use |stateN=dashed:

  {{clade |1={{clade    |1={{clade       |1=Leaf1|state1=dashed       |2=Leaf2       }}    |2=Leaf3    }} }}  

produces




Leaf1



Leaf2




Leaf3



Tips

An easy way of creating larger cladograms is to use the Newick format and proceed to edit it using a suitable text editor to produce the markup.

  1. Start with Newick format ((a,b),(c,d))
  2. Replace "(" with "{{clade|"
  3. Replace ")" with "}}"
  4. Edit to replace commas with pipes and numbers
  5. Edit clade labels if needed
  {{clade  |1={{clade     |1=a     |2=b     }}  |2={{clade     |1=c     |2=d     }} }}  

Example Perl script to automate the conversion:

use constant N=>"\n"; use constant T=>"\t";  my $tree='((a,b),(c,d));'; # get sequence $tree=~s/[\n\r]//g; # loose those spaces $tree=~ s/\:[\.\d]+//g; # loose those lengths while ($tree=~ m/\(/) { foreach my $clade ($tree=~ m/\(([^\(\)]+)\)/g) { my @branches=split /\,/,$clade; s/(\t+)/$1\t/g for @branches; die 'ERROR: degenerate/empty node!'.N if $#branches<1; $tree=~ s/\(\Q$clade\E\)/${\join('','')}/; # substitute } pos($tree)=0; } $tree=~s/(\t*)\t\}\}/$1\}\}/g; # lazy fix  print $tree; 

Using a box

You can nest the templates and use links around the text. You may use non-breaking spaces (&nbsp;) to obtain spaces or to have labels that have spaces.

The entire cladogram can be placed in a box so that text flows nicely around it.

Community content is available under CC BY-NC-SA 3.0 unless otherwise noted.