I am buying a few Gblocks that I codon optimized on IDT, but I have no prior experience with using them for cloning and protein expression (I used DNA2.0 before, got lots of protein expression - unfortunatelly can't afford that now).
With synthetic genes (no matter from what vendor) people can optimize more aggressively than with gBlocks, because gBlocks have additional manufacturing constrains.
In our hands, the value of "optimization" seems to depend a lot on the level of species boundary you're crossing, and what you're optimizing for. Certainly "codon optimization" can help get the expression level up, especially if the species boundary is large.
But if you care about things like correct folding and biological activity of a xenoprotein in bacteria, then codon optimization can actively hurt. Frequent codons make everything go faster, but oftentimes you want to slow down in certain places, to support co-translational folding. We don't know enough about how protein folding works to optimize for those issues directly. Lowering the temperature can sometimes help, but slow (native) codons certainly help too.
So as a rule of thumb, we like to go with the native sequence if we're expressing it in a species reasonably close to the original host. If we're crossing kingdom boundaries, like expressing a plant protein in bacteria, the folding signals are unintelligible no matter what, and so optimization might not hurt as much.
With synthetic genes (no matter from what vendor) people can optimize more aggressively than with gBlocks, because gBlocks have additional manufacturing constrains.
In our hands, the value of "optimization" seems to depend a lot on the level of species boundary you're crossing, and what you're optimizing for. Certainly "codon optimization" can help get the expression level up, especially if the species boundary is large.
But if you care about things like correct folding and biological activity of a xenoprotein in bacteria, then codon optimization can actively hurt. Frequent codons make everything go faster, but oftentimes you want to slow down in certain places, to support co-translational folding. We don't know enough about how protein folding works to optimize for those issues directly. Lowering the temperature can sometimes help, but slow (native) codons certainly help too.
So as a rule of thumb, we like to go with the native sequence if we're expressing it in a species reasonably close to the original host. If we're crossing kingdom boundaries, like expressing a plant protein in bacteria, the folding signals are unintelligible no matter what, and so optimization might not hurt as much.
I concur with John's response absolutely ; while there was a tendency a few years ago to blindly optimise using "best possible" codon tables, it has become very clear with the benefit of hindsight and many hours lost at the bench trying to find ways to make proteins soluble that you can have too much of a good thing, so where possible I also prefer to use very conservative modification.
It is true that there are odd sequences that really don't like being expressed (for instance) much in E.coli where an analysis of the codon composition can highlight strings of codons that impact negatively on the ability of the expression strain to produce any protein at all. In these instances, sensitive modification of a limited number of codons may raise expression levels to an acceptable amount without causing Inclusion Body grief - but this is about as much as I would advocate.
I can also add a response now, as I've ordered about 10 gBlocks and cloned them by Gibson assembly to a pET-like vector for protein expression. In terms of soluble protein expression in E.coli, only 2 showed zero soluble expression, 2 were very overexpressed, the other 6 had low expression but I'm sure I can work with it or optimize. So I will definitely use this strategy again, as it is very quick and cheap.