- Dec 10, 2024
-
-
Studer Gabriel authored
-
- Aug 19, 2024
-
-
Xavier Robin authored
-
- Jul 26, 2024
-
-
Xavier Robin authored
-
- Jul 15, 2024
-
-
Xavier Robin authored
Silences a Sphinx warning.
-
- Jul 12, 2024
-
-
Xavier Robin authored
-
Xavier Robin authored
-
Xavier Robin authored
Avoid confusion, as the editors don't come with context managers.
-
- Jul 09, 2024
-
-
Xavier Robin authored
-
- Jun 27, 2024
-
-
Xavier Robin authored
The breadcrumbs now correctly indicate the module hierarchy and can be used to determine imports. All the documentation for ost.* is now rooted on the base `ost` module for more clarity.
-
Xavier Robin authored
ost.mol.alg submodules are now documented in separate pages. This should make it clearer what to import.
-
- Jun 20, 2024
-
-
Studer Gabriel authored
The trace directionality for the internal coordinate system was established in a recursive fashion. This likely caused filling up stack memory for very large polymers with large recursive depth. The fix implements the same functionality in a non-recursive fashion.
-
- Apr 05, 2024
-
-
Studer Gabriel authored
Numpy support in C++ enabled features at two points: Efficient way of setting positions in entity handles or setting meshes in gfx.PrimList. Support for newer numpy versions would've required an effort to implement. As far as I know, no one uses these features (fingers crossed) so let's just dump numpy alltogether to simplify the build system.
-
- Feb 16, 2024
-
-
Studer Gabriel authored
Removing atoms from huge structures was observed to be super slow. Reason was the removal from the spatial organizer which helps to find atoms based on spatial proximity. The organizer is organized in buckets which occupy a certain volume in space. Removing an element meant to iterate over all buckets and all their items until the atom is found. However, we know the position of the atom and thus can pinpoint the bucket in which its expected to be. The SpatialOrganizer::Remove was therefore overloaded with a version that accepts a position as hint in which bucket to look. If the atom is there, delete and return. If not, call Remove without position hint.
-
- Feb 05, 2024
-
-
Studer Gabriel authored
Reduces insane amount of compiler warnings. Inheritance from std::iterator template was used to define traits of an iterator. Cool people define these traits directly nowadays.
-
- Jan 05, 2024
-
-
Studer Gabriel authored
-
- Jan 04, 2024
-
-
Studer Gabriel authored
-
Studer Gabriel authored
-
- Jan 02, 2024
-
-
Xavier Robin authored
-
Xavier Robin authored
-
Xavier Robin authored
This allows the mmCIF writer to save the entity_poly.type as "other" rater than error on an unknown type. We can do this because there is no "other" in _entity_poly.type. Added a comment about the risks of chain_type for reading/writing mmCIF files.
-
- Dec 21, 2023
-
-
Studer Gabriel authored
Assignment of ChemClass values happens inside the ChemClass definition in the header file. Let's say you're using something like: ChemClass::WATER. If this is resolved at compile time, you won't have any problem. If not, the linker searches for it in the mol shared object file. BUT ITS NOT THERE. The hope is that defining the types as an enum inside the ChemClass definition helps.
-
- Dec 07, 2023
-
-
Studer Gabriel authored
Changes in chem_class.hh are a temporary solution for optimization oddities. constexpr enforces evaluation at compile time. The observed problem were odd linking problems (undefined reference) to things like ost::mol::ChemClass::XYZ.
-
- Nov 22, 2023
-
-
Studer Gabriel authored
This unit test has been observed to fail (EXTREMELY RARELY) It tests the edge case of 3 atoms that are all on a line. From an external coordinate system perspective, the dihedral is not defined in this case. From an internal coordinate perspective this should not matter. The last line is the failing line. The expected behaviour is that a rotation of x around t1 (The "linear" dihedral) should propagate and affect t2 accordingly. Observed failure: difference{4} between s.t2.GetAngle(){-2.3561945} and Real(3.14159265358979323846/4){0.785398185} exceeds 0.0001% In the meantime we propose to use internal coordinates with caution and open a task in JIRA for someone brave enough to deep dive into the code.
-
Studer Gabriel authored
This reverts commit 9153648f. The intention of this commit was to fix potential issues when operating on a dihedral connecting 4 atoms where at least 3 atoms are exactly on a line. Dihedrals are ill defined in this case but "expected behaviour" (whatever that means) is tested as a unit test. A fail was observed in two cases. First case that triggered commit 9153648f, second case that showed that the problem is not solved. Therefore reverting to original state in order to find different solution.
-
Studer Gabriel authored
-
- Jul 27, 2023
-
-
Xavier Robin authored
-
Xavier Robin authored
-
Xavier Robin authored
This allows IsValid() to work as intended without throwing an exception. Because the validity of the underlying entity is now checked in CheckValidity, it should no longer be a problem.
-
Xavier Robin authored
In both cases we check if we have a valid implementation AND if the underlying entity is still there.
-
Xavier Robin authored
-
- Jul 26, 2023
-
-
Xavier Robin authored
This checks whether the underlying handles are still valid before returning pointers to them. Runs the check each time CheckValidity is called on atom, residue and chain handles.
-
- Jul 10, 2023
-
-
Studer Gabriel authored
SetElement sets default properties for mass and radius. Previously set charge and anisou got wiped in the process. Charge and anisou are now transferred and only mass and radius are reset.
-
- Jul 07, 2023
-
-
Xavier Robin authored
-
Xavier Robin authored
-
Xavier Robin authored
-
Xavier Robin authored
-
Xavier Robin authored
-
Xavier Robin authored
-
- Jul 06, 2023
-
-
Xavier Robin authored
-
- May 30, 2023
-
-
Xavier Robin authored
Following fixes in cd701347, setting seqres=True is no longer required for these things to work.
-