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
0.15.3 - 2021-04-19
- Exposed transitivities parsed via nested statements through
pybel.BELGraph.transitivities
(#490).
- Some dependencies updated their interfaces (#491)
0.15.2 - 2021-03-21
- Support for direct regulations via
pybel.constants.DIRECTLY_REGUALTES
andpybel.BELGraph.add_directly_regulates
0.15.1 - 2021-02-07
- Add support for named reactions (#485)
- Switch to GitHub Actions
- Use PyStow for file management
- Use Bioregistry for prefix normalization
0.15.0 - 2020-12-17
- Support for homomultimers in ML triples export
- Graph dispatches allow quick access to PyBEL functionality (#449)
- Add "Streamable" BEL I/O (#451)
pybel.to_triples
allows direct export of ML-ready triples to a numpy ndarray.pybel.parse
function allows for quick parsing of BEL strings- Add JSON Schema for validating nodes and edges (#450) thanks @aman527
- Add BEL Repository functionality, previously located in https://github.com/pybel/bel-repository
- Pickling can be done with gzip to greatly reduce size both on files (https://github.com/pybel/pybel/commit/d90578cb) and on bytes (https://github.com/pybel/pybel/commit/fcc99952)
- PyBEL now supports Python 3.6+ only.
pybel.to_tsv
renamed topybel.to_triples_file
- The citation entry in PyBEL JSON datastructure now uses
namespace
/identifier
/name
instead ofdb
/db_id
. The corresponding constantspybel.constants.CITATION_DB
/pybel.constants.CITATION_DB_ID
/pybel.constants.CITATION_DB_NAME
have been removed (#453). - The citation entry now relies on a subclass of
pybel.language.Entity
, which means empty strings are no longer allowed. - The inconsistent usage of
subject
/source
as well asobject
/target
has been normalized everywhere. This means the constantspybel.constants.SUBJECT
/pybel.constants.OBJECT
were removed and new constantspybel.constants.SOURCE_MODIFIER
/pybel.constants.TARGET_MODIFIER
were added (#453). - Remove the BEL default namespace. All usages get normalized to controlled vocabularies (mostly GO) automatically (#455).
- Improve namespace/annotation database insertion with Pandas (#454)
- Pickling now uses protocol 5 by default assisted by the
pickle5
backport on Python 3.6 (https://github.com/pybel/pybel/commit/679dcab7) - Database now stores graphs in gzipped pickles (https://github.com/pybel/pybel/commit/9ee9bf21)
- Unspecified molecular activities now use the top-level GO term (https://github.com/pybel/pybel/commit/d56993e6)
- New annotation storage format using lists of annotations instead of dictionaries (#461)
- Citations now wrapped in dedicated data structure (#468)
- Parser now correctly supports dashes and dots in namespaces as well as in names without quoting (#460)
- Bug in creating list abundances with name and list definition (#465)
0.14.10 - 2020-06-15
- Importer from EMMAA (#432)
- I/O for Amazon S3 (#431)
- Improve TSV exporter (d7d12878, 74d51c1c, e1082523, 6ffc1df6)
- Add identifier-based entity remapper (ba8aa933)
- Add annotation grounding (#435, #443)
- Add HiPathia export examples (#422)
- Updated default BEL Commons instance from https://bel-commons.scai.fraunhofer.de to https://bel-commons-dev.scai.fraunhofer.de
- Add more namespaces for JGIF parsing to support CBN and BioDati import (9f74122d and #435; thanks @djinnome)
- Make Jupyter notebook export accessible from top level at
pybel.to_jupyter
(4d76faad)
- Fix bug in display of nice labels in Jupyter notebook (775bdc30)
- Remove default service URL for BEL Commons exporter. The Fraunhofer instance was taken down (a9a540fb).
0.14.9 - 2020-04-25
- Updated GraphDati and BioDati exports (https://github.com/pybel/pybel/commit/c9f95344b72ff86239c8987d6b534000ba509a1f)
- Refactoring of
pybel.struct.filters
andpybel.struct.mutation
- some imports might have to be updated
- Importer from Fraunhofer OrientDB (#429)
- Exporter for SPIA analytical tool (#430)
0.14.8 - 2020-04-24
pybel.post_graphdati()
has been renamed topybel.to_biodati()
pybel.to_web()
has been renamed topybel.to_bel_commons()
pybel.from_web()
has been renamed topybel.from_bel_commons()
- Content importers from GraphDati format with
pybel.from_graphdati()
andpybel.from_graphdati()
and enable usage of respective extensions*.bel.graphdati.json
and*.bel.graphdati.json.gz
withpybel.load()
(#425) - Content importer from BioDati with
pybel.from_biodati()
(#425) - Add direct function for loading CBN files (so you don't have to load the JSON first) with
pybel.from_cbn_jgif_file()
- Added
pybel.grounding.ground()
function that uses the unlisted Python 3.7+ dependency,pyobo
` to ground/normalize entities in a given BEL graph. This also takes care of upgrading legacy namespace names and mapping SCOMP/SFAM via FamPlex. (#426)
0.14.7 - 2020-04-16
- Support for transcription factor relationships in TSV (machine learning) output
- Fixed incorrect parsing of OBO-style identifiers (#421)
- Make sure pop() works in translocations (#421)
- None and non-empty string checks in DSL (3156d519)
- Fixed Jupyter export (the interface changed in Jinja2; d6e7e619)
0.14.6 - 2020-04-01
- Add PyKEEN import hooks, so you can automatically load up a BEL file for machine learning with PyKEEN.
- Update TSV exporter for better ML-ready triples for PyKEEN
- Added INDRA I/O options and pybel.from_bel_script_gz option
- Add HiPathia Exporter (#414)
- Add PyNPA Exporter (#413)
- Add universal I/O functions pybel.load and pybel.dump (#417)
0.14.5 - 2020-02-26
- Gzip variant of umbrella nodelink exporter
- More entry points for exporting
- OBO-style export was broken if name and identifier weren't available. This works with whatever is available now
- If CURIE is requested and both identifier and name are available, defaults to identifier.
0.14.4 - 2020-02-25
- Added support for BEP-0005
- Added BEP-0001 support (population abundance; #402)
- Added BEP-0003 support (noCorrelation relation; #403)
- Added BEP-0012 support (correlation relation; #403)
- Added BEP-0011 support (binds relation; #403)
- Add GraphDati exporter and BioDati uploader (#407)
- Add Hetionet importer (#406)
- Add several more I/O functions (
pybel.to_bel_script_gz
, etc.)
- Removed support for
label
relation - Removed support for node attributes and description
- Updated programmatic citation handling. Now a tuple of strings (database, identifier) can be passed anywhere a citation is needed.
- Fixed output of BEP-0008 (OBO-style identifiers)
- Fixed convenience functions for
BELGraph.add_inhibits
andBELGraph.add_activates
(there was a typo and it was adding the opposite relation in both) - Fixed that graph edge adder functions don't add two-way edges (#409)
0.14.3 - 2020-01-08
0.14.2 - 2019-11-26
- Added several IO functions and convenience functions (gzipped wrappers, etc.)
0.14.1 - 2019-11-26
- Fixed autoflushing in manager
0.14.0 - 2019-11-15
- Add metagraph for nested statements
- Add xrefs to DSL model
- Add OBO-style identifier parsing and export
- Add TSV exporter that does reasoning over edges (originally from BioKEEN)
- DSL format now stores all data in a 'concept' entry
- Try looking up namespace to identifiers mapping by default
- Changed name of pybel.to_bel_path to pybel.to_bel_script
- Used magic to combine
to_*_file
andto_*_path
functions
0.13.2 - 2019-04-24
- BELGraph class now has built-in summaries for authors and citations
- Added first Jupyter notebook into documentation. More to come!
- Authors are always stored as lists inside edges
- Nodes in node-link JSON always have the BEL string included
- Updated documentation for data model and DSL
- Enforce keyword argument usage in BELGraph.add_qualified_edge
- Use iterator in pybel.union so graphs can be lazily loaded and combine
- Remove remaining traces of namespace hierarchy table
- Union function also takes union of locally defined annotations now
- Handling of special translocations (sec, surf; #377)
- Fixed public header in pybel.to_web
- Fixed public interface to pipeline and queries
- Fixed parsing of gene methylations/modifications
0.13.1 - 2019-01-14
- Fix handling of node JSON with identifier but not name (#375)
- Fix handling of isolated nodes in pybel.union (#373)
0.13.0 - 2019-01-07
- Add JSON to node and edge SQL models (#358)
- Add more properties to the Fragment class
- Node pruning command to CLI
- Type hints (#369)
- Use a declarative setup (#360)
- Pass flake8 (#363)
- Change handling of locally defined namespaces in parser
- Excise pybel.resources module to new package [bel_resources](https://github.com/cthoyt/bel-resources)
- Add sha512 to JSON of edges' nodes when retrieving from the database
- Add nested sha512 identifiers when outputting node-link (#370)
- Fixed handling of invalid entities in the BEL parser (#368)
- Fixed merging of locally defined annotations when using pybel.union (#372)
0.12.2 - 2018-11-19
- Serialization functions can be accessed directly from the BELGraph class (#344)
- Added several useful node filter functions (Thanks @ddomingof; #347)
- Add a function for removing extraneous citation metadata
- pybel.struct.graph.BELgraph.summarize() now prints the number of warnings, even if it is zero
- Platform specificity for requirements in setup.py (Thanks @scolby33; #346)
- Print statement problem (Thanks @smoe; #351)
- Import paths for INDRA (Thanks @bgyori; #339
- Improvements on flake8 status (Thanks @tehw0lf; #353)
- Ensure complexes have at least one member (Thanks @10mubeen for pointing this out)
- Make "Other" as the default namespace domain for generating BEL namespace files
0.12.1 - 2018-09-13
- Wrong names in CLI
- Add missing star import for pybel.dsl.ListAbundance
- Update iteration over BEL files to read in one pass
- More summary functions in pybel.struct
0.12.0 - 2018-09-06
- Update edge hashing algorithm (this invalidates old hashes)
- Edge hashes are now used as keys instead of being put inside edge data dictionaries
- Improved graph operations with new location of edge hashes
- Update Node/Link JSON schema
- Improve __contains__ and has_node functions to handle DSL objects
- Require usage of DSL when creating BELGraph instances
- Use DSL completely in ORM
- Add SHA512 to authors to avoid issues with MySQL's collation
- Remove
pybel.tokens.node_to_tuple
function andpybel.tokens.node_to_bel
functions - All tuple-related functions in the DSL (AKA the tupleectomy)
0.11.11 - 2018-07-31
- Automatic generation of CLI documentation with
sphinx-click
- Several edge creation convenience functions to the
BELGraph
- Graph summary functions
- Improve Drop networks (Thanks @scolby33) (#319)
- Huge improvements to documentation and code style reccomended by flake8
- Fixed handling of tuples (64d0685)
- Remove function
BELGraph.iter_data
0.11.10 - 2018-07-23
- Several subgraph functions (#315)
- Better SQL implementation of get_recent_networks (#312)
0.11.9 - 2018-07-??
- Removed CX and NDEx IO in favor of https://github.com/pybel/pybel-cx
- Better (less annoying) logging for deprecated transformations
- Turn off SQL echoing by default
- Update getting annotation entries
- Better options for using TQDM while parsing
- Flag to INDRA machine to run locally
- Add require annotations option to parser (#255)
- Data missing key node predicate builder
0.11.8 - 2018-06-27
- Deprecation system for pipeline functions (for when they're renamed)
- Rely on edge predicates more heavily in selection/induction/expansion transformations
- Rename several functions related to the "central dogma" for more clarity
0.11.7 - 2018-06-26
- Bug where data did not get copied to sub-graphs on induction (https://github.com/pybel/pybel/issues/#307)
0.11.6 - 2018-06-25
- Added get_annotation_values function to pybel.struct.summary
- Removed Manager.ensure function
- Fixed a bug in Manager.from_connection (https://github.com/pybel/pybel/issues/#306)
0.11.5 - 2018-06-22
- Changed arguments in pybel.struct.mutations.get_subgraphs_by_annotation
- Moved utility functions in pybel.struct.mutations
0.11.4 - 2018-06-22
- Use BELGraph.fresh_copy instead of importing the class in mutator functions
- Add pipeline (#301)
- Testing of neighborhood functions
- Added several transformation and grouping functions for BELGraph
- INDRA Machine in CLI
- Add missing field from BaseAbundance (#302)
0.11.3 - 2018-06-04
- Made testing code and date install as part of main package(#298)
- Remove extension hook and extension loader (#300)
0.11.2 - 2018-05-10
- Calculation of SHA512 hash to DSL abundances
- Documented the deployment extra for setup.py
- Added to and from JSON path IO functions
- PMI Contact for CBN import and more default namespaces
- Added common query builders to SQLAlchemy models
- Fixed name/version lookup in the database
- Safer creation of directories (https://github.com/pybel/pybel/issues/#284)
- Make export to GraphML more boring and permissive
- Implement to_tuple for CentralDogma (https://github.com/pybel/pybel/issues/#281)
- Unicode compatibility error. Thanks @bgyori! (#289)
- Made parsing of fragments permissive to quoting (https://github.com/pybel/pybel/issues/#282)
- Update citation handling
- Update namespace methods in CLI
- Added
as_bel
method to DSL - Update authentication with BEL Commons (https://github.com/pybel/pybel/commit/4f6b8b0ecab411e1d2b110e00c8bac77ace88308)
- Unpin SQLAlchemy version. Most up-to-date should remain safe.
- Removed static function
pybel.BELGraph.hash_node
since it just wrapspybel.utils.node_to_tuple
- Removed unnecessary configuration editing from CLI
- Removed OWL Parser (#290)
- Removed support for BELEQ files (#294)
- Remove artifactory code and migrated to https://github.com/pybel/pybel-artifactory. (#292)
0.11.1 - 2018-02-19
- Added additional DSL shortcuts for building edges with the BELGraph
- Added example graphs (statins, BRAF, orthology examples)
- Added knowledge transfer function
- Added progress bar for parser
0.11.0 - 2018-02-07
- Updated SQL schema and made new minimum unpickle version 0.11.0.
- Parser now uses a compact representation of annotations instead of exploding to multiple edges (#261)
- Update annotation filtering functions to reflect new data format (#262)
- Update GraphML Output (#260)
- Better error message when missing namespace resource (#265)
- Fixed more problems with edge store and testing (#225, #256, #257)
- Fixed windows testing (#243)
- Fixed broken network cascade, but is still slow (#256, #257, #259)
- Fixed JGIF import (#266) and added scripts directory (3dc6b1f)
- Fix extras in setup.py and requirements.txt
- Additional regex format for date parsing from PubMed (#259)
- Add labels to nodes in GraphML output (#260)
- Add edge predicate builders (#262)
- Testing on multiple databases (SQLite, MySQL, PostgreSQL) (#238)
- Added
pybel.struct.mutations
module - Added graph-based equivalency checking
- Add more documentation to BELGraph (#271)
0.10.1 - 2017-12-28
- Fixed truncation description parsing to handle double quotes
- Made DSL functions into classes to allow inheritance and isinstance checking as well as preliminary to_tuple functionality
- Added more edge predicates (has_activity, has_degree, has_translocation, has_annotation)
0.10.0 - 2017-12-22
- Updated SQL schema and made new minimum unpickle version 0.10.0.
- Moved pybel.parser.language to pybel.language
- Moved pybel.parser.canoncalize to pybel.tokens
- Overhaul of pybel.struct.filters - included many more functions, tests, and updated nomenclature
- Update canoncalize functions to be generally reusable (take node data dictionaries)
- Make NDEx2, Neo4j, OWL parsing, and INDRA setup.py install extras
- Names defined by regular expressions can now be included in the database cache (#250, #251)
- Fixed
Manager.has_name_version
(#246) - Fixed CX output and upgraded to NDEx2 client
- When joining graphs, keep their metadata (https://github.com/pybel/pybel/commit/affaecc73d2b4affa8aeecb3834ed7c6f5697cac)
- Included partOf relationship in BEL language (#244)
- Added additional date formats to parse from PubMed (#239)
- Filled out many more DSL functions and added testing
- Added ability to set relationship parsing policy in BEL Parser (https://github.com/pybel/pybel/commit/09614465d80d2931e901fd54d067a5151e327283)
- Implemented from PyBEL Web Function
- Implemented to INDRA function
0.9.7 - 2017-11-20
- Use
HASH
as dictionary key instead ofID
- Allow DSL to create nodes without names but with identifiers
- Rename instance variables in parsers for consistency
- Greater usage of DSL in parser
0.9.6 - 2017-11-12
- Additional keyword arguments for JSON output functions
- Updated parser intermediate data structure. Should have no affect on end users.
- Smarter serialization of PyBEL data dictionaries to BEL
- Better handling of citations that have authors pre-parsed into lists (#247)
0.9.5 - 2017-11-07
- Updates to DSL
- More node filters and predicates
- Added "partOf" relationship (#244)
- Added more regular expressions for date parsing (#239)
- Fixed incorrect checking of network storage (#246)
- Reorganized resources module to reduce dependencies on PyBEL Tools, which has lots of other big requirements
- Moved
pybel.summary
module topybel.struct.summary
0.9.4 - 2017-11-03
- Problem with uploading products, reactants, and members to NDEx (#230)
- Checking for adding uncachable nodes when populating edge store
- Database seeding functions
- Citation management
- Added PubMed Central as type in citation
- Don't keep blobs in node or edge cache anymore
0.9.3 - 2017-10-19
- Convenience functions for adding qualified and unqualified edges to BELGraph class
- Sialic Acid Example BEL Graph
- EGF Example BEL Graph
- Added PyBEL Web export and stub for import
- BioPAX Import
- Dedicated BEL Syntax error
- Update the BEL Script canonicalization rules to group citations then evidences better
- Removed requirement of annotation entry in edge data dictionaries
- Confident enough to make using the edge store True by default
- Fixed unset list parsing so it doesn't need quotes (#234)
- In-memory caching of authors
0.9.2 - 2017-09-27
- JSON Serialization bug for authors in Citation Model
0.9.1 - 2017-09-26
- INDRA Import
- Usage of built-in operators on BEL Graphs
- Update list recent networks function to work better with SQL 99 compliant (basically everything except the old version of MySQL and SQLite) RDBMS
- Better tests for queries to edge store
- Better testing when extensions not installed (c1ac850)
- Update documentation to new OpenBEL website links
- Fix crash when uploading network to edge store that has annotation pattern definitions (still needs some work though)
- Added foreign keys for first and last authors in Citation model (requires database rebuild)
- Froze NetworkX version at 1.11 since 2.0 breaks everything
- Don't cache SQLAlchemy models locally (3d7d238)
0.9.0 - 2017-09-19
- Option for setting scopefunc in Manager
- Include extra citation information on inserting graph to database that might have come from citation enrichment
- Node model to tuple and json functions are now complete
- Added members lists to the node data dictionaries for complex and composite nodes
- Added reactants and products lists to the node data dictionaries for reaction nodes
- GOCC and other location caching problem
- Node tuples for reactions are now using standard node tuples for reactants and products. This was a huge issue but it had never come up before. DANGER - this means all old code will still work, but any node-tuple reliant code will have unexpected results. This also means that the node hashes in the database for all reactions will now be outdated, so the minimum version is being bumped.
0.8.1 - 2017-09-08
- Change CacheManager class name to Manager
- Change references from build_manager to Manager.ensure
- Automatically update default database to minimum import version
- Constants for extra citation fields and update to_json for Citation model
- Bug in author insertion for non-unique authors
0.8.0 - 2017-09-08
- Made new minimum unpickle version 0.8.0. From now on, all unpickle changes (before a 1.0.0 release) will be accompanied by a minor version bump.
- Overall better handling of citation insertion
- Updated data models. Added to Citation model and renamed namespaceEntry in Node model.
- Better init function for BELGraph
- Force name and version to not be null in the database
- Update pickle references to use six module
- Update base cache manager - better connection handling and more exposed arguments
- Get graph functions to cache manager
- Added more useful functions to cache manager
- Kwargs for setting name, version, and description in BELGraph init
- Getters and setters for version and description in BELGraph
- Node data to tuple functions (#145)
0.7.3 - 2017-09-05
- Update logging for parsing of bad version strings
- Change where kwargs go in parse_lines function
- Make non-standard parsing modes part of kwargs
- On-purpose singletons now properly identified (#218)
- CLI command for set connection (#220)
- GEF and GAP activities added for INDRA
0.7.2 - 2017-08-10
- Externalized more parsing constants
- Updated version management
- Keep track of all singleton lines in parsing
- Update CLI
- Update JGIF export from CBN
- Change node hashing ot only use type and reference
- Node intersection merge
- Get most recent network by name in manager
0.7.1 - 2017-07-25
- Externalized some PyParsing elements
- Version string tokenization
0.7.0 - 2017-07-21
- Added Project key to document metadata parser (#215)
- Reusable protocols for hashing nodes and edges
- Edge store working (#212)
- Update resource urls (#211)
- General improvements to exception handling
- Made new minimum unpickle version 0.7.0
0.6.2 - 2017-06-28
- Environment variable for data locations
- Add get network by ids merger
0.6.1 - 2017-06-25
- Bug when getting multiple networks by identifier (#208)
- Arguments to exceptions mixed up
- Use context in command line interface to streamline code
- Remove old, unused code
0.6.0 - 2017-06-11
- Merge OWL and BEL namespaces (#118)
- Remove lots of unused/redundant code
- Lots of functions renamed and moved... Sorry people.
- Multiple options for graph joining
- Filter functions (#206)
0.5.11 - 2017-06-07
- Added line numbers to parsing exceptions
- Update minimum pickle parsing from 0.5.10 to 0.5.11 to reflect changes in parsing exceptions
0.5.10 - 2017-06-06
- Network outer join (#205)
- Network full join with hash (#204 and #204)
- Option to suppress singleton warnings (#200)
- Moved
pybel.graph
topybel.struct.graph
- Parse exceptions are renamed
- Update minimum pickle parsing from 0.5.4 to 0.5.10 to reflect changes in parsing execeptions and project structure
- Rewrote the CSV Exporter (#201)
0.5.9 - 2017-05-28
0.5.8 - 2017-05-25
- CX is now unstreamified on load, making compatibility with other CX sources (like NDEx) possible
- Testing now enables
PYBEL_TEST_CONNECTION
environment variable to set a persistient database - Testing data cut down to reduce memory consumption
- NDEx upload and download
0.5.7 - 2017-05-20
- Public IO changed for to/from_json and to/from_cx (#192)
- Better error output for metadata failure (#191)
- Add BEL script line to edges (#155)
- Export to GSEA gene list (#189)
- Non-caching of namespaces support (#190)
Note: I made a mistake with the release on 0.5.6, so I just bumped the patch one more.
0.5.5 - 2017-05-08
- Updated CX output to have full provenance and list definitions (#180)
- DOI and URL are now acceptable citation types (#188)
- Citation can now be given as a double of type and reference (#187)
0.5.4 - 2017-04-28
- MySQL truncations of large BLOBs
- Session management problems
- If a namespace/annotation was redefined, will now thrown an exception instead of just a logging a warning
- Update minimum pickle parsing from 0.5.3 to 0.5.4 to reflect changes in parse exceptions
- Ability to drop graph that isn't in graph store from CLI
0.5.3 - 2017-04-19
- Lenient parsing mode for unqualified translocations (#178)
- Check for dead URLs at BEL framework (#177)
- Don't throw warnings for versions that are in YYYYMMDD format (#175)
- Include character positions in some exceptions (#176)
- Update minimum pickle parsing from 0.4.2 to 0.5.3 to reflect the new parse exceptions's names and arguments
0.5.2 - 2017-04-16
- Ensure existence of namespaces/annotations during graph upload (#165)
0.5.1 - 2017-04-10
- Parsing of labels (#173)
- Parsing of hasComponents lists (#172)
0.5.0 - 2017-04-07
- Debugging on lines starting with #: comments (#162)
- Added missing relations in pybel constants (#161)
0.4.4 - 2017-04-03
- Reorganized package to split line parsing from core data structure (#154)
0.4.3 - 2017-03-21
- Externalized strings from modifier parsers
- Move
pybel.cx.hash_tuple
topybel.utils.hash_tuple
(#144)
0.4.2 - 2017-03-16
- Node property data model and I/O
- Edge property data model and I/O
- Update version checking to be more lenient. v0.4.2 is now the minimum for reloading a graph
- Origin completion option on BEL parsing. See PyBEL Tools
0.4.1 - 2017-03-11
- More output options for BEL
- Explicit parsing of hasVariant, hasReactant, and hasProduct
- Allow parsing of non-standard ordering of annotations
- Superfluous output of single nodes when writing BEL scripts
0.4.0 - 2017-03-07
- Stable CX import and export
- Edge Store data models and loading
- Alternative control parsing technique without citation clearing
- Node name calculator
0.3.11 - 2017-03-05
- Fixed has_members not adding annotations tag
- Reliance on node identifiers in canonicalization of complexes and composites
- Fixed graph iterator filter
0.3.10 - 2017-03-01
- Shortcut for adding unqualified edges
- All edges have annotations dictionary now
- JSON Export doesn't crash if there aren't list annotations
- All exceptions have __str__ function for stringification by JSON export if desired
0.3.9 - 2017-02-21
- Experimental CX export for use with NDEx
- Better testing with thorough BEL
- ParseResult objects no longer propogate through graph
- Fixed outputting to JSON
- Support for importing GraphML is no longer continued because there's too much information loss
0.3.8 - 2017-02-12
- Annotation pattern definitions
- Alternative json output to in-memory dictionary
- Removed url rewriting for OpenBEL Framework
- Group all annotations in edge data (see Data Model in docs)
0.3.7 - 2017-02-06
- Added equivalentTo relation
- Added OWL annotation support
- Version integrity checking
- Dump cache functionality
- Merged GENE, GENE_VARIANT, and GENE_FUSION
0.3.6 - 2017-02-03
- Switch ontospy dependency to onto2nx for Windows support
0.3.5 - 2017-01-30
- Add thorough testing of BEL document
- Improved string externalization
- Update to data model for fusions
- Improved parser performance
0.3.4 - 2017-01-22
- Codec support for opening files by path
- Protein modifications, gene modifications, and variants are now stored as dictionaries in the latent data structure
- Many constants have been externalized
- BEL default names, like kinaseActivity are automatically assigned a sentinel value as a namespace
0.3.3 - 2017-01-18
- Make HGVS parsing less complicated by storing as strings
- add warning tracking
0.3.2 - 2017-01-13
- Gene modification support
- Namespace equivalence mapping data models and manager
- Extension loading
- Better testing (local files only with mocks)
- Better names for exceptions and warnings
0.3.1 - 2017-01-03
- Bytes IO of BEL Graphs
- Graph caching and Graph Cache Manager
- Annotations weren't getting cached because somebody forgot to add the urls. Fixed.
- Removed typos in default namespace list
- More explicit tests and overall test case refactoring
- Better handling of BEL script metadata
0.3.0 - 2016-12-29
- OWL namespace support and caching
- Full support for BEL canonicalization and output
- Rewrote namespace cache and SQLAlchemy models
- Removed unnecessary pandas and matplotlib dependencies
0.2.6 - 2016-11-19
- Canonical BEL terms added to nodes on parsing
- Fragment parsing
- Support for alternative names for evidence (SupportingText)
- More explicit support of unqualified edges
- Created top-level constants file
- Fix incorrect HGVS protein truncation parsing
- Fix missing location option in abundance tag parsing
- Fix json input/output
- Deleted junk code from mapper and namespace cache manager
0.2.5 - 2016-11-13
- Nested statement parsing support
- Fusion parsing support
- Fixed graphml input/output
- Changed encodings of python files to utf-8
- Fixed typos in language.py
0.2.4 - 2016-11-13
- Neo4J CLI output
- Edge and node filtering
- Assertions of document metadata key
- Added BEL 2.0 protein modification default mapping support
- Rewrite HGVS parsing
- Updated canonicalization
- Typo in amino acid dictionary
- Assertion of citation
0.2.3 - 2016-11-09
- Made logging lazy and updated logging codes
- Update rewriting of old statements
- Explicitly streamlined MatchFirst statements; huge speed improvements
0.2.2 - 2016-10-25
- Documentation is no longer stored in version control
- Fixed file type in CLI
0.2.1 - 2016-10-25 [YANKED]
- Added CLI for data manager
- Added definition cache manager