Editconf with index can not do other things
When one needs to run a debugger to understand the functionality of a basic tool like editconf, something is wrong. In my case I wanted to assign a label and make a selection. This can not be done in one run of editconf due to clumsy implementation. Will fix this soon, but not straight away.
#2 Updated by Erik Lindahl over 9 years ago
Not sure what you refer to by 'assign a label'?
In general, I would prefer to see the tools move in the opposite direction, so they do fewer things in each run, but make sure each such options really works in every single release, rather than trying to support arbitrary combinations of 20-30 options - the latter is simply too difficult to debug!
#3 Updated by David van der Spoel over 9 years ago
I mean editconf -label "D" to set the chain label to "D". I guess there is an optimum size, but we can not split all tools into hundreds of things. Both for editconf and trjconv we should implement a library of changes which are applied in the order specified on the command line. After 4.5 though.
#4 Updated by Erik Lindahl over 9 years ago
OK - I too have had tons of problems with non-existent chain labels before. This might not help you, but we've improved pdb2gmx as well as the pdb writing a bit in this respect: We now try to write proper TER records for pdb output formats (as well as the original chain labels when we have them), and pdb2gmx can do chain separation with arbitrary combinations of TER and/or chain id. This way you can properly handle multiple chains even if the don't have different labels (and water/protein can now occur in any order you want for multi-chain systems).
#6 Updated by Erik Lindahl over 9 years ago
Fixed in commit 3a632b68905c560d5159ce75d5a4b9827f8dfb48.
However, for the record this is a perfect example of a bug that happened because we tried to squeeze in extra functionality which is then difficult to maintain.
The index output option is handled as a separate case, and when other options to handle b-factors and labels were added, those were only added to the default case, not index writing.