pplacer’s options
GTDB-Tk runs pplacer with its default settings, and so does gPlace: nothing on this page is needed to reproduce GTDB-Tk. Every other pplacer option is available too, under gPlace’s name and under pplacer’s own spelling, and gives the same output as pplacer (see pplacer’s options and inputs). They work the same way with place_batch, except reference files without a reference package and query files holding the reference sequences, which need place.
Search settings
gPlace |
pplacer |
default |
meaning |
|---|---|---|---|
|
|
0.01 |
tolerance of the first-stage branch length optimisation (kept placements: 1e-5) |
|
|
0.1 |
starting pendant branch length |
|
|
2.0 |
maximum pendant branch length |
|
|
6 |
edges tried stop after this many strikes; |
|
|
3.0 |
a strike: an edge this many log-likelihood units below the best so far |
|
|
40 |
edges tried stop after this many (plus one) |
|
|
7 |
placements kept per query |
|
|
0.01 |
placements kept if their likelihood is at least this fraction of the best one’s |
|
|
off |
see Pre-masking |
|
|
off |
see Model refinement |
--start_pend must be positive and below --max_pend (pplacer’s check). A query left with
no placement (--keep_at_most 0, or --keep_factor above 1) is omitted from the jplace, as
pplacer does, with a warning.
Pre-masking
By default pplacer, and gPlace, keep only the alignment columns where some reference sequence and
some query have a residue, stop at queries without a residue in any column where a reference
sequence has one, and place identical masked sequences once. With --no_pre_mask every column
is kept, no query is checked or dropped (--discard_nonoverlapped has no effect), only queries
with identical whole sequences share a record, and a query without any residue stops the run
(sequence '...' has no informative sites.). Placements change for queries with residues in
columns where no reference sequence has one: those residues then count towards the query’s
likelihood.
Taxonomy, duplicates and non-overlapping queries
Classification. If the reference package lists a
taxonomy(pplacer’s tax table) and aseq_infofile, e.g. one built withtaxit create --taxonomy ... --seq-info ..., every placement gets aclassificationfield: the taxon of its edge by edge painting (the most specific rank at which exactly one taxon is cut by the edge), or with--mrca_classthe taxonomic MRCA of the reference sequences below the edge. GTDB-Tk’s reference packages have no taxonomy, so their output has no such field.Duplicates. Queries whose sequences are identical after pre-masking are placed once and written as one record listing all their names.
Non-overlapping queries. A query with no residue in any column where a reference sequence has one stops the run (
Sequence ... doesn't overlap any reference sequences.), unless--discard_nonoverlappeddrops it.
Query files
As in pplacer, the query alignment is read as Stockholm if its name ends in .sto or .sth,
otherwise as FASTA; a file ending in .gz is read gunzipped (queries.sto.gz). Stockholm
files are read as pplacer reads them: one alignment, #= markup ignored, interleaved blocks
joined, . read as a gap, lowercase letters kept as residues (insert columns are not removed).
pplacer orders the sequences of a Stockholm file by name, descending, and so does gPlace; the
order matters when the file holds the reference sequences and the model uses empirical
frequencies.
Reference files without a reference package
Instead of --refpkg, the reference can be given as files, as with pplacer’s -t, -r
and -s; with --refpkg they replace the package’s files:
--tree(-t): the reference tree, Newick.--ref_aln(-r): the reference alignment, FASTA. Without it, the query alignment must contain every reference sequence (see Model refinement); otherwise every reference sequence must be absent from it.--stats(-s): the model, from a RAxML 7 info file (including the format RAxML writes with-f e), a PhyML 3.0 stats file, or a JSON model file (datatype,subs_model,ras_modelgammaornull,gamma,subs_rates; protein: WAG only). The model is always gamma; files are read exactly as pplacer v1.1.alpha19 reads them, including its limits: RAxML 8 info files and PhyML 3.3 stats files do not parse (taxit createreads them; use a reference package). An IQ-TREE.iqtreefile or a RAxML-NG log, which pplacer cannot read, gives the modeltaxit createwrites from it (see Using your own tree). A reference package’sphylo_modeltakes precedence over--stats.--ref_dir(-d): a directory the three file names are relative to.
What a statistics file does not set comes from pplacer’s model settings: --model_freqs
(protein: the model’s amino acid frequencies instead of the reference alignment’s, which are
pplacer’s default for statistics files), --gamma_cats and --gamma_alpha (when the file has
no gamma model: PhyML without gamma, JSON with ras_model null; defaults 1 and 1.0).
--model (-m) is accepted but, as in pplacer v1.1.alpha19, has no effect: the file names
the model. A reference package without phylo_model but with tree_stats is read the same
way (pplacer’s deprecated path).
gplace place --tree hiv.phy_phyml_tree.txt --ref_aln hiv.fasta --stats hiv.phy_phyml_stats.txt \
--msa_file queries.fasta --out_file queries.jplace
Model refinement
When the query alignment contains the reference sequences (all of them; some but not all stops
the run), pplacer uses them as the reference alignment and refines the model before placing;
--always_refine refines it in any case. For CAT models (FastTree reference packages, such as
GTDB-Tk’s) the refinement chooses a new rate category for every site: the category with the
highest likelihood of the reference alignment on the reference tree, penalised as in pplacer
(log-likelihood + 2 log(rate) - 3 rate). Placements then differ from those with the package’s
categories. For gamma models refinement changes nothing (as in pplacer).