Data files for MetabolicAtlas.org
This repository centralizes data hosted in other repositories to facilitate the deployment of Metabolic Atlas. The long-term vision is to automate the deployment process by fetching the files directly, which would circumvent the need to duplicate files from these respositories. The files in this repository are needed as input for data-generation and the source code of Metabolic Atlas.
This repository relies on Git LFS. It is recommended that Git LFS is installed before cloning this repository. The svg
and zip
files are stored with Git LFS.
For adding new a data source for data overlay, please refer to this guide.
The original licenses apply, as per the original repositories:
For the rest of the files, or in case of uncertainty, send an email to contact[at]metabolicatlas.org.
This document provides some instructions about how to update models manually. Since the format and content of the model files, such as the metaData
section and subsystem entries, are not completely clear for models provided at SysBioChalmers, a fully automated method to update all integrated models to the latest version is not available yet.
It is strongly recommended to update one model a time.
-
Get a list of the models that can be updated
Install required Python packages by
pip install -r ./utils/requirements.txt
and then run
python ./utils/fetch_release_data.py -s
The above command will output a list of models that can be updated, e.g.:
Yeast-GEM can be updated: 8.4.2 => 8.6.0 Human-GEM can be updated: 1.10.0 => 1.11.0 Mouse-GEM can be updated: 1.2.0 => 1.3.0 Rat-GEM can be updated: 1.2.0 => 1.3.0 Zebrafish-GEM can be updated: 1.1.0 => 1.2.0 Fruitfly-GEM can be updated: 1.1.0 => 1.2.0 Worm-GEM can be updated: 1.1.0 => 1.3.0
-
Select a target model.
-
Clone the target model from SysBioChalmers.
-
Check out the latest version.
-
Copy the YAML file and all TSV files (inside the subfolder
model
) to the folderintegrated-models/xyz-GEM
in the repodata-files
, wherexyz-GEM
stands for the name of the target model. Note that forYeast-GEM
, you should renameyeast-GEM.yml
toyeastGEM.yml
after copying.For example you may run the following command for the Human-GEM model while you are at
data-files/integrated-models
:rsync -av ../../Human-GEM/model/*.yml ../../Human-GEM/model/*.tsv Human-GEM
-
Modify or add the entities for
short_name
,date
, andversion
if they are missing or not with the desired format. Theshort_name
should be in the formatFruitfly-GEM
, that is, with a-
to separate the species name and the termGEM
; and the first letter of the species should be capitalized. -
Update the entries
version
anddate
in the fileintegrated-models/integratedModels.json
for the target model. Make sure theversion
and thedate
in the JSON file match the values in the YAML file. -
Run
./generate
in the repodata-generation
. If there are any error messages, fix the model files according to the message. Repeat until no error message is shown with data generation. -
Re-build and re-deploy the stack locally. Then run the test by
ma-exec api yarn test
and play around with the web pages. If there are any abnormal behaviors found, try to solve it. Note that a few failed tests are expected since some of the components might be removed in the updated models. -
Check if all custom maps work as expected, especially for the Yeast-GEM. If not, some of the custom maps might be integrated in the model files already. If this is the case, modify accordingly.
-
If everything works as expected, commit the changes and work on the next model.
Finally, update the timeline of model history by
```
python ./utils/fetch_release_data.py
```