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

Support for optimization of RNA structure #12

Open
simone-pignotti opened this issue Jul 17, 2019 · 3 comments
Open

Support for optimization of RNA structure #12

simone-pignotti opened this issue Jul 17, 2019 · 3 comments

Comments

@simone-pignotti
Copy link
Contributor

Even though the AvoidHairpins specification is a good compromise between speed and quality of the results, there are few tools available for optimizing RNA structure accurately (none actually usable programmatically, as far as I know), and implementing it in DnaChisel would make it even more unique than it already is :)
Using an external package like Vienna, it shouldn't be too hard to implement it. d-tailor is an example of how to integrate it into a codon optimization framework.
Feel free to close this issue if you are not interested in supporting this feature!

Thanks
Simone

@Zulko
Copy link
Member

Zulko commented Jul 17, 2019

ViennaRNA or any other package would be a priori as easily integratable with DNAChisel as with D-tailor. There is no example yet in DNA Chisel because I am not sure how to formulate the specification so that it would be useful to everyone, so I would expect that you would define your own custom Specification class (which you would do in your script, you wouldn't need to fork the project for that). I'd happy to help you with your use case. In short you would need to write a new Specification class with a "evaluate" method which calls viennaRNA (I think there is a python binding) and returns a score and a list of regions to improve.

You can also use Primer3. See this file for some examples of custom Specifications using Primer3, for instance to compute melting temperature or heterodimerization.

@vostrosablin
Copy link

DNAChisel definitely can be used to integrate RNA structure optimization, defining your own Specifications as mentioned in the comment above. However, the performance might be not so great, as the optimization will mutate the sequence randomly and then calculate the structure using a third party algorithms

@Zulko
Copy link
Member

Zulko commented Aug 19, 2021

It's true that more specialized software may mutate the sequence in a more rational, structure-oriented way than Chisel does. One way to improve Chisel's performance would be to return well-target locations for .evaluate(). This could be all the long spans of ( and ) in the structure strings of the form ...((..(.)..)).(((...))), or something more fancy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants