Adding simulations

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 BilayerData git. Remember that data is plugged to the main Databank repo as a submodule.

  1. 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.

  2. Create an info.yaml file containing the essential information on your simulation by filling the template (TODO: LINK DOESN’T WORK). For instructions, see readmecontent and examples. Mapping files are described in Universal molecule and atom names and are located in the Molecule record inside the folder of corresponding molecule.

  3. You can store the created info.yaml file somewhere inside ./info_files/ folder in the BilayerData git and make a pull request to the main branch. You can stop here or continue to create `README.yaml` file in step 4.

  4. Before continuing, make sure that your Data submodule is switched to your own fork. To create the README.yaml file for the databank you should run AddData script on your info-file:

    path-to/AddData.py -f {path to the info.yaml file that you created} -w {working-directory}
    

    After this is finished, you should see a new folder in ./simulations which contains the README.yaml file of your system. Commit the created README.yaml file into the git.

    git add Simulations/**/README.yaml
    
  5. To perform basic analyses for the added system(s) you should run Recompute-Databank Script with the following keys:

    path-to/compute_databank.py --apl --nmrpca --ff --thickness \
       --OP --range *-0
    

    By default, your new-created system gets ID -1, -2, etc, so we run recomputing only on range from -inf to 0. After this, you should see the results in the same folder where README.yaml is located. The results files should be staged by running

    git add Simulations/**/*.json
    
  6. For the quality evaluation against experiments, the simulation needs to be first connected to the corresponding experimental data (if available) by running searchDATABANK script. This will add the EXPERIMENT dictionary into the README.yaml files. This dictionary defines the location of related experimental data in ./experiments folder. Then the quality evaluation can be then done by running QualityEvaluation script:

    path-to/searchDATABANK.py
    path-to/QualityEvaluation.py
    

    The resulting qualities can be then added into the git by running

    git add Simulations/**/README.yaml
    git add Simulations/**/*.json
    

    To create rankings of simulations based on their quality against experiments and to store the results in folder Data/Ranking, run

    path-to/makeRanking.py
    git add Ranking/*.json
    
  7. Finally, commit the added data into your fork and make a pull request into the main branch.