{"id":2442,"date":"2023-09-19T16:47:00","date_gmt":"2023-09-19T20:47:00","guid":{"rendered":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/?page_id=2442"},"modified":"2025-09-30T21:25:55","modified_gmt":"2025-10-01T01:25:55","slug":"manual","status":"publish","type":"page","link":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/resources\/gamd\/manual\/","title":{"rendered":"GaMD-Amber: Manual"},"content":{"rendered":"<p class=\"lead\"><a href=\"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-content\/uploads\/sites\/1385\/2023\/09\/GaMD_Amber-manual.pdf\">Download a PDF Manual of the latest GaMD, LiGaMD, Pep-GaMD and PPI-GaMD in Amber.<\/a><\/p>\n<h2 class=\"subtitle\" align=\"left\"><strong>GaMD Algorithm<\/strong><\/h2>\n<p class=\"body\" align=\"center\"><a href=\"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-content\/uploads\/sites\/1385\/2023\/09\/gamd_scheme-stages-opt.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-2446\" src=\"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-content\/uploads\/sites\/1385\/2023\/09\/gamd_scheme-stages-opt.jpg\" alt=\"GaMD scheme stages. Credit: Yinglong Miao and Clarrise Ricci\" width=\"100%\" srcset=\"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-content\/uploads\/sites\/1385\/2023\/09\/gamd_scheme-stages-opt.jpg 1200w, https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-content\/uploads\/sites\/1385\/2023\/09\/gamd_scheme-stages-opt-300x129.jpg 300w, https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-content\/uploads\/sites\/1385\/2023\/09\/gamd_scheme-stages-opt-1024x441.jpg 1024w, https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-content\/uploads\/sites\/1385\/2023\/09\/gamd_scheme-stages-opt-768x331.jpg 768w, https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-content\/uploads\/sites\/1385\/2023\/09\/gamd_scheme-stages-opt-600x259.jpg 600w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a><\/p>\n<div class=\"subtitle\" align=\"center\">Credit: Yinglong Miao and Clarisse Ricci<\/div>\n<p>&nbsp;<\/p>\n<p class=\"body\" align=\"left\">GaMD {<br \/>\nIf (irest_gamd == 0) then<br \/>\nFor i = 1, \u2026, ntcmd \/\/ run initial conventional molecular dynamics<br \/>\nIf (i &gt;= ntcmdprep) Update Vmax, Vmin<br \/>\nIf (i &gt;= ntcmdprep &amp;&amp; i%ntave ==0) Update Vavg, sigmaV<br \/>\nEnd<br \/>\nSave Vmax,Vmin,Vavg,sigmaV to \u201cgamd_restart.dat\u201d file<br \/>\nCalc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV)<\/p>\n<p class=\"body\">For i = ntcmd+1, \u2026, ntcmd+nteb \/\/ Run GaMD equilibration simulation steps<br \/>\ndeltaV = 0.5*k0*(E-V)**2\/(Vmax-Vmin)<br \/>\nV = V + deltaV<br \/>\nIf (i &gt;= ntcmd+ntebprep) Update Vmax, Vmin<br \/>\nIf (i &gt;= ntcmd+ntebprep &amp;&amp; i%ntave ==0) Update Vavg, sigmaV<br \/>\nCalc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV)<br \/>\nEnd<br \/>\nSave Vmax,Vmin,Vavg,sigmaV to \u201cgamd_restart.dat\u201d file<br \/>\nelse if (irest_gamd == 1) then<br \/>\nRead Vmax,Vmin,Vavg,sigmaV from \u201cgamd_restart.dat\u201d file<br \/>\nEnd if<\/p>\n<p>For i = ntcmd+nteb+1, \u2026, nstlim \/\/ run GaMD production simulation<br \/>\ndeltaV = 0.5*k0*(E-V)**2\/(Vmax-Vmin)<br \/>\nV = V + deltaV<br \/>\nEnd<br \/>\n}<\/p>\n<p class=\"body\">Subroutine Calc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV) {<br \/>\nif iE = 1 :<br \/>\nE = Vmax<br \/>\nk0\u2019 = (sigma0\/sigmaV) * (Vmax-Vmin)\/(Vmax-Vavg)<br \/>\nk0 = min(1.0, k0\u2019)<br \/>\nelse if iE = 2 :<br \/>\nk0\u201d = (1-sigma0\/sigmaV) * (Vmax-Vmin)\/(Vavg-Vmin)<br \/>\nif 0 &lt; k0\u201d &lt;= 1 :<br \/>\nk0 = k0\u201d<br \/>\nE = Vmin + (Vmax-Vmin)\/k0<br \/>\nelse<br \/>\nE = Vmax<br \/>\nk0\u2019 = (sigma0\/sigmaV) * (Vmax-Vmin)\/(Vmax-Vavg)<br \/>\nk0 = min(1.0, k0\u2019)<br \/>\nend<br \/>\nend<br \/>\n}<\/p>\n<h2 class=\"subtitle\" align=\"left\"><strong>LiGaMD Algorithm<\/strong><\/h2>\n<p class=\"body\" align=\"left\">LiGaMD {<br \/>\nIf (irest_gamd == 0) then<br \/>\nFor i = 1, \u2026, ntcmd \/\/ run initial conventional molecular dynamics<br \/>\nIf (i &gt;= ntcmdprep) Update Vmax, Vmin<br \/>\nIf (i &gt;= ntcmdprep &amp;&amp; i%ntave ==0) Update Vavg, sigmaV<br \/>\nEnd<br \/>\nSave Vmax,Vmin,Vavg,sigmaV to \u201cgamd_restart.dat\u201d file<br \/>\nCalc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV)<\/p>\n<p class=\"body\" align=\"left\">For i = ntcmd+1, \u2026, ntcmd+nteb \/\/ Run biasing molecular dynamics simulation steps<br \/>\ndeltaV = 0.5*k0*(E-V)**2\/(Vmax-Vmin)<br \/>\nV = V + deltaV<br \/>\nIf (i &gt;= ntcmd+ntebprep) Update Vmax, Vmin<br \/>\nIf (i &gt;= ntcmd+ntebprep &amp;&amp; i%ntave ==0) Update Vavg, sigmaV<\/p>\n<p>Calc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV)<br \/>\nEnd<br \/>\nSave Vmax,Vmin,Vavg,sigmaV to \u201cgamd_restart.dat\u201d file<br \/>\nelse if (irest_gamd == 1)<br \/>\nthen<br \/>\nRead Vmax,Vmin,Vavg, sigmaV from \u201cgamd_restart.dat\u201d file<br \/>\nEnd if<\/p>\n<p>ntwin = ntmsd+nftau*ntwx<br \/>\nlig0=1 \/\/ ID of the bound ligand<\/p>\n<p class=\"body\" align=\"left\">For i = ntcmd+nteb+1, \u2026, nstlim \/\/ run production simulation<br \/>\nIf (ibblig == 1 &amp;&amp; i%ntwx ==0) then \/\/ identify the bound ligand according to the distance to protein<br \/>\nFor ilig = 1, \u2026, nlig<br \/>\ndlig = distance(atom_p, atom_l)<br \/>\nIf (dmin &lt;= dlig) blig_min=ilig; dmin=dlig<br \/>\nEnd<br \/>\nIf (dmin &lt;= dblig) blig=blig_min<br \/>\nelse if (ibblig == 2 &amp;&amp; i%ntwin ==0) then \/\/ identify the bound ligand according to MSD<br \/>\nFor ilig = 1, \u2026, nlig<br \/>\ndlig = msd(atom_l, ntmsd, nftau)<br \/>\nIf (dmin &lt;= dlig) blig_min=ilig; dmin=dlig<br \/>\nEnd<br \/>\nIf (dmin &lt;= dblig) blig=blig_min<br \/>\nEnd if<br \/>\nIf (blig != lig0) Swap atomic coordinates, forces and velocities of ligand <i>blig<\/i> with lig0 for selective higher boost<\/p>\n<p>deltaV = 0.5*k0*(E-V)**2\/(Vmax-Vmin)<br \/>\nV = V + deltaV<br \/>\nEnd<br \/>\n}<\/p>\n<h2 class=\"subtitle\" align=\"left\"><strong>Pep-GaMD Algorithm<\/strong><\/h2>\n<p class=\"body\" align=\"left\">Pep-GaMD {<br \/>\nIf (irest_gamd == 0) then<br \/>\nFor i = 1, \u2026, ntcmd \/\/ run initial conventional molecular dynamics<br \/>\nIf (i &gt;= ntcmdprep) Update Vmax, Vmin<br \/>\nIf (i &gt;= ntcmdprep &amp;&amp; i%ntave ==0) Update Vavg, sigmaV<br \/>\nEnd<br \/>\nSave Vmax,Vmin,Vavg,sigmaV to \u201cgamd_restart.dat\u201d file<br \/>\nCalc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV)<\/p>\n<p class=\"body\" align=\"left\">For i = ntcmd+1, \u2026, ntcmd+nteb \/\/ Run biasing molecular dynamics simulation steps<br \/>\ndeltaV = 0.5*k0*(E-V)**2\/(Vmax-Vmin)<br \/>\nV = V + deltaV<br \/>\nIf (i &gt;= ntcmd+ntebprep) Update Vmax, Vmin<br \/>\nIf (i &gt;= ntcmd+ntebprep &amp;&amp; i%ntave ==0) Update Vavg, sigmaV<\/p>\n<p>Calc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV)<br \/>\nEnd<br \/>\nSave Vmax,Vmin,Vavg,sigmaV to \u201cgamd_restart.dat\u201d file<br \/>\nelse if (irest_gamd == 1)<br \/>\nthen<br \/>\nRead Vmax,Vmin,Vavg,sigmaV from \u201cgamd_restart.dat\u201d file<br \/>\nEnd if<\/p>\n<p>For i = ntcmd+nteb+1, \u2026, nstlim \/\/ run production simulation<br \/>\ndeltaV = 0.5*k0*(E-V)**2\/(Vmax-Vmin)<br \/>\nV = V + deltaV<br \/>\nEnd<br \/>\n}<\/p>\n<h2 class=\"subtitle\" align=\"left\"><strong>PPI-GaMD Algorithm<\/strong><\/h2>\n<p class=\"body\" style=\"line-height: 150%\"><b><span style=\"font-size: 10.0pt;line-height: 150%;color: black\">PPI-GaMD<\/span><\/b><span style=\"font-size: 10.0pt;line-height: 150%;color: black\"> {<br \/>\nIf (irest_gamd == 0) then<br \/>\nFor i = 1, \u2026, ntcmd \/\/ run initial conventional molecular dynamics<br \/>\nIf (i &gt;= ntcmdprep) Update Vmax and Vmin of interaction potential energy<br \/>\nIf (i &gt;= ntcmdprep &amp;&amp; i%ntave ==0) Update Vavg and sigmaV of interaction potential energy<br \/>\nEnd<br \/>\nSave Vmax,Vmin,Vavg,sigmaV of interaction potential energy to \u201cgamd_restart.dat\u201d file<br \/>\nCalc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV)<\/span><\/p>\n<p class=\"body\" style=\"line-height: 150%\"><span style=\"font-size: 10.0pt;line-height: 150%;color: black\">For i = ntcmd+1, \u2026, ntcmd+nteb \/\/ Run biasing molecular dynamics simulation steps<br \/>\ndeltaV = 0.5*k0*(E-V)**2\/(Vmax-Vmin)<br \/>\nV = V + deltaV<br \/>\nIf (i &gt;= ntcmd+ntebprep) Update Vmax and Vmin of interaction potential energy<br \/>\nIf (i &gt;= ntcmd+ntebprep &amp;&amp; i%ntave ==0) Update Vavg and sigmaV of interaction potential energy<br \/>\nCalc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV)<br \/>\nEnd<br \/>\nSave Vmax,Vmin,Vavg and sigmaV of of interaction potential energy to \u201cgamd_restart.dat\u201d file<br \/>\nelse if (irest_gamd == 1) then<br \/>\nRead Vmax,Vmin,Vavg and sigmaV of interaction potential energy from \u201cgamd_restart.dat\u201d file<br \/>\nEnd if<\/span><\/p>\n<p>For i = ntcmd+nteb+1, \u2026, nstlim \/\/ run production simulation<br \/>\ndeltaV = 0.5*k0*(E-V)**2\/(Vmax-Vmin)<br \/>\nV = V + deltaV<br \/>\nEnd<br \/>\n}<\/p>\n<p class=\"body\" style=\"line-height: 150%\"><span style=\"font-size: 10.0pt;line-height: 150%;color: black\">\u00a0<\/span><\/p>\n<h2 class=\"body\"><strong><span class=\"subtitle\">Simulation Parameter Settings<\/span><\/strong><\/h2>\n<p class=\"body\" align=\"left\"><strong> igamd<\/strong> Flag to apply boost potential<br \/>\n= 0 (default) no boost is applied<br \/>\n= 1 boost on the total potential energy only<br \/>\n= 2 boost on the dihedral energy only<br \/>\n= 3 dual boost on both dihedral and total potential energy<br \/>\n= 4 boost on the non-bonded potential energy only<br \/>\n= 5 dual boost on both dihedral and non-bonded potential energy<br \/>\n= 10 boost on non-bonded potential energy of selected region (defined by timask1 and scmask1) as for a ligand (LiGaMD)<br \/>\n= 11 dual boost on both non-bonded potential energy of the bound ligand and remaining potential energy of the rest of the system (LiGaMD_Dual)<br \/>\n= 14 boost on the total potential energy of selected region (defined by timask1 and scmask1) as for a peptide (Pep-GaMD)<br \/>\n= 15 dual boost on both the peptide potential energy and the total system potential energy other than the peptide potential energy (Pep-GaMD_Dual)<\/p>\n<p class=\"body\" align=\"left\"><strong> iE<\/strong> Flag to set the threshold energy E for applying all boost potentials<br \/>\n= 1 (default) set the threshold energy to the lower bound E = Vmax<br \/>\n= 2 set the threshold energy to the upper bound E = Vmin + (Vmax &#8211; Vmin)\/k0<\/p>\n<p class=\"body\" align=\"left\"><strong> iEP<\/strong> Flag to overwrite iE and set the threshold energy E for applying the first boost potential in dual-boost schemes<br \/>\n= 1 (default) set the threshold energy to the lower bound E = Vmax<br \/>\n= 2 set the threshold energy to the upper bound E = Vmin + (Vmax &#8211; Vmin)\/k0<\/p>\n<p class=\"body\" align=\"left\"><strong> iED<\/strong> Flag to overwrite iE and set the threshold energy E for applying the second boost potential in dual-boost schemes<br \/>\n= 1 (default) set the threshold energy to the lower bound E = Vmax<br \/>\n= 2 set the threshold energy to the upper bound E = Vmin + (Vmax &#8211; Vmin)\/k0<\/p>\n<p class=\"body\" align=\"left\"><strong> ntcmdprep<\/strong> The number of preparation conventional molecular dynamics steps. This is used for system equilibration and the potential energies are not collected for calculating their statistics. The default is 200,000 for a simulation with 2 fs timestep.<\/p>\n<p class=\"body\" align=\"left\"><strong> ntcmd<\/strong> The number of initial conventional molecular dynamics simulation steps. Potential energies are collected between ntcmdprep and ntcmd to calculate their maximum, minimum, average and standard deviation (Vmax, Vmin, Vavg, sigmaV). The default is 1,000,000 for a simulation with 2 fs timestep.<\/p>\n<p class=\"body\" align=\"left\"><strong> ntebprep<\/strong> The number of preparation biasing molecular dynamics simulation steps. This is used for system equilibration after adding the boost potential and the potential statistics (Vmax, Vmin, Vavg, sigmaV) are not updated during these steps. The default is 200,000 for a simulation with 2 fs timestep.<\/p>\n<p class=\"body\" align=\"left\"><strong> nteb<\/strong> The number of biasing molecular dynamics simulation steps. Potential statistics (Vmax, Vmin, Vavg, sigmaV) are updated between the ntebprep and nteb steps and used to calculate the GaMD acceleration parameters, particularly E and k0. The default is 1,000,000 for a simulation with 2 fs timestep. A greater value may be needed to ensure that the potential statistics and GaMD acceleration parameters level off before running production simulation between the nteb and nstlim (total simulation length) steps. Moreover, nteb can be set to nstlim, by which the potential statistics and GaMD acceleration parameters are updated adaptively throughout the simulation. This in some cases provides more appropriate acceleration.<\/p>\n<p class=\"body\" align=\"left\"><strong> ntave<\/strong> The number of simulation steps used to calculate the average and standard deviation of potential energies. This variable has already been used in Amber. The default is set to 50,000 for GaMD simulations. It is recommended to be updated as about 4 times of the total number of atoms in the system. Note that ntcmd and nteb need to be multiples of ntave.<\/p>\n<p class=\"body\" align=\"left\"><strong> irest_gamd<\/strong> Flag to restart GaMD simulation<br \/>\n= 0 (default) new simulation. A file &#8220;gamd-restart.dat&#8221; that stores the maximum, minimum, average and standard deviation of the potential energies needed to calculate the boost potentials (depending on the igamd flag) will be saved automatically after GaMD equilibration stage.<br \/>\n= 1 restart simulation (ntcmd and nteb are set to 0 in this case). The &#8220;gamd-restart.dat&#8221; file will be read for restart.<\/p>\n<p class=\"body\" align=\"left\"><strong> sigma0P<\/strong> The upper limit of the standard deviation of the first potential boost that allows for accurate reweighting. The default is 6.0 (unit: kcal\/mol).<\/p>\n<p class=\"body\" align=\"left\"><strong> sigma0D<\/strong> The upper limit of the standard deviation of the second potential boost that allows for accurate reweighting in dual-boost simulations (e.g., igamd = 2, 3, 5, 11 and 15). The default is 6.0 (unit: kcal\/mol).<\/p>\n<p class=\"body\" align=\"left\"><strong> timask1<\/strong> Specifies atoms of the first (bound) ligand or peptide in ambmask format when igamd = 10, 11, 14 or 15. The default is an empty string.<\/p>\n<p class=\"body\" align=\"left\"><strong> scmask1<\/strong> Specifies atoms of the first (bound) ligand that will be described using soft core in ambmask format in LiGaMD when igamd = 10 or 11. In Pep-GaMD with igamd = 14 or 15, this flag was only used to specify atoms of peptide in ambmask format, but the peptide atoms will not be described using soft core. The default is an empty string.<\/p>\n<p class=\"body\" align=\"left\"><strong> nlig<\/strong> The total number of ligand molecules in the system. The default is 0.\u00a0For LiGaMD simulations with nlig&gt;1, it is important to note that: <strong>(1) To prepare the simulation starting structure, put the bound ligand first in the PDB, followed by the unbound ligand molecules. (2) Use residue ID of the first (bound) ligand in timask1 and scmask1, for which higher boost potential will be selectively applied.<\/strong> More flexible settings will be provided in future developments of the code.<\/p>\n<p class=\"body\" align=\"left\"><strong> ibblig<\/strong> The flag to boost the bound ligand selectively with nlig &gt; 1<br \/>\n= 0 (default) no selective boost<br \/>\n= 1 boost the bound ligand selectively out of nlig ligand molecules in the system<br \/>\n= 2 boost the bound ligand selectively out of nlig ligand molecules in the system based on mean-square displacements (MSD)<\/p>\n<p class=\"body\" align=\"left\"><strong> dblig<\/strong> (Optional) The cutoff distance between atoms atom_p and atom_l used to identify the ligand that is bound in the protein when ibblig = 1 or the cutoff MSD of atom atom_l used to identify the ligand that is bound in the protein when ibblig = 2. If dblig (default 1.0d99 angstroms) is not set in the input file, the first boost potential will be selectively applied to the ligand with the smallest distance to the protein (ibblig = 1) or the smallest MSD (ibblig = 2) out of nlig ligand molecules in the system.<\/p>\n<p class=\"body\" align=\"left\"><strong> atom_p<\/strong> Serial number of a protein atom (starting from 1 for the first protein atom) used to calculate the ligand distance. It is used only when ibblig = 1. The default is 0.<\/p>\n<p class=\"body\" align=\"left\"><strong> atom_l<\/strong> Serial number of a ligand atom (starting from 1 for the first ligand atom) used to calculate the ligand distance to the protein. It is used only when ibblig = 1 or 2. The default is 0.<\/p>\n<p class=\"body\" align=\"left\"><strong> ntmsd<\/strong> Number of timesteps corresponding to the lagging time used to calculate the ligand MSD. It is used only when ibblig = 2. The default is 50000.<\/p>\n<p class=\"body\" align=\"left\"><strong> nftau<\/strong> Number of saved simulation frames used to calculate the ligand MSD. MSD is calculated for every time window of ntwin = ntmsd + nftau*ntwx steps, for which simulation frames are saved every ntwx steps. It is used only when ibblig = 2. The default is 10.<\/p>\n<p><strong><em>bgpro2atm<\/em><\/strong>\u00a0\u00a0\u00a0 Start atomic number of the second protein.<\/p>\n<p><strong><em>edpro2atm<\/em><\/strong>\u00a0\u00a0\u00a0 The final atomic number of the second protein.<\/p>\n<p>&nbsp;<\/p>\n<p class=\"subtitle\" align=\"left\"><strong>Known Problems &amp; Solutions<\/strong><\/p>\n<p class=\"body\">* For new GaMD simulation, there appears abrupt change in the dihedral and total potential energies when &#8220;irest=1&#8221; (reading both coordinates and velocities) is used. This leads to unexpected large boost potential (last two columns in gamd.log file), for which the normal values should be below 50 kcal\/mol.<\/p>\n<p>Solution: This bug has been fixed in AMBER 20.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GaMD Algorithm Credit: Yinglong Miao and Clarisse Ricci &nbsp; GaMD { If (irest_gamd == 0) then For i = 1, \u2026, ntcmd \/\/ run initial conventional molecular dynamics If (i &gt;= ntcmdprep) Update Vmax, Vmin If (i &gt;= ntcmdprep &amp;&amp; i%ntave ==0) Update Vavg, sigmaV End Save Vmax,Vmin,Vavg,sigmaV to \u201cgamd_restart.dat\u201d file Calc_E_k0(iE,sigma0,Vmax,Vmin,Vavg,sigmaV) For i = &hellip; <a href=\"https:\/\/www.med.unc.edu\/pharm\/miaolab\/resources\/gamd\/manual\/\" aria-label=\"Read more about GaMD-Amber: Manual\">Read more<\/a><\/p>\n","protected":false},"author":22429,"featured_media":0,"parent":2390,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"layout":"","cellInformation":"","apiCallInformation":"","footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-2442","page","type-page","status-publish","hentry","odd"],"acf":[],"_links_to":[],"_links_to_target":[],"_links":{"self":[{"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/pages\/2442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/users\/22429"}],"replies":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/comments?post=2442"}],"version-history":[{"count":7,"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/pages\/2442\/revisions"}],"predecessor-version":[{"id":3259,"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/pages\/2442\/revisions\/3259"}],"up":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/pages\/2390"}],"wp:attachment":[{"href":"https:\/\/www.med.unc.edu\/pharm\/miaolab\/wp-json\/wp\/v2\/media?parent=2442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}