Adding simulations

Stepwise instructions to add simulation into the FAIRMD Lipids, 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.

  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 info template. For instructions, see Simulation metadata (README.yaml) 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 BilayerData repository is switched to your own fork. To create the README.yaml file for the databank you should run fmdl_add_simulation on your info-file:

    fmdl_add_simulation -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 fmdl_compute_databank with the following keys:

    fmdl_compute_databank --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 fmdl_match_experiments. 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 fmdl_evaluate_quality:

    fmdl_match_experiments fmdl_evaluate_quality
    

    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 (see fmdl_make_ranking) and to store the results in folder Ranking, run

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