On Wed, Nov 22, 2017 at 10:11 AM, Cory J. Geesaman <cory@geesaman.com> wrote:
problem of going from "this is the structure I need" to "this is the DNA which codes for the protein which will fold into that structure, given the prerequisite materials."
I have been thinking of this sort of thing too, and because I wrote a tool last year for generating circuit-board schematics with constraint-based design rules, I ended up using a SAT solver... and have since searched the literature for SAT (or SMT) + biotech keywords. There are some interesting hits, for sure. I haven't gone through, for example, all of the pages here:
but I think this one is the closest sounding by the title:
in my thoughts on how I might approach this, one way I thought to start would be to model a 3D space/grid at atomic or probably sub-atomic granularity. Then using constraints to say some grid variables must be adjacent (maybe use the IUPAC name to traverse from each adjacent atom to the next), and additional constraints to associate those locations with a charge value. You'd write this as generator code, so you have the means to generate copies of your amino acid models (adjacent grid points, with charge) you can offset the overall molecule position as well as rotate it, and setup constraints when you need them (or just a specific charge, or group of charges) to be in a specific location.
Oh yeah, I forgot you'd also probably need to have a variable for storing the location-to-location 'bendiness', how many degrees it can bend and/or rotate. This will be required for setting up constraints that the peptide bonds, since you know you need all these groups of locations+charge to be connected in a polymer.
You'd also need a constraint that says grid locations can only be used once, and probably another constraint that prevents molecules from being positioned like links in a chain (we know benzene rings don't behave like that)... that one could be a bit tough to implement... hmm.
Then you should basically be able to say "solve", and the constraint solver will produce a solution, which you'd have to parse back into a sequence of amino acids.
This doesn't account for solvents though, salts, etc... so there's a lot to think about. But that isn't to say that stuff couldn't be modeled, it's just more work and I am not sure how to deal with something like diffusion with a solver like this. One of the microfluidics design using SAT/SMT (in the directory of the URL above) talks about using piece-wise solvers... one for SAT/SMT, in series with one for fluid dynamics (I think, it's been a while since I read these), and I think they fed back and forth iteratively to each other.
-- You received this message because you are subscribed to the Google Groups DIYbio group. To post to this group, send email to diybio@googlegroups.com. To unsubscribe from this group, send email to diybio+unsubscribe@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/diybio?hl=en
Learn more at www.diybio.org
---
You received this message because you are subscribed to the Google Groups "DIYbio" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diybio+unsubscribe@googlegroups.com.
To post to this group, send email to diybio@googlegroups.com.
Visit this group at https://groups.google.com/group/diybio.
To view this discussion on the web visit https://groups.google.com/d/msgid/diybio/CA%2B82U9KxNtBW6CeODWDq3kQQSunEkjLkOhaT0M-o%2Boy0Y5finw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
0 comments:
Post a Comment