Re: [GaMD-discuss] error with amber24 GaMD-PPI Too many TI atoms--current limit: 500 atoms
Brought to you by:
yinglongmiao
|
From: Christian S. <cgs...@gm...> - 2025-12-08 19:37:10
|
Hi Yinglong, Good to know that anything in ambmask format should work. Victor, do you have recommendations on how to segment a GaMD equilibration run into multiple parts? best, Christian On Mon, Nov 24, 2025 at 6:48 PM Miao, Yinglong <Yin...@me...> wrote: > Hi Christian, > > Great that your system runs with PPI-GaMD by “only modifying the > MaxNumberTIAtom”. Thanks for confirming that! > > Note that timask1 and scmask1 use atom masks. Anything in the *ambmask > format* should work; it doesn’t have to be defined by residues. > You can find detailed descriptions of PPI-GaMD simulation parameters in > the paper SI: https://pubs.acs.org/doi/10.1021/acs.jctc.1c00974. > > Victor can probably comment more on your questions as well. > > Best, > Yinglong > > > On Nov 24, 2025, at 7:06 PM, Christian Seitz <cgs...@gm...> wrote: > > Hi Victor and Yinglong, > > Victor, thanks for this information. I have a few more questions. For > clarity, let's say that protein 1 is a small antibody, protein 2 is a large > glycoprotein, and I want to see association/dissociation between the two. > > 1) You are saying that I should select the interfacial residues of protein > 1, and then all the atoms of protein 2? I was under the impression that I > should select all residues of protein 1, because the GaMD-AMBER manual > defines "timask1" as "Specifies atoms of the first (bound) ligand or > peptide in ambmask format...". A similar definition is given for "scmask1". > But this should be just the interfacial residues, not the entire antibody? > And they should be given as residues, not atoms? If so, perhaps the manual > could be revised for clarity. > 2) I ran x ns of a GaMD equilibration, and am ready to run another part. > Thus I should subtract x ns from the overall GaMD equilibration run, as > that is already complete. Do I subtract x ns from the normal MD > equilibration (ntcmdprep)? Or the biasing MD equilibration (ntebprep), or > perhaps something else? Overall, does the equilibration go from > ntcmdprep -> ntebprep -> ntcmd -> nteb, or what order of steps does the > equilibration run through? This will let me know how to modify my > equilibration input files for restarted equilibration runs. > > Yinglong, good catch from Jinan. I recompiled amber24, only modifying the > MaxNumberTIAtom = 750 -> 5250, and my system runs with this. Contrary to > answers I've seen elsewhere, I can leave MaxNumberTIPair and > MaxNumberREAFAtom at their default values and my system will run GaMD-PPI. > In my GaMD equilibration run, at least, my system does not run any faster > by leaving MaxNumberTIPair and MaxNumberREAFAtom at their default values. > > Thanks for your help! > > Best, > Christian > > On Sun, Nov 23, 2025 at 9:11 AM Miao, Yinglong <Yin...@me...> > wrote: > >> Hi Christian, >> >> I’m glad that your new simulation works. Jinan mentioned that the >> “essential" code change in Amber for running PPI-GaMD would be increase in “ >> MaxNumberTIAtom", in your case: >> >> MaxNumberTIAtom = 750 -> 5250 >> >> >> Could you do us a favor to double check if that’s “sufficient", and other >> changes are not necessary? >> >> Thanks, >> Yinglong >> >> >> On Nov 18, 2025, at 9:25 AM, Adediwura, Victor Ayo < >> vad...@em...> wrote: >> >> Hi Christian, >> >> Glad to hear that the code works! >> >> A few comments, the timask1 and scmask1 should be residue number rather >> than atom numbers. timask1 and scmask1 are the region you would like to see >> boosted (e.g for protein-protein dissociation, this could be the >> interfacial residues of the first protein). The bgpro2atm and edpro2atm >> should be the first atom number of the second protein, and edpro2atm is the >> last atom of the second protein (which is also boosted). Thus, for the >> first protein, you will have to select interface residues for boosting >> while for the second protein, you would have to select from the first to >> the last atom for boosting. In essence, you might want to renumber your PDB >> such that the first protein where you are selecting some part of the >> protein (i.e interfacial residues) should come last and the second protein >> would come first >> >> >> For the second part, I would suggest to run longer equilibration >> considering size of your system which is quite large. For how it will play >> out in this case, I think this is a good idea " If I were to break up one >> long GaMD equilibration, how would I do so? Just change restart parameters, >> i.e. irest=1, ntx=5, as if I were restarting a normal, production MD?" >> >> I hope this helps! >> >> Kind regards, >> >> Victor >> >> >> >> ------------------------------ >> *From:* Christian Seitz <cgs...@gm...> >> *Sent:* Monday, November 17, 2025 6:18 PM >> *To:* Adediwura, Victor Ayo <vad...@em...> >> *Cc:* Miao, Yinglong <Yin...@me...>; gamd-discuss < >> gam...@li...>; Davis, James J. <jj...@an...>; >> Ramanathan, Arvind <ram...@an...> >> *Subject:* Re: [GaMD-discuss] error with amber24 GaMD-PPI Too many TI >> atoms--current limit: 500 atoms >> >> Hi Victor, >> >> Fantastic, this works! The key change was involving all atoms in the TI >> mask, not excluding hydrogens: >> >> timask1 = ':1870-2126!@H' -> timask1 = ':1870-2126' >> scmask1 = ':1870-2126!@H' -> scmask1 = ':1870-2126' >> >> I would have thought that including the hydrogens in the TI mask would >> increase the atom limit of the system, and thus push it closer to amber24's >> TI atom limit. For my own understanding, do you know why including >> hydrogens in the TI mask allowed the system to run? >> >> Separately, I do not think I can finish a full GaMD equilibration for >> each of my systems within my computing resource's wallclock limit. Would it >> be better to run multiple short GaMD equilibrations until the k0P and k0D >> stabilize at 1.0, or should I run one longer GaMD equilibration and break >> it up into multiple runs? If I were to break up one long GaMD >> equilibration, how would I do so? Just change restart parameters, i.e. >> irest=1, ntx=5, as if I were restarting a normal, production MD? >> >> Many thanks for your help in this. >> >> Best, >> Christian >> >> On Sat, Nov 15, 2025 at 12:00 PM Adediwura, Victor Ayo < >> vad...@em...> wrote: >> >> Hi Christian, >> >> I just checked the files and noticed there is an issue with the >> equil_gamd.in file. I have modified this file, and it should work. Pls >> find attached the modify file. >> >> Kind regards, >> >> Victor >> >> >> ------------------------------ >> *From:* Miao, Yinglong via GaMD-discuss < >> gam...@li...> >> *Sent:* Monday, November 10, 2025 8:48 PM >> *To:* Christian Seitz <cgs...@gm...> >> *Cc:* gamd-discuss <gam...@li...>; Davis, James J. >> <jj...@an...>; Ramanathan, Arvind <ram...@an...> >> *Subject:* Re: [GaMD-discuss] error with amber24 GaMD-PPI Too many TI >> atoms--current limit: 500 atoms >> >> Hi Christian, >> >> It might be better to select all atoms in the protein 1 for timask1 and >> scmask1. >> >> Other than that, what you changed especially under 2) should have >> resolved the issue. Could you possibly share your simulation input files >> and the mdout file? We’d like to run it with our local Amber and see how it >> works. >> >> Best, >> Yinglong >> >> >> On Nov 10, 2025, at 4:07 PM, Christian Seitz <cgs...@gm...> wrote: >> >> Hi Yinglong, >> >> Thanks for the suggestions. I have tried several things so far, let me >> recap them. My system contains 1,951 heavy atoms (3,814 atoms total) in the >> TI region, which I am calling through timask1 = ':1870-2126!@H' and scmask1 >> = ':1870-2126!@H' in an input file to run GaMD-PPI. >> >> 1) I compiled a standard, unmodified build of amber24. When I put a large >> system into that build to run GaMD-PPI, I get an error saying that the TI >> atom limit is 500 atoms. Thus I need to expand the TI atom limit. >> >> 2) I tried changing the "MaxNumberTIAtom", "MaxNumberTIPair", and >> "MaxNumberREAFAtom" >> within $AMBERHOME/amber/pmemd24_src/src/pmemd/src/gti_controlVariable.i. I >> increased these atom limits as shown below, recompiled a fresh version of >> amber24, and still found the same error, saying the atom limit in TI was >> 500. >> >> MaxNumberTIAtom = 750 -> 5250 >> MaxNumberTIPair = 300 -> 3000 >> MaxNumberREAFAtom = 500 -> 4000 >> >> 3) The "MaxNumberTIAtom2" >> within $AMBERHOME/amber/pmemd24_src/src/pmemd/src//cuda/gti_NBList_kernels.cu >> comes with a limit of 4000, which should be enough for this system. >> >> static const int MaxNumberTIAtom2 = 4000 >> >> I did not try increasing that. >> >> Do you have any idea what might be overwriting these other variables to >> enforce a smaller TI atom limit? I'm thinking the error message, stating >> there's a TI atom limit of 500, is probably not tied to the actual TI atom >> limit - I'm guessing that if one made the TI atom limit to be 2 atoms, the >> error message would still say the TI atom limit is 500. But I cannot figure >> out what variable is actually controlling the TI atom limit, or how to >> increase that. Or perhaps there's some issue with how I'm telling GaMD-PPI >> to select my TI atoms, and it's selecting more than I want? I can send my >> input files or system files if that helps, or can try any other ideas you >> have to get this to run. Thanks for your help! >> >> Best, >> Christian >> >> On Mon, Nov 10, 2025 at 6:11 AM Miao, Yinglong <Yin...@me...> >> wrote: >> >> Hi Christian, >> >> The related parameters should be defined in file >> *$AMBERHOME/src/pmemd/src/gti_controlVariable.i*. I compared this file >> in our "gamd" branch with master branch in the Amber git repository: >> >> *# AMBER “gamd"* >> >> * STATIC_CONST_INT MaxNumberTIAtom **=* *4000**;* >> * STATIC_CONST_INT MaxNumberTIPair **=* *3000**;* >> STATIC_CONST_INT MaxNumberNBPerAtom = 3072; >> >> * STATIC_CONST_INT MaxNumberREAFAtom **=* *5000**;* >> STATIC_CONST_INT MaxNumberRMSDAtom = 200; >> STATIC_CONST_INT MaxNumberRMSDRegion = 5; >> >> >> *# AMBER master* >> >> STATIC_CONST_INT MaxNumberTIAtom = 750; >> STATIC_CONST_INT MaxNumberTIPair = 300; >> STATIC_CONST_INT MaxNumberNBPerAtom = 3072; >> >> STATIC_CONST_INT MaxNumberREAFAtom = 500; >> STATIC_CONST_INT MaxNumberRMSDAtom = 200; >> STATIC_CONST_INT MaxNumberRMSDRegion = 5; >> >> Three parameters “*MaxNumberTIAtom*”, “*MaxNumberTIPair*” and “ >> *MaxNumberREAFAtom*” are modified. Could you help to try those values as >> used in the “gamd” branch to see if that resolves the issue? >> >> Thanks, >> Yinglong >> >> >> >> On Nov 9, 2025, at 11:44 AM, Miao, Yinglong <Yin...@me...> >> wrote: >> >> Hi Christian, >> >> Seems you are changing these variables in the wrong direction. You need to >> *increase* *MaxNumberTIAtom *and *MaxNumberTIAtom2 *to a number greater >> than 500, like 4000 or the number of atoms in your protein 1 for simulation. >> >> Hope this helps, >> Yinglong >> >> >> >> On Nov 5, 2025, at 5:16 PM, Christian Seitz <cgs...@gm...> wrote: >> >> Hi Yinglong, >> >> Thanks, as a test I reduced the limit in >> $AMBERHOME/amber/pmemd24_src/src/pmemd/src//cuda/gti_NBList_kernels.cu from >> 4000 to 400: >> >> static const int MaxNumberTIAtom2 = 4000 -> 400 >> >> After building a fresh install of amber24 with this reduced atom limit, I >> found that the TI atom limit remained at 500. If it helps, inside >> $AMBERHOME/amber/pmemd24_src/src/pmemd/src/cuda/gti_gpuContext.cpp one can >> find this snippet: >> >> if (TISize > gti_simulationConst::MaxNumberTIAtom) { >> std::string e("Too many TI atoms--current limit: 500 atoms"); >> throw std::runtime_error(e); >> >> I can only find TISize >> in $AMBERHOME/amber/pmemd24_src/src/pmemd/src/cuda/gti_gpuContext.cpp. I >> have tried grepping a variety of terms >> within $AMBERHOME/amber/pmemd24_src/src/pmemd/src, such as "500", >> "TIAtoms", and "TISize", but nothing amongst these stand out to my >> non-expert eyes to change. When I ask chatgpt or claude how to solve this, >> they simply refer to the forum posts in my initial email, including this >> post, and suggest searching through non-existent files. Do you have any >> other ideas on where to search or what to look for? Thanks for your help! >> >> Best, >> Christian >> >> >> On Mon, Nov 3, 2025 at 7:57 PM Miao, Yinglong <Yin...@me...> >> wrote: >> >> Hi Christian, >> >> This is what I found for “MaxNumberTIAtom” in the pmemd src code: >> >> *~/amber-git/src/pmemd/src*$ grep -iR "MaxNumberTIAtom" * >> cuda/gti_NBList_kernels.cu: __shared__ volatile float >> coordTI[gti_simulationConst::*MaxNumberTIAtom*][3]; >> cuda/gti_NBList_kernels.cu: __shared__ float >> coordTI[gti_simulationConst::*MaxNumberTIAtom*][3]; >> cuda/gti_NBList_kernels.cu: __shared__ volatile float >> coordTI[gti_simulationConst::*MaxNumberTIAtom*][3]; >> *cuda/gti_NBList_kernels.cu: static const int MaxNumberTIAtom2 = 4000;* >> cuda/gti_NBList_kernels.cu:// __shared__ volatile bool >> bondMask[(gti_simulationConst::*MaxNumberTIAtom*2 + 1) * >> cuda/gti_NBList_kernels.cu:// >> gti_simulationConst::*MaxNumberTIAtom*2]; >> cuda/gti_NBList_kernels.cu:// __shared__ volatile float >> coordTI[gti_simulationConst::*MaxNumberTIAtom*2][3]; >> cuda/gti_NBList_kernels.cu: __shared__ volatile bool bondMask[( >> *MaxNumberTIAtom*2 + 1) * >> cuda/gti_NBList_kernels.cu: >> *MaxNumberTIAtom*2]; >> cuda/gti_NBList_kernels.cu: __shared__ volatile float coordTI[ >> *MaxNumberTIAtom*2][3]; >> cuda/gti_gpuContext.cpp: uint4 *temp = new uint4[gti_simulationConst:: >> *MaxNumberTIAtom*]; >> cuda/gti_gpuContext.cpp: unsigned* tempSC = new >> unsigned[gti_simulationConst::*MaxNumberTIAtom**2]; >> cuda/gti_gpuContext.cpp: unsigned tempShift = gti_simulationConst:: >> *MaxNumberTIAtom*; >> cuda/gti_gpuContext.cpp: if (TISize > gti_simulationConst:: >> *MaxNumberTIAtom*) { >> cuda/gti_gpuContext.cpp: int tempList[gti_simulationConst:: >> *MaxNumberTIAtom*]; >> *gti_controlVariable.i: STATIC_CONST_INT MaxNumberTIAtom = 4000;* >> ti.F90: !!integer, parameter::*MaxNumberTIAtom*=500 !! this must be >> consistent w/ gti_controlVariable.i >> >> Maybe you can check *MaxNumberTIAtom2 in **cuda/gti_NBList_kernels.cu *as >> well? >> >> Best, >> Yinglong >> >> >> On Oct 31, 2025, at 6:28 PM, Christian Seitz <cgs...@gm...> wrote: >> >> Hi Yinglong, >> >> Thanks for the helpful example, I tried a couple more things: >> 1) I tried compiling amber24 in several different places, all while >> editing the >> $AMBERHOME/amber/pmemd24_src/src/pmemd/src/gti_controlVariable.i file to >> match what you sent. Each time I tried a run, I found the error saying the >> TI atom limit is 500. >> 2) I tried compiling amber24 without editing any files. This means the >> default MaxNumberTIAtom is 750 inside >> $AMBERHOME/amber/pmemd24_src/src/pmemd/src/gti_controlVariable.i. When I >> try to run GaMD-PPI with this version, my system still crashes with a TI >> atom limit of 500. >> >> Am I missing something? In amber24 is there another variable that >> overrides the limits set inside the gti_controlVariable.i file? If so, that >> would explain why running GaMP-PPI shows an atom limit of 500 even though >> the default amber24 TI atom limit inside gti_controlVariable.i is 750. In >> 2) the only file I edited was the >> $AMBERHOME/amber/pmemd24_src/build/run_cmake file, where I edited the linux >> section to be >> >> cmake $AMBER_PREFIX/pmemd24_src \ >> -DCMAKE_INSTALL_PREFIX=$AMBER_PREFIX/pmemd24 \ >> -DCOMPILER=MANUAL \ >> -DMPI=TRUE -DCUDA=TRUE -DINSTALL_TESTS=TRUE \ >> -DDOWNLOAD_MINICONDA=FALSE -DBUILD_PYTHON=FALSE \ >> -DBUILD_PERL=FALSE -DBUILD_GUI=FALSE \ >> -DPMEMD_ONLY=TRUE -DCHECK_UPDATES=FALSE \ >> -DDISABLE_TOOLS=FEW -DCMAKE_C_COMPILER=gcc-12 \ >> -DCMAKE_CXX_COMPILER=g++-12 -DCMAKE_Fortran_COMPILER=gfortran-12 \ >> 2>&1 | tee cmake.log >> >> to compile on the resource I am using. Let me know if there are any files >> I can send to help diagnose this~ >> >> Best, >> Christian >> >> On Thu, Oct 30, 2025 at 10:56 AM Miao, Yinglong < >> Yin...@me...> wrote: >> >> Hi Christian, >> >> Sorry for the issue with running PPI-GaMD. To perhaps follow up with the >> post by Dr. Fabian Glaser as you mentioned in your email, I’m attaching >> more detailed discussion he had later on with Jinan to resolve the issue. >> >> Hope the example “gti_controlVariable.i” and the idea of using “only the >> interfacial atoms of the first protein in TIMASK1/SCMASK1, and then the >> second FULL protein first and last atoms in bgpro2atm and edprod2atm” could >> help. >> >> For “bgpro2atm and edpro2atm”, it would make sense to include ALL atoms >> associated with the second protein, including the PTMs. >> >> Best, >> Yinglong >> >> >> >> Yinglong Miao, Ph.D. >> Associate Professor >> Department of Pharmacology and >> Computational Medicine Program >> University of North Carolina - Chapel Hill >> Tel: 1-919-962-5696 >> http://miaolab.org >> >> Editor-in-Chief >> *npj Drug Discovery* >> https://www.nature.com/npjdrugdiscov >> >> On Oct 29, 2025, at 5:03 PM, Christian Seitz <cgs...@gm...> wrote: >> >> You don't often get email from cgs...@gm.... Learn why this is >> important <https://aka.ms/LearnAboutSenderIdentification> >> Hello Yinglong + co, >> >> I am trying to equilibrate a system for use in GaMD-PPI using amber24. I >> ran it through normal equilibration for MD (heating, minimizing, >> equilibration) already. I tried to start a GaMD equilibration, but >> immediately the system fails with a segfault: >> >> terminate called after throwing an instance of 'std::runtime_error' >> what(): Too many TI atoms--current limit: 500 atoms >> >> I went >> into $AMBERHOME/amber/pmemd24_src/src/pmemd/src/gti_controlVariable.i and >> changed the following parameters: >> >> MaxNumberTIAtom = 750 -> 5250 >> MaxNumberTIPair = 300 -> 3000 >> MaxNumberREAFAtom = 500 -> 4000 >> >> I can make a fresh build of amber24 and compile with these adjusted >> parameters, but running it still results in a TI atom limit of 500 atoms. >> This issue was seen previously here >> <http://archive.ambermd.org/202412/0029.html>, here >> <https://sourceforge.net/p/gamd/mailman/gamd-discuss/thread/SA1PR03MB6450A4FB3834171AE436C154B85F2%40SA1PR03MB6450.namprd03.prod.outlook.com/#msg58743189> >> , here <http://archive.ambermd.org/202206/0050.html>, and here >> <http://archive.ambermd.org/202307/0086.html>. It appears one person >> <https://sourceforge.net/p/gamd/mailman/gamd-discuss/thread/36223A2E-0AC1-4D6B-8F42-E1B5C996FE4F%40uconn.edu/> >> was able to fix this issue in a previous version of amber, but not >> amber24. Do you have any ideas on what other parameters I would need to >> modify to increase the TI atom limit? Thank you! >> >> I also have a question about the atom masks. When I select the atom mask >> bgpro2atm and edpro2atm, should this mask only include protein atoms or >> also PTMs, such as glycans, attached to the protein? >> >> Thanks for your help! >> >> Best, >> Christian >> >> -- >> *Christian Seitz* >> PhD, Biochemistry & Biophysics | UCSD >> Postdoc, Computer Science | UChicago >> cgs...@gm... <cg...@uc...> >> [image: www.linkedin.com/in/christianseitz21] >> <http://www.linkedin.com/in/christianseitz21> >> _______________________________________________ >> GaMD-discuss mailing list >> GaM...@li... >> https://lists.sourceforge.net/lists/listinfo/gamd-discuss >> >> >> >> >> -- >> *Christian Seitz* >> PhD, Biochemistry & Biophysics | UCSD >> Postdoc, Computer Science | UChicago >> cgs...@gm... <cg...@uc...> >> [image: www.linkedin.com/in/christianseitz21] >> <http://www.linkedin.com/in/christianseitz21> >> _______________________________________________ >> GaMD-discuss mailing list >> GaM...@li... >> https://lists.sourceforge.net/lists/listinfo/gamd-discuss >> >> >> >> >> -- >> *Christian Seitz* >> PhD, Biochemistry & Biophysics | UCSD >> Postdoc, Computer Science | UChicago >> cgs...@gm... <cg...@uc...> >> [image: www.linkedin.com/in/christianseitz21] >> <http://www.linkedin.com/in/christianseitz21> >> >> >> >> >> >> -- >> *Christian Seitz* >> PhD, Biochemistry & Biophysics | UCSD >> Postdoc, Computer Science | UChicago >> cgs...@gm... <cg...@uc...> >> [image: www.linkedin.com/in/christianseitz21] >> <http://www.linkedin.com/in/christianseitz21> >> >> >> >> >> -- >> *Christian Seitz* >> PhD, Biochemistry & Biophysics | UCSD >> Postdoc, Computer Science | UChicago >> cgs...@gm... <cg...@uc...> >> >> >> > > -- > *Christian Seitz* > PhD, Biochemistry & Biophysics | UCSD > Postdoc, Computer Science | UChicago > cgs...@gm... <cg...@uc...> > [image: www.linkedin.com/in/christianseitz21] > <http://www.linkedin.com/in/christianseitz21> > _______________________________________________ > GaMD-discuss mailing list > GaM...@li... > https://lists.sourceforge.net/lists/listinfo/gamd-discuss > > > -- *Christian Seitz* PhD, Biochemistry & Biophysics | UCSD Postdoc, Computer Science | UChicago cgs...@gm... <cg...@uc...> [image: www.linkedin.com/in/christianseitz21] <http://www.linkedin.com/in/christianseitz21> |