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 astructurefield, 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 astructurefield of that type; this allows checking thatSpeciesFeatureDescriptoris 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 inAtomGraphconstructor 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!functionAtomGraphconstructor directly from adjacency matrix (previously was only from aSimpleWeightedGraph)
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