-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Daniel Jacob
committed
Oct 27, 2024
0 parents
commit d9e3e98
Showing
147 changed files
with
4,357 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
name: ci | ||
on: | ||
push: | ||
branches: | ||
- docs | ||
permissions: | ||
contents: write | ||
jobs: | ||
deploy: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.x | ||
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV | ||
- uses: actions/cache@v3 | ||
with: | ||
key: mkdocs-material-${{ env.cache_id }} | ||
path: .cache | ||
restore-keys: | | ||
mkdocs-material- | ||
- run: pip install mkdocs | ||
- run: pip install mkdocs-material | ||
- run: pip install mkdocs-material-extensions | ||
- run: pip install mkdocs-macros-plugin | ||
- run: pip install mkdocs-markdownextradata-plugin | ||
- run: pip install mkdocs-bootswatch | ||
- run: pip install mkdocs-pdf-with-js-plugin | ||
- run: pip install mkdocs-section-index | ||
- run: pip install mkdocs-tooltips | ||
- run: pip install mkdocs-with-pdf | ||
- run: pip install mkdocs-print-site-plugin | ||
- run: pip install pymdown-extensions | ||
- run: mkdocs gh-deploy --force |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
### Documentation of the Maggot web application | ||
|
||
* generated with MkDocs - Material | ||
* using GitHub Actions for automating the deployment | ||
* site pages : gh-pages branch | ||
|
||
|
||
Site web : https://djacob65.github.io/maggot-mkdocs/ | ||
|
||
------ | ||
|
||
### Funded by: | ||
|
||
* INRAE UMR 1332 BFP, Biologie du Fruit & Pathologie | ||
|
||
### License | ||
|
||
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - See the included LICENSE file. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
--- | ||
title: Maggot - About | ||
summary: | ||
authors: | ||
- Daniel Jacob | ||
date: 2023-10-09 | ||
some_url: | ||
--- | ||
|
||
# About | ||
|
||
<style>.md-typeset h1 {display: none;} .md-nav__item {font-size: medium}</style> | ||
|
||
### Background | ||
|
||
#### Motives | ||
|
||
* Meet the challenges of organizing, documenting, storing and sharing data from a site, a project or a structure (unit, platform, etc.). | ||
* Have visibility of what is produced within the collective: datasets, software, databases, images, sounds, videos, analyses, codes, etc. | ||
* Fall within an open science quality approach for sharing and reproducibility. | ||
* Promote FAIR (at least the Findable & Accessible criteria) within the collective. | ||
* Raise awareness among newcomers and students about a better description of what they produce. | ||
|
||
#### State of need | ||
|
||
* Implementing a data management plan imposes prerequisites such as the externalization of data to be preserved outside of users' disk space. This does not only concern published data but all data produced during the duration of a project. Above all, this outsourcing makes it possible to gather the data in one place and already constitutes a first-level backup. This becomes even more necessary when temporary agents (doctoral students, post-docs, interns, fixed-term contracts) are involved in data production. | ||
* Consequently, the concern arises about the organization of these storage spaces. Should they be harmonized, i.e. impose good practices such as _i_) the naming of folders and files, _ii_) a folder structure (docs, data, scripts, etc.), _iii_) the use of README files, etc. | ||
* At a minimum, using a README file seems the simplest and least restrictive. But then the question arises “what to put in it”? Templates can be offered to simplify their writing. But then the question arises of how to use them effectively when we want to find information? With what vocabulary? | ||
|
||
#### Proposed approach | ||
|
||
* The two main ideas behind the tool are: | ||
* Make the data storage space a data repository without having to move the data, then ensure that the metadata gets to the data. | ||
* Be able to “capture” the user’s metadata as easily as possible by using their vocabulary. | ||
* Concerning the first idea: "Just" place a metadata file (JSON format) describing the project data in each subdirectory, and then find the projects and/or data corresponding to specific criteria. The choice fell on the JSON format, very suitable for describing metadata, readable by both humans and machines. | ||
* Concerning the second idea: Given the diversity of the fields, the approach chosen is to be both the most flexible and the most pragmatic possible by allowing users to choose their own vocabulary (controlled or not) corresponding to the reality of their field and their activities. However, a good approach is as much as possible to use only controlled vocabulary, that is to say relevant and sufficient vocabulary used as a reference in the field concerned to allow users to describe a project and its context without having to add additional terms. To this end, the tool must allow users a progressive approach towards the adoption of standardized controlled vocabularies (thesauri or even ontologies). | ||
|
||
* With the approach proposed by Maggot, initially there is no question of opening the data, but of managing metadata associated with the data on a storage space with a precise perimeter represented by the collective (unit, team, project , platform, …). The main characteristic of the tool is, above all, to “capture” the metadata as easily as possible according to a well-chosen metadata schema. However, the opening of data via their metadata must be a clearly stated objective within the framework of projects financed by public institutions (e.g Europe). Therefore if you have taken care to correctly define your metadata schema so that it is possible to make a [metadata crosswalk](../chats/chat4){:target="_blank"} (using a mapping file) with a data repository recognized by the international community, then you can easily "push" its metadata with the data without having re-enter anything. | ||
|
||
--- | ||
|
||
### Links | ||
|
||
* **Source code on Github** : [inrae/pgd-mmdt][10]{:target="_blank"} | ||
* **Issues tracker** : [inrae/pgd-mmdt/issues][16]{:target="_blank"} | ||
* **Instance online** : [INRAE UMR 1322 BFP][11]{:target="_blank"} | ||
|
||
### Preprint | ||
|
||
* D. Jacob, F. Ehrenmann, R. David, J. Tran, C. Mirande-Ney, P. Chaumeil (2024) Maggot: An ecosystem for sharing metadata within the web of FAIR Data, BioRxiv, [DOI:10.1101/2024.05.24.595703](https://www.biorxiv.org/content/10.1101/2024.05.24.595703v1.full){:target="_blank"} | ||
|
||
|
||
### Contacts | ||
|
||
* Daniel Jacob ([INRAE UMR BFP][2]{:target="_blank"}) : [daniel.jacob @ inrae.fr][17]{:target="_blank"} | ||
|
||
### Designers / Developers | ||
|
||
* Daniel Jacob ([INRAE UMR BFP][2]{:target="_blank"}) | CATI [PROSODIe][4]{:target="_blank"} | ||
|
||
* François Ehrenmann ([INRAE UMR BioGECO][1]{:target="_blank"}) | CATI [GEDEOP][5]{:target="_blank"} | ||
|
||
* Philippe Chaumeil ([INRAE UMR BioGECO][1]{:target="_blank"}) | ||
|
||
|
||
### Contributors | ||
|
||
* Edouard Guitton ([INRAE Dept. SA][6]{:target="_blank"}, [Emerg'IN][3]{:target="_blank"}) | ||
|
||
* Stéphane Bernillon ([INRAE UR MycSA][14]{:target="_blank"}) | ||
|
||
* Joseph TRAN ([INRAE UMR EGFV][12]{:target="_blank"}) | CATI [BARIC][13]{:target="_blank"} | ||
|
||
*[JSON]: JavaScript Object Notation : format used to represent structured information | ||
*[autocompletion]: feature in which an application predicts the rest of a word a user is typing | ||
*[FAIR]: Findable, Accessible, Interoperable and Reusable | ||
|
||
[1]: https://www6.bordeaux-aquitaine.inrae.fr/biogeco_eng/ | ||
[2]: https://eng-bfp.bordeaux-aquitaine.hub.inrae.fr/ | ||
[3]: https://www.emergin.fr/emergin_eng/ | ||
[4]: https://prosodie.cati.inrae.fr/ | ||
[5]: https://gedeop.cati.inrae.fr/ | ||
[6]: https://www.inrae.fr/en/divisions/sa | ||
[7]: https://nextcloud.inrae.fr/s/HxEWSybeBW8rzke | ||
[8]: https://recherche.data.gouv.fr/en | ||
[9]: https://nextcloud.inrae.fr/s/iLHQYoAZp2i6ij7 | ||
|
||
[10]: https://github.com/inrae/pgd-mmdt | ||
[11]: https://pmb-bordeaux.fr/maggot/ | ||
|
||
[12]: https://eng-egfv.bordeaux-aquitaine.hub.inrae.fr/ | ||
[13]: https://www.cesgo.org/catibaric/ | ||
[14]: https://eng-mycsa.bordeaux-aquitaine.hub.inrae.fr/ | ||
|
||
<!-- https://www.google.com/search?q=metadata+crosswalk+definition&oq=metadata+crosswalk --> | ||
|
||
[16]: https://github.com/inrae/pgd-mmdt/issues | ||
[17]: https://orcid.org/0000-0002-6687-7169 | ||
|
||
<br><br> | ||
|
||
<center> | ||
<a href="../images/LogoCloud.png" data-lightbox="fig1"><img src="../images/LogoCloud.png" width="800px"></a> | ||
</center> | ||
|
||
<br><br> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
--- | ||
title: Maggot - Enable AVX | ||
summary: | ||
authors: | ||
- Daniel Jacob | ||
date: 2023-10-09 | ||
some_url: | ||
--- | ||
|
||
# Enable AVX | ||
|
||
<style>.md-typeset h1 {display: none;} .md-nav__item {font-size: medium}</style> | ||
|
||
<style>.md-typeset table:not([class]) th { | ||
background-color: var(--md-default-fg-color--light); | ||
color: var(--md-default-bg-color); min-width: 5rem; padding: 0.9375em 1.25em; vertical-align: top;}</style> | ||
|
||
### Enable AVX in VirtualBox under Windows 11 | ||
|
||
From MongoDB version 5.0 and higher, your guest machine must support [AVX][1]{:target="_blank"}. To enable AVX on virtual machines in VirtualBox under Windows 11, you must disable [Hyper-V][2]{:target="_blank"}. Which is not obvious because usually trying to disable Hyper-V by unchecking the "Windows Features" boxes often does not completely disable Hyper-V. | ||
|
||
To turn Hyper-V off completely, see this post : [HMR3Init: Attempting fall back to NEM (Hyper-V is active)][4]{:target="_blank"} | ||
|
||
|
||
To know if your Linux virtual machine supports AVX, run the command ```cat /proc/cpuinfo``` , then check that in the 'flags', you have 'avx' and 'avx2'. | ||
|
||
|
||
#### Summary of the steps to follow (You must have administrator rights) | ||
|
||
* cmd window: | ||
|
||
```bcdedit /set hypervisorlaunchtype off``` | ||
|
||
* Regedit: | ||
|
||
```Computer\HKEY_local_machine\system\CurrentControlSet\Control\DeviceGuard\EnableVirtualizationBaseSecurity <- 0``` | ||
|
||
```Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\SystemGuard <- 0``` | ||
|
||
* Rebooted the host machine (i.e. Windows) | ||
|
||
|
||
* Then, you need to enable AVX for the corresponding virtual machine ("Maggot VM") | ||
|
||
``` | ||
VBoxManage.exe setextradata <Maggot VM> VBoxInternal/CPUM/IsaExts/AVX 1 | ||
VBoxManage.exe setextradata <Maggot VM> VBoxInternal/CPUM/IsaExts/AVX2 1 | ||
``` | ||
[1]: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions | ||
[2]: https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/about/ | ||
[3]: https://forums.virtualbox.org/viewtopic.php?t=109776 | ||
[4]: https://forums.virtualbox.org/viewtopic.php?f=25&t=99390 | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
title: Maggot - Bloxberg Blockchain | ||
summary: | ||
authors: | ||
- Daniel Jacob | ||
date: 2023-10-09 | ||
some_url: | ||
--- | ||
|
||
# Bloxberg Blockchain | ||
|
||
<style>.md-typeset h1 {display: none;} .md-nav__item {font-size: medium}</style> | ||
|
||
### EXPERIMENTAL - Certification of metadata file on the bloxberg blockchain | ||
|
||
#### Motivation | ||
|
||
To guarantee the authenticity and integrity of a metadata file by recording it permanently and immutably on the [bloxberg blockchain][1]{:target="_blank"}. | ||
|
||
Indeed, the [blockchain][2]{:target="_blank"} is a technology that makes it possible to keep track of a set of transactions (writings in the blockchain), in a decentralized, secure and transparent manner, in the form of a blockchain. A blockchain can therefore be compared to a large (public or private) unfalsifiable register. Blockchain is today used in many fields because it provides solutions to many problems. For example in the field of Higher Education and Research, registration of dataset metadata in the blockchain, makes possible in this way to certify, in an inalienable, irrefutable and completely transparent manner, the ownership and authenticity of the data as well as for example, the license of use and the date of production of the data. Research stakeholders are then more open to the dissemination of their data (files, results, protocols, publications, etc.) since they know that, in particular, the ownership, content and conditions of use of the data cannot not be altered. | ||
|
||
The Maggot tool could thus serve as a gateway to certify its data with the associated metadata. The complete process is schematized by the following figure: | ||
|
||
<center> | ||
<a href="../images/maggot_bloxberg.png" data-lightbox="fig0"><img src="../images/maggot_bloxberg.png" width="800px"></a> | ||
</center> | ||
|
||
#### About bloxberg | ||
|
||
[bloxberg][1]{:target="_blank"} is the most important [blockchain][2]{:target="_blank"} project in science. It was founded in 2019 by [MPDL][4]{:target="_blank"} , looking for a way to store research results and make them available to other researchers. In this sense, bloxberg is a decentralized register in which results can be stored in a tamper-proof way with a time stamp and an identifier. | ||
|
||
bloxberg is based on the [Ethereum Blockchain][3]{:target="_blank"}. However, it makes use of a different consensus mechanism: instead of “[Proof of Stake][9]{:target="_blank"}” used by Ethereum since 2022, bloxberg validates blocks through “[Proof of Authority][10]{:target="_blank"}”. Each node is operated by one member. All members of the association are research institutions and are known in the network. Currently, bloxberg has [49 nodes][12]{:target="_blank"}. It is an international project with participating institutions from all over the world. | ||
|
||
#### How to process ? | ||
|
||
You will need a [Ethereum address][5]{:target="_blank"} and an API key (must be requested via bloxberg-services (at) mpdl.mpg.de). See an [example of pushing][11]{:target="_blank"} a metadata file to the bloxberg blockchain using Maggot. | ||
|
||
<br> | ||
|
||
#### Useful links | ||
|
||
* [Bloxberg Documentation][6]{:target="_blank"} | ||
* [Blockexplorer][8]{:target="_blank"} | ||
* [Blockchain ESR][7]{:target="_blank"} (France) | ||
|
||
<br><br><br> | ||
|
||
|
||
[1]: https://bloxberg.org/ | ||
[2]: https://en.wikipedia.org/wiki/Blockchain | ||
[3]: https://en.wikipedia.org/wiki/Ethereum | ||
[4]: https://www.mpdl.mpg.de/en/ | ||
[5]: https://info.etherscan.com/what-is-an-ethereum-address/ | ||
[6]: https://bloxberg.org/developers-hut/documentation/ | ||
[7]: https://forgemia.inra.fr/cedric.goby/blockchain-esr | ||
[8]: https://blockexplorer.bloxberg.org/ | ||
[9]: https://en.wikipedia.org/wiki/Proof_of_stake | ||
[10]: https://en.wikipedia.org/wiki/Proof_of_authority | ||
[11]: https://inrae.github.io/pgd-mmdt/pdf/MAGGOT_Tests_Push_bloxberg_Nov2023.pdf?download=false | ||
[12]: https://bloxberg.org/organization/ |
Oops, something went wrong.