Skip to content
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

Duck tape broken networks #144

Closed
wants to merge 34 commits into from
Closed

Conversation

RiesBen
Copy link
Contributor

@RiesBen RiesBen commented Sep 3, 2024

This adds a script for taping disconnected networks together.

Functionality:

  1. The script will read in the input alchemical network that was created to run all simulations (default: './alchemicalNetwork/alchemical_network.json') and the resulting result .json files (default: './results*/*json'). From this information the script will detect missing nodes and network disconnectivities steming from edge simulation failure. (It will expect at least one solvent and one complex edge being finished in order to accept an edge as successful.)

  2. Next the script will use Konnektor to tape the disconnected network parts and missing nodes together to a fixed network. for each compartment, three edges will be used by default to connect the network. The approach here works in a greedy fashion and starts with the largest compartment and adds the next largest with 3 edges to it. in the next iteration the next largest compartment is added to the already merged network with 3 edges and so on.

  3. Afterwards a new alchemicalNetwork containing only the connnecting edges will be written out (default: './tapesForAlchemicalNetwork'). This can be used to add misisng network connections to your already precalculated result folders. After simulating the additional edges, from the new alchemical network folder, you will be able to simply use the same analysis approach to retrieve the now hopefully connected network information.

image

ToDos:

  • Read Input and construct:
    • read result jsons
      • check if both transformations run, otherwise no edge
    • read in input alchemical network
    • get the single disconnected networks
  • Taping
    • tape disconnected networks together
    • filter only new network edges
  • Write out
    • generate new transformations
    • write out new alchemical network
  • Write CLI
  • Test script

@pep8speaks
Copy link

pep8speaks commented Sep 3, 2024

Hello @RiesBen! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

Line 16:80: E501 line too long (88 > 79 characters)
Line 114:1: W293 blank line contains whitespace
Line 232:5: E731 do not assign a lambda expression, use a def
Line 244:9: E722 do not use bare 'except'
Line 269:13: E722 do not use bare 'except'
Line 284:46: W291 trailing whitespace
Line 300:80: E501 line too long (81 > 79 characters)
Line 301:80: E501 line too long (84 > 79 characters)
Line 308:80: E501 line too long (91 > 79 characters)
Line 368:80: E501 line too long (82 > 79 characters)
Line 398:80: E501 line too long (87 > 79 characters)
Line 468:80: E501 line too long (85 > 79 characters)
Line 469:1: W293 blank line contains whitespace
Line 472:80: E501 line too long (91 > 79 characters)
Line 473:80: E501 line too long (85 > 79 characters)
Line 474:1: W293 blank line contains whitespace
Line 476:80: E501 line too long (85 > 79 characters)
Line 477:1: W293 blank line contains whitespace
Line 481:80: E501 line too long (95 > 79 characters)
Line 482:1: W293 blank line contains whitespace
Line 484:80: E501 line too long (87 > 79 characters)
Line 488:1: W293 blank line contains whitespace
Line 492:78: W291 trailing whitespace
Line 496:1: W293 blank line contains whitespace
Line 500:80: E501 line too long (92 > 79 characters)
Line 501:1: W293 blank line contains whitespace
Line 503:80: E501 line too long (87 > 79 characters)
Line 506:1: W293 blank line contains whitespace
Line 513:1: W293 blank line contains whitespace
Line 514:80: E501 line too long (84 > 79 characters)
Line 521:80: E501 line too long (96 > 79 characters)
Line 522:80: E501 line too long (93 > 79 characters)
Line 531:80: E501 line too long (87 > 79 characters)
Line 546:80: E501 line too long (99 > 79 characters)
Line 561:80: E501 line too long (80 > 79 characters)

Comment last updated at 2024-09-17 13:26:30 UTC

@RiesBen RiesBen added the enhancement New feature or request label Sep 5, 2024
@RiesBen RiesBen linked an issue Sep 5, 2024 that may be closed by this pull request
industry_benchmarks/utils/tape_networks.py Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Outdated Show resolved Hide resolved
industry_benchmarks/utils/tape_networks.py Show resolved Hide resolved
@RiesBen RiesBen changed the title [WIP] - Duck tape broken networks Duck tape broken networks Sep 10, 2024
@IAlibay IAlibay mentioned this pull request Oct 5, 2024
5 tasks
@IAlibay
Copy link
Member

IAlibay commented Oct 5, 2024

Closing as supplemented.

@IAlibay IAlibay closed this Oct 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Script for fixing broken networks
4 participants