broadinstitute / catch

A package for designing compact and comprehensive capture probe sets.
MIT License
76 stars 16 forks source link

Expose option to specify a custom hybridization model #14

Closed haydenm closed 6 years ago

haydenm commented 6 years ago

Previously, a user could define a function in CATCH that implements a custom model to determine whether a probe hybridizes to a region of target sequence (e.g., to incorporate a calculation of free energy). The user would then need to set the cover_range_fn parameter where necessary (e.g., in the set_cover_filter module) to use this custom function.

This pull request makes it easier to use a custom function that determines hybridization. It exposes this ability by adding the --custom-hybridization-fn argument to the main design.py executable. (Likewise, it adds an argument for a more tolerant function to use with blacklisting genomes and differential identification.) The argument provides a path to a Python function, and CATCH dynamically loads this and uses it whenever it calculates hybridization between a probe and target sequence.

coveralls commented 6 years ago

Coverage Status

Coverage decreased (-0.2%) to 94.718% when pulling b8ef9f2db5f2c7b70e921f331ecc41427e1ed89a on custom-covg-fn into fe63b86bc41396c1da0b449ac440c6ae9e52b2c5 on master.