vivarium.states.chromosome module

class vivarium.states.chromosome.Chromosome(config)[source]

Bases: vivarium.library.datum.Datum

advance_replisomes(distances)[source]

distances is a dictionary of domain ids to tuples of how far each strand advances of the form (lead, lag)

apply_thresholds(thresholds)[source]
bind_rnap(promoter_index, domain)[source]
combine_state(a, b)[source]
copy_number(position, domain_key=None)[source]
defaults = {'domains': {0: {'children': [], 'id': 0, 'lag': 0, 'lead': 0}}, 'genes': {}, 'promoter_order': [], 'promoters': {}, 'rnap_id': 0, 'rnaps': {}, 'root_domain': 0, 'sequence': ''}
divide_chromosome(domain, division=None)[source]
initiate_replication()[source]
next_polymerize(elongation_limit=inf, monomer_limits={})[source]
operons()[source]
polymerize(elongation, monomer_limits)[source]
position_domains(domain_index, position)[source]
product_sequences()[source]
promoter_copy_numbers()[source]
promoter_domains()[source]
promoter_rnaps()[source]
schema = {'domains': <class 'vivarium.states.chromosome.Domain'>, 'promoters': <class 'vivarium.states.chromosome.Promoter'>, 'rnaps': <class 'vivarium.states.chromosome.Rnap'>}
sequences()[source]
terminate_replication()[source]
terminator_distance()[source]
class vivarium.states.chromosome.Domain(config)[source]

Bases: vivarium.library.datum.Datum

contains(position)[source]
defaults = {'children': [], 'id': 0, 'lag': 0, 'lead': 0}
descendants(tree)[source]
random_child()[source]
surpassed(position, lead, lag)[source]
class vivarium.states.chromosome.Operon(config)[source]

Bases: vivarium.library.datum.Datum

defaults = {'direction': 1, 'genes': [], 'id': '', 'length': 0, 'position': 0}
class vivarium.states.chromosome.Promoter(config)[source]

Bases: vivarium.library.polymerize.Template

Promoters are the main unit of expression. They define a direction of polymerization, contain binding sites for transcription factors, and declare some number of terminators, each of which has a strength and corresponds to a particular operon if chosen.

operons(genes)[source]
schema = {'sites': <class 'vivarium.library.polymerize.BindingSite'>, 'terminators': <class 'vivarium.states.chromosome.RnapTerminator'>}
class vivarium.states.chromosome.Rnap(config)[source]

Bases: vivarium.library.polymerize.Polymerase

defaults = {'domain': 0, 'id': 0, 'position': 0, 'state': None, 'template': None, 'template_index': 0, 'terminator': 0}
class vivarium.states.chromosome.RnapTerminator(config)[source]

Bases: vivarium.library.polymerize.Terminator

operon_from(genes, promoter)[source]
vivarium.states.chromosome.frequencies(l)[source]

Return number of times each item appears in the list.

vivarium.states.chromosome.rna_bases(sequence)[source]
vivarium.states.chromosome.sequence_monomers(sequence, begin, end)[source]
vivarium.states.chromosome.test_chromosome()[source]
vivarium.states.chromosome.traverse(tree, key, f, combine)[source]

Traverse the given tree starting using the key node as the root and calling f on each leaf, combining values with combine at each subsequent level to create new leaves for f.