The problem has been solved, it is due to one ligand, which coordinate to
the center metal ion, has the atoms of the same element with the same atom
name. When one prepare a PDB file be used with MCPB.py, please make sure
that the non-standard residues have each atom with different atom name.
2015-07-28 23:26 GMT-04:00 Pengfei Li <ambermailpengfei.gmail.com>:
> Hi Teri,
>
> Can you send me the related files? I can try to debug the code.
>
> Best,
> Pengfei
>
> 2015-07-27 15:36 GMT-04:00 Eleftherios A P Lambros <tlambros.uci.edu>:
>
>> Hello,
>>
>> I am getting a mismatch error on the 3rd step of MCPB.py as follows,
>>
>> Input script
>> MCPB.py -i TS3.in -s 3b
>>
>> Output..
>> The input file you are using is : TS3.in
>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>> The following is the input variable you have:
>> The variable original_pdb is : WTDBD_TS3_CU_protonated.pdb
>> The variable ion_ids is : [3011]
>> The variable ion_mol2files is : ['CU.mol2']
>> The variable group_name is : TS3
>> The variable cut_off is : 2.8
>> The variable chgfix_resids is : []
>> The variable scmodel_chg is : -99
>> -99 means program will assign a charge automatically.
>> The variable lgmodel_chg is : -99
>> -99 means program will assign a charge automatically.
>> The variable software_version is : g09
>> The variable sqm_opt is : 0
>> The variable large_opt is : 0
>> The variable force_field is : ff14SB
>> The variable gaff is : 1
>> The variable frcmodfs is : ['TS#.frcmod']
>> The variable scale_factor is : 1.0
>> Attention: The force constants will be scaled by
>> multiplying the square of scale_factor.
>> The variable bondfc_avg is : 0
>> The variable anglefc_avg is : 0
>> The variable naa_mol2files is : ['TS#.mol2']
>> The variable software_version is : g09
>> The variable water_model is : TIP3P
>> The variable ion_paraset is : CM (Only for nonbonded model)
>> The variable ion_info is : []
>> ******************************************************************
>> * *
>> *======================RESP Charge fitting=======================*
>> * *
>> ******************************************************************
>> ***Generating the 1st stage resp charge fitting input file...
>> ***Generating the 2nd stage resp charge fitting input file...
>> ***Doing the RESP charge fiting...
>> =========================Checking models==========================
>> ***Check the large model...
>> Good. The charges and atom numbers are match for the large model.
>> Good. There are 57 atoms in the large model.
>> ***Check the standard model...
>> Traceback (most recent call last):
>> File "/mnt/net_share/home/tlambros/amber15-with-patches/bin/MCPB.py",
>> line 581, in <module>
>> premol2fs, mcresname, 1, chgfix_resids, g0x, lgchg)
>> File
>>
>> "/mnt/net_share/home/tlambros/amber15-with-patches/lib/python2.7/site-packages/mcpb/resp_fitting.py",
>> line 517, in resp_fitting
>> raise pymsmtError('Error: the charges and atom numbers are mismatch '
>> pymsmtexp.pymsmtError: Error: the charges and atom numbers are mismatch
>> for
>> the standard model!
>>
>> Looking at the most recent call we have,
>>
>> if len(stlist) != len(stdict):
>> raise pymsmtError('Error: the charges and atom numbers are mismatch
>> '
>> 'for the standard model!')
>>
>> Where stlist and stdict are generated as follows,,,
>>
>>
>> metcenres1 = [] #original name of the metal center residue
>> stlist = [] #get the atom name list from the standard model
>> stf = open(stfpf, 'r')
>> for line in stf:
>> if line[0:4] != "LINK":
>> line = line.strip('\n')
>> line = line.split()
>> stlist.append(line[0])
>> line = line[0].split('-')
>> lresname = line[0] + '-' + line[1]
>> if lresname not in metcenres1:
>> metcenres1.append(lresname)
>> stf.close()
>>
>> llist = [] #get the atom name list from the large model
>> lf = open(lgfpf, 'r')
>> for line in lf:
>> line = line.strip('\n')
>> llist.append(line)
>> lf.close()
>>
>> ldict = {} #get charge of the large model, one-to-one relationship
>> for i in range(0, len(llist)):
>> ldict[llist[i]] = chgs[i]
>>
>> stdict = {} #get the charge of the standard model
>> for i in ldict.keys():
>> if i in stlist:
>> stdict[i] = ldict[i]
>>
>>
>> >From my understanding, MCPB.py will generate an atom and charge list from
>> the large model from the large model pdb and resp files respectively. To
>> generate the charge list for the standard model, it takes atoms from the
>> standard model, and if there exists the same atom in the large model, it
>> assigns that atom its corresponding charge from the large model charge
>> list. That is, the standard model is a proper subset of the large model. I
>> have checked to my standard model pdb and fingerprint files and they are
>> not missing or have any extra atoms. (The tutorial files worked just fine
>> for this step) I compared the format of the corresponding pdb and
>> fingerprint files from the tutorial and found no difference in format
>> (i.e.
>> the standard models had complete residues etc...)
>>
>> The previous steps worked so I assume my gaussian 09 calculations went
>> without any problems. Any help on this is appreciated.
>>
>> *NOTE* I am using the developmental release of pymsmt
>>
>> Thanks,
>> Teri (Eleftherios) Lambros
>> --
>> Mathematics, School of Physical Sciences
>> Biochemistry and Molecular Biology, School of Biological Sciences
>> University of California: Irvine
>>
>> President, Anteaters Mathematics Club
>> Advocacy Committee, Biological Sciences Student Council
>> _______________________________________________
>> AMBER mailing list
>> AMBER.ambermd.org
>> http://lists.ambermd.org/mailman/listinfo/amber
>>
>
>
>
> --
> Pengfei Li
> Ph.D. Candidate
> Merz Research Group
> Department of Chemistry
> Michigan State University
>
--
Pengfei Li
Ph.D. Candidate
Merz Research Group
Department of Chemistry
Michigan State University
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Fri Jul 31 2015 - 14:00:05 PDT