Changelog
I'm generally trying to adhere to semver here. This means that in v0.*, assume breaking changes are always possible, even without a major version bump...however, I will try to always note them here if they happen...
Categories to include for each release, if relevant: breaking, added, fixed, removed/deprecated
v0.6.0 [2021-10-2x]
Added
- actual functioning SpeciesFeatureDescriptor! Including some built-in data to build them using MolecularGraph.jl functions
- AtomGraphnow stores a- structurefield, giving access to structure representation used to construct graph
- build AtomGraphfromGraphMolobjects (from MolecularGraph package)
- one-hot encoding/one-cold decoding logic now lives in OneHotOneColdcodec code
- new codec type: DirectCodecfor storing (scaled) actual (potentially continuous) values of features
- disambiguate get_value(featuredescriptor, atoms)fromencode(featuredescriptor, atoms); "callable" syntax of feature descriptors now calls the former function
Breaking
- AtomGraphnow takes a type parameter and stores a- structurefield of that type; this allows checking that- SpeciesFeatureDescriptoris able to encode since it computes feature values from the original structure
- disambiguate get_value(featuredescriptor, atoms)fromencode(featuredescriptor, atoms); "callable" syntax of feature descriptors now calls the former function
Removed/Deprecated
- removed encodable_elements(::String)function
v0.5.0 [2021-09-07]
Added
- Add new FeatureDescriptor-OrbitalFeatureDescriptor
- Add new module OrbitalFeatureUtilswhich provides utility functions used byOrbitalFeatureDescriptor
- Add new simple Codec-SimpleCodec
- Add a new function - elements, which prints the elements in anAtomsobject
- Make output_shapegeneric
- Add a new module - Datawhich encapsulates all the data and tables required by the package.
- add pretty printing for GraphNodeFeaturization,FeaturizedAtoms, uniformize spacing via\tacross these andAtomGraph
- [logic] move data/directory to root of repo
- [logic] move build_onehot_vectoOneHotOneCold
- replaced Python ASE dependency with Xtals.jl, allowing AD through graph-building! Can now also pass a Crystal object for graph-building
Fixed
- export featurizeanddecodeproperly forFeaturizedAtoms
Removed/Deprecated
- ASE deprecation removes compatibility with reading some file formats that ASE supports but Xtals does not
v0.4.2 [2021-07-02]
Added
- export featurizeanddecodefunctions at top-level module
Fixed
- idis positional rather than keyword argument in- AtomGraphconstructor so that broadcast works properly, also it defaults to filename sans extension when constructing from file
v0.4.1 [2021-07-01]
Fixed
- add back wayward semicolon so that keyword arguments work in AtomGraphconstructor from file
v0.4.0 [2021-06-30]
Added
- create FeaturizedAtomstype, removefeaturization,encoded_featuresfields from Atoms objects
- add docstrings for various things, add section of docs for Codecs
Fixed
- macOS CI fixed, but possibly not in an ideal way because it seems to result in occasional precompile warnings upon update
- Docs for stable/tagged versions now build properly
Removed/Deprecated
- remove encoded features field from AtomGraphtype
v0.3.1 [2021-06-18]
Fixed
- import from submodules before top-level export so that exports actually work, d'oh
- remove broken dimension check in AtomGraphconstructor (doesn't work with generic featurization)
- fix type assertion of nbinsinGraphNodeFeaturizationconstructor (Vector{<:Integer}, NOTVector{Integer})
v0.3.0 [2021-06-17]
Major restructure to make extensibility far easier and allow better sharing of elements between featurization schemes! Also streamlined the codebase a lot by organizing things into sensible modules, so technically basically everything is a breaking change because all of the imports are from the submodules now.
Breaking/Added
- create modules for different functionalities: Atoms,Features,Featurization,Utils, etc.
- separate out encoding/decoding functionality into a new AbstractCodectype and associatedCodecmodule
- merged functionality of AtomGraphandWeaveMolintoAtomGraphobject, with a more genericencoded_featuresfield
v0.2.2 [2021-02-22]
Added
- updated pretty printing for AtomGraphto includeidfield
Fixed
- added some docstrings, updated others
v0.2.1 [2021-02-22]
Breaking
- rename build_atom_featstobuild_featurizationto avoid ambiguity withmake_feature_vectors
Fixed
- proper docstrings for more things incl. AtomFeat,AtomGraph,add_features!
v0.2.0 [2021-02-16]
Breaking
- add idfield toAtomGraph(should only be breaking for reading in serialized graphs)
- build_graphs_batchnow returns list of graphs and optionally serializes rather than always serializing and never returning
Added
- add_features_batch!function
- AtomGraphconstructor directly from adjacency matrix (previously was only from a- SimpleWeightedGraph)
Fixed
- remove deprecated syntax of opening DataFrames from CSV
- made separate files into modules to avoid redefinition warnings during precompilation
v0.1.1 [2021-02-10]
Fixed
- add check for NaN values in graph laplacian
v0.1.0 [2020-12-22]
Initial release!
Added
- Create AtomGraph and AtomFeat types
- Basic graph visualization functions
- Graph-building from CIF files via the cgcnn.py "cutoff" method, with support for nonperiodic systems as well