.. _addData: 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 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 :ref:`readmecontent` and `examples `_. Mapping files are described in :ref:`molecule_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 run .. code-block:: bash python3 AddData.py -f {path to the info.yaml file that you created} -w {working-directory} For available command line arguments, you can run .. code-block:: bash 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 created ``README.yaml`` file into the git. #. To perform basic analyses for the added system(s), go to `Databank/Scripts/AnalyzeDatabank/ `_ folder and run .. code-block:: bash ./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 running .. code-block:: bash git 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 the ``EXPERIMENT`` dictionary into the ``README.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 the ``QualityEvaluation.py`` .. code-block:: bash python searchDATABANK.py python QualityEvaluation.py The resulting qualities can be then added into the git by running .. code-block:: bash 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 .. code-block:: bash python makeRanking.py #. Finally, commit the added data into your fork and make a pull request into the main branch. Check :doc:`AddData` for details.