Quick Start
The easy way: make a tree from an iNaturalist observation
- Open the Tree Builder.
- Paste an iNaturalist observation URL into Import from iNaturalist. An observation number works too.
- Click Submit, check the preview, then click One-Click Tree.
- Dikarya finds the observation's sequence and related sequences, aligns them, builds the tree, and takes you to the result.
The same box also accepts an iNaturalist username, user URL, project name, or project URL. Those inputs preview the eligible observations and can create bulk tree jobs; they do not change the simple single-observation workflow above.
Quick trees and publication trees are different jobs
The normal quick tree is for sequence identification, exploring BLAST results, seeing where an unknown collection falls, checking relationships quickly, and deciding what deserves closer investigation. It is much faster, and for routine identification the slower methods usually do not add enough practical benefit to justify running them every time.
For publication trees, use an appropriate advanced phylogenetic method such as RAxML-NG, IQ-TREE, or MrBayes rather than relying on the quick exploratory tree.
Choosing one of those programs is not a scientific shortcut. Inspect the alignment, choose models and support analyses deliberately, use a biologically appropriate outgroup, evaluate convergence where applicable, and document what you ran.
Easy to miss
Tree Viewer Tricks
Left-click + drag
Drag across empty tree background to draw a selection box. Every visible tip inside it is selected. This is the fastest way to grab a clade before opening the Alignment Viewer.
Left-drag = select
Alt/Option + left-click + drag
The box turns red. Releasing it prunes every visible tip inside, which is much quicker than removing a long run of unwanted sequences one at a time.
Alt + left-drag = prune
Right-drag pans the tree
The mouse buttons are the other way around from what you might expect: left-drag on empty background draws a selection box and right-drag moves the tree. Hold Ctrl or Cmd while left-dragging to toggle tips instead of adding them, and press Esc during a drag to cancel the box.
Right-click a branch tip or internal node
A tip menu can open its source observation, prune the clicked tip (or the current multi-tip selection), copy sequence names or iNaturalist numbers, and rename one tip. Rename 1 node appears below the prune action when no tip is selected, or when the right-clicked tip is the only selected tip. It changes the displayed tree-tip name, not the DNA sequence.
On an internal node, the menu can select descendant branches, Collapse Clade or Expand Clade, and Rotate node. Rotation only changes the order in which the branches are drawn; the topology is unchanged. Click the circles on two or more internal nodes first and the menu also offers Collapse 4 Clades (or however many you picked), so a busy tree can be folded down in one go.
Alignment Viewer
This is the check I use most often after looking at the tree:
- Left-click and drag across empty tree background to select the clade or sequences of interest.
- Click Alignment Viewer (or press V).
- Inspect the aligned sequences together.
This shows which bases actually differ, whether a branch reflects meaningful substitutions, where gaps occur, and whether questionable sequence ends are driving the result. If nothing is selected, the viewer opens the sequences currently visible in the tree.
Compare cleanly
Highlight differences and Variable columns only start on. Compare to the consensus, choose a reference sequence from the menu, or click a sequence name to use it as the reference.
Narrow the view
Filter names; sort in tree order, by similarity, difference, length, or leading gaps; and optionally include pruned sequences. Copy or download the displayed records as FASTA when you want to work with that subset elsewhere.
Working with a finished tree
Pruning
Select one or several tips and click Prune, use the tip's right-click menu, or use the red Alt/Option + left-drag box. Pruning removes those tips from the working tree and from the pruned FASTA. Original Newick and Processed Input FASTA remain available, so the input analysis is not erased. If you prune something you wanted, Undo puts it straight back—see below. Pruning does not re-infer the phylogeny; the branches that remain keep the lengths and support they were built with.
Rename
Select one or more tips and click Rename to edit them together. For one tip, right-click it and use Rename 1 node. Renames are saved and reapplied when the tree reloads, but they change labels only—the underlying nucleotide sequence is untouched.
Rerooting
The Root menu currently offers Auto root, Midpoint root, Most divergent hit, and Manual root here. The separate Reroot button also starts manual rooting, and Midpoint applies midpoint rooting directly. Auto root uses the sequence of interest when Dikarya can identify it; the viewer lets you set that focal tip when it cannot.
A convenient display root on an exploratory BLAST tree is not evidence of the true evolutionary root. For publication work, choose an outgroup based on the biology.
Collapsing clades
Right-click an internal branch or node and choose Collapse Clade to fold that group into a single wedge, which is how you make a hundred-tip tree readable without throwing anything away. Nothing is removed: every sequence, branch length and support value is still there, the phylogeny does not change, nothing is recomputed, and Expand Clade on the same node unfolds it again.
To fold several at once, click the circles on the internal nodes you want and then right-click any node: the menu offers Collapse N Clades and Expand N Clades. If you pick a clade and also something nested inside it, only the outer one is collapsed—collapsing both would produce the same single wedge. Selecting tips never collapses anything, and nothing you do here can collapse the whole tree at the root.
Collapsed clades are a view, not a saved edit, so reloading the page shows the full tree again.
Rotate, sort, and color
Rotate node and node sorting make a crowded tree easier to read without changing its topology. Color groups and quick color swatches save highlights on selected tips, which is handy for marking collections, clades, types, or sequences you want to discuss later.
Recompute
Prune first, then use Recompute when you want Dikarya to realign the remaining sequences and infer a new tree. This recalculates topology, branch lengths, and support; it is more than a redraw. Renames and the pruned-taxa list are kept. Recompute is usually unnecessary after a display-only rename, color, rotation, or reroot.
Undo
The Undo button—or Ctrl / Cmd + Z—takes back your most recent change: a prune, a rename, a rotation, a rooting change, or a collapse. Its tooltip names what it would undo, so you can check before clicking. Pruning a clade you turn out to want back is one keystroke away, which is the point: it is meant to make experimenting on a tree feel safe.
It is a single step, not a full history. Once you have undone something, there is nothing further to undo and no redo. Starting a Recompute clears it, because the new tree is no longer the one the saved step describes, and Recompute itself cannot be undone. The button is greyed out and says so whenever there is nothing to take back.
While you are typing in a rename box, an annotation label, or any other text field, Ctrl / Cmd + Z undoes your typing as usual and leaves the tree alone. On a tree someone shared with you read-only, Undo still works for collapsing and expanding, which are the changes you are allowed to make.
Annotations: labeling clades
Annotations are the publication-style labels that sit beside the tree—subgenera, sections, species complexes, sensu stricto groups, or any custom grouping you want a reader to see. They are saved with the tree, reapplied when it reloads, and drawn into the SVG and PNG exports exactly as they appear on screen. Open them with the teal Annotations button above the tree.
Adding one
Two ways, and they do the same thing:
- Right-click the branch that leads to the group and choose Add annotation…. This is usually the quickest route.
- Select the tips (left-drag a box around them), then click Annotations and Annotate selected clade….
An annotation has to name a complete clade—every descendant of one node, with nothing left out. A complete soft polytomy also counts as one clade: Dikarya treats the effectively zero-length binary branches these fast searches emit as unresolved and automatically places the tips together. If the selection is a scattering of tips, or only part of a polytomy, Dikarya says so rather than drawing a misleading label. The remedy is normally to select one tip fewer or one tip more, or to right-click the branch instead. The root itself cannot be annotated with a bracket, but it can be highlighted.
Labels take up to 500 characters over 10 lines, and line breaks are preserved in both the tree and the exported figure—so a long name can be broken deliberately rather than wherever it happens to land.
The four types
Clade line
A bracket beside the descendant tips with the label alongside it. The conventional way to mark a section or subgenus in a published figure.
Clade highlight
A translucent colored band behind the clade. The best choice when you want the group visible at a glance rather than read off the margin.
Branch text
Multiline text sitting above the branch itself—for a note about that lineage rather than a name for its members.
Branch bubble
The same thing in a rounded callout, which stands out more on a busy tree.
The type can be changed at any time from the editor's Annotation type menu; the group it names stays the same. The Live preview at the bottom of the editor draws with the same code the tree does, so what you approve there is what the figure gets.
Layers
Every annotation belongs to a layer, and a layer carries the style its annotations inherit: font, size, weight, colors, opacity. Put your sections on one layer and your subgenera on another and you can restyle each set in one place, or hide one set entirely while you work. Layer 1 sits closest to the tips and higher-numbered layers stack outward, which is what lets a figure carry sections next to the tips and subgenera outside them.
An individual annotation can override anything it inherits under Style in the editor. Leave it alone and it follows the layer, so changing the layer changes every annotation on it.
Placement is worked out per clade rather than for the whole tree: an annotation sits just beyond its own tips' labels, so one very long sequence name elsewhere no longer pushes every label across a band of empty page. Where annotations nest, the smallest clade is packed nearest the tree and the ones containing it step outward—so a sensu stricto group sits inside the broader name that encloses it.
Colored annotations
Clade highlights pick their own colors
A clade highlight paints a translucent band behind the clade and behind its label. You do not have to choose a color for it. Left on Automatic—which is the default—Dikarya works one out from the tree, and it keeps working it out as the tree changes.
Where an automatic color comes from
- Your color groups come first. If every tip in the clade belongs to the same saved color group, the highlight is drawn in that group's color, softened for use as a large translucent wash. The band and the tip labels then say the same thing by construction, and recoloring the group recolors the highlight with it.
- Mixed membership falls through. A clade of eighteen blue tips and five orange ones has no single group color, and averaging them would invent a muddy shade that corresponds to nothing in the figure. Those get a palette color instead.
- Otherwise, a curated palette. Eight mid-tone, slightly desaturated fills—blue, purple, teal, rose, amber, green, muted red, cyan—ordered so the first four are maximally distinct. They are chosen for large translucent areas, which is a different job from the bright categorical colors used for tip labels: those read as neon when spread across a third of a figure.
Each annotation keeps the palette slot it was given, so adding, editing, or deleting a different annotation does not shuffle the colors of the ones you already approved. Two highlights that end up next to each other are also kept from landing on shades too close to tell apart.
Choosing the color yourself
Open Style in the annotation editor. The highlight color row has three settings:
- Layer default — no opinion at this annotation; whatever the layer says.
- Automatic — worked out from the tree as described above. The swatch stays visible but greyed, showing the color that will actually be drawn.
- Fixed color — your pick, used verbatim, in both light and dark mode.
A layer has the same choice, as Auto or Fixed, applying to every annotation on it that has not overridden it. Switching an annotation from Fixed back to Automatic shows you the automatic color immediately, before you save.
Opacity, and light versus dark
An automatic highlight is drawn a little stronger in dark mode than in light, because a pale wash that reads clearly on white is nearly invisible on black. An opacity you set yourself is used exactly as given in both themes—if you have chosen a value, Dikarya does not second-guess it. Either way the value is written into the exported SVG, so the file matches the screen.
What the band covers
The colored band's height is the clade's own tip rows and nothing else. That matters biologically: the band is a statement about which sequences are in the group, so a long caption must never make it swallow the neighboring taxa. When a multiline label is taller than the clade it names—three lines of text on a single sequence, say—the extra text gets its own backing panel out in the label area, stepped off the main band and joined to it. A label that fits inside the band needs no second piece and does not get one.
Annotations are edited from the same list they are created in: open Annotations, click one to edit it, and use Delete annotation in the editor to remove it. A tree someone shared with you read-only shows its annotations but does not let you change them.
Other ways to start a tree
These are useful when the One-Click Tree is not the right starting point.
iNaturalist
Use an observation ID or URL for one collection. A username, user URL, project name, or project URL previews eligible observations and can queue bulk tree jobs. A single observation can also be sent to NCBI BLAST or Mycomap BLAST before you add results to the queue.
Mushroom Observer
Paste a current, short, or legacy Mushroom Observer observation URL, or just its number. When ITS sequence data are available, choose the sequence and BLAST it, add it to the queue, or use One-Click Tree.
Mycomap BLAST results
Paste a Mycomap BLAST Results URL. Choose NCBI Results, Local Results, or both, and optionally remove duplicates or filter conflicting local FASTA records. You can fetch sequences into the queue or run a One-Click Tree directly.
BLAST
Paste one DNA sequence or GenBank accession into BLAST for Related Sequences. Set the minimum identity and choose 10, 50, 100, or 200 maximum results, then add the useful hits to the queue.
FASTA
Paste FASTA into Add Custom Sequences, or upload a .fa,
.fasta, .fna, or .txt file.
>My_sequence
ACGTACGTACGT...
>Another_sequence
ACGTACGTACGT...
GenBank accessions
Paste one or more accessions into Add Custom Sequences. This is useful for adding named reference sequences or rebuilding a sequence set from a paper. The form can also append GenBank collection locations to the FASTA headers.
Sequence Queue
The queue matters mostly when you are not using the single-observation One-Click Tree. It lets you combine your own FASTA with iNaturalist, Mushroom Observer, GenBank, NCBI BLAST, and Mycomap records before starting an analysis.
Use the × beside a sequence to remove it or Clear All to empty the queue. The queue can be downloaded as FASTA. When imported Mycomap records include metrics, Filter can screen them by query coverage, subject coverage, and identity. The star checkbox marks a queued sequence as an outgroup for a RAxML-NG run.
Adding sequences to an existing tree
From an editable finished tree, click Add Seq. Dikarya opens the Tree Builder with the current unpruned sequence set already in the queue. Add or remove records from any of the normal sources, then click Add & Recompute. The advanced panel is prefilled from the job; leave it alone to reuse those settings, or change it deliberately for the new run.
Downloads
The finished tree toolbar exposes the files that exist for that analysis:
- Original Newick and Current Newick for the untouched and currently displayed trees.
- NEXUS Tree, using the edited/pruned NEXUS tree when one exists.
- Processed Input FASTA, the processed unaligned sequence set used to build the tree, and Edited FASTA, that same sequence set with your pruning and tip renaming applied. Edited FASTA stays greyed out until you prune or rename something.
- Aligned FASTA (Before Trimming) and, when applicable, Trimmed FASTA (Tree Input).
- Trimming Inspection ZIP when a trimming report was produced; it includes before/after FASTA and a marked HTML report.
- MrBayes Analysis Files for MrBayes jobs, including commands, parameter/tree traces, and summaries.
- Download SVG and Download JPG for a picture of the displayed tree.
For publication work, keep the alignment, tree, trimming report, and program output—not only a screenshot.
Advanced Tree Building
Settings for when you have a reason to change them
You do not need these settings for routine One-Click Trees.
Alignment
MAFFT (Default) is the normal choice. MUSCLE and Clustal Omega are available, and None - Skip Alignment (Use as-is) is for input that is already aligned. The ITS Region control can extract ITS1, 5.8S, ITS2, or full ITS with ITSx before alignment; sequences without enough of the requested region are dropped and reported below the tree.
Trimming
The default is trimAl gap-threshold (recommended), which removes columns that
are more than 90% gaps. You can choose no trimming, trimAl -automated1, or BMGE.
Terminal-overhang trimming is a separate first pass based on genuine end coverage;
terminal N padding does not count as coverage. The interface specifically warns that
-automated1 can remove informative ITS1/ITS2 regions. Automated trimming is not
automatically correct—inspect important alignments in the Alignment Viewer and retain the
Trimming Inspection ZIP when it is available.
IQ-TREE five-iteration search (Quick ML)
This is what Quick Tree runs and my normal exploratory choice. Dikarya caps IQ-TREE 3's
standard search at five iterations with -n 5, retaining the full
likelihood model while keeping barcode-length exploratory runs quick. It uses GTR+G and reports SH-aLRT
branch support from 1,000 replicates, as percentages from 0 to 100, where 80 is the
conventional cutoff. Those are not bootstrap proportions and not Bayesian posterior
probabilities. This preset omits ultrafast bootstrap; if
you want bootstrap values choose full IQ-TREE or RAxML-NG below.
FastTree 2.2.0 (Fast ML)
The previous quick method, still available in the advanced form. Dikarya runs nucleotide GTR+CAT/Gamma settings and reports FastTree's SH-like local support from 1,000 resamples; those values are on a 0–1 scale and are not bootstrap proportions or Bayesian posterior probabilities.
RAxML-NG (High Quality ML)
RAxML-NG performs maximum-likelihood inference. Dikarya groups the main run choices into Fast but Good, Standard, Publication, and Maximum presets, which change starting-tree counts and early stopping. Its bootstrap controls use AutoMRE with selectable replicate caps, and this is the method that exposes the queued outgroup selector.
IQ-TREE (Maximum Likelihood)
IQ-TREE is another maximum-likelihood option. ModelFinder is the recommended
model choice in the form and selects by BIC; fixed and custom models are also available.
Dikarya exposes Ultrafast Bootstrap and SH-aLRT replicates and labels nodes
SH-aLRT/UFBoot when both are run.
MrBayes (Bayesian)
MrBayes uses Bayesian phylogenetic inference. The form exposes a maximum generation count, independent runs, chains per run, and burn-in. By default Dikarya runs up to 1,000,000 generations with two independent runs and lets MrBayes stop earlier, as soon as the average standard deviation of split frequencies between those runs falls below 0.01. That avoids spending hours on a chain that settled long ago, but it is a criterion about tree topology agreement, not a certificate of a good analysis. More generations do not by themselves make a result reliable either: inspect the reported ESS and PSRF diagnostics and the downloaded parameter traces and summaries, and report how convergence was assessed. Server-side job runtime limits still apply, so a very large dataset may hit those before the maximum.
Models, support, and rooting
A substitution model describes how sequence changes are treated. Bootstrap, UFBoot, SH-aLRT, SH-like support, and posterior probabilities are program-specific measures; none is proof that a taxonomic conclusion is correct. For serious phylogenetic work, select an appropriate outgroup and explain why. Automatic and midpoint roots are useful display choices for exploratory trees, not substitutes for that biological decision.
Neighbor Joining (Fast) is also available as a simple distance-based option, but it is not the default exploratory method or one of the publication-oriented choices above.
API and Automation
Dikarya has a public API for scripts, other websites, and applications. It can submit and list jobs, check status or stream events, retrieve files and logs, recompute or edit trees, and call supported sequence tools including BLAST and GenBank lookup. The API also supports the single-observation iNaturalist One-Click Tree workflow.
Most API calls use a scoped token in the Authorization: Bearer dikarya_... header. Sign in
to mint a token, copy its secret when it is shown, and grant only the scopes the script needs.
Token management requires a Dikarya login.
Source Code
Dikarya is open source. The full source for the phylogenetic tree generator — the pipeline, the web application, the tree viewer, and the API — lives on GitHub at github.com/AlanRockefeller/dikarya-phylogenetic-tree-generator. Bug reports, feature requests, and pull requests are welcome there.
Practical rule of thumb
For sequence identification: paste the iNaturalist URL → Submit → One-Click Tree → inspect the tree → select the interesting clade → Alignment Viewer.
Start changing alignment methods, trimming methods, evolutionary models, support settings, or tree-building programs when you have a reason to. For publication trees, use an appropriate advanced phylogenetic method, inspect the alignment carefully, retain the underlying files, and report the analysis settings.
Help and feedback
If something is confusing, a tree looks wrong, you find a bug, or you have an idea that would make Dikarya more useful, please let me know. Alan Rockefeller reads the messages and the public suggestion list. Email: alanrockefeller [at] gmail [dot] com. You can also open an issue on GitHub.