Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle n<param> parameter assignment logic internally? #369

Closed
rvhonorato opened this issue Mar 25, 2022 · 7 comments
Closed

Handle n<param> parameter assignment logic internally? #369

rvhonorato opened this issue Mar 25, 2022 · 7 comments
Assignees
Labels
discussions Discussions / Brainstorming

Comments

@rvhonorato
Copy link
Member

rvhonorato commented Mar 25, 2022

We've had this discussion IRL and I'm adding it here for future reference

Currently we have some parameters that represent the number of segments/residues for a given functionality;

  • nfle1: Number of fully flexible segments
  • nseg1: Number of semi-flexible segments
  • nhisd: Number of HISD residue
  • nhise: Number of HISE residue
  • numc2sym: Number of C2 symmetry restraints
  • numc3sym: Number of C3 symmetry restraints
  • numc4sym: Number of C4 symmetry restraints
  • numc5sym: Number of C5 symmetry restraints
  • numc6sym: Number of C6 symmetry restraints
  • nums3sym: Number of S3 symmetry restraints
  • numncs: Number of non-crystallographic symmetry restraints

These are defined by the user, then the number of these parameters must match the number of segments defined.

If this logic is handled internally (without user intervention), we both remove a possible fault point and simplify the integration with the web interface.

Besides that, nsegN is polymorphic and can be a bit confusing for users:

if -1 = automatic
if 0 = rigid
if >1 == integer defining the number of segments

To alleviate that we can add a new parameter but still write nsegN since its needed for CNS

mol_semiflex_1: # choice (auto, rigid, manual), expert
  default: auto
  choices:
    - auto
    - rigid
    - manual
  group: 'flexbility'
  explevel: expert

Similarly nfleN:

if 0: none
if >1 == integer defining the number of segments

We can also alleviate that with adding a new parameter but still write nfleN since its needed for CNS that can even account for the full flexibility

mol_fullflex_1: 
  default: none
  choices:
    - none
    - manual
    - full
  group: 'flexibility'
  explevel: expert

Additionaly ranair is a boolean, but it should be a choice

ranair: 
  default: none
  choices:
    - none
    - manual
    - full
  group: 'ab initio mode'
  explevel: expert

and then nrair_N should be handled internally

@rvhonorato rvhonorato added enhance user experience integration Integration with other platforms: servers, workflows, interfaces, etc labels Mar 25, 2022
@rvhonorato rvhonorato self-assigned this Mar 25, 2022
@sverhoeven
Copy link
Contributor

nrair_1 in rigidbody module is another number of segment parameter

@rvhonorato
Copy link
Member Author

Did this get patched already @joaomcteixeira or is it still relevant?

@joaomcteixeira
Copy link
Member

No. It is an open discussion, still. Currently, users need to provide nfle1 according to the number of segments defined in the configuration file. We can definitively handle this internally. Are there any significant reasons not to do it @amjjbonvin?

@rvhonorato rvhonorato added discussions Discussions / Brainstorming and removed enhance user experience integration Integration with other platforms: servers, workflows, interfaces, etc labels May 4, 2022
@rvhonorato rvhonorato removed their assignment May 4, 2022
@rvhonorato
Copy link
Member Author

I thought this should be implemented, changed it to discussion to better reflect the current state of things.

@rvhonorato rvhonorato changed the title Handle n<param> parameter assignment logic internally Handle n<param> parameter assignment logic internally? May 4, 2022
@joaomcteixeira joaomcteixeira self-assigned this Jun 13, 2022
@joaomcteixeira
Copy link
Member

@amjjbonvin, when you have time let us know your opinion here.

@amjjbonvin
Copy link
Member

Looking at the discussion I think this all makes sense

@amjjbonvin
Copy link
Member

amjjbonvin commented Oct 11, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussions Discussions / Brainstorming
Projects
None yet
Development

No branches or pull requests

4 participants