Hi,
Glad to hear that the
--json option with
--nmr does the trick for you. I won't argue with you (or any DSSR user) about the best approach to a particular use case. Overall, though, the structured JSON output is the way to go for parsing data -- it is the USB connector between different parts (programs). In my knowledge of DSSR usages, the JSON output is indeed the preferred way to take advantage of what DSSR has to offer. For example, the DSSR-Jmol interface relies on JSON format. As a more up-to-date example, the DSSR R wrapper from "VeriNA3d: an R package for nucleic acids data mining" (
https://doi.org/10.1093/bioinformatics/btz553) employes JSON output as well -- see my blogpost "
R wrapper to DSSR in VeriNA3d".
The
--nmr and
--non-pair combination works as you expected because non-pairing interactions are part of DSSR output. The DSSR output was initially in text format only before the JSON option was introduced. The
--get-hbond option, on the other hand, is auxiliary and internal to DSSR. After all, there are numerous other ways to detect H-bonds, including the dedicated tools HBPlus and HBExplore, for example. I'm glad to see the community like this 'extra' feature from DSSR, presumably due to its
robust performance in real-world applications.
As a side note, the DSSR JSON output actually contains more information about H-bonds than that from the text output. I have no doubt that these features would be put into good use by the community someday.
Best regards,
Xiang-Jun