Different Persistence Length results when using different time windows. #5140
Unanswered
acabezon-nextmol
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello MDAnalysis community!
I was trying to compute the persistence length for a polymer melt formed by chains of poly(lactic-co-glycolic) acid. My system has 9 chains of PLGA each formed by 156 monomer units. I followed the simulation protocol stated in the paper I was following (paper), which ends up in a 20 ns production run. I've double checked energy and density to make sure the system was properly equilibrated.
Using the generated trajectory I've calculated the persistence length using MDAnalysis and I've found that for the same system I get very different results when using different time windows of the simulation as input. I've run the code for the whole trajectory (20 ns), for the last 10 ns, for the last 5 ns, and for the last 1 ns. The persistence length returned by MDAnalysis (in Angstroms) was 1.859, 4.060, 14.073, and 15.571 respectively. I'm new to polymers so I don't know if this is normal, I was expecting similar values for all the cases, or at least, no such a big difference. Since it was strange for me I've adapted my code to return also the average bond length, the bond autocorrelation, the fit, and the length of the decorrelation. Then I've plotted the bond autocorrelation against the length of the decorrelation. I was expecting the bond autocorrelation to start at 1.0, but the bigger the time window the lower the bond autocorrelation of the first point. As I said I have no clue if this is the normal behavior, I'm also lacking some math knowledge here., I'm attaching the plot for the whole trajectory and for the 5 ns one in case that it can be useful.
Below you can find the code. I use a function get_system_backbones which returns the atom indices that form the backbone of the different chains. It is thought to handle different scenarios so it is a bit long to share it, but it basically finds residues that are only attached to one other residue. Then uses NetworkX to compute the shortest path between all the atom pairs in the selected residues and gets the longest of all of them. For this case there are two backbones of the same length for each chain so I'm basically passing them all since I understand that MDAnalysis computes the average of all the passed backbones (am I wrong in this assumption?.
Thanks in advance for the help!
Beta Was this translation helpful? Give feedback.
All reactions