All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
1.0.12 - 2023-08-18
- Added an efficient rooted traversal strategy for generating Y fragments,
DepthFirstLinkTraversal
1.0.11 - 2023-07-28
- More compatibility with Cython 3
- The WURCS parsing and writing code underwent substantial reworking to fix how substituent linkages are handled. Additional work was done to try to account for multiple substituents attached to the same position or substituents with multiple attachment positions. Several monosaccharides still do not convert correctly, particularly those with non-terminal modifications or those without a known stereocode template.
- The
wurcs.loads
function no longer returns glycan compositions when given a string encoding a single monosaccharide or serialize singleMonosaccharide
instances differently than a single unitGlycan
instance.
1.0.10 - 2023-07-21
- Compatibility with Cython 3
1.0.9 - 2023-05-26
glypy.io.gnome
- An interface to the GNOme subsumption hierarchy.
- Fix type conversion error in Py3.10 in
GlycanComposition.serialize
1.0.8 - 2023-03-18
GlycanComposition.mass
no longer ignores options which do not match the first invocation of that method on the same object (GH #25)
1.0.7 - 2022-07-22
- Added two new parameters to
plot
anddraw_tree
,pad
andpad_factor
to control the padding around a drawn glycan in stand-alone mode. Contributed by @michaelmarty (GH #24)
1.0.6 - 2022-01-15
- Add specialized path for comparing two fully initialized
HashableGlycanComposition
instances - Updated
GlycoRDF
to use OWL instead of cached turtle
- If a user passes
Pent
to an IUPACLite parser, it will be interpreted asPen
.
1.0.4 - 2021-10-29
- Added support for writing UND sections using
glypy.io.glycoct
. The previous implementation is still available explicitly inglypy.io.glycoct.OrderRespectingGlycoCTWriter
, the new behavior is implemented inUNDOrderRespectingGlycoCTWriter
, which is now the value ofglypy.io.glycoct.GlycoCTWriter
.
- Added a C accelerator for
GlycanComposition.serialize
- Tolerate empty glycan composition strings in the first pass of the tokenizer again
1.0.3 - 2021-09-02
- Added simple validation logic when handling malformed glycan composition string
1.0.2 - 2021-06-21
- Added C-extensions for core components of the
GlycanComposition
class
1.0.1 - 2021-05-04
- Added support for more monomer names to
glypy.io.byonic
.
FrozenMonosaccharideResidue.from_iupac_lite
now accounts for when the parsed string is different from the canonical name (e.g."NeuAc"
vs"Neu5Ac"
). The returned objects are now guaranteed to be identical and both cached properly.- Improved documentation of extra line formats and IUPAClite.
- Added support for "O"-prefixed substituents when parsing IUPAC. Does not alter the chemical interpretation, but resolves the name without the "O".
- Fixed several pre-canned queries in
glypy.io.glyspace
which relied on glycan objects having an is-a relationship withglycan:saccharide
. This appears to no longer be the case.
0.12.7 - 2021-02-02
- Added
glypy.io.byonic
to parse and write Byonic glycan compositions.
Oct
is no longer automatically considered aMannose
glypy.io.iupac
now accepts unknown positions for substituents forNeu
bases.
glyspace
reading commands do not fail if a structure fails to parse due to a missing structure definition or reference
0.12.6 - 2020-06-21
- Added a CHANGELOG file
EnumValue
instances now support the XOR^
operator- WURCS encoded compositions which have edges that connect everything to everything are now treated as un-localized modifications
FrozenGlycanComposition
and its descendants now explicitly have cache field management as part of their API, see_validate
and_invalidate
- Added a draft CFG text parser to
glypy.io.cfg
based heavily on the IUPAC parser.
GlycanComposition
instances can be compared to anyMapping
, not just otherGlycanComposition
instances.
- Ketoses have their masses properly calculated [GH18][#18]
- Added a shim for deprecated
matplotlib.path.get_path_extents
when it is no longer available in recent versions ofmatplotlib
- The composition for phospho-ethanolamine has been corrected
- Fucose and other monosaccharides which are positioned to the side in balanced CFG/SNFG plots are now positioned properly using the topological layout plots