Adding new molecule
First, please do not hesitate to ask assistance via [BilayerData GitHub issues](https://github.com/NMRlipids/BilayerData/issues).
If you are adding data into the databank and your molecule(s) YOURMOL do not exist,
you need to create a new one by adding a folder membrane/YOURMOL/
inside NMLDB_MOL_PATH
folder.
When contributing to the standard NMRlipids Data repository, BilayerData, you are adding into Molecules/membrane
folder.
The folder should contain at least two files: metadata file metadata.yaml
and mapping file yourmol-forcefieldname-mapping.yaml
(this name is arbitrary, but you should make it clear).
./
├── Simulations/
├── experiments/
├── info_files/
├── lipid_json_buildH/
├── Ranking/
└── Molecules/
└── membrane/
└── YOURMOL/
├── yourmol-forcefield2-mapping.yaml
└── metadata.yaml
Metadata file creation
Please provide metadata about the molecule in a metadata.yaml
in the same subfolder of Molecules/membrane/YOURMOLECULE
.
You can find the template in Molecules/metadata-example.yaml.
TODO: metadata-example doesn’t exist!
The recommended workflow is to start from the InChI.
You can obtain the InChI and InChIKey for your molecule via different methods.
One possiblity is to use a PDB snapshot of your trajectory (extracted by GROMACS, VMD, MDAnalysis …) and to add connectivty using RDkit or gromologist and convert a single molecule to InChI via RDkit or OpenBabel.
We use the neutral form of the molecule. Please indicate the charge of the molecule in your metadata.yaml
under charge:.
Please ensure that the InChI represents your molecule. The named tools might deliver imperfect results. Provided your molecule is not fully synthetic or novel, you can obtain most of the other metadata from the PubChem API and the UniChem API using the InChIKey. Mapping especially to LIPID MAPS and SwissLipids might be incomplete in some cases and can be completed manually.
Mapping file creation
The easiest way is to take similar already existing mapping file and modify that. If atoms in a lipid belong to different residues, which is typical situation in Amber force fields, for example see here, add the residue name to RESIDUE key of each atom in the mapping file. In this case, give the name of the head group residue in the COMPOSITION dictionary in the README.yaml file.
The mapping file should contain all the atoms of the molecules.
Specific cases: - TODO: mapping for UA