The fact that I’m pretty damn bad at integrals didn’t stop me from taking calculus, and likewise the fact that I never acquired any programming skills beyond trivially amusing concatenations of loops and functions didn’t stop me from taking discrete math. And then I figured, what the hell, I’d take linear algebra, too, and once I shelved my book (always keep your textbooks!) I promtly forgot most of the nifty applications of matrices, because I had dropped out of school and when I came back I was a biology major.
But enough about me. Let’s talk about combinatorial synthesis.
Say you want to screen a group of chemicals for something–well, first you have to assemble a group of chemicals. If you’ve got a vague idea what you’re looking for, you can make exhaustive variations on a chemical theme and test each one. That’s how a lot of useful things are found. . You’ve probably got to react at least two compounds together to produce your thematic chemical. By assembling variants of those compounds and producing their chemical permutations, a large number of compounds can be produced.
Here’s the cool part: the canonical method would be to have an array with i chemicals of class 1 and j chemicals of class 2 and react each in a separate vessel, then test each separately, requiring i x j (x k x l) syntheses, workups, trials, etc. The use of combinatorial methods can eliminate a lot of that by producing and testing groups of compounds in a single go.
This is how we did it today: we had i aldehydes and j hydrazines, and we (presumably) tossed them together to make i x j hydrazones, but instead of reacting each combination separately, we organised vessels into two groups. Each in the first had a large aliquot of an aldehyde and a small one of each hydrazone; each in the second group had a large aliquot of a hydrazine and a small one of each aldehyde. So we’ve got four compounds in each vessel, but by keeping track of which tube has which reagents, a compound can be uniquely addressed by the combination of tubes that contain it.
But this really amuses me: if you ignore those annoying physical limitations (like competing and side reactions, workups, blah blah blah), you can extend the idea of combinatorial synthesis to N dimensions. You don’t need the entire dimensional space to locate a point, just the axes. So your number of reactions and tests will increase linearly with the number of classes of reagents, not exponentially. Or, if you prefer, and you have n classes of m reagents each on your hands, O(n*m), not O(m^n).
And fuck all, that’s cool.