Skip to content

feat: netmix2 #225

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

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from
Draft

feat: netmix2 #225

wants to merge 9 commits into from

Conversation

tristan-f-r
Copy link
Collaborator

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

WIP - need to actually handle gurobi from https://github.com/raphael-group/netmix2. Everything else is laid out.

Closes #157.

@@ -24,7 +24,7 @@ container_registry:
base_url: docker.io
# The owner or project of the registry
# For example, "reedcompbio" if the image is available as docker.io/reedcompbio/allpairs
owner: reedcompbio
owner: pubtristanf
Copy link
Collaborator Author

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

Choose a reason for hiding this comment

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

This will go once I undraft this PR.

@tristan-f-r tristan-f-r changed the title feat: begin netmix2 feat: netmix2 May 23, 2025
@tristan-f-r tristan-f-r mentioned this pull request May 23, 2025
Copy link
Collaborator

Choose a reason for hiding this comment

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

please update the file to have include: true for all that were turned to false

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hi! Apologies for the late response on these reviews - this PR is a draft PR, so I didn't mean for anyone to do a deep review of its contents 😅

Copy link
Collaborator

Choose a reason for hiding this comment

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

It's okay, I'm going through each PR in waiting.

scores_file,
'-o', mapped_out_prefix + '/v-output.txt']

# Add optional arguments
Copy link
Collaborator

Choose a reason for hiding this comment

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

These parameters are not currently in the example config.yaml file. Please add them as parameters a user can set.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Is there a goal to allow for the other families other than the propagation family?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Not at the moment.


@staticmethod
def run(network=None, scores=None, output_file=None, delta=None, num_edges=None, density=None,
time_limit=None,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should we preset a time_limit?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I wasn't quite sure how to handle that, as time_limit feels like another option that should really be global to algorithms.

output_vertices.rename(output_file)

@staticmethod
def parse_output(raw_pathway_file, standardized_pathway_file):
Copy link
Collaborator

Choose a reason for hiding this comment

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

Netmix2 will not work with the ML post processing and possibly some of the other post processing. I'm not sure how to fix this at the moment, but this is something that will need to be considered.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Please add the expected-pathway file and input raw-pathway file

Copy link
Collaborator

Choose a reason for hiding this comment

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

Please add the expected input file

required_inputs = ['network', 'scores']

@staticmethod
def generate_inputs(data: Dataset, filename_map):
Copy link
Collaborator

Choose a reason for hiding this comment

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

For directionality and edges, I just wanted to confirm that NetMix2 deals with only undirected inputs and can handle duplicate edges?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Unsure, I've only tested it on undirected inputs so far.

Copy link
Collaborator

@ntalluri ntalluri May 27, 2025

Choose a reason for hiding this comment

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

Netmix itself could either interpret the network as fully directed, fully undirected, or mixed. From what I can tell it only deals with undirected graphs based on the code. It's not based on the universal input SPRAS/user is giving.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Please add test cases that includes the required parameters only, required + all optional parameters, missing any required parameters, and singularity test case.

@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.

NetMix2
2 participants