mochada_kit
Python code for generating MODA (MOdelling DAta) and CHADA (CHAracterisation DAta) workflow diagrams and tables using plantuml, with machine-readable, enhanced design based on bespoke themes.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.3%) to scientific vocabulary
Keywords
Repository
Python code for generating MODA (MOdelling DAta) and CHADA (CHAracterisation DAta) workflow diagrams and tables using plantuml, with machine-readable, enhanced design based on bespoke themes.
Basic Info
Statistics
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 1
- Releases: 3
Topics
Metadata Files
README.md
mochada_kit
Python code for generating MODA (MOdelling DAta) and CHADA (CHAracterisation DAta) workflow diagrams and tables using plantuml, with machine-readable, enhanced design based on bespoke themes.
Documentation
The main documentation for mochadakit is here: https://mammos-project.github.io/mochadakit
Main uses
1. Generate MODA and/or CHADA workflow diagrams with bespoke themes, making them machine readable.
The diagram below is a legend for a CHADA workflow, showing the types of the elements. The plantuml code used to produce this diagram is below on the right. After a command signalling the start of the code, we load one of the bespoke themes. This allows us to apply a "stereotype" to each element, giving it a colour according to its type. Each theme has different colours for the various elements (see section 4. below for the available colour schemes).
- The text to be displayed in an element is defined between a colon and a semicolon e.g. :User Case;
- The type of the element is specified by applying a stereotype between two sets of angled brackets e.g. <<user_case>>
- This allows the code to be machine readable: the text of each element can be easily associated with the type of element and connected to the antecedent and descendant elements.
| flow diagram legend | plantuml code |
| |
```
@startuml
!theme MOCHADA-plasma from ../../themes
:User Case; < |
Below is an example of a CHADA workflow diagram for EBSD in the SEM and the code used to produce the diagram is shown on the right. Note that the definition of the element can be split over multiple lines.
| chada workflow EBSD | plantuml code |
| |
```
@startuml
!theme MOCHADA-plasma from ../../themes
:Bulk sample or thin film; < |
We can group techniques in order to provide a clear overview of more complex cases e.g. for SEM-EDX-EBSD:
2. Generate CHADA tables from a single json or yaml file, with bespoke themes, and optionally hyperlinking different tables
3. Extract and display metadata from an HDF5 file as an easy-to-read diagram with optional bespoke highlighting
4. Choose from the available colour schemes and stereotypes or define your own
Installation and Setup
Please see the detailed guides to installation and setup in the documentation.
Getting started
please refer to the examples for detailed guides on how to use mochada_kit.
to get an idea of what the workflow diagrams, tables and json diagrams look like, please have a look at the .svg images in
mochada_kit/gallery. You can open .svg files in any browser. The plantuml (puml) code on which they are based is available inmochada_kit/gallery/puml_code.the detailed examples in the documentation are also provided as jupyter notebooks in
mochada_kit/examplesand as Python scripts inmochada_kit/examples/python_scripts. Here is a short description of each example:
|Example |Description |
|:---|:---|
|make_workflow_diagram.ipynb | basic introduction to making workflow diagrams |
|using_hyperlinks_in_workflow_digarams.ipynb | how to use hyperlinks to link several diagrams or to link to an external resource |
|make_CHADA_tables_from_json_or_yaml.ipynb | how to use plantuml to generate CHADA tables from a single json or yaml file |
|json_diagram_from_hdf5_metadata.ipynb | extract metadata from an hdf5 file and plot it as a json diagram with plantuml with optional bespoke highlighting|
|generating_mochada_themes.ipynb | how to make MOCHADA themes with different colour schemes |
|CHADA_and_MODA_legend_all_themes.ipynb | put a legend for MODA and CHADA elements for all the different themes in one plot for comparison |
|CHADA_legend_all_themes.ipynb | put a legend for CHADA elements for all the different themes in one plot for comparison |
|MODA_legend_all_themes.ipynb | put a legend for MODA elements for all the different themes in one plot for comparison |
Reference
mochada_kit can be cited according to this guide.
This package is being developed as part of the EU project: MaMMoS

Owner
- Name: MAgnetic Multiscale MOdelling Suite (MaMMoS) - placeholder
- Login: MaMMoS-project
- Kind: organization
- Repositories: 1
- Profile: https://github.com/MaMMoS-project
Citation (CITATION.cff)
abstract: "Python code for generating MODA (MOdelling DAta) and CHADA (CHAracterisation DAta) workflow diagrams and tables using plantuml, with machine-readable, enhanced design based on bespoke themes."
authors:
- family-names: Woodcock
given-names: Thomas George
orcid: "https://orcid.org/0000-0003-2351-973X"
affiliation: "Leibniz Institute for Solid State and Materials Research (ROR: https://ror.org/04zb59n70)"
- family-names: Pathak
given-names: Swapneel Amit
orcid: "https://orcid.org/0000-0003-3840-955X"
affiliation: "Max Planck Institute for the Structure and Dynamics of Matter (ROR: https://ror.org/0411b0f77)"
- family-names: Petrocchi
given-names: Andrea
orcid: "https://orcid.org/0009-0005-1867-6732"
affiliation: "Max Planck Institute for the Structure and Dynamics of Matter (ROR: https://ror.org/0411b0f77)"
- name: The mochada_kit Contributors
website: "https://github.com/MaMMoS-project/mochada_kit/graphs/contributors"
cff-version: 1.2.0
date-released: "2024-12-16"
doi: 10.5281/zenodo.12547640
keywords:
- research
- data
- plantuml
- chada
- moda
- workflow
license: MIT
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/MaMMoS-project/mochada_kit"
title: "mochada_kit"
version: 0.2.0
GitHub Events
Total
- Watch event: 3
- Delete event: 2
- Issue comment event: 4
- Push event: 23
- Pull request review comment event: 4
- Pull request event: 5
- Pull request review event: 3
- Fork event: 1
- Create event: 3
Last Year
- Watch event: 3
- Delete event: 2
- Issue comment event: 4
- Push event: 23
- Pull request review comment event: 4
- Pull request event: 5
- Pull request review event: 3
- Fork event: 1
- Create event: 3
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 0
- Total pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- tgwoodcock (2)
- swapneelap (2)
- fangohr (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- h5py *