Open neoformit opened 6 months ago
Just for more context on this. We are trying to have interoperability between two scanpy-based tools that are wrapped on the 'galaxy' platform.
There is an underlying conflict between old (<v0.8.0, early 2022) and current versions of the AnnData package - A tool using the old version can't read data generated with the newer version (and will generate the above error.) See https://github.com/scverse/scanpy/issues/2297 and https://github.com/scverse/scanpy/issues/1351#issuecomment-1198015945
The two scanpy-using tool wappers in question:
1) 'iuc anndata_manipulate', which doesn't use scanpy-scripts, requires AnnData 0.10.3. 2) 'ebi-gxa anndata_opts' - uses scanpy-scripts, which in turn requires AnnData, without version restriction.
So without any minimum requirements - tool number 2 via scanpy-scripts seems to be choosing an old version of AnnData (probaby the ancient ancient version of AnnData (0.6.11) on biocontainers https://biocontainers.pro/tools/anndata )
End result is that both tools work in isolation, but tool 2 crashes with anything saved with a more current anndata object.
The current build of
scanpy-scripts
has packagedanndata==0.7.6
. This is causing issues in downstream Galaxy tools, sinceebi-gxa/anndata_ops
requiresscanpy-scripts
and gets this oldanndata
version. This means that it does not play nicely with other tools in the anndata suite, for example:An example of "does not play nicely" is that the output of
anndata_manipulate
will produce an error if read byanndata_ops
, like:ebi-galaxy/anndata_ops
uses the latestscanpy-scripts==1.1.6
, but theanndata
version inscanpy-scripts
is not pinned:https://github.com/bioconda/bioconda-recipes/blob/8a3900e6e5bdbf7bae2c166a619e0eb2af4361bf/recipes/scanpy-scripts/meta.yaml#L50-L51
anndata
version, is it pinned in another dependency?scanpy-scripts
pull a neweranndata
version?anndata>=0.8.0
as a requirement in the Galaxy tool?