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 AtomGraph
now stores astructure
field, giving access to structure representation used to construct graph- build
AtomGraph
fromGraphMol
objects (from MolecularGraph package) - one-hot encoding/one-cold decoding logic now lives in
OneHotOneCold
codec code - new codec type:
DirectCodec
for 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
AtomGraph
now takes a type parameter and stores astructure
field of that type; this allows checking thatSpeciesFeatureDescriptor
is 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
OrbitalFeatureUtils
which provides utility functions used byOrbitalFeatureDescriptor
- Add new simple
Codec
-SimpleCodec
- Add a new function -
elements
, which prints the elements in anAtoms
object - Make
output_shape
generic - Add a new module -
Data
which encapsulates all the data and tables required by the package. - add pretty printing for
GraphNodeFeaturization
,FeaturizedAtoms
, uniformize spacing via\t
across these andAtomGraph
- [logic] move
data/
directory to root of repo - [logic] move
build_onehot_vec
toOneHotOneCold
- replaced Python ASE dependency with Xtals.jl, allowing AD through graph-building! Can now also pass a Crystal object for graph-building
Fixed
- export
featurize
anddecode
properly 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
featurize
anddecode
functions at top-level module
Fixed
id
is positional rather than keyword argument inAtomGraph
constructor 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
AtomGraph
constructor from file
v0.4.0 [2021-06-30]
Added
- create
FeaturizedAtoms
type, removefeaturization
,encoded_features
fields 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
AtomGraph
type
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
AtomGraph
constructor (doesn't work with generic featurization) - fix type assertion of
nbins
inGraphNodeFeaturization
constructor (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
AbstractCodec
type and associatedCodec
module - merged functionality of
AtomGraph
andWeaveMol
intoAtomGraph
object, with a more genericencoded_features
field
v0.2.2 [2021-02-22]
Added
- updated pretty printing for
AtomGraph
to includeid
field
Fixed
- added some docstrings, updated others
v0.2.1 [2021-02-22]
Breaking
- rename
build_atom_feats
tobuild_featurization
to avoid ambiguity withmake_feature_vectors
Fixed
- proper docstrings for more things incl.
AtomFeat
,AtomGraph
,add_features!
v0.2.0 [2021-02-16]
Breaking
- add
id
field toAtomGraph
(should only be breaking for reading in serialized graphs) build_graphs_batch
now returns list of graphs and optionally serializes rather than always serializing and never returning
Added
add_features_batch!
functionAtomGraph
constructor 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