Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"vivarium_medyan @ git+https://github.com/vivarium-collective/vivarium-MEDYAN.git",
"vivarium_cytosim @ git+https://github.com/vivarium-collective/vivarium-cytosim.git",
"simularium_readdy_models @ git+https://github.com/simularium/readdy-models.git",
"simulariumio>=1.5.0",
"simulariumio",
]

extra_requirements = {
Expand Down
3 changes: 2 additions & 1 deletion vivarium_models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ def get_module_version():


from .processes import ReaddyActinProcess # noqa: F401
from vivarium.core.registry import emitter_registry # noqa: F401
from .processes.simularium_emitter import SimulariumEmitter # noqa: F401

from vivarium.core.registry import emitter_registry

emitter_registry.register("simularium", SimulariumEmitter)
6 changes: 3 additions & 3 deletions vivarium_models/composites/actin_fiber.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ def generate_topology(self, config):
}


def test_actin_fiber():
def run_actin_fiber():
initial_state = centered_initial_fibers()
initial_state["choices"] = {"medyan_active": True, "readdy_active": False}
medyan_config = {
Expand All @@ -100,8 +100,8 @@ def test_actin_fiber():
emit_processes=True,
)
engine.update(5)
engine.emitter.get_data()
return engine.emitter.get_data()


if __name__ == "__main__":
test_actin_fiber()
run_actin_fiber()
6 changes: 3 additions & 3 deletions vivarium_models/composites/filament_alternatives.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def generate_topology(self, config):
}


def test_filament_alternatives():
def run_filament_alternatives():
initial_state = centered_initial_fibers()
initial_state["choices"] = {"medyan_active": False, "cytosim_active": True}
medyan_config = {
Expand All @@ -87,8 +87,8 @@ def test_filament_alternatives():
emit_processes=True,
)
engine.update(6)
engine.emitter.get_data()
return engine.emitter.get_data()


if __name__ == "__main__":
test_filament_alternatives()
run_filament_alternatives()
40 changes: 17 additions & 23 deletions vivarium_models/composites/moving_anchor.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,8 @@ def next_update(self, timestep, state):
anchor_moved = anchor + np.array(self.parameters["movement_vector"])
points[self.parameters["point_index"]] = anchor_moved

return {
"fibers": {
self.parameters["fiber_id"]: {
"points": points
}
}
}
return {"fibers": {self.parameters["fiber_id"]: {"points": points}}}


class AnchorMoverCytosim(CytosimProcess):
new_defaults = {
Expand All @@ -76,13 +71,12 @@ def next_update(self, timestep, state):
update = super().next_update(timestep, state)
return update


class BucklingSqueeze(Composer):
defaults = {
"periodic_event": {
"periods": [1.0]
},
"periodic_event": {"periods": [1.0]},
"cytosim_anchor_mover_squeeze": {
'model_name': 'buckling_squeeze',
"model_name": "buckling_squeeze",
"movement_vector": [5, 0, 0],
"fiber_id": "1",
},
Expand All @@ -102,13 +96,15 @@ def generate_processes(self, config):
periodic_event = PeriodicEvent(config["periodic_event"])
# cytosim_squeeze = CytosimProcess(config['cytosim_squeeze'])
# anchor_mover = AnchorMover(config["anchor_mover"])
cytosim_anchor_mover_squeeze = AnchorMoverCytosim(config["cytosim_anchor_mover_squeeze"])
cytosim_anchor_mover_squeeze = AnchorMoverCytosim(
config["cytosim_anchor_mover_squeeze"]
)

return {
"periodic_event": periodic_event,
# 'cytosim_squeeze': cytosim_squeeze,
# "anchor_mover": anchor_mover,
"cytosim_anchor_mover_squeeze": cytosim_anchor_mover_squeeze
"cytosim_anchor_mover_squeeze": cytosim_anchor_mover_squeeze,
}

def generate_topology(self, config):
Expand All @@ -131,16 +127,17 @@ def generate_topology(self, config):
}


def test_buckling_squeeze():
def run_buckling_squeeze():
initial_state = single_fiber()
initial_state['choices'] = 'N/A'
initial_state["choices"] = "N/A"
cytosim_config = {
'actin_segmentation': 0.005,
"actin_segmentation": 0.005,
"timestep": 5,
"template_directory": "vivarium_models/templates/"}
"template_directory": "vivarium_models/templates/",
}
buckling_squeeze_config = {
# "cytosim_squeeze": cytosim_config
"cytosim_anchor_mover_squeeze": cytosim_config
"cytosim_anchor_mover_squeeze": cytosim_config
}
buckling_squeeze = BucklingSqueeze(buckling_squeeze_config)
composite = buckling_squeeze.generate()
Expand All @@ -153,11 +150,8 @@ def test_buckling_squeeze():
emit_processes=True,
)
engine.update(100)

output = engine.emitter.get_data()
# import ipdb; ipdb.set_trace()

return engine.emitter.get_data()


if __name__ == "__main__":
test_buckling_squeeze()
run_buckling_squeeze()
22 changes: 12 additions & 10 deletions vivarium_models/data/fibers.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,13 +228,14 @@ def centered_initial_fibers():
)
return result


def map_fibers(f, initial_fibers):
result = copy.deepcopy(initial_fibers)
for fiber_id in initial_fibers["fibers"]:
fiber_points = initial_fibers["fibers"][fiber_id]["points"]
for point_index in range(len(fiber_points)):
result["fibers"][fiber_id]["points"][point_index] = (
f(fiber_points[point_index], initial_fibers["fibers_box_extent"])
result["fibers"][fiber_id]["points"][point_index] = f(
fiber_points[point_index], initial_fibers["fibers_box_extent"]
)
return result

Expand All @@ -243,7 +244,7 @@ def single_fiber():
fiber = {
"fibers_box_extent": np.array([4000.0, 2000.0, 2000.0]),
"fibers": {
'1': {
"1": {
"type_name": "Actin-Polymer",
"points": [
np.array([-0.250, 0.000, 0.000]),
Expand Down Expand Up @@ -297,14 +298,15 @@ def single_fiber():
np.array([0.230, 0.000, 0.000]),
np.array([0.240, 0.000, 0.000]),
np.array([0.250, 0.000, 0.000]),
]}}}
],
}
},
}

scaled = map_fibers(
lambda fiber_points, box_extent: fiber_points * 1000,
fiber)
scaled = map_fibers(lambda fiber_points, box_extent: fiber_points * 1000, fiber)

return scaled

if __name__ == '__main__':
fiber = single_fiber()
import ipdb; ipdb.set_trace()

if __name__ == "__main__":
single_fiber()
10 changes: 4 additions & 6 deletions vivarium_models/processes/fiber_to_monomer.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import numpy as np

from vivarium.core.process import Deriver
from vivarium.core.engine import Engine, pf
from vivarium.core.engine import Engine

from simularium_readdy_models.actin import ActinGenerator, ActinTestData, FiberData
from ..util import create_monomer_update
Expand Down Expand Up @@ -114,7 +114,7 @@ def get_initial_fiber_data():
return fibers_dict


def test_fiber_to_monomer():
def run_fiber_to_monomer():
fiber_data = get_initial_fiber_data()
fiber_to_monomer = FiberToMonomer()

Expand All @@ -132,10 +132,8 @@ def test_fiber_to_monomer():
)

engine.update(1.0)

output = engine.emitter.get_data()
print(pf(output))
return engine.emitter.get_data()


if __name__ == "__main__":
test_fiber_to_monomer()
run_fiber_to_monomer()
10 changes: 4 additions & 6 deletions vivarium_models/processes/monomer_to_fiber.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import numpy as np

from vivarium.core.process import Deriver
from vivarium.core.engine import Engine, pf
from vivarium.core.engine import Engine
from simularium_readdy_models.actin import ActinUtil, ActinTestData

from ..util import agents_update
Expand Down Expand Up @@ -184,7 +184,7 @@ def generate_fibers_from_monomers(monomers, box_size=500.0):
return result


def test_fiber_to_monomer():
def run_fiber_to_monomer():
monomer_data = ActinTestData.linear_actin_monomers()
monomer_to_fiber = MonomerToFiber()

Expand All @@ -202,10 +202,8 @@ def test_fiber_to_monomer():
)

engine.update(1.0)

output = engine.emitter.get_data()
print(pf(output))
return engine.emitter.get_data()


if __name__ == "__main__":
test_fiber_to_monomer()
run_fiber_to_monomer()
14 changes: 6 additions & 8 deletions vivarium_models/processes/readdy_actin_process.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import numpy as np

from vivarium.core.process import Process
from vivarium.core.engine import Engine, pf
from vivarium.core.engine import Engine
from vivarium.core.control import run_library_cli

from tqdm import tqdm
Expand Down Expand Up @@ -208,7 +208,7 @@ def get_monomer_data():
return {"monomers": monomer_data}


def test_readdy_actin_process():
def run_readdy_actin_process():
monomer_data = get_monomer_data()
readdy_actin_process = ReaddyActinProcess()

Expand All @@ -225,12 +225,10 @@ def test_readdy_actin_process():
)

engine.update(0.0000001) # 1e3 steps
return engine.emitter.get_data()

output = engine.emitter.get_data()
print(pf(output))


def test_scan_readdy():
def run_scan_readdy():
monomer_data = get_monomer_data()

parameters = {
Expand Down Expand Up @@ -354,10 +352,10 @@ def filament_straightness(results):

scan = Scan(parameters, ReaddyActinProcess, 0.0000001, metrics=metrics)
results = scan.run_scan()
print(results)
return results


library = {"0": test_readdy_actin_process, "1": test_scan_readdy}
library = {"0": run_readdy_actin_process, "1": run_scan_readdy}


if __name__ == "__main__":
Expand Down
Loading