Chainer Chemistry Versions Save

Chainer Chemistry: A Library for Deep Learning in Biology and Chemistry

v0.7.1

3 years ago

This is the release note of v0.7.1.

Highlights

The paper, “Weisfeiler-Lehman Embedding for Molecular Graph Neural Networks” official implementation (#422, thanks @k-ishiguro !)

New features

Data

  • WLE (Weisfeiler-Lehman Embedding) preprocessing support (#422)
  • DeepChemScaffoldSplitter (#422)

Models

  • Neural Network implementations for WLE, CWLE, GWLE (#422)

Examples

  • molnet_wle (#422)

v0.7.0

4 years ago

This is the release note of v0.7.0. See here for the complete list of solved issues and merged PRs.

Note that this is planned to be the final major release. As announced in chainer blog, further development will be limited to only serious bug-fixes and maintenance.

Highlights

  • Graph Conv Neural Network with Sparse pattern is added & SNS dataset is supported to try big sparse graph data training (#398, thanks @knshnb!)
  • MEGNet, CGCNN model is supported (#396, thanks @nd-02110114!)

Changes that break compatibility

  • Use shifted softplus in SchNet (#395)

New features

Models

  • SparseRelGCN (#398, thanks @knshnb!)
  • SparseGIN (#398, thanks @knshnb!)
  • GIN with COO matrix (#398, thanks @knshnb!)
  • MEGNet (#396, #405, #409, thanks @nd-02110114!)
  • CGCNN (#396, #405, thanks @nd-02110114!)

Dataset

  • SNS Dataset support is added to try big sparse graph data
  • Citation Network: cora, citeseer (#398, #402, thanks @knshnb!)
  • Reddit (#398, #402, thanks @knshnb!)

Dataset class

  • SparseGraphDataset (#398, thanks @knshnb!)
  • PaddingGraphdataset (#398, thanks @knshnb!)

See table below for usage

Chemical Network
adjacency matrix NumpyTupleDataset PaddingGraphDataset
scatter operation SparseGraphDataset SparseGraphDataset
sparse matmul not supported PaddingGraphDataset (use_coo=True)

Function

  • Add shifted softplus (#395)
    • Used in SchNet

Examples

  • network_graph example is added for cora, citeseer, reddit dataset training (#398, thanks @knshnb!)

v0.6.0

4 years ago

This is the release note of v0.6.0. See here for the complete list of solved issues and merged PRs.

Changes that break compatibility

  • [Big Change] Unify arguments in model, update and readout (#368)

  • return svg text instead of ipython SVG object in MolVisualizer and SmilesVisualizer (#388)

  • Support ChainerX (#376)

  • fix typo (#358, Thank you @shllln)

Refactoring:

  • Separate links to modules (#270, #301, #305)
    • This is for users to define their own network easily.

New features

  • Add Message Passing Neural Network(MPNN) (#312)
  • Add SparseGGNN (#342, Thank you @ir5)
  • Add GNN-FiLM (#386)
  • Add GraphWarpModule(GWM) (#321, #340, #368, #372)
  • Add GWMGraphConvModel
  • Add Graph Isomorphism Network(GIN) (#321, #337, #345, #371, Thank you @TaizoAyase)

Scaler

  • FlowScaler (#318)
  • Support more than 3-dim array by StandardScaler (#348)
  • MinMaxScaler (#351)
  • MaxAbsScaler (#350)

Utils

  • GraphConvPredictor (#317)
  • set_up_predictor (#336)
  • AutoPrintReport (#373)
  • Train Utils (#382)

Docker

  • Add official dockerfile (#364, #365, #374, #381, Thank you @cks-coil, @zaltoprofen)

Development Utils

  • typing module (#331)
  • document checker (#332)

Bug-fix

  • addHs in SchNet preprocess (#390)
  • weave preprocessor (#360)
  • fix the type of return value from R2ScoreEvaluator (#339)

Tests

  • Use FlexCI (#378, #381)
  • GWMPreprocessor tests (#383)
  • Fix some tests (#377)

v0.5.0

5 years ago

This is the release note of v0.5.0. See here for the complete list of solved issues and merged PRs.

Independent graph convolution layers

  • Separate links to modules (#270, #301, #305)
    • This is for users to define their own network easily.

New features

  • Add RelGCN (#269, #316)

  • Add RelGAT (#217, #299, #302, #315)

  • GGNN: support num_edge_type as argument (#294)

  • Add StandardScaler link (#309)

  • Add GraphMLP (#295)

  • GGNN input size invariant support (#297)

  • NFP input size invariant support (#296)

Functions

  • softmax with mask (#306)

Dataset

  • Add PDBBind dataset (in MoleculeNet) (#255)
  • Add Zinc 250k dataset (#276)
  • Add kekulize option in preprocessor (#262)

Saliency modules

  • Add saliency modules (#283, #284, #286)

Utils

  • util function for save/load files to json (#303)

Evaluator

  • Add R2 score evaluator (#253)

Splitter

  • Add time order splitter (#254)

Changes that break compatibility

  • always return canonical smiles from parser (#264)
  • move construct_discrete_edge_matrix to common (#260)
  • Separate links to modules (#270)

Bug fixes

  • Inverse scaling for predicted values (#250, Thank you @kazuyaujihara)
  • Fix FutureWarning in permute_adj (#277)
  • report metrics as scalars (#282)
  • Rename device_id inside BaseForwardModel for chainer v6 (#280)

Tests

  • Improvements on daily test (#243)
  • Improvements on slow preprocessor test (#263)

Example

  • Add example for own dataset (#249)
  • update shell script for examples (#266, #273, #275)
  • QM9
    • Scale output labels in QM9 example (#256)
    • Evaluate each label separately (#314)

Others

  • Fix documents (#241, #242)
  • Support features indexer with length 0 (#246)
  • Update README (#265)
    • Fix rdkit version (#247)
    • Add research projects list (#248)

v0.4.0

5 years ago

This is the release note of v0.4.0. See here for the complete list of solved issues and merged PRs.

New features

  • MoleculeNet dataset support (#165, #179, #181, #182, #187, #205, #209, #216, #230, #233)
    • Examples using the MolculeNet dataset are also provided.
    • Settings recommended in the original paper is used.
  • Splitter support
    • RandomSplitter (#196)
    • StratifiedSplitter (#201)
    • ScaffoldSplitter (#202)
  • Loss function implementation which deals with NaN
    • mean_squared_error (#190)
    • mean_absolute_error (#193)
  • More evaluators
    • BatchEvaluator (#210)
    • PRCAUCEvaluator (#210)
  • More parsers
    • DataFrameParser (#203, #207)
    • SMILESParser (#204)
  • Add return_is_successful option to parsers (#219 #220)
  • Add extract_total_num (#221)
  • Add raise_value_error to ROCAUCEvaluator (#157)

Changes that break compatibility

  • Set default argument for the script option of examples/own_dataset/train.py (#171)
  • Fix indexing behavior in NumpyTupleDataset when data_index is a list of length 1 (#200)
  • Modify total count behavior of SDFFileParser, which only affects to logging output (#220)

Bug fixes

  • Use non-isomeric SMILES (#237, #240)
  • Remove NaN value in an adjacency matrix when out_size is larger than the number of atoms (#169, Thank you @mihainorariu)

Tests

  • Improvements on example test scripts (#158, #188)
  • Other test improvements
    • #170, #197, #208, #223, #234
    • #163, #168, #174, #175 (Thank you @mihaimorariu)

Support version

  • Remove Chainer v2 (#194) and add Chainer v3 from Travis CI tests (#195)
  • Freeze RDKit version in Travis CI to 2017.09.3.0 (#227)
  • Add description of supported library versions (#232)

Example

  • Model Evaluation script
    • Tox21 (#147)
    • QM9 (#189, #225, #226 Thank you @mihaimorariu)
  • Remove InferenceLoop from the Tox21 example (#184, #222)
  • Remove conditional import of Classifier from the Tox21 and QM9 examples (#185)

Others

  • Change assertion messages for preprocessors (#162, Thank you @mihaimorariu)
  • Fix typo in datasets/qm9.py (#176, Thank you @natsukium)
  • Retrieve version number in setup.py without imp (#198)
  • Add .pytest_cache to .gitignore (#199)
  • Fix document formats (#218)

v0.3.0

6 years ago

New features

  • Classifier (#124, #137, #151), supports predict, predict_proba methods
  • Regressor (#129, #137, #151), supports predict method
  • BaseForwardModel (#137, #151) and add save_pickle and load_pickle to it (#139)
  • Add target_index to parse method of CSVFileParser and SDFFileParser (#131)
  • Add extract_total_num to CSVFileParser and SDFFileParser (#131)
  • Add target_index option to get_qm9 (#131)
  • Add train_target_index, val_target_index, and test_target_index to get_tox21 (#131)
  • Add dropout_ratio to RSGCN.__init__ (#146).

Changes that break compatibility

  • chainer_chemistry.dataset.preprocessors.weavenet_preprocessor.DEFAULT_NUM_MAX_ATOMS has been removed. Use chainer_chemistry.WEAVE_DEFAULT_NUM_MAX_ATOMS instead (#127).

Bug fixes

  • Fix the behavior of concat hidden argument of GGNN (#117, #118)
  • Fix the order of transpose of GGNN (#143)
    • It was a serious bug that degraded the performance of GGNN. (Thank you @ir5 for the bug report!)
  • Fix examples to run with Python 2.7 (#144) (Thank you @mihaimorariu)

Example

  • Add an example of using own dataset (#114)
  • Add an example of Classifier (include saving model by pickle) using Tox21 dataset (#124, #125, #136, #141, #152, #156)
  • Add prediction script to the QM9 example (#140)
  • Add an example of Regressor (include saving model by pickle) using QM9 dataset (#129, #152, #156).

Others

  • Improve document of concat_mols (#116)
  • Import without installing RDKit (#119, #123)
  • Add introductory slide to README (#130)
  • Speed up example test scripts (#132)
  • Add tests that check invariance of Graph CNN under graph isomorphism (#145)
  • Add tests of RSGCN (#146)
  • Remove import of matplotlib (#148)
  • Add a comment on model portability (#150)
  • Apply flake8 (#155)

Also thank you @mihaimorariu (#144) and @ir5 for the implementation, documentation, bug report and example improvements!

v0.2.0

6 years ago

This is the release of v0.2.0.

New features

  • Add RSGCN (Renormalized Sepectral Graph Convolutional Network) (#89 thank you @anaruse!)
  • Add BalancedSerialIterator for imbalanced data training (#59)
  • Add ROCAUCEvaluator for binary classification task evaluation (#62)
  • Add self_connection option in construct_adj_array (#100)

Changes that break compatibility

  • return_smiles return numpy.ndarray, instead of list (#79)
  • csv_file_parser.parse and sdf_file_parser.parse methods return dict that contains dataset and smiles, instead variable length tuple (#94)

Bug fixes

  • QM9 dataset ordering (#107)

Example

  • Support SchNet inference example in tox21 example (#103)
  • Add RSGCN example in QM9, tox21 example (#89, #104)
  • Add BalancedSerialIterator, ROCAUCEvaluator sample usage in tox21 example (#60, #62)

Others

  • Dataset exploration notebook in QM9, tox21 example (#78)
  • Add many tests.

Also thank you @amaotone (#50), @kazuyaujihara (#85), @msakai (#88) and @anaruse (#89) for the implementation, documentation and example improvements!

v0.1.0

6 years ago

This is the first release of Chainer Chemistry.

We will follow Semantic Versioning 2.0.0, which means any API can change at anytime until Version 1.