You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please use the [Issue Tracker](https://github.com/WMD-group/ElementEmbeddings/issues) to report bugs or request features in the first instance. Contributions are always welcome.
3
+
This is a quick guide on how to follow best practice and contribute smoothly to `ElementEmbeddings`.
4
4
5
5
## Code contributions
6
6
7
7
We are always looking for ways to make `ElementEmbeddings` better and a more useful to a wider community. For making contributions, use the ["Fork and Pull"](https://docs.github.com/en/get-started/quickstart/contributing-to-projects) workflow to make contributions and stick as closely as possible to the following:
8
8
9
9
* Code style should comply with [PEP8](https://peps.python.org/pep-0008/) where possible. [Google's house style](https://google.github.io/styleguide/pyguide.html) is also helpful, including a good model for docstrings.
10
10
* Please use comments liberally when adding nontrivial features, and take the chance to clean up other people's code while looking at it.
11
-
* Add tests wherever possible, and use the test suite to check if you broke anything.
11
+
* Add tests wherever possible, and use the test suite to check if you broke anything.
12
+
13
+
## Workflow
14
+
15
+
We follow the [GitHub flow]
16
+
(<https://guides.github.com/introduction/flow/index.html>), using
17
+
branches for new work and pull requests for verifying the work.
18
+
19
+
The steps for a new piece of work can be summarised as follows:
20
+
21
+
1. Push up or create [an issue](https://guides.github.com/features/issues).
22
+
2. Create a branch from main, with a sensible name that relates to the issue.
23
+
3. Do the work and commit changes to the branch. Push the branch
24
+
regularly to GitHub to make sure no work is accidentally lost.
25
+
4. Write or update unit tests for the code you work on.
26
+
5. When you are finished with the work, ensure that all of the unit
27
+
tests pass on your own machine.
28
+
6. Open a pull request [on the pull request page](https://github.com/WMD-group/ElementEmbeddings/pulls).
29
+
7. If nobody acknowledges your pull request promptly, feel free to poke one of the main developers into action.
30
+
31
+
## Pull requests
32
+
33
+
For a general overview of using pull requests on GitHub look [in the GitHub docs](https://help.github.com/en/articles/about-pull-requests).
34
+
35
+
When creating a pull request you should:
36
+
37
+
* Ensure that the title succinctly describes the changes so it is easy to read on the overview page
38
+
* Reference the issue which the pull request is closing
39
+
40
+
Recommended reading: [How to Write the Perfect Pull Request](https://github.blog/2015-01-21-how-to-write-the-perfect-pull-request/)
41
+
42
+
## Dev requirements
43
+
44
+
When developing locally, it is recommended to install the python packages in `requirements-dev.txt`.
45
+
46
+
```bash
47
+
pip install -r requirements-dev.txt
48
+
```
49
+
50
+
This will allow you to run the tests locally with pytest as described in the main README,
51
+
as well as run pre-commit hooks to automatically format python files with isort and black.
52
+
To install the pre-commit hooks (only needs to be done once):
53
+
54
+
```bash
55
+
pre-commit install
56
+
pre-commit run --all-files # optionally run hooks on all files
57
+
```
58
+
59
+
Pre-commit hooks will check all files when you commit changes, automatically fixing any files which are not formatted correctly. Those files will need to be staged again before re-attempting the commit.
60
+
61
+
## Bug reports, feature requests and questions
62
+
63
+
Please use the [Issue Tracker](https://github.com/WMD-group/ElementEmbeddings/issues) to report bugs or request features in the first instance. Contributions are always welcome.
For development work, `ElementEmbeddings` can eb installed from a copy of the [source repository](https://github.com/WMD-group/ElementEmbeddings.git); this is preferred if using experimental code branches.
10
12
11
13
To clone the project from Github and make a local installation:
Copy file name to clipboardExpand all lines: docs/reference.md
+49-15Lines changed: 49 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,39 @@
1
1
# Elemental Embeddings
2
2
3
-
The data contained in this folder is a collection of various elemental representation/embedding schemes
3
+
The data contained in this repository are a collection of various elemental representation/embedding schemes. We provide the literature source for these representations as well as the data source for which the files were obtained. A majority of these representations have been obtained from the following repositories:
For the linear/scalar representations, the `Embedding` class will load these representations as one-hot vectors where the vector components are ordered following the scale (i.e. the `atomic` representation is ordered by atomic numbers).
11
+
12
+
### Modified Pettifor scale
13
+
14
+
The following paper describes the details of the modified Pettifor chemical scale:
15
+
[The optimal one-dimensional periodic table: a modified Pettifor chemical scale from data mining](https://iopscience.iop.org/article/10.1088/1367-2630/18/9/093011/meta)
We included `atomic` as a linear representation to generate one-hot vectors corresponding to the atomic numbers
22
+
23
+
## Vector representations
24
+
25
+
The following representations are all vector representations (some are local, some are distributed) and the `Embedding` class will load these representations as they are.
26
+
27
+
### Magpie
4
28
5
-
## Magpie
6
29
The following paper describes the details of the Materials Agnostic Platform for Informatics and Exploration (Magpie) framework:
7
30
[A general-purpose machine learning framework for predicting properties of inorganic materials](https://www.nature.com/articles/npjcompumats201628)
The following paper describes the natural language processing implementation of Materials Scholar (matscholar):
45
72
[Named Entity Recognition and Normalization Applied to Large-Scale Information Extraction from the Materials Science Literature](https://pubs.acs.org/doi/abs/10.1021/acs.jcim.9b00470)
The following paper describes the details of the construction of the MatErials Graph Network (MEGNet):
49
79
[Graph Networks as a Universal Machine Learning Framework for Molecules and Crystals](https://doi.org/10.1021/acs.chemmater.9b01294)
50
80
51
-
## Modified Pettifor scale
52
-
The following paper describes the details of the modified Pettifor chemical scale:
53
-
[The optimal one dimensional periodic table: a modified Pettifor chemical scale from data mining](https://iopscience.iop.org/article/10.1088/1367-2630/18/9/093011/meta)
0 commit comments