Recent Releases of https://github.com/lukasturcani/stk

https://github.com/lukasturcani/stk - v2024.3.28.0

- Python
Published by lukasturcani about 2 years ago

https://github.com/lukasturcani/stk - v2024.3.3.0

- Python
Published by lukasturcani about 2 years ago

https://github.com/lukasturcani/stk - v2023.7.28.0

  • (#512) @andrewtarzia added a new topology for a small molecule with N arms around a central building block. Use it with stk.small.NCore.

- Python
Published by lukasturcani almost 3 years ago

https://github.com/lukasturcani/stk - v2023.7.19.1

Added Cage.get_vertex_alignments()

- Python
Published by lukasturcani almost 3 years ago

https://github.com/lukasturcani/stk - v2023.7.19.0

Updated docs

- Python
Published by lukasturcani almost 3 years ago

https://github.com/lukasturcani/stk - v2023.7.18.0

Breaking changes

  • FitnessCalculator.get_fitness_value() now takes a MoleculeRecord instead of a ConstructedMolecule. A ConstructedMolecule can be easily retrieved by calling .get_molecule() on the MoleculeRecord object.

- Python
Published by lukasturcani almost 3 years ago

https://github.com/lukasturcani/stk - v2023.7.6.0

Breaking Changes

  • (#498) @lukasturcani made fitness functions use MoleculeRecord instances as input, instead of ConstructedMolecule. This is a breaking api change, but a ConstructedMolecule can be retrieved from a MoleculeRecord with the get_molecule() method.

Additional Changes

  • (#478) @austin-mroz added support for using pathlib.Path to write() methods, removing the need to write things like str(path / new_path)
  • (#479) @austin-mroz and @lukasturcani removed old database dumps from the tests, as they were not working and provided little utility

- Python
Published by lukasturcani almost 3 years ago

https://github.com/lukasturcani/stk - v2022.6.17.0

  • (#458) @lukasturcani added some type hints.

- Python
Published by lukasturcani almost 4 years ago

https://github.com/lukasturcani/stk - v2022.6.10.0

(#455) @andrewtarzia fixed the alignment of terminal building blocks with a single placer atom in the Linear polymer topology graph. (#449) @lukasturcani deprecated the reading of pdb files as they do not support bond orders greater than 1. @lukasturcani added some type hints.

- Python
Published by lukasturcani almost 4 years ago

https://github.com/lukasturcani/stk - v2022.5.2.1

@lukasturcani Added type hints for the Linear polymer class.

- Python
Published by lukasturcani about 4 years ago

https://github.com/lukasturcani/stk - v2022.5.2.0

@lukasturcani Added more type hints! More to come! @lukasturcani Added rdkit-pypi as a dependency. No more need to use conda to install rdkit.

- Python
Published by lukasturcani about 4 years ago

https://github.com/lukasturcani/stk - v2022.5.1.2

@lukasturcani added type hints to various classes. More to come!

- Python
Published by lukasturcani about 4 years ago

https://github.com/lukasturcani/stk - v2022.4.30.1

@lukasturcani Added type hints to a number of classes. More to come!

- Python
Published by lukasturcani about 4 years ago

https://github.com/lukasturcani/stk -

@lukasturcani fixed a bug in release pipeline. @lukasturcani updated the test environment in tests/docker/environment.yml

- Python
Published by lukasturcani about 4 years ago

https://github.com/lukasturcani/stk - v2022.4.4.0

@lukasturcani added a release pipeline, so that new releases are faster and require less effort.

- Python
Published by lukasturcani about 4 years ago

https://github.com/lukasturcani/stk - v2022.4.2.0

  • (#422 #423 ) @andrewtarzia updated Spindry version.

- Python
Published by lukasturcani about 4 years ago

https://github.com/lukasturcani/stk - v2022.1.26.0

This is mostly a documentation release:

  • (#414) @stevenkbennett updated the docstring for BuildingBlock.init_from_rdkit_mol() to warn users about potential issues with unkekulized molecules
  • (#418) @andrewtarzia updated the topology graphs of various cages in the rendered examples so that they are prettier. For example, the M4L6 terahedron spacer

- Python
Published by lukasturcani over 4 years ago

https://github.com/lukasturcani/stk - v2021.11.15.0

  • (#393) @andrewtarzia added support for building blocks with a single bonder atom with polymer.Linear.
  • (#384) @andrewtarzia improved the example metal complexes in the documentation.
  • (#368) @andrewtarzia fixed the behavior of MongoDb.get_all().
  • (#368) @andrewtarzia improved the speed of MongoDb.get_all().
  • (#382) @andrewtarzia fixed construction of M3L3Triangle and M4L4Square.
  • (#390) @andrewtarzia fixed issue with building blocks having duplicate place ids.

- Python
Published by lukasturcani over 4 years ago

https://github.com/lukasturcani/stk - v2021.8.2.0

  • (#380 ) @lukasturcani added support for 3D molecular renderings in the compiled documentation, see examples here.
  • (#356) @andrewtarzia Added the Spinner optimizer, which can be used to optimize the position of guests in the host-guest complex.
  • (#377) @lukasturcani added a new method BuildingBlock.get_num_placers().
  • (#350) @lukasturcani added a new section to the docs sidebar, which lists the available molecular writers.
  • (#375) @lukasturcani improved the collection speed of tests.
  • (#364) @lukasturcani added Bond.with_ids() and FunctionalGroup.with_ids().
  • (#363) @andrewtarzia updated documentation to use the latest API for writing molecules.
  • @lukasturcani started adding support for type hints.

- Python
Published by lukasturcani almost 5 years ago

https://github.com/lukasturcani/stk - v2021.6.14.0

  • (#346) @andrewtarzia made vertices used to construct topology graphs public, allowing users to more easily implement their own topology graphs.

- Python
Published by lukasturcani almost 5 years ago

https://github.com/lukasturcani/stk - v2021.5.26.0

  • (#343) @lukasturcani changed construction slightly to prevent non-determinism due to the use of the svd algorithm. Most molecular structures should be unaffected.
  • (#338) @lukasturcani made changes to the polymer.Linear topology graph so that it can be used to create a polymer consisting of a single BuildingBlock.
  • (#337) @lukasturcani removed a bunch of deprecation warnings, as well as the deprecated features they were warning about.
  • (#332) @andrewtarzia added a warning to the Macrocycle topology graph for macrocycles consisting of 2 molecules, because in this case it may end up with crossed bonds.
  • (#326) @lukasturcani added caching of fitness values to the PropertyVector fitness calculator.
  • (#336) @lukasturcani changed updated all the code examples in the documentation to doctest blocks, which means they now get run and tested as part of CI.

- Python
Published by lukasturcani about 5 years ago

https://github.com/lukasturcani/stk - v2021.04.27.0

No code changes here, just various improvements to the CI.

- Python
Published by lukasturcani about 5 years ago

https://github.com/lukasturcani/stk - v2021.04.26.0

  • @andrewtarzia added the PeriodicCollapser. This is an Optimizer which can be used with periodic molecules such as covalent organic frameworks. It uses https://github.com/andrewtarzia/MCHammer internally.
  • @lukasturcani added PeriodicConstructionResult which can be used to get the PeriodicInfo of a constructed molecule. TopologyGraph.get_periodic_info() has been deprecated. See #313 for a discussion on why.
  • @lukasturcani added ConstructedMolecule.init_from_construction_result().

- Python
Published by lukasturcani about 5 years ago

https://github.com/lukasturcani/stk - v2021.03.11.0

  • @lukasturcani and @andrewtarzia added the Optimizer interface for topology graphs
  • @andrewtarzia added optimizers for topology graphs, which use https://github.com/andrewtarzia/MCHammer
  • @andrewtarzia added unaligning vertices for COFs

- Python
Published by lukasturcani about 5 years ago

https://github.com/lukasturcani/stk - v2020.12.26

  • @lukasturcani added AtomInfo.get_building_block_atom(). This method allows users to determine which atom of a BuildingBlock an atom in a ConstructedMolecule originates from.
  • @lukasturcani added Molecule.get_canonical_atom_ids(). This method gives a mapping of the current atom ids of a molecule to their canonical ids.
  • @andrewtarzia added ReactionResult.get_deleted_bonds(). This API will allows us to add reactions in the future which can remove bonds during construction. Before this API was added, bonds could only be removed if one of the atoms involved in the bond was removed too.
  • @andrewtarzia updated documentation of topology graphs to specify the number of functional groups required on building blocks placed on topology graph vertices.
  • @andrewtarzia fixed issue #184, where rotations on building blocks would also perform an undesired scaling. This was because the rotation matrices used in the implementation were not getting normalized, which they now are.
  • @lukasturcani updated the interface of Mutator.mutate(). Previously this method returned a MutationRecord instance. However, it can now return a MutationRecord instance or None. This is necessary because sometimes a given Mutator cannot do a valid mutation on the provided molecule. In cases like this, None can be returned. This is not a substitute for error handling, it is meant to signify the specific case where a molecule does not satisfy some preconditions necessary for carrying out the mutation.
  • @andrewtarzia added support for updating the structure of a Molecule from pdb files. The method Molecule.with_structure_from_file() can now be used with pdb files.
  • @lukasturcani changed the representation of a molecule (i.e. print(some_molecule)) to be less verbose. The representation of a molecule will not only contain its memory address. The list of atoms, list of bonds and the position matrix have been removed from the default representation.

- Python
Published by lukasturcani over 5 years ago

https://github.com/lukasturcani/stk - v2020.09.17.0

  • @lukasturcani Fixed an bug occurs when a ConstructedMolecule is also used as a BuildingBlock, and both are deposited in a ConstructedMoleculeMongoDb. For example, if you constructed a polymer, and then used it to construct a rotaxane, and deposited both the polymer and the rotaxane into a ConstructedMoleculeMongoDb, in that order, the structure of the polymer in the ConstructedMoleculeMongoDb would be corrupted, because it would not have canonical atom ordering. Now, whenever with_canonical_atom_ordering is called on a ConstructedMolecule, the building blocks in the ConstructedMolecule, will also have canonical atom ordering, this was not the case previously.

Example of code where the bug would have occurred

```python

import stk
import pymongo

client = pymongo.MongoClient()

cdb = stk.ConstructedMoleculeMongoDb(
    mongo_client=client,
    database='reorganization-test',
)

polymer = stk.ConstructedMolecule(
    topology_graph=stk.polymer.Linear(
        building_blocks=(
            stk.BuildingBlock(
                smiles='BrCCBr',
                functional_groups=[stk.BromoFactory()],
            ),
        ),
        repeating_unit='A',
        num_repeating_units=2,
    ),
)

cycle = stk.ConstructedMolecule(
    topology_graph=stk.macrocycle.Macrocycle(
        building_blocks=(
            stk.BuildingBlock(
                smiles='BrCCCCBr',
                functional_groups=[stk.BromoFactory()],
            ),
        ),
        repeating_unit='A',
        num_repeating_units=5,
    ),
)

rotaxane = stk.ConstructedMolecule(
    topology_graph=stk.rotaxane.NRotaxane(
        axle=stk.BuildingBlock.init_from_molecule(polymer),
        cycles=(
            stk.BuildingBlock.init_from_molecule(cycle),
        ),
        repeating_unit='A',
        num_repeating_units=4,
    ),
)

cdb.put(polymer)
cdb.put(cycle)
# Depositing the rotaxane corrupts the position matrix of the polymer and cycle,
# because it deposits them without canonical atom ordering.
cdb.put(rotaxane)

```

- Python
Published by lukasturcani over 5 years ago

https://github.com/lukasturcani/stk - v2020.08.28.0

  • @andrewtarzia Renamed the vector parameters in PeriodicInfo.

- Python
Published by lukasturcani almost 6 years ago

https://github.com/lukasturcani/stk - v2020.08.27.0

  • @lukasturcani Fixed #236

- Python
Published by lukasturcani almost 6 years ago

https://github.com/lukasturcani/stk - v2020.08.25.0

  • @andrewtarzia Added molecular writers as a separate api to Molecule.write(). Molecule.write() will be deprecated in a future release. The new writers can now write periodic information to files! #217
  • @andrewtarzia Added new periodic COF topologies which provide access to periodic information.
  • The default value of the position_matrix_collection parameter has been changed from position_matrices to building_block_position_matrices in the MoleculeMongoDb class. This should make the default collection consistent with ConstructedMoleculeMongoDb. #234 #229 . Users using the default value will receive a warning.

- Python
Published by lukasturcani almost 6 years ago

https://github.com/lukasturcani/stk - v2020.08.23.0

  • @andrewtarzia Added get_all() to the interface of molecular databases. You can now go through all molecules deposited in an stk database! #186 #220
  • @andrewtarzia Fixed an issue with with_canonical_atom_ordering() not working correctly in the case of dative bonds. #224 #225

- Python
Published by lukasturcani almost 6 years ago

https://github.com/lukasturcani/stk - v2020.07.29.0

- Python
Published by lukasturcani almost 6 years ago