marrink-lab / polyply_1.0

Generate input parameters and coordinates for atomistic and coarse-grained simulations of polymers, ssDNA, and carbohydrates
Apache License 2.0
119 stars 21 forks source link

Raise an issue if a link is not applied correctly #325

Closed Romumrn closed 11 months ago

Romumrn commented 1 year ago

I noticed a problem creating a peptide chain with a link between 2 non-consecutive amino acids. I was not able to fix this issue but I think that the bug is in apply_links.py with _check_relative_order. So I just raised an issue in the log, if all the links are not applied correctly. It would be very useful for MAD and also for polyply users.

fgrunewald commented 1 year ago

@Romumrn I don't quite understand the issue you describe. If I try to make a circular poly valine 8mer and connect the 1st and 5th residue I get the linear parameters, which is in fact what I would expect as you cannot connect two valines together via their side chain.

Perhaps you mean that we should warn the user in this case, because they their input protein is circular but they get the linear parameters out? The linear parameters are valid and correct, but not the one that is expected. So in some sense that can be confusing. I agreee. However, if this is the issue you mean, we need to make sure that moving the check doesn't mess with anything else especially the protein modification. Also it is very expensive for long polymers but that we can fix.

Anyways, let me know if I understand the issue correctly.

Romumrn commented 1 year ago

Hi Fabian,

Sorry for the delay in my response. Yes, it is indeed not possible to establish a circular peptide. However, when a MAD user wants to do it, I don't have any feedback about linking it. So I wanted to use it to warn the user through an error as you did before for the link warning that has no connection rules.

I find this warning to be extremely helpful, as it allows me to provide feedback to the user. Do you think it would be doable to maintain it, or would you suggest a more global approach?

fgrunewald commented 1 year ago

@Romumrn I think we can do it, but I suggest we introduce a CLI flag. Something like polyply gen_params -strict, which will then apply the check. Otherwise it might reduce the performance for large molecules such as the genome quite drastically.

Could you send me some example .json files by mail, which you think should raise an error?

fgrunewald commented 11 months ago

this will be included in PR #313