add STMiner#254
Conversation
Name of the tool: STMiner Short description: Gene-centric spatial transcriptomics for deciphering complex spatial omics data How does the package use scverse data structures (please describe in a few sentences): STMiner uses AnnData as standardized input and output, and all operations are based on AnnData. STMiner also supports reading data in multiple formats (CSV, gem, etc.) and converting them into AnnData for unified operations. - [x] The code is publicly available under an [OSI-approved](https://opensource.org/licenses/alphabetical) license - [x] The package provides versioned releases - [x] The package can be installed from a standard registry (e.g. PyPI, conda-forge, bioconda) - [x] Automated tests cover essential functions of the package and a reasonable range of inputs and conditions [^1] - [x] Continuous integration (CI) automatically executes these tests on each push or pull request [^2] - [x] The package provides API documentation via a website or README[^3] - [x] The package uses scverse datastructures where appropriate (i.e. AnnData, MuData or SpatialData and their modality-specific extensions) - [x] I am an author or maintainer of the tool and agree on listing the package on the scverse website <!-- To add a new package to the list, please add a `meta.yaml` file to the `packages` directory and copy the checklist from the README here and fill it out. -->
add STMiner
for more information, see https://pre-commit.ci
|
Hi @PSSUN, Thanks for submitting
While you do have versioned releases on PyPI, I’d recommend also tagging them on GitHub and/or using the GitHub Releases feature.
According to our guidelines, all user-facing functions should be tested. At the moment, this doesn’t seem to be fully covered. Please consider adding tests for most or all of your public API, ideally with checks for expected outputs.
By API documentation, we mean a structured listing of all functions/classes/methods, including their arguments and expected inputs/outputs. A good example is the scirpy API docs. I recommend looking into Sphinx Autodoc plugin to generate this kind of documentation. Looking forward to your updates! Best regards, |
|
Hi, @mikkelnrasmussen , Thank you so much for reviewing STMiner and providing valuable suggestions! Here are the improvements we've made based on your feedback:
The test scripts incorporate all functions used in the basic pipeline. These functions are consolidated into a single method to minimize I/O operations, thereby reducing test execution time. Best regards, |
|
Hi, @mikkelnrasmussen , Apologies for the interruption, I just want to ensure we're on the right path. |
|
Hi @PSSUN, Sorry about the delay. I just got back from vacation - will have a look tomorrow. Best, |
|
Hi @PSSUN, The API documentation and the addition of GitHub releases look great! It would be great if you could add test coverage for all user-facing API methods. As far as I can tell, the following functions currently lack corresponding tests:
Best, |
|
Hi @mikkelnrasmussen , Thank you so much for your review! Your feedback has been a great help in improving STMiner. Following your suggestions, I've added tests for the functions you mentioned (https://github.com/xjtu-omics/STMiner/blob/main/tests/test_STMiner.py). This helped me identify and fix a few bugs. I have temporarily disabled the compare_image_to_genes function and its API documentions, as it's an unstable feature that is not part of the current release. All other functions are now working correctly. |
mikkelnrasmussen
left a comment
There was a problem hiding this comment.
Hi @PSSUN,
Thanks for adding the tests and glad to hear it helped identify some bugs! Everything looks good to me now.
Best,
Mikkel
Name of the tool: STMiner
Short description: Gene-centric spatial transcriptomics for deciphering complex spatial omics data
How does the package use scverse data structures (please describe in a few sentences): STMiner uses AnnData as standardized input and output, and all operations are based on AnnData. STMiner also supports reading data in multiple formats (CSV, gem, etc.) and converting them into AnnData for unified operations.