Skip to main content
Fig. 1 | BMC Bioinformatics

Fig. 1

From: The metabolomics workbench file status website: a metadata repository promoting FAIR principles of metabolomics data

Fig. 1

Flowchart of Build Process for Updating the Metabolomics Workbench File Status Website. A single bash script containing all the required commands to update the MetabolomicsWB File Status website is run on a QEMU/KVM virtual machine hosted on a Linux server to update the MetabolomicsWB File Status website. The script first creates a virtual environment and then executes multiple commands to download, generate, and push all the required files to a GitHub repository and relies on functions from the mwtab and mwFileStatusWebsite Python3 packages. The GitHub repository then performs building and deployment actions to update the GitHub.io based website. The first command executed is the “mwFileStatusWebsite validate” command which involves using the ~ mwtab.mwrest._pull_study_analysis() function to pull down and save each available metabolomics dataset from the Metabolomics Workbench data repository hosted by the UC San Diego Supercomputer Center. The data files are saved locally in both their mwTab (plain text) and JavaScript Object Notation (JSON) formats. Next the ~ mwtab.read_files() function is used to convert the local files into ~ mwtab.MWTabFile objects. The objects are then used by the ~ mwtab.validate_file() and ~ mwFileStatusWebsite.compare.compare() functions to generate the needed validation and comparison log files. Next, the “mwFileStatusWebsite generate” command uses the validation and comparison data, along with structured HTML templates, to form the updated HTML pages of the website. This is accomplished by using the ~ mwFileStatusWebsite.constructor.create_html() function. Next, the bash script uses git to add all the changed validation logs, comparison logs, and updated HTML pages before being committed and pushed to the remote repository hosted on GitHub. Upon being pushed, the remote GitHub repository uses GitHub’s cloud resources to trigger an action to build and deploy the updated HTML pages to the GitHub Pages hosting. The bash script finishes by deleting temporary files and the virtual environment used

Back to article page