Skip to contents

Collects the calls of several genomes so that community-level quantitative traits can be computed over them. Nothing is re-evaluated: this is the container the community layer reads.

Usage

gifter_community(...)

Arguments

...

Named `gifter_genome` results from [evaluate_gifts()], one per genome. The argument names become the genome identifiers. A whole annotation table carrying a `genome_id` column is bound in one call by [evaluate_gifts_community()] instead.

Value

A `gifter_community` list holding the genome identifiers, the call matrix and the `database_version`.

What a community does not hold

Genome abundances and completeness estimates are not part of a community. They say how a reader wishes to weigh a carrier and how far a reader is willing to read an absence, neither of which is a property of a call, and both are supplied to [community_traits()] when the calls are read – as [genome_traits()] already takes them for a single genome. Binding a community therefore commits to nothing, and the same community can be read under two completeness thresholds without being evaluated twice.

Examples

donor <- evaluate_gifts(data.frame(
  gene_id = "g1", namespace = "KO", accession = "K01198"
))
recipient <- evaluate_gifts(data.frame(
  gene_id = "g1", namespace = "KO", accession = "K01805"
))
community <- gifter_community(donor = donor, recipient = recipient)
community$genome_id
#> [1] "donor"     "recipient"