{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":93210261,"defaultBranch":"development-2.2","name":"multistrand","ownerLogin":"DNA-and-Natural-Algorithms-Group","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-06-02T23:10:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/28413745?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1694573273.0","currentOid":""},"activityList":{"items":[{"before":"e2dff99fe0678633eed7c87d5e09e51d13de0429","after":"1023b71527c19ee97290a57013691a70e315165f","ref":"refs/heads/development-2.2","pushedAt":"2024-04-30T23:15:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Add `utility.normalizeCyclicPermutation()`\n\n- enforce uniqueness across `{,Complementary}Strand.id`s\n- update `utility.printTrajectory()`\n- fix Pytest config\n- fix some typos","shortMessageHtmlLink":"Add utility.normalizeCyclicPermutation()"}},{"before":"ea8f66be24b0a52b7336a8a7541532f5f8b19614","after":"e2dff99fe0678633eed7c87d5e09e51d13de0429","ref":"refs/heads/development-2.2","pushedAt":"2024-04-23T00:53:59.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Enable deterministic replay from checkpoints\n\nEssential changes:\n- add `Options.{state_seed,simulation_start_time}`\n- handle `SimOptions::useStateSeed()` in\n `SimulationSystem::InitializePRNG()`\n- add `SimTimer.seed` as external buffer for Libc PRNG\n- consolidate marshalling of simulation state (C++ -> Python):\n - consistently report end states in all simulation modes\n - use named tuples as result types\n - remove unused C macros\n- change meaning of `Options.full_trajectory[i].seed`:\n `trajectory_seed` -> `state_seed`\n- close the loop with `Options.restart_from_checkpoint()`\n\nRelated changes:\n- update tests\n- update documentation\n- refine `utility.printTrajectory()`, add `show_seed` option\n- catch overflow in `MergeSim` seeds\n- reduce entanglement in C++ headers\n\nNOTE:\nCurrently, `test/test_determinism.py` fails in ca. 10% of the\ncases, indicating remaining undefined behaviours in C++.","shortMessageHtmlLink":"Enable deterministic replay from checkpoints"}},{"before":"17212dcc7e8c8a2e6b805db79d235c9689f04376","after":"ea8f66be24b0a52b7336a8a7541532f5f8b19614","ref":"refs/heads/development-2.2","pushedAt":"2023-10-03T16:07:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Pass by value StopConditions\n\n- Necessary change for KinDA compatibility","shortMessageHtmlLink":"Pass by value StopConditions"}},{"before":"9b9d91fec32abfc948f32e17a54f08f14472ad8f","after":"17212dcc7e8c8a2e6b805db79d235c9689f04376","ref":"refs/heads/development-2.2","pushedAt":"2023-10-03T01:48:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Update documentation: fixup","shortMessageHtmlLink":"Update documentation: fixup"}},{"before":"d4067dbfe10287d1ebdcff88dec6f48a763d4cea","after":"9b9d91fec32abfc948f32e17a54f08f14472ad8f","ref":"refs/heads/development-2.2","pushedAt":"2023-10-03T01:39:29.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Update documentation","shortMessageHtmlLink":"Update documentation"}},{"before":"4f71b78f0f4e2a18293dc265cdb87324130ce6f0","after":"d4067dbfe10287d1ebdcff88dec6f48a763d4cea","ref":"refs/heads/development-2.2","pushedAt":"2023-09-28T04:38:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Correcting hybrid and leak case studies\n\n- Added check for boltzmann sampling on stopcondition complexes\n- Minor changes to case.py files to match this change","shortMessageHtmlLink":"Correcting hybrid and leak case studies"}},{"before":"dc7ed00e1d3e804f142520e81a4dbd05c8f01554","after":"4f71b78f0f4e2a18293dc265cdb87324130ce6f0","ref":"refs/heads/development-2.2","pushedAt":"2023-09-14T05:23:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Fix tutorials & case studies","shortMessageHtmlLink":"Fix tutorials & case studies"}},{"before":"461bccab61e1495ebd2144cdee7a2182c5174221","after":"31f408d136c22939c40f8c5e3ef493959505b091","ref":"refs/heads/tutorial-wip","pushedAt":"2023-09-14T04:25:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Finalizing Tutorials\n\n- Fixed hybridization case studies\n- Updated jupyter tutorials","shortMessageHtmlLink":"Finalizing Tutorials"}},{"before":"54dd33469ce6d8b4462ace82f4afe9de4678faf2","after":"dc7ed00e1d3e804f142520e81a4dbd05c8f01554","ref":"refs/heads/development-2.2","pushedAt":"2023-09-14T03:27:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Add `Options.free_sim_system()`","shortMessageHtmlLink":"Add Options.free_sim_system()"}},{"before":"3d5f8a2c6692755523ab1f7d0c06c4064ab4238b","after":"54dd33469ce6d8b4462ace82f4afe9de4678faf2","ref":"refs/heads/development-2.2","pushedAt":"2023-09-14T00:28:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Fix debug build\n\nextension module:\n- export symbols for Python methods (remove `static` qualifier)\n- avoid implicit type casts in `SimSystem_Type.tp_*` method signatures\n\nApptainer container:\n- clean `*.so` from imported source tree","shortMessageHtmlLink":"Fix debug build"}},{"before":"b4402bcb77966e31e017ed43e1de9615441b7690","after":"461bccab61e1495ebd2144cdee7a2182c5174221","ref":"refs/heads/tutorial-wip","pushedAt":"2023-09-14T00:21:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Minor tutorial fixes","shortMessageHtmlLink":"Minor tutorial fixes"}},{"before":null,"after":"b4402bcb77966e31e017ed43e1de9615441b7690","ref":"refs/heads/tutorial-wip","pushedAt":"2023-09-13T02:47:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Initial commit\n\n- Continue working from here","shortMessageHtmlLink":"Initial commit"}},{"before":"73f9e36aad631e02f1675e093a683d41693cfaea","after":"3d5f8a2c6692755523ab1f7d0c06c4064ab4238b","ref":"refs/heads/development-2.2","pushedAt":"2023-09-10T21:55:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Adding uncomment.sh and correcting tutorials import\n\n- importing tutorials via relative path","shortMessageHtmlLink":"Adding uncomment.sh and correcting tutorials import"}},{"before":"671b476990d7062ad7de8f46e5fe3ada14c48c2e","after":"73f9e36aad631e02f1675e093a683d41693cfaea","ref":"refs/heads/development-2.2","pushedAt":"2023-09-09T09:31:42.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Consolidate C++ extension module\n\nPropagate changes regarding `EnergyModel` and `SimSystem` and clean up.\nFollow-up to b6755bb.\n\n`PSimOptions` (C++):\n - remove empty constructor\n - add `checkPythonType()` (previously inside `SimSystem` constructor)\n - add `clear()`\n\n`SimulationSystem` (C++):\n - refactor constructors\n - transfer logic for recycling previous instance held by `Options`\n - remove obsolete `isEnergymodelNull()`\n - rename:\n - `.will_clear_energyModel` -> `.firstInstance`\n - `construct()` -> `parametrize()`\n - `current_energy_model()` -> `GetEnergyModel()`\n\n`SimSystem` (C++/Python):\n - refactor constructors\n - store reference inside `Options`\n - remove obsolete `System_initialize_energymodel()`\n - refactor `energy_model_from_options()` into\n `SimSystemObject_{lookup,store,construct_sys}()`\n - remove redundant member `SimSystemObject->options`:\n - shrink `struct SimSystemObject`\n - empty `SimSystem_Type.members`\n - remove `Py_TPFLAGS_HAVE_GC` from `SimSystem_Type.tp_flags`\n - remove `SimSystem_Type.tp_{traverse,clear}`\n - simplify `SimSystem_Type.tp_dealloc`\n - rename:\n - `.ob_system` -> `.sys`\n\n`options` module (Python):\n - add `Options.clear()`\n - remove redundant property `Options.reusable_sim_system`\n - add `TransitionType(IntEnum)` as argument for `calculate_rate()`\n - rename: `Energy_Type` -> `EnergyType`\n\n`interface` module (Python):\n - relocate `OptionsConstants` from `constants` module\n\n`system` module (C++/Python):\n - create header file for `multistrand_module.cc`\n - set `PyModuleDef.m_size = 0`, since module state is now gone\n - rename: `energy()` -> `calculate_energy()`\n - refactor `calculate_{energy,rate}()`:\n - require and type-check `Options` argument\n - construct `SimSystemObject` wrapper only for first instance\n - remove redundant `run_system()`\n - replace: `PyModule_AddObject` -> `PyModule_AddType` (Python 3.9+)\n - remove obsolete `testingmain.cc`\n - fix method signature formatting in docstrings\n - update documentation\n - update tests","shortMessageHtmlLink":"Consolidate C++ extension module"}},{"before":"e18ec8bb4a0ef071e61014851d59ced6af27928e","after":"671b476990d7062ad7de8f46e5fe3ada14c48c2e","ref":"refs/heads/development-2.2","pushedAt":"2023-09-05T03:59:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Adding Valgrind support to apptainer\n\n- Installing valgrind\n- Configuring PDB for valgrind\n- Wrote script to edit valgrind suppression file\n- Not sure if valgrind should be separate debug or always installed with debug","shortMessageHtmlLink":"Adding Valgrind support to apptainer"}},{"before":"87e499fe6f5630e40319077b97cf83dc980d46db","after":"e18ec8bb4a0ef071e61014851d59ced6af27928e","ref":"refs/heads/development-2.2","pushedAt":"2023-08-31T07:03:45.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Refactor test suite: test_interface\n\n- merge contents of `unittests`, `test_reuse`\n- update internal API usage\n- use Pytest standards","shortMessageHtmlLink":"Refactor test suite: test_interface"}},{"before":"266a5f7de997f46141024cac528f0ac5fd46f455","after":"87e499fe6f5630e40319077b97cf83dc980d46db","ref":"refs/heads/development-2.2","pushedAt":"2023-08-30T21:37:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Correcting Undefined Behaviour in loop.cc\n\n- Unitialized memory being used in a branch\n- Corrected by initialzing to 0\n- test_determinism now passed Arrhenius parameters with\n exact time instead of close enough","shortMessageHtmlLink":"Correcting Undefined Behaviour in loop.cc"}},{"before":"cfacec1ebd92a43fb5e53405d9c73bbf16f0f9de","after":"266a5f7de997f46141024cac528f0ac5fd46f455","ref":"refs/heads/development-2.2","pushedAt":"2023-08-28T22:59:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Reusable EnergyModel + testing fix fix\n\n- Tying the energymodel to the options object\n- Quicker test cases now since no repetitive disk reads\n- Corrected test case typo in test_determinism\n- Removing unused constructor","shortMessageHtmlLink":"Reusable EnergyModel + testing fix fix"}},{"before":"4420c7e125ffc1742ec0250a7f89ea1cc3544718","after":"cfacec1ebd92a43fb5e53405d9c73bbf16f0f9de","ref":"refs/heads/development-2.2","pushedAt":"2023-08-28T22:47:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Reusable EnergyModel + testing fix fix\n\n- Tying the energymodel to the options object\n- Quicker test cases now since no repetitive disk reads\n- Corrected test case typo in test_determinism","shortMessageHtmlLink":"Reusable EnergyModel + testing fix fix"}},{"before":"4420c7e125ffc1742ec0250a7f89ea1cc3544718","after":null,"ref":"refs/heads/py3-nupack3","pushedAt":"2023-08-19T19:43:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"}},{"before":null,"after":"4420c7e125ffc1742ec0250a7f89ea1cc3544718","ref":"refs/heads/development-2.2","pushedAt":"2023-08-19T19:43:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Merge pull request #38 from the-casle/boyan-temp\n\nMerging Rebased Jake Kaslewicz changes to Boyan's branch","shortMessageHtmlLink":"Merge pull request #38 from the-casle/boyan-temp"}},{"before":"ab077c547408fc000ebf51e9b9a00e981650b6fd","after":"4420c7e125ffc1742ec0250a7f89ea1cc3544718","ref":"refs/heads/py3-nupack3","pushedAt":"2023-08-19T19:42:56.000Z","pushType":"pr_merge","commitsCount":12,"pusher":{"login":"the-casle","name":"Jake Kaslewicz","path":"/the-casle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13749274?s=80&v=4"},"commit":{"message":"Merge pull request #38 from the-casle/boyan-temp\n\nMerging Rebased Jake Kaslewicz changes to Boyan's branch","shortMessageHtmlLink":"Merge pull request #38 from the-casle/boyan-temp"}},{"before":"c1d01742cf6532ff16b4a8f57531d23603154cbb","after":"ab077c547408fc000ebf51e9b9a00e981650b6fd","ref":"refs/heads/py3-nupack3","pushedAt":"2023-08-14T22:40:49.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Update documentation","shortMessageHtmlLink":"Update documentation"}},{"before":"3f26571694e7255f3168913c050b4b3dcf0af820","after":"c1d01742cf6532ff16b4a8f57531d23603154cbb","ref":"refs/heads/py3-nupack3","pushedAt":"2023-08-01T21:40:17.000Z","pushType":"push","commitsCount":20,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Update documentation","shortMessageHtmlLink":"Update documentation"}},{"before":"9dfd60ab420fdd1f3baace5349ccabe5fb5c6285","after":"3f26571694e7255f3168913c050b4b3dcf0af820","ref":"refs/heads/py3-nupack3","pushedAt":"2023-07-21T21:15:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Fixup to documentation","shortMessageHtmlLink":"Fixup to documentation"}},{"before":null,"after":"9dfd60ab420fdd1f3baace5349ccabe5fb5c6285","ref":"refs/heads/py3-nupack3","pushedAt":"2023-07-21T17:58:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ntfrgl","name":"Boyan Beronov","path":"/ntfrgl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5596210?s=80&v=4"},"commit":{"message":"Bump minor version","shortMessageHtmlLink":"Bump minor version"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPn6rJwA","startCursor":null,"endCursor":null}},"title":"Activity ยท DNA-and-Natural-Algorithms-Group/multistrand"}