using MEDYAN
import JSON3
= MEDYAN.example_all_sites_context()
@@ -386,7 +386,7 @@ cinit, s Snapshot group
Snapshot Versioning
The snapshot format is versioned by the “version” attribute. The current snapshot version is:
-
+
using MEDYAN
MEDYAN.SNAPSHOT_VERSION
@@ -408,7 +408,7 @@ “#expe
Example snapshot
-
+
using MEDYAN
using SmallZarrGroups
= MEDYAN.example_all_sites_context()
@@ -442,7 +442,7 @@ cinit, s Example snapshot
time (s)
-
+
attrs(group)["time (s)"]
0.0
@@ -455,7 +455,7 @@ Example snapshot
version
-
+
attrs(group)["version"]
"0.8.0"
@@ -468,7 +468,7 @@ Example snapshot
uuid
-
+
attrs(group)["uuid"]
"37eee81f-88ae-4d11-b6b3-d38e1ccf0a08"
@@ -496,7 +496,7 @@ Example snapshot
diffusingcounts
-
+
collect(group["diffusingcounts"])
2×4 Matrix{Int32}:
@@ -512,7 +512,7 @@ Example snapshot
fixedcounts
-
+
collect(group["fixedcounts"])
2×4 Matrix{Float64}:
@@ -559,7 +559,7 @@ Example snapshot
🔢 capsules
-
+
collect(group["chemboundary/capsules"])
8×1 Matrix{Float64}:
@@ -580,7 +580,7 @@ Example snapshot
🔢 planes
-
+
collect(group["chemboundary/planes"])
4×6 Matrix{Float64}:
@@ -627,7 +627,7 @@ Example snapshot
position_scale
-
+
attrs(group["filaments"])["position_scale"]
3
@@ -658,7 +658,7 @@ Example snapshot
🔢 endloadforces
-
+
collect(group["filaments/1/endloadforces"])
2×2 Matrix{Float64}:
@@ -673,7 +673,7 @@ Example snapshot
🔢 fids
-
+
collect(group["filaments/1/fids"])
2-element Vector{Int32}:
@@ -687,7 +687,7 @@ Example snapshot
🔢 minusend_num_notminimized
-
+
collect(group["filaments/1/minusend_num_notminimized"])
2-element Vector{Int32}:
@@ -701,7 +701,7 @@ Example snapshot
🔢 plusend_num_notminimized
-
+
collect(group["filaments/1/plusend_num_notminimized"])
2-element Vector{Int32}:
@@ -715,7 +715,7 @@ Example snapshot
🔢 num_cylinders
-
+
collect(group["filaments/1/num_cylinders"])
2-element Vector{Int32}:
@@ -729,7 +729,7 @@ Example snapshot
🔢 num_monomers
-
+
collect(group["filaments/1/num_monomers"])
2-element Vector{Int32}:
@@ -743,7 +743,7 @@ Example snapshot
🔢 node_mids
-
+
collect(group["filaments/1/node_mids"])
2-element Vector{Int32}:
@@ -764,7 +764,7 @@ Example snapshot
🔢 nodepositions
-
+
collect(group["filaments/1/nodepositions"])
4×3 Matrix{Float64}:
@@ -780,7 +780,7 @@ Example snapshot
🔢 monomerstates
-
+
collect(group["filaments/1/monomerstates"])
18-element Vector{UInt8}:
@@ -857,7 +857,7 @@ Example snapshot
num_link_2mons
-
+
attrs(group["link_2mons/1"])["num_link_2mons"]
2
@@ -869,7 +869,7 @@ Example snapshot
next_lid
-
+
attrs(group["link_2mons/1"])["next_lid"]
3
@@ -885,7 +885,7 @@ Example snapshot
🔢 endnames
-
+
collect(group["link_2mons/1/endnames"])
2×6 Matrix{Int64}:
@@ -908,7 +908,7 @@ Example snapshot
🔢 lids
-
+
collect(group["link_2mons/1/lids"])
2-element Vector{Int64}:
@@ -926,7 +926,7 @@ Example snapshot
Default: default link_2mon_state
See MEDYAN.chem_setlink_2mon_state!
and MEDYAN.Link2MonState
The state of a link_2mon, organized in a nested struct of vector like form. Any static arrays will be unwrapped into a tuple of vectors, in column major order. The “name” attribute of each subgroup and dataset is the corresponding property name in the StructArray
Any property in the default state that isn’t in the snapshot will stay at its default value.
-
+
"link_2mons/1/state"] group[
📂
@@ -969,7 +969,7 @@ Example snapshot
🔢 capsules
-
+
collect(group["mechboundary/capsules"])
8×1 Matrix{Float64}:
@@ -990,7 +990,7 @@ Example snapshot
🔢 planes
-
+
collect(group["mechboundary/planes"])
4×6 Matrix{Float64}:
@@ -1036,7 +1036,7 @@ Example snapshot
num_membranes
-
+
attrs(group["membranes"])["num_membranes"]
1
@@ -1048,7 +1048,7 @@ Example snapshot
position_scale
-
+
attrs(group["membranes"])["position_scale"]
3
@@ -1090,7 +1090,7 @@ Example snapshot
type_id
-
+
attrs(group["membranes/1"])["type_id"]
1
@@ -1105,7 +1105,7 @@ Example snapshot
🔢 trilist
-
+
collect(group["membranes/1/trilist"])
3×1914 Matrix{Int64}:
@@ -1120,7 +1120,7 @@ Example snapshot
🔢 vertlist
-
+
collect(group["membranes/1/vertlist"])
3×959 Matrix{Float64}:
@@ -1135,7 +1135,7 @@ Example snapshot
🔢 id
-
+
collect(group["membranes/1/id"])
959-element Vector{Int64}:
@@ -1173,12 +1173,12 @@ Example snapshot
optional 🔢 copynumbers
-
+
collect(group["membranes/1/copynumbers"])
3×959 Matrix{Int64}:
0 0 0 0 0 0 0 0 0 0 0 0 0 … 0 0 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
diff --git a/julia-docs/dev/search.json b/julia-docs/dev/search.json
index 1616638..20f3a64 100644
--- a/julia-docs/dev/search.json
+++ b/julia-docs/dev/search.json
@@ -1334,7 +1334,7 @@
"href": "reference/fileformats.html",
"title": "File Formats",
"section": "",
- "text": "MEDYAN.jl uses Zarr v2 zip store for saving snapshots.\n\n\n\n\n\n\nOther Languages\n\n\n\nTo open the snapshots in python use zarr\n\n\n\n\nTrajectory outputs and logs are stored in a directory.\nThe output directory contains a traj sub directory with a header.json file, many snap$(NUMBER).zarr.zip files where NUMBER is the frame number of the snapshot, and finally a footer.json.\nThe initial state returned by setup is stored in snap0.zarr.zip.\nInside the snap$(NUMBER).zarr.zip there is a snap/medyan group containing the snapshot of the MEDYAN.Context at the step. Other state may be stored in child groups of snap.\nThe header.json file also has a top level \"medyan\" key with a value describing the system being simulated.\nOther header information may be under other top level keys.\nSee https://github.com/medyan-dev/MEDYANSimRunner.jl for more details on the output directory structure.\n\n\n\nheader.json[\"medyan\"] contains static metadata about the simulation that is constant over time.\n\n\n\nusing MEDYAN\nimport JSON3\ncinit, s = MEDYAN.example_all_sites_context()\nJSON3.pretty(MEDYAN.header(cinit); allow_inf = true)\n\n{\n \"version\": \"0.1.0\",\n \"medyanInfo\": {\n \"title\": \"MEDYAN.jl\",\n \"version\": \"0.1.0\",\n \"sourceCodeUrl\": \"https://github.com/medyan-dev/MEDYAN.jl\"\n },\n \"size\": {\n \"x(nm)\": 2000,\n \"y(nm)\": 500,\n \"z(nm)\": 500\n },\n \"chem_grid_size\": {\n \"nx\": 4,\n \"ny\": 1,\n \"nz\": 1,\n \"voxel_x(nm)\": 500,\n \"voxel_y(nm)\": 500,\n \"voxel_z(nm)\": 500\n },\n \"diffusing_species\": [\n {\n \"name\": \"b\"\n },\n {\n \"name\": \"c\"\n }\n ],\n \"membrane_diffusing_species\": [\n {\n \"name\": \"ma\"\n },\n {\n \"name\": \"mb\"\n },\n {\n \"name\": \"mc\"\n }\n ],\n \"fixed_species\": [\n {\n \"name\": \"d\"\n },\n {\n \"name\": \"a\"\n }\n ],\n \"filaments\": [\n {\n \"name\": \"a\",\n \"radius(nm)\": 3,\n \"monomerstates\": [\n \"me\",\n \"a\",\n \"b\",\n \"c\",\n \"pe\"\n ]\n },\n {\n \"name\": \"b\",\n \"radius(nm)\": 3,\n \"monomerstates\": [\n \"me\",\n \"a\",\n \"b\",\n \"c\",\n \"pe\"\n ]\n }\n ],\n \"link_2mons\": [\n {\n \"name\": \"a\"\n },\n {\n \"name\": \"b\"\n },\n {\n \"name\": \"c\"\n },\n {\n \"name\": \"d\"\n }\n ]\n}\n\n\n\n\n\n\nA snapshot describes the state of a Context at a single point in time.\nA snapshot can be used to set the state of a Context if it was constructed with the same system and parameters as the Context used to create the snapshot. Trying to load a snapshot into a Context constructed with a different system or parameters may lead to unexpected results.\nBy default units are in nm, pN, and s. Coordinates are relative to the center of the grid.\nThe snapshot doesn’t hold the exact full state of a Context, simulations restarted from a snapshot may not have the exact same results because:\n\nThe snapshot doesn’t store the state of the random number generator.\nCoordinates may be rounded to save disk space.\nDictionaries and other internal data structures may get reordered and or resorted when the snapshot is loaded.\nMultithreading may be non deterministic.\n\nBut if rounding isn’t too extreme, the reloaded Context should have the same statistics.\n\n\nThe snapshot format is versioned by the “version” attribute. The current snapshot version is:\n\nusing MEDYAN\nMEDYAN.SNAPSHOT_VERSION\n\nv\"0.8.0\"\n\n\nCurrently before snapshot version 1.0.0 anything goes.\nAfter snapshot version 1.0.0 is released.\nSnapshots written with a previous snapshot version above v\"1\" should be readable. Snapshots written with a newer snapshot version are generally not readable.\nIf new agent types are added to MEDYAN.jl, usually only the minor version needs to be updated, as nothing special needs to be done to read older snapshot versions without that added agent type.\nIf new data is added to an existing agent type, also usually only the minor version needs to be increment, though the case of the new data not existing must be handled with some default.\nIf the way an existing agent type is stored significantly changes, such that external code analyzing the snapshot would need to be modified, the major version must be incremented. Also if possible there should be a function to update a snapshot from the old version to the new version.\n\n\nAny group, dataset, or attribute name prefixed with with “#” can change format or be removed without changing the snapshot version.\n“#experimental” is used for saving new types of agents or other data that doesn’t have a stable format yet.\n“#comment” is used for saving human readable comments that could change in format or wording.\n\n\n\n\n\nusing MEDYAN\nusing SmallZarrGroups\ncinit, s = MEDYAN.example_all_sites_context()\ngroup = MEDYAN.snapshot(cinit)\n\n\n\n\n\n\n\nSnapshot 📂\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\ntime (s)\n\n\nattrs(group)[\"time (s)\"]\n\n0.0\n\n\nDefault: No change\nSee MEDYAN.set_time!\n\n\n\nversion\n\n\nattrs(group)[\"version\"]\n\n\"0.8.0\"\n\n\nDefault: No change\nSee Snapshot Versioning\n\n\n\nuuid\n\n\nattrs(group)[\"uuid\"]\n\n\"37eee81f-88ae-4d11-b6b3-d38e1ccf0a08\"\n\n\nMust be set to exactly “37eee81f-88ae-4d11-b6b3-d38e1ccf0a08”\nto be considered a valid MEDYAN snapshot.\n\n\n\n\n\n\n\n\n\n\n🔢\n\n\n\n\n\n\n\ndiffusingcounts\n\n\ncollect(group[\"diffusingcounts\"])\n\n2×4 Matrix{Int32}:\n 0 100 40 0\n 0 1000 400 0\n\n\nDefault: Empty\nIndexed by [species id, compartment id] to give count.\nSee MEDYAN.chem_adddiffusingcount!\n\n\n\nfixedcounts\n\n\ncollect(group[\"fixedcounts\"])\n\n2×4 Matrix{Float64}:\n 10.25 0.0 0.0 0.0\n 0.0 0.0 0.0 20.25\n\n\nDefault: Empty\nIndexed by [species id, compartment id] to give count.\nSee MEDYAN.chem_addfixedcount!\n\n\n\n\n\n\n\n\n\n\n\n📂\n\n\n\n\n\n\n\n\n\n\n\n\nchemboundary\n\n\n\n\n\nThere is a dataset for each type of boundary, the total boundary is an intersection of the following.\nSee MEDYAN.Boundary\n\n\n🔢 capsules\n\n\ncollect(group[\"chemboundary/capsules\"])\n\n8×1 Matrix{Float64}:\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 10000.0\n 1.0\n\n\nDefault: Empty\nEach column of the dataset is a capsule.\n\n\n\n🔢 planes\n\n\ncollect(group[\"chemboundary/planes\"])\n\n4×6 Matrix{Float64}:\n -10.0 10.0 0.0 0.0 0.0 0.0\n 0.0 0.0 -10.0 10.0 0.0 0.0\n 0.0 0.0 0.0 0.0 -10.0 10.0\n 10000.0 10000.0 2500.0 2500.0 2500.0 2500.0\n\n\nDefault: Empty\nEach column of the dataset is a plane.\n\n\n\n\n\n\n\n\n\n\n\n\nfilaments\n\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nposition_scale\n\n\nattrs(group[\"filaments\"])[\"position_scale\"]\n\n3\n\n\nDefault: No effect\nFilament positions were rounded to the nearest 2^-position_scale nm when saved.\n\n\n\n\n\nThere is a subgroup for each filament type with at least one filament. The subgroups are named by their filament type id. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n🔢 endloadforces\n\n\ncollect(group[\"filaments/1/endloadforces\"])\n\n2×2 Matrix{Float64}:\n 0.0 0.0\n 0.0 0.0\n\n\nFilament end load forces (pN).\nEach row is the load force on the minus and plus ends of a filament.\n\n\n\n🔢 fids\n\n\ncollect(group[\"filaments/1/fids\"])\n\n2-element Vector{Int32}:\n 1\n 2\n\n\nFilament ids.\n\n\n\n🔢 minusend_num_notminimized\n\n\ncollect(group[\"filaments/1/minusend_num_notminimized\"])\n\n2-element Vector{Int32}:\n 0\n 0\n\n\nNumber of newly added monomers to the filament minus ends since last minimization.\n\n\n\n🔢 plusend_num_notminimized\n\n\ncollect(group[\"filaments/1/plusend_num_notminimized\"])\n\n2-element Vector{Int32}:\n 0\n 0\n\n\nNumber of newly added monomers to the filament plus ends since last minimization.\n\n\n\n🔢 num_cylinders\n\n\ncollect(group[\"filaments/1/num_cylinders\"])\n\n2-element Vector{Int32}:\n 1\n 1\n\n\nNumber of cylinders per filament.\n\n\n\n🔢 num_monomers\n\n\ncollect(group[\"filaments/1/num_monomers\"])\n\n2-element Vector{Int32}:\n 9\n 9\n\n\nNumber of monomers per filament.\n\n\n\n🔢 node_mids\n\n\ncollect(group[\"filaments/1/node_mids\"])\n\n2-element Vector{Int32}:\n 1\n 1\n\n\nThe monomer ids at the minus ends of the cylinders.\n |\n -----+-----|-----+-----\n minus end <---- M | M | (M) | M ----> plus end\n -----+-----|-----+-----\n |\n ^ A nodeposition is indicated by the line.\nThe monomer id with parenthesis (M) will in node_mids\n\n\n\n🔢 nodepositions\n\n\ncollect(group[\"filaments/1/nodepositions\"])\n\n4×3 Matrix{Float64}:\n -530.0 -50.0 -50.0\n -440.0 -50.0 -50.0\n -520.0 -49.0 -50.0\n -430.0 -49.0 -50.0\n\n\nEach row is a node position in nm.\n\n\n\n🔢 monomerstates\n\n\ncollect(group[\"filaments/1/monomerstates\"])\n\n18-element Vector{UInt8}:\n 0x01\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x05\n 0x01\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x05\n\n\nMonomer states.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlink_2mons\n\n\n\n\n\nThere is a subgroup for each link_2mon type with at least one link_2mon. The subgroups are named by their link_2mon type id. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nnum_link_2mons\n\n\nattrs(group[\"link_2mons/1\"])[\"num_link_2mons\"]\n\n2\n\n\nNumber of link_2mons of this type.\n\n\n\nnext_lid\n\n\nattrs(group[\"link_2mons/1\"])[\"next_lid\"]\n\n3\n\n\nThe default next link id for new links.\nThis should be greater than all the existing lids.\n\n\n\n\n\n\n🔢 endnames\n\n\ncollect(group[\"link_2mons/1/endnames\"])\n\n2×6 Matrix{Int64}:\n 1 1 2 1 1 2\n 1 1 2 1 2 2\n\n\nThe pairs of monomers that the link_2mons are linked between. The monomer pairs are directed and unique.\nEach row of this matrix represents two monomers. The 6 integers per row are in order:\n\nMinus end filament type id.\nMinus end filament id.\nMinus end monomer id.\nPlus end filament type id.\nPlus end filament id.\nPlus end monomer id.\n\n\n\n\n🔢 lids\n\n\ncollect(group[\"link_2mons/1/lids\"])\n\n2-element Vector{Int64}:\n 1\n 2\n\n\nThe link_2mon ids.\nLinks retain their ids while they remain bound.\n\n\n\n📂 state\n\nDefault: default link_2mon_state\nSee MEDYAN.chem_setlink_2mon_state! and MEDYAN.Link2MonState\nThe state of a link_2mon, organized in a nested struct of vector like form. Any static arrays will be unwrapped into a tuple of vectors, in column major order. The “name” attribute of each subgroup and dataset is the corresponding property name in the StructArray Any property in the default state that isn’t in the snapshot will stay at its default value.\n\ngroup[\"link_2mons/1/state\"]\n\n📂\n├─ 📂 1 🏷️ name => \"chemstate\",\n| ├─ 🔢 1: 2 Int64 🏷️ name => \"a\",\n| └─ 🔢 2: 2 Float64 🏷️ name => \"b\",\n├─ 📂 2 🏷️ name => \"mechstate\",\n| └─ 📂 1 🏷️ name => \"â\",\n| ├─ 🔢 1: 2 Float32 🏷️ name => \"1\",\n| ├─ 🔢 2: 2 Float32 🏷️ name => \"2\",\n| └─ 🔢 3: 2 Float32 🏷️ name => \"3\",\n└─ 🔢 3: 2 Bool 🏷️ name => \"is_minimized\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nmechboundary\n\n\n\n\n\nThere is a dataset for each type of boundary, the total boundary is an intersection of the following.\nSee MEDYAN.Boundary\n\n\n🔢 capsules\n\n\ncollect(group[\"mechboundary/capsules\"])\n\n8×1 Matrix{Float64}:\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 10000.0\n 1.0\n\n\nDefault: Empty\nEach column of the dataset is a capsule.\n\n\n\n🔢 planes\n\n\ncollect(group[\"mechboundary/planes\"])\n\n4×6 Matrix{Float64}:\n -10.0 10.0 0.0 0.0 0.0 0.0\n 0.0 0.0 -10.0 10.0 0.0 0.0\n 0.0 0.0 0.0 0.0 -10.0 10.0\n 10000.0 10000.0 2500.0 2500.0 2500.0 2500.0\n\n\nDefault: Empty\nEach column of the dataset is a plane.\n\n\n\n\n\n\n\n\n\n\n\n\nmembranes\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nnum_membranes\n\n\nattrs(group[\"membranes\"])[\"num_membranes\"]\n\n1\n\n\nTotal number of membranes.\n\n\n\nposition_scale\n\n\nattrs(group[\"membranes\"])[\"position_scale\"]\n\n3\n\n\nDefault: No effect\nPositions were rounded to the nearest 2^-position_scale nm when saved.\n\n\n\n\nThere is a subgroup for each membrane. The subgroups are named by the membrane index. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\ntype_id\n\n\nattrs(group[\"membranes/1\"])[\"type_id\"]\n\n1\n\n\nThis membrane’s type id.\n\n\n\n\n\n\n🔢 trilist\n\n\ncollect(group[\"membranes/1/trilist\"])\n\n3×1914 Matrix{Int64}:\n 2 871 836 517 520 462 409 416 … 792 688 226 201 450 326 164\n 848 807 732 412 362 635 656 845 913 354 652 920 923 956 781\n 238 630 203 190 623 853 733 608 875 944 373 958 958 959 959\n\n\nEach column is the 3 vertex indexes of a triangle. Indexes are one based, and follow the right hand rule. Looking at the triangle from the outside in, they have counterclockwise winding.\n\n\n\n🔢 vertlist\n\n\ncollect(group[\"membranes/1/vertlist\"])\n\n3×959 Matrix{Float64}:\n 115.0 -590.25 -552.0 226.75 … 182.375 -316.125 157.75\n -222.75 -232.875 -193.125 137.5 238.125 -429.875 -34.5\n -252.25 275.25 -343.25 -15.5 -49.125 -237.875 -279.875\n\n\nEach column is a vertex coordinate in nm.\n\n\n\n🔢 id\n\n\ncollect(group[\"membranes/1/id\"])\n\n959-element Vector{Int64}:\n 7814\n 10608\n 3334\n 14756\n 12541\n 9498\n 10903\n 2092\n 9775\n 10\n 12855\n 12136\n 1949\n ⋮\n 3653\n 5295\n 3951\n 8003\n 14307\n 12258\n 7204\n 4182\n 7834\n 9058\n 6485\n 10738\n\n\nArray of vertex IDs. Each vertex has an id which is assigned upon initialization and persists throughout its lifetime.\n\n\n\noptional 🔢 copynumbers\n\n\ncollect(group[\"membranes/1/copynumbers\"])\n\n3×959 Matrix{Int64}:\n 0 0 0 0 0 0 0 0 0 0 0 0 0 … 0 0 0 0 0 0 0 0 0 0 0 0\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n\n\nArray of vertex membrane species copynumbers. If the membrane has no defined species this dataset will not exist.",
+ "text": "MEDYAN.jl uses Zarr v2 zip store for saving snapshots.\n\n\n\n\n\n\nOther Languages\n\n\n\nTo open the snapshots in python use zarr\n\n\n\n\nTrajectory outputs and logs are stored in a directory.\nThe output directory contains a traj sub directory with a header.json file, many snap$(NUMBER).zarr.zip files where NUMBER is the frame number of the snapshot, and finally a footer.json.\nThe initial state returned by setup is stored in snap0.zarr.zip.\nInside the snap$(NUMBER).zarr.zip there is a snap/medyan group containing the snapshot of the MEDYAN.Context at the step. Other state may be stored in child groups of snap.\nThe header.json file also has a top level \"medyan\" key with a value describing the system being simulated.\nOther header information may be under other top level keys.\nSee https://github.com/medyan-dev/MEDYANSimRunner.jl for more details on the output directory structure.\n\n\n\nheader.json[\"medyan\"] contains static metadata about the simulation that is constant over time.\n\n\n\nusing MEDYAN\nimport JSON3\ncinit, s = MEDYAN.example_all_sites_context()\nJSON3.pretty(MEDYAN.header(cinit); allow_inf = true)\n\n{\n \"version\": \"0.1.0\",\n \"medyanInfo\": {\n \"title\": \"MEDYAN.jl\",\n \"version\": \"0.1.0\",\n \"sourceCodeUrl\": \"https://github.com/medyan-dev/MEDYAN.jl\"\n },\n \"size\": {\n \"x(nm)\": 2000,\n \"y(nm)\": 500,\n \"z(nm)\": 500\n },\n \"chem_grid_size\": {\n \"nx\": 4,\n \"ny\": 1,\n \"nz\": 1,\n \"voxel_x(nm)\": 500,\n \"voxel_y(nm)\": 500,\n \"voxel_z(nm)\": 500\n },\n \"diffusing_species\": [\n {\n \"name\": \"b\"\n },\n {\n \"name\": \"c\"\n }\n ],\n \"membrane_diffusing_species\": [\n {\n \"name\": \"ma\"\n },\n {\n \"name\": \"mb\"\n },\n {\n \"name\": \"mc\"\n }\n ],\n \"fixed_species\": [\n {\n \"name\": \"d\"\n },\n {\n \"name\": \"a\"\n }\n ],\n \"filaments\": [\n {\n \"name\": \"a\",\n \"radius(nm)\": 3,\n \"monomerstates\": [\n \"me\",\n \"a\",\n \"b\",\n \"c\",\n \"pe\"\n ]\n },\n {\n \"name\": \"b\",\n \"radius(nm)\": 3,\n \"monomerstates\": [\n \"me\",\n \"a\",\n \"b\",\n \"c\",\n \"pe\"\n ]\n }\n ],\n \"link_2mons\": [\n {\n \"name\": \"a\"\n },\n {\n \"name\": \"b\"\n },\n {\n \"name\": \"c\"\n },\n {\n \"name\": \"d\"\n }\n ]\n}\n\n\n\n\n\n\nA snapshot describes the state of a Context at a single point in time.\nA snapshot can be used to set the state of a Context if it was constructed with the same system and parameters as the Context used to create the snapshot. Trying to load a snapshot into a Context constructed with a different system or parameters may lead to unexpected results.\nBy default units are in nm, pN, and s. Coordinates are relative to the center of the grid.\nThe snapshot doesn’t hold the exact full state of a Context, simulations restarted from a snapshot may not have the exact same results because:\n\nThe snapshot doesn’t store the state of the random number generator.\nCoordinates may be rounded to save disk space.\nDictionaries and other internal data structures may get reordered and or resorted when the snapshot is loaded.\nMultithreading may be non deterministic.\n\nBut if rounding isn’t too extreme, the reloaded Context should have the same statistics.\n\n\nThe snapshot format is versioned by the “version” attribute. The current snapshot version is:\n\nusing MEDYAN\nMEDYAN.SNAPSHOT_VERSION\n\nv\"0.8.0\"\n\n\nCurrently before snapshot version 1.0.0 anything goes.\nAfter snapshot version 1.0.0 is released.\nSnapshots written with a previous snapshot version above v\"1\" should be readable. Snapshots written with a newer snapshot version are generally not readable.\nIf new agent types are added to MEDYAN.jl, usually only the minor version needs to be updated, as nothing special needs to be done to read older snapshot versions without that added agent type.\nIf new data is added to an existing agent type, also usually only the minor version needs to be increment, though the case of the new data not existing must be handled with some default.\nIf the way an existing agent type is stored significantly changes, such that external code analyzing the snapshot would need to be modified, the major version must be incremented. Also if possible there should be a function to update a snapshot from the old version to the new version.\n\n\nAny group, dataset, or attribute name prefixed with with “#” can change format or be removed without changing the snapshot version.\n“#experimental” is used for saving new types of agents or other data that doesn’t have a stable format yet.\n“#comment” is used for saving human readable comments that could change in format or wording.\n\n\n\n\n\nusing MEDYAN\nusing SmallZarrGroups\ncinit, s = MEDYAN.example_all_sites_context()\ngroup = MEDYAN.snapshot(cinit)\n\n\n\n\n\n\n\nSnapshot 📂\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\ntime (s)\n\n\nattrs(group)[\"time (s)\"]\n\n0.0\n\n\nDefault: No change\nSee MEDYAN.set_time!\n\n\n\nversion\n\n\nattrs(group)[\"version\"]\n\n\"0.8.0\"\n\n\nDefault: No change\nSee Snapshot Versioning\n\n\n\nuuid\n\n\nattrs(group)[\"uuid\"]\n\n\"37eee81f-88ae-4d11-b6b3-d38e1ccf0a08\"\n\n\nMust be set to exactly “37eee81f-88ae-4d11-b6b3-d38e1ccf0a08”\nto be considered a valid MEDYAN snapshot.\n\n\n\n\n\n\n\n\n\n\n🔢\n\n\n\n\n\n\n\ndiffusingcounts\n\n\ncollect(group[\"diffusingcounts\"])\n\n2×4 Matrix{Int32}:\n 0 100 40 0\n 0 1000 400 0\n\n\nDefault: Empty\nIndexed by [species id, compartment id] to give count.\nSee MEDYAN.chem_adddiffusingcount!\n\n\n\nfixedcounts\n\n\ncollect(group[\"fixedcounts\"])\n\n2×4 Matrix{Float64}:\n 10.25 0.0 0.0 0.0\n 0.0 0.0 0.0 20.25\n\n\nDefault: Empty\nIndexed by [species id, compartment id] to give count.\nSee MEDYAN.chem_addfixedcount!\n\n\n\n\n\n\n\n\n\n\n\n📂\n\n\n\n\n\n\n\n\n\n\n\n\nchemboundary\n\n\n\n\n\nThere is a dataset for each type of boundary, the total boundary is an intersection of the following.\nSee MEDYAN.Boundary\n\n\n🔢 capsules\n\n\ncollect(group[\"chemboundary/capsules\"])\n\n8×1 Matrix{Float64}:\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 10000.0\n 1.0\n\n\nDefault: Empty\nEach column of the dataset is a capsule.\n\n\n\n🔢 planes\n\n\ncollect(group[\"chemboundary/planes\"])\n\n4×6 Matrix{Float64}:\n -10.0 10.0 0.0 0.0 0.0 0.0\n 0.0 0.0 -10.0 10.0 0.0 0.0\n 0.0 0.0 0.0 0.0 -10.0 10.0\n 10000.0 10000.0 2500.0 2500.0 2500.0 2500.0\n\n\nDefault: Empty\nEach column of the dataset is a plane.\n\n\n\n\n\n\n\n\n\n\n\n\nfilaments\n\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nposition_scale\n\n\nattrs(group[\"filaments\"])[\"position_scale\"]\n\n3\n\n\nDefault: No effect\nFilament positions were rounded to the nearest 2^-position_scale nm when saved.\n\n\n\n\n\nThere is a subgroup for each filament type with at least one filament. The subgroups are named by their filament type id. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n🔢 endloadforces\n\n\ncollect(group[\"filaments/1/endloadforces\"])\n\n2×2 Matrix{Float64}:\n 0.0 0.0\n 0.0 0.0\n\n\nFilament end load forces (pN).\nEach row is the load force on the minus and plus ends of a filament.\n\n\n\n🔢 fids\n\n\ncollect(group[\"filaments/1/fids\"])\n\n2-element Vector{Int32}:\n 1\n 2\n\n\nFilament ids.\n\n\n\n🔢 minusend_num_notminimized\n\n\ncollect(group[\"filaments/1/minusend_num_notminimized\"])\n\n2-element Vector{Int32}:\n 0\n 0\n\n\nNumber of newly added monomers to the filament minus ends since last minimization.\n\n\n\n🔢 plusend_num_notminimized\n\n\ncollect(group[\"filaments/1/plusend_num_notminimized\"])\n\n2-element Vector{Int32}:\n 0\n 0\n\n\nNumber of newly added monomers to the filament plus ends since last minimization.\n\n\n\n🔢 num_cylinders\n\n\ncollect(group[\"filaments/1/num_cylinders\"])\n\n2-element Vector{Int32}:\n 1\n 1\n\n\nNumber of cylinders per filament.\n\n\n\n🔢 num_monomers\n\n\ncollect(group[\"filaments/1/num_monomers\"])\n\n2-element Vector{Int32}:\n 9\n 9\n\n\nNumber of monomers per filament.\n\n\n\n🔢 node_mids\n\n\ncollect(group[\"filaments/1/node_mids\"])\n\n2-element Vector{Int32}:\n 1\n 1\n\n\nThe monomer ids at the minus ends of the cylinders.\n |\n -----+-----|-----+-----\n minus end <---- M | M | (M) | M ----> plus end\n -----+-----|-----+-----\n |\n ^ A nodeposition is indicated by the line.\nThe monomer id with parenthesis (M) will in node_mids\n\n\n\n🔢 nodepositions\n\n\ncollect(group[\"filaments/1/nodepositions\"])\n\n4×3 Matrix{Float64}:\n -530.0 -50.0 -50.0\n -440.0 -50.0 -50.0\n -520.0 -49.0 -50.0\n -430.0 -49.0 -50.0\n\n\nEach row is a node position in nm.\n\n\n\n🔢 monomerstates\n\n\ncollect(group[\"filaments/1/monomerstates\"])\n\n18-element Vector{UInt8}:\n 0x01\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x05\n 0x01\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x05\n\n\nMonomer states.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlink_2mons\n\n\n\n\n\nThere is a subgroup for each link_2mon type with at least one link_2mon. The subgroups are named by their link_2mon type id. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nnum_link_2mons\n\n\nattrs(group[\"link_2mons/1\"])[\"num_link_2mons\"]\n\n2\n\n\nNumber of link_2mons of this type.\n\n\n\nnext_lid\n\n\nattrs(group[\"link_2mons/1\"])[\"next_lid\"]\n\n3\n\n\nThe default next link id for new links.\nThis should be greater than all the existing lids.\n\n\n\n\n\n\n🔢 endnames\n\n\ncollect(group[\"link_2mons/1/endnames\"])\n\n2×6 Matrix{Int64}:\n 1 1 2 1 1 2\n 1 1 2 1 2 2\n\n\nThe pairs of monomers that the link_2mons are linked between. The monomer pairs are directed and unique.\nEach row of this matrix represents two monomers. The 6 integers per row are in order:\n\nMinus end filament type id.\nMinus end filament id.\nMinus end monomer id.\nPlus end filament type id.\nPlus end filament id.\nPlus end monomer id.\n\n\n\n\n🔢 lids\n\n\ncollect(group[\"link_2mons/1/lids\"])\n\n2-element Vector{Int64}:\n 1\n 2\n\n\nThe link_2mon ids.\nLinks retain their ids while they remain bound.\n\n\n\n📂 state\n\nDefault: default link_2mon_state\nSee MEDYAN.chem_setlink_2mon_state! and MEDYAN.Link2MonState\nThe state of a link_2mon, organized in a nested struct of vector like form. Any static arrays will be unwrapped into a tuple of vectors, in column major order. The “name” attribute of each subgroup and dataset is the corresponding property name in the StructArray Any property in the default state that isn’t in the snapshot will stay at its default value.\n\ngroup[\"link_2mons/1/state\"]\n\n📂\n├─ 📂 1 🏷️ name => \"chemstate\",\n| ├─ 🔢 1: 2 Int64 🏷️ name => \"a\",\n| └─ 🔢 2: 2 Float64 🏷️ name => \"b\",\n├─ 📂 2 🏷️ name => \"mechstate\",\n| └─ 📂 1 🏷️ name => \"â\",\n| ├─ 🔢 1: 2 Float32 🏷️ name => \"1\",\n| ├─ 🔢 2: 2 Float32 🏷️ name => \"2\",\n| └─ 🔢 3: 2 Float32 🏷️ name => \"3\",\n└─ 🔢 3: 2 Bool 🏷️ name => \"is_minimized\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nmechboundary\n\n\n\n\n\nThere is a dataset for each type of boundary, the total boundary is an intersection of the following.\nSee MEDYAN.Boundary\n\n\n🔢 capsules\n\n\ncollect(group[\"mechboundary/capsules\"])\n\n8×1 Matrix{Float64}:\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 10000.0\n 1.0\n\n\nDefault: Empty\nEach column of the dataset is a capsule.\n\n\n\n🔢 planes\n\n\ncollect(group[\"mechboundary/planes\"])\n\n4×6 Matrix{Float64}:\n -10.0 10.0 0.0 0.0 0.0 0.0\n 0.0 0.0 -10.0 10.0 0.0 0.0\n 0.0 0.0 0.0 0.0 -10.0 10.0\n 10000.0 10000.0 2500.0 2500.0 2500.0 2500.0\n\n\nDefault: Empty\nEach column of the dataset is a plane.\n\n\n\n\n\n\n\n\n\n\n\n\nmembranes\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nnum_membranes\n\n\nattrs(group[\"membranes\"])[\"num_membranes\"]\n\n1\n\n\nTotal number of membranes.\n\n\n\nposition_scale\n\n\nattrs(group[\"membranes\"])[\"position_scale\"]\n\n3\n\n\nDefault: No effect\nPositions were rounded to the nearest 2^-position_scale nm when saved.\n\n\n\n\nThere is a subgroup for each membrane. The subgroups are named by the membrane index. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\ntype_id\n\n\nattrs(group[\"membranes/1\"])[\"type_id\"]\n\n1\n\n\nThis membrane’s type id.\n\n\n\n\n\n\n🔢 trilist\n\n\ncollect(group[\"membranes/1/trilist\"])\n\n3×1914 Matrix{Int64}:\n 2 871 836 517 520 462 409 416 … 792 688 226 201 450 326 164\n 848 807 732 412 362 635 656 845 913 354 652 920 923 956 781\n 238 630 203 190 623 853 733 608 875 944 373 958 958 959 959\n\n\nEach column is the 3 vertex indexes of a triangle. Indexes are one based, and follow the right hand rule. Looking at the triangle from the outside in, they have counterclockwise winding.\n\n\n\n🔢 vertlist\n\n\ncollect(group[\"membranes/1/vertlist\"])\n\n3×959 Matrix{Float64}:\n 115.0 -590.25 -552.0 226.75 … 182.375 -316.125 157.75\n -222.75 -232.875 -193.125 137.5 238.125 -429.875 -34.5\n -252.25 275.25 -343.25 -15.5 -49.125 -237.875 -279.875\n\n\nEach column is a vertex coordinate in nm.\n\n\n\n🔢 id\n\n\ncollect(group[\"membranes/1/id\"])\n\n959-element Vector{Int64}:\n 7814\n 10608\n 3334\n 14756\n 12541\n 9498\n 10903\n 2092\n 9775\n 10\n 12855\n 12136\n 1949\n ⋮\n 3653\n 5295\n 3951\n 8003\n 14307\n 12258\n 7204\n 4182\n 7834\n 9058\n 6485\n 10738\n\n\nArray of vertex IDs. Each vertex has an id which is assigned upon initialization and persists throughout its lifetime.\n\n\n\noptional 🔢 copynumbers\n\n\ncollect(group[\"membranes/1/copynumbers\"])\n\n3×959 Matrix{Int64}:\n 0 0 0 0 0 0 0 0 0 0 0 0 0 … 0 0 0 0 0 0 0 0 0 0 0 0\n 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n\n\nArray of vertex membrane species copynumbers. If the membrane has no defined species this dataset will not exist.",
"crumbs": [
"Reference",
"File Formats"
@@ -1367,7 +1367,7 @@
"href": "reference/fileformats.html#snapshot-group",
"title": "File Formats",
"section": "",
- "text": "A snapshot describes the state of a Context at a single point in time.\nA snapshot can be used to set the state of a Context if it was constructed with the same system and parameters as the Context used to create the snapshot. Trying to load a snapshot into a Context constructed with a different system or parameters may lead to unexpected results.\nBy default units are in nm, pN, and s. Coordinates are relative to the center of the grid.\nThe snapshot doesn’t hold the exact full state of a Context, simulations restarted from a snapshot may not have the exact same results because:\n\nThe snapshot doesn’t store the state of the random number generator.\nCoordinates may be rounded to save disk space.\nDictionaries and other internal data structures may get reordered and or resorted when the snapshot is loaded.\nMultithreading may be non deterministic.\n\nBut if rounding isn’t too extreme, the reloaded Context should have the same statistics.\n\n\nThe snapshot format is versioned by the “version” attribute. The current snapshot version is:\n\nusing MEDYAN\nMEDYAN.SNAPSHOT_VERSION\n\nv\"0.8.0\"\n\n\nCurrently before snapshot version 1.0.0 anything goes.\nAfter snapshot version 1.0.0 is released.\nSnapshots written with a previous snapshot version above v\"1\" should be readable. Snapshots written with a newer snapshot version are generally not readable.\nIf new agent types are added to MEDYAN.jl, usually only the minor version needs to be updated, as nothing special needs to be done to read older snapshot versions without that added agent type.\nIf new data is added to an existing agent type, also usually only the minor version needs to be increment, though the case of the new data not existing must be handled with some default.\nIf the way an existing agent type is stored significantly changes, such that external code analyzing the snapshot would need to be modified, the major version must be incremented. Also if possible there should be a function to update a snapshot from the old version to the new version.\n\n\nAny group, dataset, or attribute name prefixed with with “#” can change format or be removed without changing the snapshot version.\n“#experimental” is used for saving new types of agents or other data that doesn’t have a stable format yet.\n“#comment” is used for saving human readable comments that could change in format or wording.\n\n\n\n\n\nusing MEDYAN\nusing SmallZarrGroups\ncinit, s = MEDYAN.example_all_sites_context()\ngroup = MEDYAN.snapshot(cinit)\n\n\n\n\n\n\n\nSnapshot 📂\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\ntime (s)\n\n\nattrs(group)[\"time (s)\"]\n\n0.0\n\n\nDefault: No change\nSee MEDYAN.set_time!\n\n\n\nversion\n\n\nattrs(group)[\"version\"]\n\n\"0.8.0\"\n\n\nDefault: No change\nSee Snapshot Versioning\n\n\n\nuuid\n\n\nattrs(group)[\"uuid\"]\n\n\"37eee81f-88ae-4d11-b6b3-d38e1ccf0a08\"\n\n\nMust be set to exactly “37eee81f-88ae-4d11-b6b3-d38e1ccf0a08”\nto be considered a valid MEDYAN snapshot.\n\n\n\n\n\n\n\n\n\n\n🔢\n\n\n\n\n\n\n\ndiffusingcounts\n\n\ncollect(group[\"diffusingcounts\"])\n\n2×4 Matrix{Int32}:\n 0 100 40 0\n 0 1000 400 0\n\n\nDefault: Empty\nIndexed by [species id, compartment id] to give count.\nSee MEDYAN.chem_adddiffusingcount!\n\n\n\nfixedcounts\n\n\ncollect(group[\"fixedcounts\"])\n\n2×4 Matrix{Float64}:\n 10.25 0.0 0.0 0.0\n 0.0 0.0 0.0 20.25\n\n\nDefault: Empty\nIndexed by [species id, compartment id] to give count.\nSee MEDYAN.chem_addfixedcount!\n\n\n\n\n\n\n\n\n\n\n\n📂\n\n\n\n\n\n\n\n\n\n\n\n\nchemboundary\n\n\n\n\n\nThere is a dataset for each type of boundary, the total boundary is an intersection of the following.\nSee MEDYAN.Boundary\n\n\n🔢 capsules\n\n\ncollect(group[\"chemboundary/capsules\"])\n\n8×1 Matrix{Float64}:\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 10000.0\n 1.0\n\n\nDefault: Empty\nEach column of the dataset is a capsule.\n\n\n\n🔢 planes\n\n\ncollect(group[\"chemboundary/planes\"])\n\n4×6 Matrix{Float64}:\n -10.0 10.0 0.0 0.0 0.0 0.0\n 0.0 0.0 -10.0 10.0 0.0 0.0\n 0.0 0.0 0.0 0.0 -10.0 10.0\n 10000.0 10000.0 2500.0 2500.0 2500.0 2500.0\n\n\nDefault: Empty\nEach column of the dataset is a plane.\n\n\n\n\n\n\n\n\n\n\n\n\nfilaments\n\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nposition_scale\n\n\nattrs(group[\"filaments\"])[\"position_scale\"]\n\n3\n\n\nDefault: No effect\nFilament positions were rounded to the nearest 2^-position_scale nm when saved.\n\n\n\n\n\nThere is a subgroup for each filament type with at least one filament. The subgroups are named by their filament type id. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n🔢 endloadforces\n\n\ncollect(group[\"filaments/1/endloadforces\"])\n\n2×2 Matrix{Float64}:\n 0.0 0.0\n 0.0 0.0\n\n\nFilament end load forces (pN).\nEach row is the load force on the minus and plus ends of a filament.\n\n\n\n🔢 fids\n\n\ncollect(group[\"filaments/1/fids\"])\n\n2-element Vector{Int32}:\n 1\n 2\n\n\nFilament ids.\n\n\n\n🔢 minusend_num_notminimized\n\n\ncollect(group[\"filaments/1/minusend_num_notminimized\"])\n\n2-element Vector{Int32}:\n 0\n 0\n\n\nNumber of newly added monomers to the filament minus ends since last minimization.\n\n\n\n🔢 plusend_num_notminimized\n\n\ncollect(group[\"filaments/1/plusend_num_notminimized\"])\n\n2-element Vector{Int32}:\n 0\n 0\n\n\nNumber of newly added monomers to the filament plus ends since last minimization.\n\n\n\n🔢 num_cylinders\n\n\ncollect(group[\"filaments/1/num_cylinders\"])\n\n2-element Vector{Int32}:\n 1\n 1\n\n\nNumber of cylinders per filament.\n\n\n\n🔢 num_monomers\n\n\ncollect(group[\"filaments/1/num_monomers\"])\n\n2-element Vector{Int32}:\n 9\n 9\n\n\nNumber of monomers per filament.\n\n\n\n🔢 node_mids\n\n\ncollect(group[\"filaments/1/node_mids\"])\n\n2-element Vector{Int32}:\n 1\n 1\n\n\nThe monomer ids at the minus ends of the cylinders.\n |\n -----+-----|-----+-----\n minus end <---- M | M | (M) | M ----> plus end\n -----+-----|-----+-----\n |\n ^ A nodeposition is indicated by the line.\nThe monomer id with parenthesis (M) will in node_mids\n\n\n\n🔢 nodepositions\n\n\ncollect(group[\"filaments/1/nodepositions\"])\n\n4×3 Matrix{Float64}:\n -530.0 -50.0 -50.0\n -440.0 -50.0 -50.0\n -520.0 -49.0 -50.0\n -430.0 -49.0 -50.0\n\n\nEach row is a node position in nm.\n\n\n\n🔢 monomerstates\n\n\ncollect(group[\"filaments/1/monomerstates\"])\n\n18-element Vector{UInt8}:\n 0x01\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x05\n 0x01\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x05\n\n\nMonomer states.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlink_2mons\n\n\n\n\n\nThere is a subgroup for each link_2mon type with at least one link_2mon. The subgroups are named by their link_2mon type id. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nnum_link_2mons\n\n\nattrs(group[\"link_2mons/1\"])[\"num_link_2mons\"]\n\n2\n\n\nNumber of link_2mons of this type.\n\n\n\nnext_lid\n\n\nattrs(group[\"link_2mons/1\"])[\"next_lid\"]\n\n3\n\n\nThe default next link id for new links.\nThis should be greater than all the existing lids.\n\n\n\n\n\n\n🔢 endnames\n\n\ncollect(group[\"link_2mons/1/endnames\"])\n\n2×6 Matrix{Int64}:\n 1 1 2 1 1 2\n 1 1 2 1 2 2\n\n\nThe pairs of monomers that the link_2mons are linked between. The monomer pairs are directed and unique.\nEach row of this matrix represents two monomers. The 6 integers per row are in order:\n\nMinus end filament type id.\nMinus end filament id.\nMinus end monomer id.\nPlus end filament type id.\nPlus end filament id.\nPlus end monomer id.\n\n\n\n\n🔢 lids\n\n\ncollect(group[\"link_2mons/1/lids\"])\n\n2-element Vector{Int64}:\n 1\n 2\n\n\nThe link_2mon ids.\nLinks retain their ids while they remain bound.\n\n\n\n📂 state\n\nDefault: default link_2mon_state\nSee MEDYAN.chem_setlink_2mon_state! and MEDYAN.Link2MonState\nThe state of a link_2mon, organized in a nested struct of vector like form. Any static arrays will be unwrapped into a tuple of vectors, in column major order. The “name” attribute of each subgroup and dataset is the corresponding property name in the StructArray Any property in the default state that isn’t in the snapshot will stay at its default value.\n\ngroup[\"link_2mons/1/state\"]\n\n📂\n├─ 📂 1 🏷️ name => \"chemstate\",\n| ├─ 🔢 1: 2 Int64 🏷️ name => \"a\",\n| └─ 🔢 2: 2 Float64 🏷️ name => \"b\",\n├─ 📂 2 🏷️ name => \"mechstate\",\n| └─ 📂 1 🏷️ name => \"â\",\n| ├─ 🔢 1: 2 Float32 🏷️ name => \"1\",\n| ├─ 🔢 2: 2 Float32 🏷️ name => \"2\",\n| └─ 🔢 3: 2 Float32 🏷️ name => \"3\",\n└─ 🔢 3: 2 Bool 🏷️ name => \"is_minimized\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nmechboundary\n\n\n\n\n\nThere is a dataset for each type of boundary, the total boundary is an intersection of the following.\nSee MEDYAN.Boundary\n\n\n🔢 capsules\n\n\ncollect(group[\"mechboundary/capsules\"])\n\n8×1 Matrix{Float64}:\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 10000.0\n 1.0\n\n\nDefault: Empty\nEach column of the dataset is a capsule.\n\n\n\n🔢 planes\n\n\ncollect(group[\"mechboundary/planes\"])\n\n4×6 Matrix{Float64}:\n -10.0 10.0 0.0 0.0 0.0 0.0\n 0.0 0.0 -10.0 10.0 0.0 0.0\n 0.0 0.0 0.0 0.0 -10.0 10.0\n 10000.0 10000.0 2500.0 2500.0 2500.0 2500.0\n\n\nDefault: Empty\nEach column of the dataset is a plane.\n\n\n\n\n\n\n\n\n\n\n\n\nmembranes\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nnum_membranes\n\n\nattrs(group[\"membranes\"])[\"num_membranes\"]\n\n1\n\n\nTotal number of membranes.\n\n\n\nposition_scale\n\n\nattrs(group[\"membranes\"])[\"position_scale\"]\n\n3\n\n\nDefault: No effect\nPositions were rounded to the nearest 2^-position_scale nm when saved.\n\n\n\n\nThere is a subgroup for each membrane. The subgroups are named by the membrane index. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\ntype_id\n\n\nattrs(group[\"membranes/1\"])[\"type_id\"]\n\n1\n\n\nThis membrane’s type id.\n\n\n\n\n\n\n🔢 trilist\n\n\ncollect(group[\"membranes/1/trilist\"])\n\n3×1914 Matrix{Int64}:\n 2 871 836 517 520 462 409 416 … 792 688 226 201 450 326 164\n 848 807 732 412 362 635 656 845 913 354 652 920 923 956 781\n 238 630 203 190 623 853 733 608 875 944 373 958 958 959 959\n\n\nEach column is the 3 vertex indexes of a triangle. Indexes are one based, and follow the right hand rule. Looking at the triangle from the outside in, they have counterclockwise winding.\n\n\n\n🔢 vertlist\n\n\ncollect(group[\"membranes/1/vertlist\"])\n\n3×959 Matrix{Float64}:\n 115.0 -590.25 -552.0 226.75 … 182.375 -316.125 157.75\n -222.75 -232.875 -193.125 137.5 238.125 -429.875 -34.5\n -252.25 275.25 -343.25 -15.5 -49.125 -237.875 -279.875\n\n\nEach column is a vertex coordinate in nm.\n\n\n\n🔢 id\n\n\ncollect(group[\"membranes/1/id\"])\n\n959-element Vector{Int64}:\n 7814\n 10608\n 3334\n 14756\n 12541\n 9498\n 10903\n 2092\n 9775\n 10\n 12855\n 12136\n 1949\n ⋮\n 3653\n 5295\n 3951\n 8003\n 14307\n 12258\n 7204\n 4182\n 7834\n 9058\n 6485\n 10738\n\n\nArray of vertex IDs. Each vertex has an id which is assigned upon initialization and persists throughout its lifetime.\n\n\n\noptional 🔢 copynumbers\n\n\ncollect(group[\"membranes/1/copynumbers\"])\n\n3×959 Matrix{Int64}:\n 0 0 0 0 0 0 0 0 0 0 0 0 0 … 0 0 0 0 0 0 0 0 0 0 0 0\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n\n\nArray of vertex membrane species copynumbers. If the membrane has no defined species this dataset will not exist.",
+ "text": "A snapshot describes the state of a Context at a single point in time.\nA snapshot can be used to set the state of a Context if it was constructed with the same system and parameters as the Context used to create the snapshot. Trying to load a snapshot into a Context constructed with a different system or parameters may lead to unexpected results.\nBy default units are in nm, pN, and s. Coordinates are relative to the center of the grid.\nThe snapshot doesn’t hold the exact full state of a Context, simulations restarted from a snapshot may not have the exact same results because:\n\nThe snapshot doesn’t store the state of the random number generator.\nCoordinates may be rounded to save disk space.\nDictionaries and other internal data structures may get reordered and or resorted when the snapshot is loaded.\nMultithreading may be non deterministic.\n\nBut if rounding isn’t too extreme, the reloaded Context should have the same statistics.\n\n\nThe snapshot format is versioned by the “version” attribute. The current snapshot version is:\n\nusing MEDYAN\nMEDYAN.SNAPSHOT_VERSION\n\nv\"0.8.0\"\n\n\nCurrently before snapshot version 1.0.0 anything goes.\nAfter snapshot version 1.0.0 is released.\nSnapshots written with a previous snapshot version above v\"1\" should be readable. Snapshots written with a newer snapshot version are generally not readable.\nIf new agent types are added to MEDYAN.jl, usually only the minor version needs to be updated, as nothing special needs to be done to read older snapshot versions without that added agent type.\nIf new data is added to an existing agent type, also usually only the minor version needs to be increment, though the case of the new data not existing must be handled with some default.\nIf the way an existing agent type is stored significantly changes, such that external code analyzing the snapshot would need to be modified, the major version must be incremented. Also if possible there should be a function to update a snapshot from the old version to the new version.\n\n\nAny group, dataset, or attribute name prefixed with with “#” can change format or be removed without changing the snapshot version.\n“#experimental” is used for saving new types of agents or other data that doesn’t have a stable format yet.\n“#comment” is used for saving human readable comments that could change in format or wording.\n\n\n\n\n\nusing MEDYAN\nusing SmallZarrGroups\ncinit, s = MEDYAN.example_all_sites_context()\ngroup = MEDYAN.snapshot(cinit)\n\n\n\n\n\n\n\nSnapshot 📂\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\ntime (s)\n\n\nattrs(group)[\"time (s)\"]\n\n0.0\n\n\nDefault: No change\nSee MEDYAN.set_time!\n\n\n\nversion\n\n\nattrs(group)[\"version\"]\n\n\"0.8.0\"\n\n\nDefault: No change\nSee Snapshot Versioning\n\n\n\nuuid\n\n\nattrs(group)[\"uuid\"]\n\n\"37eee81f-88ae-4d11-b6b3-d38e1ccf0a08\"\n\n\nMust be set to exactly “37eee81f-88ae-4d11-b6b3-d38e1ccf0a08”\nto be considered a valid MEDYAN snapshot.\n\n\n\n\n\n\n\n\n\n\n🔢\n\n\n\n\n\n\n\ndiffusingcounts\n\n\ncollect(group[\"diffusingcounts\"])\n\n2×4 Matrix{Int32}:\n 0 100 40 0\n 0 1000 400 0\n\n\nDefault: Empty\nIndexed by [species id, compartment id] to give count.\nSee MEDYAN.chem_adddiffusingcount!\n\n\n\nfixedcounts\n\n\ncollect(group[\"fixedcounts\"])\n\n2×4 Matrix{Float64}:\n 10.25 0.0 0.0 0.0\n 0.0 0.0 0.0 20.25\n\n\nDefault: Empty\nIndexed by [species id, compartment id] to give count.\nSee MEDYAN.chem_addfixedcount!\n\n\n\n\n\n\n\n\n\n\n\n📂\n\n\n\n\n\n\n\n\n\n\n\n\nchemboundary\n\n\n\n\n\nThere is a dataset for each type of boundary, the total boundary is an intersection of the following.\nSee MEDYAN.Boundary\n\n\n🔢 capsules\n\n\ncollect(group[\"chemboundary/capsules\"])\n\n8×1 Matrix{Float64}:\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 10000.0\n 1.0\n\n\nDefault: Empty\nEach column of the dataset is a capsule.\n\n\n\n🔢 planes\n\n\ncollect(group[\"chemboundary/planes\"])\n\n4×6 Matrix{Float64}:\n -10.0 10.0 0.0 0.0 0.0 0.0\n 0.0 0.0 -10.0 10.0 0.0 0.0\n 0.0 0.0 0.0 0.0 -10.0 10.0\n 10000.0 10000.0 2500.0 2500.0 2500.0 2500.0\n\n\nDefault: Empty\nEach column of the dataset is a plane.\n\n\n\n\n\n\n\n\n\n\n\n\nfilaments\n\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nposition_scale\n\n\nattrs(group[\"filaments\"])[\"position_scale\"]\n\n3\n\n\nDefault: No effect\nFilament positions were rounded to the nearest 2^-position_scale nm when saved.\n\n\n\n\n\nThere is a subgroup for each filament type with at least one filament. The subgroups are named by their filament type id. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n🔢 endloadforces\n\n\ncollect(group[\"filaments/1/endloadforces\"])\n\n2×2 Matrix{Float64}:\n 0.0 0.0\n 0.0 0.0\n\n\nFilament end load forces (pN).\nEach row is the load force on the minus and plus ends of a filament.\n\n\n\n🔢 fids\n\n\ncollect(group[\"filaments/1/fids\"])\n\n2-element Vector{Int32}:\n 1\n 2\n\n\nFilament ids.\n\n\n\n🔢 minusend_num_notminimized\n\n\ncollect(group[\"filaments/1/minusend_num_notminimized\"])\n\n2-element Vector{Int32}:\n 0\n 0\n\n\nNumber of newly added monomers to the filament minus ends since last minimization.\n\n\n\n🔢 plusend_num_notminimized\n\n\ncollect(group[\"filaments/1/plusend_num_notminimized\"])\n\n2-element Vector{Int32}:\n 0\n 0\n\n\nNumber of newly added monomers to the filament plus ends since last minimization.\n\n\n\n🔢 num_cylinders\n\n\ncollect(group[\"filaments/1/num_cylinders\"])\n\n2-element Vector{Int32}:\n 1\n 1\n\n\nNumber of cylinders per filament.\n\n\n\n🔢 num_monomers\n\n\ncollect(group[\"filaments/1/num_monomers\"])\n\n2-element Vector{Int32}:\n 9\n 9\n\n\nNumber of monomers per filament.\n\n\n\n🔢 node_mids\n\n\ncollect(group[\"filaments/1/node_mids\"])\n\n2-element Vector{Int32}:\n 1\n 1\n\n\nThe monomer ids at the minus ends of the cylinders.\n |\n -----+-----|-----+-----\n minus end <---- M | M | (M) | M ----> plus end\n -----+-----|-----+-----\n |\n ^ A nodeposition is indicated by the line.\nThe monomer id with parenthesis (M) will in node_mids\n\n\n\n🔢 nodepositions\n\n\ncollect(group[\"filaments/1/nodepositions\"])\n\n4×3 Matrix{Float64}:\n -530.0 -50.0 -50.0\n -440.0 -50.0 -50.0\n -520.0 -49.0 -50.0\n -430.0 -49.0 -50.0\n\n\nEach row is a node position in nm.\n\n\n\n🔢 monomerstates\n\n\ncollect(group[\"filaments/1/monomerstates\"])\n\n18-element Vector{UInt8}:\n 0x01\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x05\n 0x01\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x02\n 0x05\n\n\nMonomer states.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nlink_2mons\n\n\n\n\n\nThere is a subgroup for each link_2mon type with at least one link_2mon. The subgroups are named by their link_2mon type id. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nnum_link_2mons\n\n\nattrs(group[\"link_2mons/1\"])[\"num_link_2mons\"]\n\n2\n\n\nNumber of link_2mons of this type.\n\n\n\nnext_lid\n\n\nattrs(group[\"link_2mons/1\"])[\"next_lid\"]\n\n3\n\n\nThe default next link id for new links.\nThis should be greater than all the existing lids.\n\n\n\n\n\n\n🔢 endnames\n\n\ncollect(group[\"link_2mons/1/endnames\"])\n\n2×6 Matrix{Int64}:\n 1 1 2 1 1 2\n 1 1 2 1 2 2\n\n\nThe pairs of monomers that the link_2mons are linked between. The monomer pairs are directed and unique.\nEach row of this matrix represents two monomers. The 6 integers per row are in order:\n\nMinus end filament type id.\nMinus end filament id.\nMinus end monomer id.\nPlus end filament type id.\nPlus end filament id.\nPlus end monomer id.\n\n\n\n\n🔢 lids\n\n\ncollect(group[\"link_2mons/1/lids\"])\n\n2-element Vector{Int64}:\n 1\n 2\n\n\nThe link_2mon ids.\nLinks retain their ids while they remain bound.\n\n\n\n📂 state\n\nDefault: default link_2mon_state\nSee MEDYAN.chem_setlink_2mon_state! and MEDYAN.Link2MonState\nThe state of a link_2mon, organized in a nested struct of vector like form. Any static arrays will be unwrapped into a tuple of vectors, in column major order. The “name” attribute of each subgroup and dataset is the corresponding property name in the StructArray Any property in the default state that isn’t in the snapshot will stay at its default value.\n\ngroup[\"link_2mons/1/state\"]\n\n📂\n├─ 📂 1 🏷️ name => \"chemstate\",\n| ├─ 🔢 1: 2 Int64 🏷️ name => \"a\",\n| └─ 🔢 2: 2 Float64 🏷️ name => \"b\",\n├─ 📂 2 🏷️ name => \"mechstate\",\n| └─ 📂 1 🏷️ name => \"â\",\n| ├─ 🔢 1: 2 Float32 🏷️ name => \"1\",\n| ├─ 🔢 2: 2 Float32 🏷️ name => \"2\",\n| └─ 🔢 3: 2 Float32 🏷️ name => \"3\",\n└─ 🔢 3: 2 Bool 🏷️ name => \"is_minimized\",\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nmechboundary\n\n\n\n\n\nThere is a dataset for each type of boundary, the total boundary is an intersection of the following.\nSee MEDYAN.Boundary\n\n\n🔢 capsules\n\n\ncollect(group[\"mechboundary/capsules\"])\n\n8×1 Matrix{Float64}:\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 0.0\n 10000.0\n 1.0\n\n\nDefault: Empty\nEach column of the dataset is a capsule.\n\n\n\n🔢 planes\n\n\ncollect(group[\"mechboundary/planes\"])\n\n4×6 Matrix{Float64}:\n -10.0 10.0 0.0 0.0 0.0 0.0\n 0.0 0.0 -10.0 10.0 0.0 0.0\n 0.0 0.0 0.0 0.0 -10.0 10.0\n 10000.0 10000.0 2500.0 2500.0 2500.0 2500.0\n\n\nDefault: Empty\nEach column of the dataset is a plane.\n\n\n\n\n\n\n\n\n\n\n\n\nmembranes\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\nnum_membranes\n\n\nattrs(group[\"membranes\"])[\"num_membranes\"]\n\n1\n\n\nTotal number of membranes.\n\n\n\nposition_scale\n\n\nattrs(group[\"membranes\"])[\"position_scale\"]\n\n3\n\n\nDefault: No effect\nPositions were rounded to the nearest 2^-position_scale nm when saved.\n\n\n\n\nThere is a subgroup for each membrane. The subgroups are named by the membrane index. For example:\n\n\n\n\n\n\n\n📂 1\n\n\n\n\n\n\n\n\n\n\n\n🏷️\n\n\n\n\n\n\n\ntype_id\n\n\nattrs(group[\"membranes/1\"])[\"type_id\"]\n\n1\n\n\nThis membrane’s type id.\n\n\n\n\n\n\n🔢 trilist\n\n\ncollect(group[\"membranes/1/trilist\"])\n\n3×1914 Matrix{Int64}:\n 2 871 836 517 520 462 409 416 … 792 688 226 201 450 326 164\n 848 807 732 412 362 635 656 845 913 354 652 920 923 956 781\n 238 630 203 190 623 853 733 608 875 944 373 958 958 959 959\n\n\nEach column is the 3 vertex indexes of a triangle. Indexes are one based, and follow the right hand rule. Looking at the triangle from the outside in, they have counterclockwise winding.\n\n\n\n🔢 vertlist\n\n\ncollect(group[\"membranes/1/vertlist\"])\n\n3×959 Matrix{Float64}:\n 115.0 -590.25 -552.0 226.75 … 182.375 -316.125 157.75\n -222.75 -232.875 -193.125 137.5 238.125 -429.875 -34.5\n -252.25 275.25 -343.25 -15.5 -49.125 -237.875 -279.875\n\n\nEach column is a vertex coordinate in nm.\n\n\n\n🔢 id\n\n\ncollect(group[\"membranes/1/id\"])\n\n959-element Vector{Int64}:\n 7814\n 10608\n 3334\n 14756\n 12541\n 9498\n 10903\n 2092\n 9775\n 10\n 12855\n 12136\n 1949\n ⋮\n 3653\n 5295\n 3951\n 8003\n 14307\n 12258\n 7204\n 4182\n 7834\n 9058\n 6485\n 10738\n\n\nArray of vertex IDs. Each vertex has an id which is assigned upon initialization and persists throughout its lifetime.\n\n\n\noptional 🔢 copynumbers\n\n\ncollect(group[\"membranes/1/copynumbers\"])\n\n3×959 Matrix{Int64}:\n 0 0 0 0 0 0 0 0 0 0 0 0 0 … 0 0 0 0 0 0 0 0 0 0 0 0\n 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n\n\nArray of vertex membrane species copynumbers. If the membrane has no defined species this dataset will not exist.",
"crumbs": [
"Reference",
"File Formats"
diff --git a/julia-docs/dev/sitemap.xml b/julia-docs/dev/sitemap.xml
index 63c0e69..7767f00 100644
--- a/julia-docs/dev/sitemap.xml
+++ b/julia-docs/dev/sitemap.xml
@@ -2,251 +2,251 @@
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.set_chemboundary--0aa6e4e95c60f9f7.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_adddiffusingcount--2264be341b81a600.html
- 2024-11-08T03:02:16.813Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_removelink_2mon--e25a3fd69f791cd0.html
- 2024-11-08T03:02:16.777Z
+ 2024-11-09T04:43:25.540Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.boundary_cylinder-33a45da15f9672d3.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.560Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.vertexstate-450b7005d2acebe8.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.add_link_2mon_site--b9548c4a2d23aac9.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link2monstate-9845e7e08620ea8a.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.580Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.mon_plusvector-b7271c7721602813.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.load_snapshot--e534be293ce74465.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.set_mechboundary--b5e26b6b690256aa.html
- 2024-11-08T03:02:16.785Z
+ 2024-11-09T04:43:25.548Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.boundary_plane-2caa9b52b3b3f0cc.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_depolymerize--a5f262191e484dd4.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.560Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.mon_minimized-5b17adaf7d8a4f62.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.564Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.defer_chem_caching--9538a1c449f3da93.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.boundary_box-060d4c56df40146a.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.add_diffusion_coeff--a77d1ef833cfdedd.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.548Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_setmonomerstate--ed756af0de4db0ca.html
- 2024-11-08T03:02:16.813Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link2monsitemonomerstatematch-c495443de74016ce.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.membranesitediffusing-66734014eb12ddb1.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.564Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_removefilament--f36888837f14bad7.html
- 2024-11-08T03:02:16.777Z
+ 2024-11-09T04:43:25.540Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.grididat-8671e01413346deb.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.fil_node_mon_ids-b1d3d66a81296343.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.580Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.agentnames-948e6a24b4fb0cb5.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_polymerize--7a5e88ac36e4ccbf.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.580Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_setlink_2mon_state--82213403237b28e5.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.empty--418304748816268d.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.decimated2monsiteminanglerange-fc006e574376cfff.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.adapt_membranes--1d26092defd0f4fa.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.560Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.fil_mon_states-3db9714621903b78.html
- 2024-11-08T03:02:16.781Z
+ 2024-11-09T04:43:25.544Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.boundary-f1e7be79002a27f8.html
- 2024-11-08T03:02:16.785Z
+ 2024-11-09T04:43:25.548Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.newfilament_rand--432ec27232aad41e.html
- 2024-11-08T03:02:16.777Z
+ 2024-11-09T04:43:25.540Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.length-7ea31a421de7d258.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.580Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/mon_link_2mon_sites.html
- 2024-11-08T03:02:14.905Z
+ 2024-11-09T04:43:23.888Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/decimated_2mon_sites.html
- 2024-11-08T03:02:14.905Z
+ 2024-11-09T04:43:23.888Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/link_2mon_sites.html
- 2024-11-08T03:02:14.909Z
+ 2024-11-09T04:43:23.896Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/cadherins/possiblecadherinsite.html
- 2024-11-08T03:02:14.909Z
+ 2024-11-09T04:43:23.896Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/util/stableindex.html
- 2024-11-08T03:02:16.765Z
+ 2024-11-09T04:43:25.528Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/grids.html
- 2024-11-08T03:02:14.901Z
+ 2024-11-09T04:43:23.888Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/filamentendsites.html
- 2024-11-08T03:02:16.773Z
+ 2024-11-09T04:43:25.536Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/auxprocs.html
- 2024-11-08T03:02:16.769Z
+ 2024-11-09T04:43:25.532Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/membrane/meshadapt.html
- 2024-11-08T03:02:14.901Z
+ 2024-11-09T04:43:23.888Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/context.html
- 2024-11-08T03:02:16.765Z
+ 2024-11-09T04:43:25.528Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.mon_exists-898c415a5eddc619.html
- 2024-11-08T03:02:16.785Z
+ 2024-11-09T04:43:25.548Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addunbindinglink_2mon_site--76d17dbe625169cd.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.set_enable_cylinder_volume_exclusion--38c20ab68ab8bf1a.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.add_decimated_2mon_site--ad56e7ee56067940.html
- 2024-11-08T03:02:16.785Z
+ 2024-11-09T04:43:25.548Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.adddiffusingcount_rand--9d3ddfabbceeef92.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.564Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.run_chemistry--dda22fac5c555b9e.html
- 2024-11-08T03:02:16.813Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link2monsiteone-9886bc1476194731.html
- 2024-11-08T03:02:16.781Z
+ 2024-11-09T04:43:25.544Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link2monparams-d960d08f0808df0c.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.580Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.mon_position-83983d8916347411.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link2monsiteslipbond-2cec57cbea12864e.html
- 2024-11-08T03:02:16.785Z
+ 2024-11-09T04:43:25.544Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.num_filtypes-b9943bbf7a9c7781.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.sever_filament--a0475617dc0fbf93.html
- 2024-11-08T03:02:16.785Z
+ 2024-11-09T04:43:25.544Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addreactioncallback--9c9d46adeded2d88.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.centerof-e902b9bb7b2a6caf.html
- 2024-11-08T03:02:16.813Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addfilament_reaction--63195cbff2ab4237.html
- 2024-11-08T03:02:16.821Z
+ 2024-11-09T04:43:25.600Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.---a21e771ed8ea7d6f.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addfilamentsite--eb6bfd871a21b6f4.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.setindex--725f722fff4cfa6d.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.copy-4ca5eb8401ab10b2.html
- 2024-11-08T03:02:16.777Z
+ 2024-11-09T04:43:25.540Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.set_time--a6dd8f73f68a3759.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/reference/fileformats.html
@@ -286,250 +286,250 @@
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addpossiblecadherinsite--ae8586daa0b5454a.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.564Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.membranespeciesparams-548fecb643fc2599.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_newfilament--7a45f2860949bee3.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link2monsitemotorcatch-0185d4c95b91e30b.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addfilamentend_reaction--83ec3db37b4e2130.html
- 2024-11-08T03:02:16.825Z
+ 2024-11-09T04:43:25.600Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link2monsitecount-ab4fcc1eb50c2313.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.filamentsitegeneral-0d87ce44fed17b2c.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addmembranediffusingcount_rand--7b719dca63a36b1b.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.560Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.vertexname-2d87a6a86cabc4f5.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.randompoint-83e939bdee528294.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.add_link_2mon--b801c872b8ff168a.html
- 2024-11-08T03:02:16.785Z
+ 2024-11-09T04:43:25.548Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.refresh_chem_cache--f90ebca1f896ad2c.html
- 2024-11-08T03:02:16.821Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.iterate-5228367cd62c0bf2.html
- 2024-11-08T03:02:16.777Z
+ 2024-11-09T04:43:25.540Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addfilamentendsite--95612d72d1fda05f.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.cubicgrid-fe4b7cc2dceb0431.html
- 2024-11-08T03:02:16.813Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.haskey-e7d3f961991e2663.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.compute_all_membrane_geometry-_system-05b4d2a32e31560c.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.fil_num_unmin_ends-813ffc641f9ac9da.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.add_membranesitereaction--59d1fe245302e071.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.560Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.cadherinparams-b70febdaf4c8fba5.html
- 2024-11-08T03:02:16.821Z
+ 2024-11-09T04:43:25.600Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.mon_3states-6c16efb303a60058.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.580Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/membrane/membranesites.html
- 2024-11-08T03:02:14.909Z
+ 2024-11-09T04:43:23.892Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/filamentsites.html
- 2024-11-08T03:02:14.909Z
+ 2024-11-09T04:43:23.892Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/sever_filament.html
- 2024-11-08T03:02:14.905Z
+ 2024-11-09T04:43:23.892Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/sys_def.html
- 2024-11-08T03:02:14.901Z
+ 2024-11-09T04:43:23.884Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/trajectory-io/snapshot.html
- 2024-11-08T03:02:16.773Z
+ 2024-11-09T04:43:25.536Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/util/math/cuboidslicing.html
- 2024-11-08T03:02:14.905Z
+ 2024-11-09T04:43:23.892Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/sys_def-types.html
- 2024-11-08T03:02:16.769Z
+ 2024-11-09T04:43:25.532Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/boundary.html
- 2024-11-08T03:02:14.905Z
+ 2024-11-09T04:43:23.888Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/src/minimize_energy.html
- 2024-11-08T03:02:16.773Z
+ 2024-11-09T04:43:25.536Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link_2mon_state-6d59dcd98ed7e303.html
- 2024-11-08T03:02:16.777Z
+ 2024-11-09T04:43:25.540Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link2monsitemotorstall-deb10f7964d5bef9.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.add_filament_params--74c7d0081157ca31.html
- 2024-11-08T03:02:16.813Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.filter_grididat-58a94154d21e32b0.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.push--8715d52e2302aaeb.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addmembranesite--892875b2c079002d.html
- 2024-11-08T03:02:16.781Z
+ 2024-11-09T04:43:25.544Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.decimated2monsiterange-8afd8f3188bbcd4a.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.560Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addcadherin--3c757785fa097c75.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addreaction--da9bd35e7d1df7c3.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.560Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.link_2mon_endnames-5d0bca4b8e2e3509.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.context-736368ed32b08894.html
- 2024-11-08T03:02:16.801Z
+ 2024-11-09T04:43:25.580Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.filtype_fil_ids-d333c38b9f9b3584.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.cadherinstate-0cd5353e58a90ec2.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.delete--56ef520341df3c06.html
- 2024-11-08T03:02:16.781Z
+ 2024-11-09T04:43:25.544Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.boundary_capsule-1700142f310bd9db.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.filamentendsitegeneral-7a32ac96fb4364ea.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/base.getindex-f593dde852851bc8.html
- 2024-11-08T03:02:16.789Z
+ 2024-11-09T04:43:25.548Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.vertex_state-aa3350c08b68b63a.html
- 2024-11-08T03:02:16.797Z
+ 2024-11-09T04:43:25.560Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.resolve_all_filament_mesh_crossing--a8be83a7d2ad65c7.html
- 2024-11-08T03:02:16.821Z
+ 2024-11-09T04:43:25.600Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.mon_position_plusvector-927d0affbbdfef6f.html
- 2024-11-08T03:02:16.777Z
+ 2024-11-09T04:43:25.540Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/nlsolversbase.value---d4fdd3b317023c0e.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.is_chem_cache_valid-8336a8adc58a252f.html
- 2024-11-08T03:02:16.813Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.sysdef-c0c4da7a2b3d4fef.html
- 2024-11-08T03:02:16.821Z
+ 2024-11-09T04:43:25.600Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.monlink2monsiteone-77707f45e082c27e.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.addcadherinsite--9e21ac42968d0196.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.monomername-bb517706cb60c4f5.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.552Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.num_vertexwithstate-3cf6fcd964588d37.html
- 2024-11-08T03:02:16.805Z
+ 2024-11-09T04:43:25.584Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_newlink_2mon--e4f84fe5cfa9a727.html
- 2024-11-08T03:02:16.785Z
+ 2024-11-09T04:43:25.548Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.minimize_energy--84c4aeab5457d3ee.html
- 2024-11-08T03:02:16.817Z
+ 2024-11-09T04:43:25.596Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.fil_node_positions-618a66637eb50781.html
- 2024-11-08T03:02:16.793Z
+ 2024-11-09T04:43:25.556Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.chem_addfixedcount--0286edfebf8ea5e6.html
- 2024-11-08T03:02:16.813Z
+ 2024-11-09T04:43:25.592Z
https://medyan-dev.github.io/julia-docs/dev/docstrings/medyan.newmembrane--a714b4a1c87062be.html
- 2024-11-08T03:02:16.809Z
+ 2024-11-09T04:43:25.588Z
diff --git a/julia-docs/dev/tutorials/1install.html b/julia-docs/dev/tutorials/1install.html
index 7cb98e0..8d47707 100644
--- a/julia-docs/dev/tutorials/1install.html
+++ b/julia-docs/dev/tutorials/1install.html
@@ -247,7 +247,7 @@ 1. Installing MEDYAN.jl
Install julia
MEDYAN.jl is a julia package so first install the julia programming language.
This tutorial was generated using:
-
+
Julia Version 1.11.1
Commit 8f5b7ca12ad (2024-10-16 10:53 UTC)
diff --git a/julia-docs/dev/tutorials/2rdme.html b/julia-docs/dev/tutorials/2rdme.html
index bbee525..6f15706 100644
--- a/julia-docs/dev/tutorials/2rdme.html
+++ b/julia-docs/dev/tutorials/2rdme.html
@@ -276,7 +276,7 @@ 2. Rock Paper Scissors Stochastic Reaction Diffusion
Setup
Open a julia REPL or jupyter notebook using the medyan-tutorial
environment you created in tutorial 1.
Load MEDYAN
with MEDYANVis
for visualization
-
+
using MEDYAN
using MEDYANVis
using CairoMakie
@@ -289,7 +289,7 @@ Setup
Declaring agent names
The first step is declaring the names of agents in the system.
This system will contain three diffusing species.
-
+
= MEDYAN.AgentNames(;
agent_names =[
diffusingspeciesnames:R, # Rock
@@ -306,7 +306,7 @@ Declaring agent name
Defining System
After the agent names are declared, the system can be defined.
This is done by constructing a MEDYAN.SysDef
object from the agent_names
and then mutating it to add parameters, reactions, and callbacks.
-
+
= MEDYAN.SysDef(agent_names) s
MEDYAN.SysDef
@@ -318,7 +318,7 @@ Defining System
Add a diffusion coefficient of 1E6 nm²/s to all species. All units are based on nm, s, pN
-
+
= 1E6
D add_diffusion_coeff!(s, :R, D) # nm²/s
add_diffusion_coeff!(s, :P, D) # nm²/s
@@ -334,7 +334,7 @@ Defining System
Add reactions, paper “beats” rock, scissors “beats” paper, rock “beats” scissors. In this simulation “beats” means convert to self type.
In this case because the reaction is between two diffusing species, it has units of nm³/s. You can think of this as the volume where if exactly one of each reactant existed the rate would be 1 per second.
-
+
= 50.0*(500.0^3) # nm³/s
rate addreaction!(s,
"diffusing.P + diffusing.R --> 2diffusing.P",
@@ -370,7 +370,7 @@ Creating a grid
This is a box that contains the simulation.
The grid is composed of chemistry voxels, small cubes that can have different counts of the various diffusing species.
Create a 50 by 50 by 1 grid of 500 nm side length voxels.
-
+
= 50
L = CubicGrid((L,L,1),500.0) grid
@@ -382,7 +382,7 @@ Creating a grid
Creating a Context
The Context
is the object the handles the state of a running simulation.
Create a Context
using s
and grid
-
+
= MEDYAN.Context(s, grid) c
MEDYAN.Context at time 0.0s in CubicGrid([50, 50, 1], 500.0)
@@ -394,7 +394,7 @@ Add agents to th
The context starts empty.
Distribute 2000 of each species randomly to the chem voxels by mutating the context.
-
+
adddiffusingcount_rand!(c, s.diffusing.R, 2000)
adddiffusingcount_rand!(c, s.diffusing.P, 2000)
adddiffusingcount_rand!(c, s.diffusing.S, 2000)
@@ -403,24 +403,24 @@ Add agents to th
Run chemistry
Run chemistry for 1.0s and visualize the results.
-
+
= Visualizer()
vis setvisible!(vis["/Grid"], false)
setvisible!(vis["/Axes"], false)
setvisible!(vis["/Background"], false)
If you open the visualizer in a browser with open(vis)
and run the following you should get an animated version of below.
-
+
for i in 1:100
run_chemistry!(c, 0.01)
drawdiffusing!(vis["diffusing"], c.grid, c.chemistryengine, s; size = 0.8)
MEDYANVis.sleep(0.02)
end
-
+