Skip to content

Conversation

@tristan-f-r
Copy link
Collaborator

@tristan-f-r tristan-f-r commented Oct 8, 2025

Work on #26.

@tristan-f-r tristan-f-r added the documentation Improvements or additions to documentation label Oct 8, 2025
@read-the-docs-community
Copy link

read-the-docs-community bot commented Oct 8, 2025

Documentation build overview

📚 spras | 🛠️ Build #30071583 | 📁 Comparing 21e7033 against latest (615e6fb)


🔍 Preview build

Show files changed (20 files in total): 📝 20 modified | ➕ 0 added | ➖ 0 deleted
File Status
index.html 📝 modified
output.html 📝 modified
usage.html 📝 modified
contributing/maintain.html 📝 modified
prms/allpairs.html 📝 modified
prms/bowtiebuilder.html 📝 modified
prms/domino.html 📝 modified
prms/meo.html 📝 modified
prms/mincostflow.html 📝 modified
prms/oi1.html 📝 modified
prms/oi2.html 📝 modified
prms/pathlinker.html 📝 modified
prms/prms.html 📝 modified
prms/responsenet.html 📝 modified
prms/rwr.html 📝 modified
prms/strwr.html 📝 modified
tutorial/advanced.html 📝 modified
tutorial/beginner.html 📝 modified
tutorial/intermediate.html 📝 modified
tutorial/introduction.html 📝 modified

Copy link
Collaborator

@agitter agitter left a comment

Choose a reason for hiding this comment

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

We have really needed this documentation so I'm glad you started it. I will need to review each method carefully with Neha's help instead of trusting my memory.

Co-authored-by: Anthony Gitter <agitter@users.noreply.github.com>
@tristan-f-r
Copy link
Collaborator Author

I based off this documentation off of the different alg generate_input impls, though I did just completely glance over the use of the dummy column in OI1.

@tristan-f-r tristan-f-r requested a review from agitter October 11, 2025 00:51
@github-actions github-actions bot added the merge-conflict This PR has merge conflicts. label Oct 11, 2025
@github-actions github-actions bot removed the merge-conflict This PR has merge conflicts. label Oct 11, 2025
tristan-f-r and others added 2 commits October 19, 2025 14:57
Co-authored-by: Neha Talluri <78840540+ntalluri@users.noreply.github.com>
Copy link
Collaborator

@ntalluri ntalluri left a comment

Choose a reason for hiding this comment

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

I think all of the algorithms lack consistency on how the directionality is being written for the input interactome and the output subnetworks. Please update all of the algorithms in the data usage sections to include the input directionality requirements (fully directed, fully undirected, or allows for both undirected and directed edges to be in an interactome (mixed directionality). Also include what the output subnetworks directionality is. #107 This issue will have a lot of that information; otherwise the information will be in the wrappers.

I don't think we need to add in the Implementation Details part for directionality changes to the edges; this can be a whole different section in the docs in the input data and output formats that explains how the code changes the edges. If you do want to keep the implementation of the edges, please add what is happening for the input and output edges for every algorithm.

@tristan-f-r
Copy link
Collaborator Author

tristan-f-r commented Oct 21, 2025

Who is the audience for directionality? This matters more to algorithm implementers than pathway reconstruction users, which is why I left it in implementation details.

I've left a note about directionality under PRMs, and moved details about conversions inside implementation details.

@ntalluri
Copy link
Collaborator

ntalluri commented Oct 24, 2025

Directionality is important for both users and developers, but in different ways.

For users, directionality affects how they interpret results and choose their inputs. It determines which interactomes can be used, how molecules are represented as interacting with one another, and what to expect from the reconstructed subnetworks. For example, in the Pathway Commons SIF format (see here), edge direction can encode whether an interaction is activating, inhibiting, or otherwise directional; this directly can impacts how users understand interactions.

For developers, the responsibility lies in ensuring that each wrapped algorithm correctly handles the directionality required by its implementation for the input and output.

So when someone is looking at the PRMs documentation, they should also know how the input and output directionality is being handled by an algorithm.

@tristan-f-r
Copy link
Collaborator Author

It does absolutely impact how users interpret results, but SPRAS abstracts directionality, so it shouldn't affect how users prepare their inputs.

(Does the new documentation update suffice?)

@ntalluri
Copy link
Collaborator

I added some comments in the APSP about how things should be updated for consistency in the documentation for each of the algorithms.

@ntalluri
Copy link
Collaborator

ntalluri commented Oct 24, 2025

It does absolutely impact how users interpret results, but SPRAS abstracts directionality, so it shouldn't affect how users prepare their inputs.

(Does the new documentation update suffice?)

Sorry yes, not prepare, I meant choose their inputs.

@tristan-f-r
Copy link
Collaborator Author

Hm, how about this change?

@tristan-f-r
Copy link
Collaborator Author

tristan-f-r commented Oct 24, 2025

Sorry yes, not prepare, I meant choose their inputs.

I think it still doesn't matter how the algorithm converts undirected/directed edges, as long as it incorporates directed edges in some way?

The user should put in the graph that incorporates the most information, regardless of what each individual algorithm is doing.

@agitter
Copy link
Collaborator

agitter commented Oct 24, 2025

I skimmed the discussion here and think users do want to understand how SPRAS will convert (un)directed edges for different algorithms and which of those algorithms can use them. If a user provides a full directed graph, they may want to avoid running algorithms that are going to remove the directionality from their edges.

The language about what an algorithm does "internally" to contrast that with what SPRAS accepts as input and provides as output makes sense to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants