== Create a micelle == In this example, we will create a two micelle-like structures out of a single molecule in ''tensid.data''. === First Micelle === First, we will specify an empty '''TREMOLO''' data file (''-i test.data''), we give '''PDB''' and '''TREMOLO''' as output formats (''-o pdb tremolo''). Then we first parse the potentials file (''--parse-tremolo-potentials tensid.potentials''), then load the tenside molecule (''-l tensid.data''). ^(Note: The potentials file gives us information about which type represents which element, e.g. HLA2 actually means hydrogen or H. So, this part of the command is only necessary if your Type column in tensid.data does not contain valid element symbols.)^ We select the tensid molecule by its name, which is automatically set to from the filename (''--select-molecule-by-name tensid''). And then we call the !CreateMicelleAction with the following parameters (''--create-micelle 200 --position "0,0,0" --radius 10''): * 200 points on the surface of the sphere equals 200 resulting tenside molecules (MoleCuilder will state 400 because the ionic compound is regarded as a distinct molecule) * The sphere is centered at (0,0,0) * The radius of the sphere is 10 (Angstroem). {{{ ~/workspace_C/molecuilder/debug64/src/molecuilder -v 3 -i test.data -o pdb tremolo --parse-tremolo-potentials tensid.potentials -l tensid.data --select-molecule-by-name tensid --create-micelle 200 --position "0,0,0" --radius 10 }}} === Second Micelle === The second call is as follows: {{{ ~/workspace_C/molecuilder/debug64/src/molecuilder -v 3 -i test.data -o pdb tremolo --parse-tremolo-potentials -l tensid.data --select-molecule-by-name tensid --create-micelle 200 --position "100,0,0" --radius 10 }}} You notice that this is very similar to the first one. The only difference is the position is no (100,0,0) and not at (0,0,0), as we do not want to create the second micelle on top of the first but same space apart. === Filling empty space with water molecules === Now, we run into a basic problem of the '''PDB''' format. The atomic ids only go up to 99999, i.e. 5 digits. Filling the void space with water however will result in roughly 400.000 atoms. Hence, we set the output format to '''XYZ''' (''-o xyz'') instead. First, we have to specify a domain that we fill. Therefore, we now call !AddEmptyBoundaryAction (''--boundary "20,20,20"'') which causes every atom to be last 20 Angstroem away from the boundary. Then, all is set for calling !FillVoidWithMoleculeAction (''--fill-void water.xyz --!MaxDistance -1 --distances "3.1, 3.1, 3.1" --lengths "2.1, 0., 0." --!DoRotate 0'') with the following parameters: * The water molecule (the ''filler'') is obtained from parsing ''water.xyz'' * There is no maximum distance given (e.g. to some surface) * The distances in between the water molecules is 3.1 Angstroem, relating to a density of 1g/cm^3^ (try to calculate with '''units''' yourself). * The lengths here are: 2.1 Angstroem distance to every other already present atom found. The two remaining numbers are for randomizing atomic and molecule's central position. * Finally, we do not rotate randomly the water molecule. {{{ ~/workspace_C/molecuilder/debug64/src/molecuilder -v 1 --parse-tremolo-potentials -i test.data -o xyz --boundary "20,20,20" --fill-void water.xyz --MaxDistance -1 --distances "3.1, 3.1, 3.1" --lengths "2.1, 0., 0." --DoRotate 0 }}} The final outcome can be seen in '''vmd''' in ''test.xyz''.