Git Product home page Git Product logo

worms's People

Contributors

andrewfavor95 avatar erincyang avatar natteruw avatar willsheffler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

worms's Issues

todo with una

for @willsheffler and @natteruw.

Action Items before may 22

  • switch back to sym Def files
  • fix bb H/O positions
  • whatever else it takes for big design runs
  • other cyclic syms

Longer term work goals

  • extra connection / xtal 'peace sign'
  • c3 c2 c2 gyroid

Misc

  • new version of sublime w/crazy python syntax highlighting
  • install yapf and the sublime plugin
  • install that remember-code-folding plugin
  • pull my changes and update to py36
  • consider a linux desktop/laptop instead of mac? maybe ask jorge what he thinks
  • go over plans for worms v0.2?
    • maybe make a diagram or something?

Potential package compatibility issues

  • worms version: 0.1.26
  • Python version: 3.8
  • Operating System: macOS Catalina 10.15.7

Description

Hey, I was really interested in the WORMs work you've been doing so I tried to install and run some of the examples in the recent Science paper. I found there were some potential compatibility issues that can arise between the current versions of worms, Python, numba, and numpy.

Numba 0.54.0 (or similar) results in a jit error when the import worms command is called. This can be fixed by reverting numba to 0.47.0, as this earlier version doesn't have the issue and is compatible with Python 3.8 (which seems to be required by the current worms release due to the flake8 package). (Sorry, I failed to capture the error message for this one).

I also ran into a somewhat odd error when running the CLI for the first time. Apparently, there was an ABI change in numpy 1.20 which causes a dtype error message to be thrown during CLI execution. More details in this thread below:
numba/numba#6041

Error message below (error is thrown by one of the debugging lines I added, but it's representative of the one that occurs on line 159)

================== start job 0 ======================
output_prefix: ./worms
criteria: <worms.criteria.bounded.AxesIntersect object at 0x7fbe601257f0>
bbspec: [BBDir(bblockspec='fc_binder', direction='_C'), BBDir(bblockspec='connector', direction='NC'), BBDir(bblockspec='C3_N', direction='N_')]
precaching splices
reading pdb /Users/biedermann/test/antibody_cage_data/fc_binders/protein_a.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/fc_binders/dhr79.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR10.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR14.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR15.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR18.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR1.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR20.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR21.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR23.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR24.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR26.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR27.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR31.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR32.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR36.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR39.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR3.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR46.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR47.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR49.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR4.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR53.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR54.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR55.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR57.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR58.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR59.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR62.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR64.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR68.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR70.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR71.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR72.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR76.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR77.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR78.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR79.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR7.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR80.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR81.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR82.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR8.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/connectors/EXT6-DHR9.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/cyclic_oligomers/tj04C3_int5v2.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/cyclic_oligomers/tj18C3_V04.pdb
reading pdb /Users/biedermann/test/antibody_cage_data/cyclic_oligomers/2L6HC3_6_design.pdb
bblocks 0
<numba.jitclass.boxing._BBlock object at 0x7fbe507f4f70>
<class 'numba.jitclass.boxing._BBlock'>
Traceback (most recent call last):
  File "/Users/biedermann/miniconda3.8/envs/bar/lib/python3.8/runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Users/biedermann/miniconda3.8/envs/bar/lib/python3.8/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/biedermann/Dropbox (MIT)/01 Research/03 Code/worms/worms/__main__.py", line 7, in <module>
    worms_main(sys.argv[1:])
  File "/Users/biedermann/Dropbox (MIT)/01 Research/03 Code/worms/worms/app/main.py", line 43, in worms_main
    raise e
  File "/Users/biedermann/Dropbox (MIT)/01 Research/03 Code/worms/worms/app/main.py", line 39, in worms_main
    worms_main2(criteria_list, kw)
  File "/Users/biedermann/Dropbox (MIT)/01 Research/03 Code/worms/worms/app/main.py", line 65, in worms_main2
    kw["bbs"] = simple_search_dag(criteria, merge_bblock=None, precache_only=True, pbar=True,
  File "/Users/biedermann/Dropbox (MIT)/01 Research/03 Code/worms/worms/ssdag.py", line 162, in simple_search_dag
    print(b.file)
TypeError: expected dtype object, got 'numpy.dtype[int8]'

Anyways, just wanted to flag these issues in case anyone else runs into them. Thanks for sharing the awesome code!

File name too long II

File name too long when saving PDBs:

<class 'OSError'>
Traceback (most recent call last):
  File "/home/sheffler/src/worms_beta/worms/app.py", line 202, in worms_main_protocol
    log += filter_and_output_results(criteria, ssdag, result3, **kw)
  File "/home/sheffler/src/worms_beta/worms/output.py", line 260, in filter_and_output_results
    with open(fname + '_asym.pdb', 'a') as out:
OSError: [Errno 36] File name too long: '/home/ajasja/projects/Worms/fibre_staples/04_call_worms_bridge/out/03/SID_10_18.3NNCCNN_mbb0028__0000_105-396-828-1137_N1_C2_2-E01_DR64_cryo.RK-05_2_RK-05_2_1na0_AB_A_0001_0002_RK-05_2_DHR49_BA_B_0001_0004.c_term.A_0001_0001.OUTER.SID_10_ex105_en460_HFuse_ZCON-131_2_2c_2a_1053_ex102_en498_HFuse_ZCON-13_2_2c_2a_1037_ex_ABAA_asym.pdb'

[Errno 36] File name too long: '/home/ajasja/projects/Worms/fibre_staples/04_call_worms_bridge/out/03/SID_10_18.3NNCCNN_mbb0028__0000_105-396-828-1137_N1_C2_2-E01_DR64_cryo.RK-05_2_RK-05_2_1na0_AB_A_0001_0002_RK-05_2_DHR49_BA_B_0001_0004.c_term.A_0001_0001.OUTER.SID_10_ex105_en460_HFuse_ZCON-131_2_2c_2a_1053_ex102_en498_HFuse_ZCON-13_2_2c_2a_1037_ex_ABAA_asym.pdb'

Jit refactor

database

  • fast cache, no poses
  • basic queries
  • jit equivalent of Spliceable / SpliceSite logic

Vertex (was Segment)

  • build seg data
  • new indexing for tree-search

Edge (pre-filter)

  • clash, contact, rms in jit
  • visualize filtered pairs
  • extract segment makeposechains
  • is it too slow?

WormFilter aka criteria

  • find some extensibility path
  • Geom, clash, size
  • PoseFilter aka DB filter

search

  • auto reallocating accum array aka vector

  • pseudocode

  • ienter contiguous, add ienter to idxrange array

  • tree search for linear arrangements

  • topology configuration? Just start with linear? Recombination logic?

File name too long

worms beta on digs

Description

Running some bridge protocols
NDX0JB~U.ZIP

Traceback (most recent call last):
  File "/home/sheffler/.conda/envs/worms/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/sheffler/.conda/envs/worms/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/sheffler/src/worms_beta/worms/__main__.py", line 5, in <module>
    worms_main(sys.argv[1:])
  File "/home/sheffler/src/worms_beta/worms/app.py", line 45, in worms_main
    raise e
  File "/home/sheffler/src/worms_beta/worms/app.py", line 41, in worms_main
    worms_main2(criteria_list, kw)
  File "/home/sheffler/src/worms_beta/worms/app.py", line 120, in worms_main2
    kw['context_structure'] = ClashGrid(kw['context_structure'], **kw)
  File "/home/sheffler/src/worms_beta/worms/clashgrid.py", line 17, in __init__
    bbdb.savepose(pdbfile)
  File "/home/sheffler/src/worms_beta/worms/database.py", line 474, in savepose
    with open(fname, 'wb') as out:
OSError: [Errno 36] File name too long: '/home/ajasja/.worms/cache/poses/__home__ajasja__projects__Worms__fibre_staples__04_call_worms_bridge__out__N1_C2_2-E01_DR64_cryo.RK-05_2_RK-05_2_1na0_AB_A_0001_0002_RK-05_2_DHR49_BA_B_0001_0004.c_term.A_0001_0001__N1_C2_2-E01_DR64_cryo.RK-05_2_RK-05_2_1na0_AB_A_0001_0002_RK-05_2_DHR49_BA_B_0001_0004.c_term.A_0001_0001.CORE.pdb.gz.pickle'

Check for correct connectivity in bblocks, before pre-caching splices

  • worms version: Rosetta version: 2017.48.post.dev+119.fordas.devbase.cce4ea9c848 cce4ea9c848fb89054e27458cfec117fb00bd601 [email protected]:RosettaCommons/main.git 2018-04-16T01:42:35
  • Python version: /home/sheffler/.conda/envs/worms/bin/python

What I Did

In the flag file I had either

--bbconn
    _C ajasjaA
    NC Het:NC
    NN Het:NC
    NN Het:NN
    C_ ajasjaB

or (don't remember exactly)

--bbconn
    _C ajasjaA
    NC Het:NN
    NC Het:NN
    NN Het:NN
    C_ ajasjaB

And worms precalculated the splices up tp the incorrect connection before throwing an error.

Traceback (most recent call last):
  File "/home/sheffler/.conda/envs/worms/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/sheffler/.conda/envs/worms/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/sheffler/src/worms_beta/worms/__main__.py", line 5, in <module>
    worms_main(sys.argv[1:])
  File "/home/sheffler/src/worms_beta/worms/app.py", line 203, in worms_main
    raise e
  File "/home/sheffler/src/worms_beta/worms/app.py", line 199, in worms_main
    worms_main2(criteria_list, kw)
  File "/home/sheffler/src/worms_beta/worms/app.py", line 264, in worms_main2
    criteria, merge_bblock=0, print_edge_summary=True, **kw
  File "/home/sheffler/src/worms_beta/worms/ssdag.py", line 290, in simple_search_dag
    **kw
  File "/home/sheffler/src/worms_beta/worms/edge.py", line 24, in Edge
    u, ublks, v, vblks, verbosity=verbosity, **kw
  File "/home/sheffler/src/worms_beta/worms/edge.py", line 88, in get_allowed_splices
    assert (u.dirn[1] + v.dirn[0]) == 1, 'get_allowed_splices dirn mismatch'
AssertionError: get_allowed_splices dirn mismatch

move repository

maybe do what bcov did and make a "worms" github account

crap, github.com/worms is taken. new name, or something lame like proteinworms or something?

try to talk @natteruw into managing? what does that even mean? accepting pull requests, I guess.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.