As of sourmash_branchwater_plugin v0.9.9, this error message will be returned in certain circumstances - the easiest way to trigger it is to use a pathlist that points at a .sig/.sig.gz file that contains more than one Signature.
This was never supported, but previous plugin releases did the wrong thing silently and simply loaded the first compatible sketch encountered. The new error message in v0.9.9 results from a change in sourmash (https://github.com/sourmash-bio/sourmash/pull/3333) that flags the situation and displays an error.
The solution, for now, is to convert any and all .sig/.sig.gz files into .sig.zip files (by using, for example, sourmash sig cat sig_file -o file.sig.zip).
This results from the concept of a Signature as containing one or more sketches; the history of this is described here, and it leads to some interesting silliness in the Python layer.
The contrapositive is that, in Rust, a single Signature can include multiple sketches, e.g. with different ksizes. So this works fine for the wort case where we have a single .sig file with k=21, k=31, k51.
Note that the Python layer (and hence the entire sourmash CLI) fully supports multiple Signatures in JSON: this is well tested and well covered behavior. The branchwater plugin runs into it because it is using the Rust layer and the API is not fully fleshed out there.
As of sourmash_branchwater_plugin v0.9.9, this error message will be returned in certain circumstances - the easiest way to trigger it is to use a pathlist that points at a
.sig
/.sig.gz
file that contains more than oneSignature
.This was never supported, but previous plugin releases did the wrong thing silently and simply loaded the first compatible sketch encountered. The new error message in v0.9.9 results from a change in sourmash (https://github.com/sourmash-bio/sourmash/pull/3333) that flags the situation and displays an error.
The solution, for now, is to convert any and all
.sig
/.sig.gz
files into.sig.zip
files (by using, for example,sourmash sig cat sig_file -o file.sig.zip
).Here is a more detailed description of the problem from https://github.com/sourmash-bio/sourmash/pull/3333: