Skip to content

fix: custom installation of DOMINO #235

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

tristan-f-r
Copy link
Collaborator

@tristan-f-r tristan-f-r commented May 27, 2025

[this has the added surprise that the pypi version of DOMINO is different than the one on GitHub!]

This installs DOMINO locally, which closes #137. However, I would like to tackle #119 and #234, and I'm still missing test cases to show the resolution of #137. (I only tested it on the ridiculously large benchmark input, and I would love to have some medium-sized input to test this on.)

This patches DOMINO with two patch files that separate runner.py (since before the behavior was reliant on setup.py) and move module imports outside of src.

This also makes a new change that allows for required inputs to have custom extensions. though I have yet to test this on the snakemake side.

[this has the added surprise that the pypi version of DOMINO is different than the one on GitHub!]

This installs DOMINO locally, resolving Reed-CompBio#137. However, I would like to tackle Reed-CompBio#119 and Reed-CompBio#234, and I'm still missing test cases to show the resolution of Reed-CompBio#137.

This patches DOMINO with two patch files that separate runner.py (since before the behavior was reliant on setup.py) and move module imports outside of `src`.
@ntalluri
Copy link
Collaborator

you can try using the egfr test case

@tristan-f-r
Copy link
Collaborator Author

I'll try that out!

@tristan-f-r
Copy link
Collaborator Author

That was a great test case - I got a new DOMINO error (most likely pertaining to the new changes in this PR), which I will investigate.

Copy link
Collaborator

@ntalluri ntalluri May 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@agitter would using the egfr data as a test case cause the egfr data to be apart of the pilot data? The data is also used in the summary.py test cases.

The wording of the pilot data is: Can be included to establish proof of concept, effect size estimations, or feasibility of proposed methods. The feasibility of proposed methods is vague but my worry.

Copy link
Collaborator Author

@tristan-f-r tristan-f-r May 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried using a random graph earlier but that didn't work - however, since I know the size of a dataset to use, I can try to artificially induce node hotspots in a randomly generated graph and trick DOMINO into believing it is a biological network, which would work as a test case (as this isn't a test of "is DOMINO a good AMI algorithm," but rather "does DOMINO even run" - none of our test cases before actually made DOMINO run.

[To properly make the test cases work, I would need to read stderr but the stderr parsing is in #220 - for now, the tests require manual verification that its output does not include errors, which, locally for me, it doesn't.]

I wasn't aware that the EGFR dataset was pilot data - I can absolutely create a little tool to make artifical hotspots in a graph if you think that's a good idea 👍

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't want the egfr dataset to be pilot data, which is the worry. However, I would wait to add in a different test case for now.

also adjusts the docker container to move patch copies after requirements installation
@tristan-f-r tristan-f-r marked this pull request as ready for review May 28, 2025 17:11
@tristan-f-r
Copy link
Collaborator Author

tristan-f-r commented May 28, 2025

I'll mark this PR as ready for review, though the data set should be swapped out. As of now, this PR enables singularity support for DOMINO [this could help circumvent #234 as one could use Singularity instead of Docker - I'll still try to replicate that issue locally in the meantime]

@tristan-f-r
Copy link
Collaborator Author

I forgot to update the non-singularity tests.

@tristan-f-r
Copy link
Collaborator Author

The tests for this worked locally, but that was because the generate inputs test suite never cleaned up its inputs before running the test. Pushing a commit to fix that 👍

@tristan-f-r tristan-f-r added the algorithm Pathway reconstruction algorithm to add to SPRAS label May 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
algorithm Pathway reconstruction algorithm to add to SPRAS
Projects
None yet
Development

Successfully merging this pull request may close these issues.

DOMINO fails in Singularity during local testing
2 participants