- 
                Notifications
    
You must be signed in to change notification settings  - Fork 53
 
          None variables are NOT written to CNS
          #163
        
          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
Conversation
Implements: #162 (comment)
          Codecov Report
 
 @@            Coverage Diff             @@
##             main     #163      +/-   ##
==========================================
- Coverage   38.70%   38.70%   -0.01%     
==========================================
  Files          39       39              
  Lines        2204     2217      +13     
==========================================
+ Hits          853      858       +5     
- Misses       1351     1359       +8     
 Continue to review full report at Codecov. 
  | 
    
* Adds support for paths * corrects chains, does it?
| 
           @amjjbonvin @rvhonorato I need your help and close attention in this last commit, I might have found a bug for a silenced functionality. 
 Try running some examples in this branch generating ONLY the topologies to see if you have an expected behaviour. There are some prints, use them or never mind them.  | 
    
| 
           Another related issue: I am testing now the manual definition of histidines, but this now requires adding all possible parameters to the default.cfg file of the  And if we need more variables because a protein contain more HIS, then the default file has to be edited. Could we for such nested variables allow for some flexibility, i.e. you only need to define one in the defaults.cfg file and any increased index would be accepted. PS: The index here does not refer to the molecule, but rather to the number of HIS residue you want to define for a given molecule.  | 
    
| 
           We can have a unique parameter for His and define it as a list, for example: 
 each number is a histidine in the sequence and the number reflects a protonation state. That is how BioExcel Building blocks is doing. Otherwise we can have a dictionary: this would avoid the need to edit the   | 
    
          
 It could be defined with respect the MODDIR variable (this of course assumes that all data are within the user directory where haddock3 is called from 
 We don't have it in the  Chain might be then coming from what is defined in the PDB file itself.  | 
    
          
 By default all are charges and I only want to specific - per molecule - the other states when needed (either hisd or hise). This would not work since you need to define the HIS per molecule. And each molecule can have multiple entries. But this parameter is not showing anywhere in the   | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will trust you on this one and test later :-)
| 
           Done. Also, to add parameters to the  [topoaa]
autohis=false
[topoaa.input.mol1]
whatever_new_parameter_here=false
# these parameters are not confirmed if they exist in the defaults config (for now) | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍🏽
| raise exception(emsg.format(str(path))) | ||
| 
               | 
          ||
| 
               | 
          ||
| def recursive_dict_update(d, u): | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh this is neat!
| return f'eval (${param}="{str(value)}"){linesep}' | ||
| 
               | 
          ||
| elif isinstance(value, (int, float)): | ||
| return f'eval (${param}={value}){linesep}' | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will have all decimals of the float, should we do something about it to make it CNS-safe?
Closes #162
Parameters defined with
Nonewill NOT be written to the CNS header files. For example:bad_param = Nonebad_param = noneBUT, empty strings WILL be written to CNS files.
I prefer that empty variables are defined only by
None.Please test it, and if does not work let me know. Because it SHOULD work just with these changes.
Important: I don't know the behaviour of CNS if it expects a variable somewhere down the line that was not defined in the header.
See also #161