Adding simulations into the NMRlipids databank
Stepwise instructions to add simulation into the NMRlipids databank, run the basic analyses and perform automatic quality evaluation are given here. The first three steps are a minimum requirements to add a simulation. The first three steps can be performed using graphical GitHub interface. To run the basic analyses and quality evaluation from steps 4 forward, you need to create a local fork of the NMRlipids databank git.
Add trajectory and topology (tpr for Gromacs, pdb or corresponding to other programs) file into a Zenodo repository. If you want to use other repository than Zenodo, please do not hesitate to open an GitHub issue on this.
Create an
info.yaml
file containing the essential information on your simulation by filling the template. For instructions, see User input and content of README.yaml files and examples. Mapping files are described in Universal molecule and atom names and are available from here .Save the created
info.yaml
file into a new directory with the next free integer into Scripts/BuildDatabank/info_files/ folder in the NMRlipids databank git and make a pull request to the main branch. You can stop here or continue to create `README.yaml` file in step 4.Before continuing, clone a repo on your computer and perform the following steps locally before making a pull request to the main branch. To create the
README.yaml
file for the databank, return to the Databank/Scripts/BuildDatabank/ folder in the NMRlipids databank git and runpython3 AddData.py -f {path to the info.yaml file that you created}
For available command line arguments, you can run
python3 AddData.py --help
After this is finished, you should see a new folder in Data/simulations which contains the
README.yaml
file of your system. Commit the createdREADME.yaml
file into the git.To perform basic analyses for the added system(s), go to Databank/Scripts/AnalyzeDatabank/ folder and run
./calcProperties.sh
After this, you should see the results in the same folder where
README.yaml
is located. The results can be added into the get by runninggit add ../../Data/Simulations/*/*/*/*/apl.json git add ../../Data/Simulations/*/*/*/*/*OrderParameters.json git add ../../Data/Simulations/*/*/*/*/FormFactor.json git add ../../Data/Simulations/*/*/*/*/TotalDensity.json git add ../../Data/Simulations/*/*/*/*/thickness.json git add ../../Data/Simulations/*/*/*/*/eq_times.json
For the quality evaluation against experiments, the simulation needs to be first connected to the corresponding experimental data (if available) by running
searchDATABANK.py
in Scripts/BuildDatabank folder. This will add theEXPERIMENT
dictionary into theREADME.yaml
files. This dictionary defines the location of related experimental data in Data/experiments folder. Then the quality evaluation can be then done by running theQualityEvaluation.py
python searchDATABANK.py python QualityEvaluation.py
The resulting qualities can be then added into the git by running
git add ../../Data/Simulations/*/*/*/*/README.yaml git add ../../Data/Simulations/*/*/*/*/*OrderParameters_quality.json git add ../../Data/Simulations/*/*/*/*/FormFactorQuality.json git add ../../Data/Simulations/*/*/*/*/*FragmentQuality.json git add ../../Data/Simulations/*/*/*/*/SYSTEM_quality.json
To create rankings of simulations based on their quality against experiments and to store the results in folder Data/Ranking, run
python makeRanking.py
Finally, commit the added data into your fork and make a pull request into the main branch.