RMC calculation with single molecule

94 views
Skip to first unread message

Samuel Xie

unread,
Jul 5, 2020, 11:33:00 AM7/5/20
to fullrmc
Hi Bachir,

I want to use RMC to fit the PDF of a single molecule. However, the error was very high (3000+). I tried to increase the cycles of atom search (see scripts below) but the error decreased a little after an overnight calculation. The resulted PDF pattern and output structure are attached. Is it normal to get such high error? How can I change to improve the fitting? Is there any solution in order to apply fullrmc in single molecule fitting? Thank you for your help


-Sam



for i in range(100):
atoms(ENGINE, explore=True, refine=False)
atoms(ENGINE, explore=True, refine=False)
# set short limits
PDF_CONSTRAINT.set_limits((None,19.99))
for i in range(100):
# fit bonds
bonds_all(ENGINE)
# fit angles
angles_all(ENGINE)
# reset limits to normal
PDF_CONSTRAINT.set_limits((None,None))
# fit atoms
atoms(ENGINE, explore=False, refine=False)
atoms_type(ENGINE, explore=False, refine=False)
# fit molecules
molecules(ENGINE)

# refine scaling factor
atoms(ENGINE, explore=True, refine=False)
atoms_type(ENGINE, explore=True, refine=False)
PDF_CONSTRAINT.set_limits((None,None))
atoms(ENGINE, explore=False, refine=False)
about0(ENGINE)
about1(ENGINE)
about2(ENGINE)
along0(ENGINE)
along1(ENGINE)
along2(ENGINE)
molecules(ENGINE)
atoms(ENGINE, explore=True, refine=False)
# allow scale adjustment
PDF_CONSTRAINT.set_adjust_scale_factor((10, 0.8, 1.2))
about0(ENGINE)
about1(ENGINE)
about2(ENGINE)
along0(ENGINE)
along1(ENGINE)
along2(ENGINE)
molecules(ENGINE)
atoms(ENGINE, explore=True, refine=False)
Figure_1.png
restart.png

Bachir Aoun

unread,
Jul 5, 2020, 11:45:51 AM7/5/20
to fullrmc
Hi Samuel,

Standard error is a relative value to number of data points and the weighting scheme, it's value is irrelevant, what matters is how this value Changes upon stochastic engine runtime. 

Keeping this in mind, your system is off. Is this a single molecule that you are simulating ?

You need to make sure your experimental PDF is the one fullrmc uses, read the doc in here

Also, if you are simulating an isolated molecule (system) without boundary conditions, then you must set your shape function parameters to compensate for the density loss. This is true in real space not in the reciprocal space which is the case for you because you are modeling a PDF.

If you are not sure how to set the shape function, just let fullrmc set it for you by simply setting  shapeFuncParams={}.  when instantiating the PDF constraint

Hope that helps.

Bachir

Mikkel Juelsholt

unread,
Jul 5, 2020, 12:02:57 PM7/5/20
to fullrmc
Hi Samuel

On top of Bachir advide I want to add a little advice on how to dealing with single molecule PDFs. 
I hope Bachir, it is okay to say this, but RMC methods are just not the best way to fit a single molecule PDF. RMC methods are great for fitting PDFs from systems that needs to be descried in a statistical way where a large box of atoms are needed. That could be alloys, amorphous materials, liquids etc. However we do not need many atoms to describe a molecule and the atomic structure of a molecule is exact, not statistical. 
Instead you should use Debye modelling where the PDF is calculated directly from the single molecule structure you supply. It also won't give you any problem with the density and so on. 

I don't know if it is allowed to link to other programs, but if not let me know Bachir, then I will edit the post. 

You can do Debye modelling in either DISCUS (https://tproffen.github.io/DiffuseCode/) or if you want to stay in Python Diffpy-CMI (https://www.diffpy.org/)

Hope it helps


Bachir Aoun

unread,
Jul 5, 2020, 12:41:22 PM7/5/20
to fullrmc
Samuel & Mikkel,

I intended this to be an open forum, your comment is more than welcome Mikkel, actually it's constructive and very accurate too. 

Few comments on your response Mikkel:
  • You are correct, RMC is better suited for big systems but fullrmc is not just an RMC simulation library. I called it with an RMC at the end because the community understands the word RMC. I personally did simulate single molecules but they were a bit bigger than Samuel's. 
  • fullrmc allows you to simulate isolated structures and the density drop is dealt with using a reciprocal space small angle shape subtraction approach. I personally used this for tiny nanoparticles and for big RNA of any size, shape or form. Keeping this in mind, i never went down to a handful of atoms like Samuel's system. 

fullrmc 5.0.0 that is yet to be published and distributed, will allow simulating the interaction between different systems (distribution of nanoparticles, substrate and sample, nano-domains, distribution of molecules conformation, etc.) Those functionalities will only be available on the cloud though. 

Samuel, Depending on what you are trying to do with this simulation, I totally agree with Mikkel that maybe using DISCUS might be a better approach. 


Regards

 

Mikkel Juelsholt

unread,
Jul 6, 2020, 4:21:37 AM7/6/20
to fullrmc
Hi Bachir

Okay, that sounds great! I was not 100 % aware of this. 

We are looking forward to 5.0.0 in the cloud then :)

Emily S

unread,
Jul 7, 2020, 2:31:45 PM7/7/20
to fullrmc
Hi all,

I'm working with Sam to fit his PDF data on his Ru-tpphz-Ru molecule and we've tried single molecule Debeye-Waller simulations using an in-house GUI called SolX (solution phase scattering).  We see no appreciable difference in the peak intensities while changing the D-W scaling which is why we suspect rotational motion can account for the observed peak intensity loss in the 4 A - 7 A region.  Our current simulation uses spherical potentials to model the interaction.  Do you happen to know how DISCUS simulates the D-W factor, and on a related note, does fullrmc also incorporate D-W interactions provided that your B-factor is set to 1?  Does fullrmc use  a rigid-body model instead?  

Thanks,
Emily

Samuel Xie

unread,
Jul 7, 2020, 3:17:28 PM7/7/20
to fullrmc
Thank you Mikkel for you suggestion.

Samuel Xie

unread,
Jul 7, 2020, 3:18:23 PM7/7/20
to fullrmc
Thanks Bachir. 

Bachir Aoun

unread,
Jul 7, 2020, 4:59:12 PM7/7/20
to fullrmc
Hey Emily,
it's computationally very expensive to compute D-W factor for a big box model. fullrmc is not a rigid body stochastic engine but a hard sphere ... 

you're welcome Samuel 

Emily S

unread,
Jul 7, 2020, 5:27:51 PM7/7/20
to fullrmc
I see -- thanks Bachir! 
Reply all
Reply to author
Forward
0 new messages