smith-chem-wisc / mzLib

Library for mass spectrometry projects
GNU Lesser General Public License v3.0
26 stars 33 forks source link

Issue with Write method in Readers #799

Open Alexander-Sol opened 1 month ago

Alexander-Sol commented 1 month ago

In Readers, the WriteResults methods calls CanRead to validate a file path.

CanRead checks the intended output path for a given file extension from SupportedFileType. However, these types contain specific text that helps to identify which software generated the file.

If you're trying to write to a file that's named differently from the input file, it will be modified. (e.g., for MsFraggerPeptide, a file path of "FraggerPeptideCopy.tsv" would be modified to "FraggerPeptideCopy.tsvpeptide.tsv")

I don't think this is the intended behaviour. CanRead should probably check the extension by call GetExtension, and modify by stripping the existing extension and replacing it.

nbollis commented 1 month ago

This is a great point and should be addressed. The original implementation did not account for us expanding to a dozen or more different files that all end with 'tsv'