R/sequence.mutate.R

Defines functions mutate.sequence

mutate.sequence <-
  function(node.id, rate.mat){
    s <- sequence.list[[node.id]]
    position <<- 1
    event.list <<- list()
    total.rates <<- 0
    sapply(s, function(x) {
      add.mutation.events(x, position, rate.mat, node.id)
      position <<- position + 1
    })
    rand <- runif(1, 0, total.rates)
    rate.sum <- 0
    for (x in seq (along=event.list)){
      rate.sum <- rate.sum + event.list[[x]][[2]]
      if (rate.sum >= rand){
        break
      }
    }
    eval(event.list[[x]][[1]])
  }

    

Try the epinetics package in your browser

Any scripts or data that you put into this service are public.

epinetics documentation built on May 2, 2019, 6:25 p.m.