Skip to content

Conversation

@atravitz
Copy link
Contributor

@atravitz atravitz commented Feb 28, 2025

resolves #1017

Checklist

  • Added a news entry

Developers certificate of origin

@atravitz atravitz self-assigned this Feb 28, 2025
@codecov
Copy link

codecov bot commented Feb 28, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.47%. Comparing base (7be2225) to head (dd42b82).
⚠️ Report is 230 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1172      +/-   ##
==========================================
- Coverage   94.63%   92.47%   -2.17%     
==========================================
  Files         143      143              
  Lines       10962    10962              
==========================================
- Hits        10374    10137     -237     
- Misses        588      825     +237     
Flag Coverage Δ
fast-tests 92.47% <ø> (?)
slow-tests ?

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@atravitz atravitz requested a review from IAlibay February 28, 2025 23:46
@atravitz
Copy link
Contributor Author

this is my first pass, very open to feedback @IAlibay

Copy link
Member

@IAlibay IAlibay left a comment

Choose a reason for hiding this comment

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

Couple of comments, otherwise looks good to me.

connecting all :class:`.SmallMoleculeComponent` with a ''maximal network'' (using :func:`.generate_maximal_network`),
but it is much more efficient to use a network with less transformations like a ''radial network'' (also known as a star map, using :func:`.generate_radial_network`)
or a ''minimimal spanning network'' (using :func:`.generate_minimal_spanning_network`).
A :class:`.LigandNetwork` is a network where nodes are :class:`.SmallMoleculeComponent`\ s and edges are :class:`.LigandAtomMapping`\ s.
Copy link
Member

Choose a reason for hiding this comment

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

What's possibly missing here is some kind of exposition that tells users that edges are not always expected. I.e. you can have a ligand networks with disconnected sections.


Any :class:`.LigandNetwork`` generation can be generally conceptualized into three steps:
Because a ``LigandNetwork``'s edges are atom mappings, each edge can be assigned a score that indicates the mapping's quality.
Some network generators use these scores to construct more efficient network topologies.
Copy link
Member

Choose a reason for hiding this comment

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

I'm not sure I fully understand this section, it feels a little bit "out of place". I'm probably missing a step, but in my head I'm thinking "ligand networks are generated using scores" not "there are scores and they are used to generate new networks".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not every network generator requires a scorer. For example, radial network doesn't require a scorer at all. I'm working on writing this up in a clearer way.

Copy link
Member

Choose a reason for hiding this comment

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

I think there is a miscommunication here and the current text still has the same issue. The way things are such that the edges can have scores and networks can use these scores, but you already have a network, so the network isn't using these scores at that point. The way it should have been written imho is "the network may have been generated using these scores".

@atravitz atravitz added this to the v1.4.0 milestone Apr 15, 2025
@atravitz atravitz modified the milestones: v1.4.0, v1.5.0 Apr 23, 2025
@atravitz atravitz added the documentation Improvements or additions to documentation label Apr 29, 2025
@atravitz
Copy link
Contributor Author

I think the current state is an improvement, but I intend to do more work on it as a part of the konnektor usability drive. OpenFreeEnergy/konnektor#152

@github-actions
Copy link

No API break detected ✅

@atravitz atravitz enabled auto-merge (squash) June 23, 2025 20:52
@atravitz atravitz disabled auto-merge June 23, 2025 20:52
@atravitz atravitz merged commit aaf6fdd into main Jun 23, 2025
11 of 12 checks passed
@atravitz atravitz deleted the docs/ligand_network_clarity branch June 23, 2025 20:52
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.

ligand network user guide rewrite

3 participants