-
Notifications
You must be signed in to change notification settings - Fork 46
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
User cloning #314
User cloning #314
Conversation
…t between sequences
Bumps [black](https://github.com/psf/black) from 24.4.2 to 24.8.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](psf/black@24.4.2...24.8.0) --- updated-dependencies: - dependency-name: black dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 2.0.0 to 3.0.0. - [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst) - [Commits](readthedocs/sphinx_rtd_theme@2.0.0...3.0.0) --- updated-dependencies: - dependency-name: sphinx-rtd-theme dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [prettytable](https://github.com/jazzband/prettytable) from 3.10.0 to 3.11.0. - [Release notes](https://github.com/jazzband/prettytable/releases) - [Changelog](https://github.com/jazzband/prettytable/blob/main/CHANGELOG.md) - [Commits](prettytable/prettytable@3.10.0...3.11.0) --- updated-dependencies: - dependency-name: prettytable dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
* closes pydna-group#270 * closes pydna-group#269 by adding an example notebook + extra tests * closes pydna-group#288, includes the graphics in docs notebook
* new docs * update action * update action * fix typo in action * update README + closes pydna-group#305 * improve docs * document how docs work * fix autogen_docs.sh * fix crispr docstring
* fix action * fix action
- Sort possible final products by Tm (stability proxy)
- Tests passing - Several TODOs
Hello, I have made a pull request to your pull request (dgruano#1) with a small refactor that allows to use the USER objects as regular restriction enzymes. It's a bit hacky, but I don't think it could be a problem. Basically, you make the property I don't see a dangerous scenario for this being used in cuts_watson = [c - 1 for c in e.search(self, linear=(not self.circular))]
out += [((w, e.ovhg), e) for w in cuts_watson] Regarding the "edge-case" situations (multiple
What should this give? I don't think it's worth supporting.
Of note, don't use |
Wow! I just learnt a lot of things! I realized the problem to use the search function was that ovhg had to be "dynamic" but didn't think it can actually be done. And yeah, my bad! Did not realize that Dseq.reverse_complement() gets the ACTUAL reverse complement of the Dseq object but keeping the watson coordinates. Very happy to get to know pydna better. Will write some tests, merge your PR, implement the nickase and push changes to this PR. Thanks for looking into this!!! |
You guys are so cool. Good work! |
* USER refactor * clear ovhgs before searching for safety * clear ovhgs before searching for safety
USER works like a charm. I will implement the nickase and publish the PR for review. |
- Fix counting problem in USER search - USER cannot cut if there are crick sites upstream of watson sites (see tests) - Nickase cannot cut if there are crick sites upstream of watson sites (see tests)
A have a minimal working example of USER cloning, to address #309
As a summary, USER removes the uracil base from a dsDNA leaving an abasic site, that is subsequently cleaved by an AP liase. If the upstream sequence is short enough, it will detach due do instability of the ds bonds, leaving a 3' overhang.
I created a
USER
class that mimics the reaction of USER + AP liase. Did this following the structure of a restriction enzyme. However, the current implementation does now allow to use thesearch
method byDseq.cut
. This is because:watson
andrc(watson)
, theUSER.search
method only looks for USER sites in one strand.Finally, the
products
method implements thissearch
function properly, searching first in the watson and then in the crick to find all possible combinations. This are ordered by descending order of melting temperature of the double-stranded fragment (used here as a stability proxy).@BjornFJohansson , you had noted down an outline and written some code and tests. While my implementation is different, could you check if this is moving in the right direction?
@hiyama341 you also have implemented USER in teemi, and may have used USER in vitro, any thoughts?