This PR implements a new backend for the Spectronaut TSV library format. It refactored the DIA-NN TSV backend so they share a lot of common plumbing.
I've also tried to forward more tool-specific columns just in case they are useful. I suspect that there's still a lot missing that has to do with how these tools do protein inference. I think there are terms for this under MS:1001085 or MS:1001101, but I'm not familiar with where these terms are used in extant PSI formats.
Another consequence is that we cannot safely infer these TSV file formats from reading the first couple of lines of the file, nor do they have informative names or file extensions, so I've made the tooling fail with a more informative warning message. I considered trying to identify distinctive columns, but this didn't feel "future-proof" and given that I've use neither tool in practice, I opted to make the user do the work.
This PR implements a new backend for the Spectronaut TSV library format. It refactored the DIA-NN TSV backend so they share a lot of common plumbing.
I've also tried to forward more tool-specific columns just in case they are useful. I suspect that there's still a lot missing that has to do with how these tools do protein inference. I think there are terms for this under
MS:1001085
orMS:1001101
, but I'm not familiar with where these terms are used in extant PSI formats.Another consequence is that we cannot safely infer these TSV file formats from reading the first couple of lines of the file, nor do they have informative names or file extensions, so I've made the tooling fail with a more informative warning message. I considered trying to identify distinctive columns, but this didn't feel "future-proof" and given that I've use neither tool in practice, I opted to make the user do the work.