EventLogger: EventLogger

EventLoggerR Documentation

EventLogger

Description

EventLogger is an R6 class for an object that tracks migration, transmission, and coalescent events. Note that bottleneck events are logged as coalescent events.

Methods

Public methods


Method new()

Usage
EventLogger$new(events = NA)

Method get.all.events()

Usage
EventLogger$get.all.events()

Method get.events()

Usage
EventLogger$get.events(event.type)

Method add.event()

Usage
EventLogger$add.event(
  type,
  time,
  line1 = NA,
  line2 = NA,
  comp1 = NA,
  comp2 = NA,
  type1 = NA,
  type2 = NA
)
Arguments
type:

event type, one of 'transmission', 'transition', 'migration', 'coalescence' or 'bottleneck'.

time:

CUMULATIVE time that event has occurred between two compartments in a transmission/migration/coalescent event Record which Lineages are transmitted from source to recipient (should only be one entry with Compartment as recipient)


Method clear.events()

Usage
EventLogger$clear.events()

Method blank.events()

Usage
EventLogger$blank.events()

Method record.transmission()

Usage
EventLogger$record.transmission(recipient, lineages)
Arguments
recipient:

Compartment object

lineages:

a vector of names of Lineages to transfer out of recipient Compartment Record which Lineages are transmitted from source to recipient through a migration event


Method record.migration()

Usage
EventLogger$record.migration(recipient, source, time, lineages)
Arguments
recipient:

Compartment object

source:

Compartment object

time:

double, time of migration event

lineages:

a list of Lineage objects


Method get.fixed.samplings()

Usage
EventLogger$get.fixed.samplings()

Method store.fixed.samplings()

Usage
EventLogger$store.fixed.samplings(model.fixed.samplings)

Method clone()

The objects of this class are cloneable with this method.

Usage
EventLogger$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

# manually initialize an EventLog object
e <- EventLogger$new()
# note this log entry is not linked to existing Lineage or Compartment objects
e$add.event("transmission", time=1, line1="NA", comp1="host1", comp2="host2")
e$get.all.events()


PoonLab/twt documentation built on Nov. 7, 2024, 4:18 a.m.