<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged protein</title>
<link>https://coderlegion.com/tag/protein</link>
<description>Powered by Question2Answer</description>
<item>
<title>How I Redesigned a Thermostable Enzyme with ProteinMPNN, Validated with AlphaFold2</title>
<link>https://coderlegion.com/21915/how-i-redesigned-a-thermostable-enzyme-with-proteinmpnn-validated-with-alphafold2</link>
<description>&lt;p&gt;&lt;strong&gt;E155 and E215 at 6.03 Å&lt;/strong&gt; - exactly the nucleophile/acid-base separation &lt;br&gt;
expected for a GH5 retaining endoglucanase.&lt;/p&gt;
&lt;p&gt;This step matters. If I had accepted the literature numbering without checking, I would have fixed the wrong residues and the constrained run would be biologically &lt;br&gt;
meaningless.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;step-2-b-factor-profile&quot;&gt;Step 2: B-factor profile&lt;/h3&gt;
&lt;p&gt;Before running ProteinMPNN, I computed per-residue B-factors to identify &lt;br&gt;
flexibility hotspots - regions that might benefit most from redesign:&lt;/p&gt;
&lt;p&gt;High-flexibility regions (B &amp;gt; 30 Å²):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Residues 246–250: B-factor up to &lt;strong&gt;96.85 Å²&lt;/strong&gt; - extremely mobile surface loop&lt;/li&gt;
&lt;li&gt;N-terminus (residues 1–3)&lt;/li&gt;
&lt;li&gt;Loop 169–173&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are the regions where ProteinMPNN has the most freedom and where &lt;br&gt;
thermostabilising mutations would be most impactful in a follow-up study.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;step-3-proteinmpnn---unconstrained-run&quot;&gt;Step 3: ProteinMPNN - unconstrained run&lt;/h3&gt;
&lt;p&gt;First I ran ProteinMPNN without any constraints to understand what sequences it naturally prefers for this backbone:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;python protein_mpnn_run.py \
    --pdb_path cel5a_clean.pdb \
    --out_folder mpnn_output/temp_0.1 \
    --num_seq_per_target 100 \
    --sampling_temp 0.1 \
    --seed 42
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Five temperatures (0.1, 0.2, 0.3, 0.5, 0.8), 100 sequences each = 500 total.&lt;/p&gt;
&lt;p&gt;The result was surprising: at T=0.1, ProteinMPNN placed &lt;strong&gt;Threonine at E155 &lt;br&gt;
(93/100 sequences)&lt;/strong&gt; and &lt;strong&gt;Alanine at E215 (97/100 sequences)&lt;/strong&gt;. Both catalytic glutamates were replaced with non-catalytic residues.&lt;/p&gt;
&lt;p&gt;This is not a bug - it's the correct behaviour. ProteinMPNN optimises for backbone fit, not biological function. Threonine and alanine may pack better against the local structure than glutamate, but they cannot perform the retaining mechanism. This finding motivates the constrained run.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;step-4-proteinmpnn---catalytic-constrained-run&quot;&gt;Step 4: ProteinMPNN - catalytic-constrained run&lt;/h3&gt;
&lt;p&gt;Fix E155 and E215, let everything else vary:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;fixed_positions = {
    &quot;cel5a_clean&quot;: {
        &quot;A&quot;: [155, 215]
    }
}
with open(&quot;fixed_positions.jsonl&quot;, &quot;w&quot;) as f:
    f.write(json.dumps(fixed_positions) + &quot;\n&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;python protein_mpnn_run.py \
    --pdb_path cel5a_clean.pdb \
    --fixed_positions_jsonl fixed_positions.jsonl \
    --num_seq_per_target 100 \
    --sampling_temp 0.1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Results:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Temperature &lt;/th&gt;&lt;th&gt;Mean score &lt;/th&gt;&lt;th&gt;Mean recovery &lt;/th&gt;&lt;th&gt;E155 preserved &lt;/th&gt;&lt;th&gt;E215 preserved&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;0.1 &lt;/td&gt;&lt;td&gt;0.763 &lt;/td&gt;&lt;td&gt;52.6% &lt;/td&gt;&lt;td&gt;100% &lt;/td&gt;&lt;td&gt;100%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0.2 &lt;/td&gt;&lt;td&gt;0.788 &lt;/td&gt;&lt;td&gt;52.1% &lt;/td&gt;&lt;td&gt;100% &lt;/td&gt;&lt;td&gt;100%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0.3 &lt;/td&gt;&lt;td&gt;0.830 &lt;/td&gt;&lt;td&gt;51.5% &lt;/td&gt;&lt;td&gt;100% &lt;/td&gt;&lt;td&gt;100%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0.5 &lt;/td&gt;&lt;td&gt;0.983 &lt;/td&gt;&lt;td&gt;49.1% &lt;/td&gt;&lt;td&gt;100% &lt;/td&gt;&lt;td&gt;100%&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;0.8 &lt;/td&gt;&lt;td&gt;1.369 &lt;/td&gt;&lt;td&gt;43.1% &lt;/td&gt;&lt;td&gt;100% &lt;/td&gt;&lt;td&gt;100%&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;100% catalytic preservation at all temperatures.&lt;/strong&gt; And the score distributions are nearly identical to the unconstrained run - fixing 2 out of 605 residues costs essentially nothing in terms of backbone fit.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;step-5-alphafold2-validation&quot;&gt;Step 5: AlphaFold2 validation&lt;/h3&gt;
&lt;p&gt;Top 20 constrained designs (lowest MPNN score, T=0.1) were folded using &lt;br&gt;
ColabFold on a free T4 GPU:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;colabfold_batch \
  top20_constrained_candidates.fasta \
  af2_structures/designs \
  --model-type alphafold2_ptm \
  --num-recycle 3 \
  --msa-mode single_sequence
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Also folded the wildtype under identical conditions as a baseline.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Result: 20/20 designs beat wildtype pLDDT.&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Design &lt;/th&gt;&lt;th&gt;MPNN score &lt;/th&gt;&lt;th&gt;AF2 pLDDT &lt;/th&gt;&lt;th&gt;delta pLDDT vs WT&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;CEL5A_FIXED_013 &lt;/td&gt;&lt;td&gt;0.7532 &lt;/td&gt;&lt;td&gt;46.04 &lt;/td&gt;&lt;td&gt;&lt;strong&gt;+12.71&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;CEL5A_FIXED_012 &lt;/td&gt;&lt;td&gt;0.7513 &lt;/td&gt;&lt;td&gt;45.69 &lt;/td&gt;&lt;td&gt;+12.37&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;CEL5A_FIXED_014 &lt;/td&gt;&lt;td&gt;0.7535 &lt;/td&gt;&lt;td&gt;45.61 &lt;/td&gt;&lt;td&gt;+12.29&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;CEL5A_FIXED_010 &lt;/td&gt;&lt;td&gt;0.7508 &lt;/td&gt;&lt;td&gt;44.48 &lt;/td&gt;&lt;td&gt;+11.16&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;CEL5A_FIXED_004 &lt;/td&gt;&lt;td&gt;0.7471 &lt;/td&gt;&lt;td&gt;43.72 &lt;/td&gt;&lt;td&gt;+10.40&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The per-residue pLDDT profiles show the biggest improvements in the catalytic domain region (residues 150–250) - exactly where the constrained redesign introduced the most changes around the fixed glutamates.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;a-note-on-absolute-plddt-values&quot;&gt;A note on absolute pLDDT values&lt;/h3&gt;
&lt;p&gt;The pLDDT values (33–46) look low compared to typical small protein benchmarks. This is expected for a 605 aa two-domain protein in single-sequence mode - AlphaFold2 relies heavily on co-evolutionary information from MSAs to correctly position domains. Single-sequence mode lacks this signal.&lt;/p&gt;
&lt;p&gt;The meaningful comparison is &lt;strong&gt;relative pLDDT under identical conditions&lt;/strong&gt;, not absolute values. Every design predicts better than wildtype under the same constraints.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-i-d-do-next&quot;&gt;What I'd do next&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;MSA-mode validation&lt;/strong&gt; for top 5 designs - proper pLDDT with full &lt;br&gt;
co-evolutionary information&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rosetta delta-delta-G scoring&lt;/strong&gt; - filter by predicted thermostability change&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Molecular dynamics&lt;/strong&gt; - simulate the top 3 designs at 55°C and 70°C to &lt;br&gt;
assess thermal stability of the catalytic triad geometry&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experimental validation&lt;/strong&gt; - express in &lt;em&gt;E. coli&lt;/em&gt;, measure Tm by DSF, &lt;br&gt;
compare CMC activity at elevated temperatures&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&quot;key-lessons&quot;&gt;Key lessons&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;1. Verify catalytic residues experimentally, not from literature.&lt;/strong&gt;&lt;br&gt;
PDB numbering often differs from publication numbering. The 6 Å distance &lt;br&gt;
criterion is more reliable than assuming the literature values transfer directly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Run unconstrained first.&lt;/strong&gt;&lt;br&gt;
The unconstrained run revealed that ProteinMPNN actively avoids glutamate at both catalytic positions. Without this finding, the constrained run would lack motivation and the project would have less scientific narrative.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Fixing 2/605 residues is essentially free.&lt;/strong&gt;&lt;br&gt;
Score distributions between constrained and unconstrained runs are almost &lt;br&gt;
identical. You can enforce catalytic function without sacrificing sequence &lt;br&gt;
diversity.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Low absolute pLDDT is not failure.&lt;/strong&gt;&lt;br&gt;
Single-sequence mode for large multi-domain proteins always yields low absolute pLDDT. Design relative comparisons, and always fold the wildtype under the same conditions as your baseline.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://github.com/Farhan89082/proteinmpnn-cel5a&quot;&gt;https://github.com/Farhan89082/proteinmpnn-cel5a&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you have questions about any stage - especially the catalytic residue &lt;br&gt;
identification or the constrained run setup - drop them in the comments.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/21915/how-i-redesigned-a-thermostable-enzyme-with-proteinmpnn-validated-with-alphafold2</guid>
<pubDate>Sat, 04 Jul 2026 22:34:22 +0000</pubDate>
</item>
<item>
<title>91Servings: Your Trusted Destination for Authentic Sports Nutrition in India</title>
<link>https://coderlegion.com/21182/91servings-your-trusted-destination-for-authentic-sports-nutrition-in-india</link>
<description>&lt;p&gt;&lt;strong&gt;# 91Servings:&lt;/strong&gt; &lt;br&gt;
&lt;strong&gt;Your Trusted Destination for Authentic Sports Nutrition in India&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In today's fitness-driven world, choosing genuine supplements is essential for achieving health and performance goals. &lt;strong&gt;91Servings&lt;/strong&gt; has emerged as one of India's trusted online destinations for sports nutrition, fitness supplements, and wellness products. The platform offers a wide selection of whey proteins, creatine, pre-workouts, amino acids, vitamins, fat burners, and other health-focused products from leading national and international brands.&lt;/p&gt;
&lt;p&gt;What sets &lt;strong&gt;91Servings&lt;/strong&gt; apart is its commitment to authenticity. Every product is sourced through verified importers and authorized channels, helping customers purchase with confidence. The company focuses on delivering genuine supplements while maintaining competitive pricing and a seamless shopping experience.&lt;/p&gt;
&lt;p&gt;Beyond product quality, &lt;strong&gt;91Servings&lt;/strong&gt; prioritizes customer satisfaction through fast delivery, responsive support, and a growing range of fitness and wellness solutions. Whether you're a beginner starting your fitness journey, an athlete seeking performance nutrition, or someone focused on overall wellness, the platform provides products tailored to diverse health goals.&lt;/p&gt;
&lt;p&gt;Based in &lt;strong&gt;Bengaluru, Karnataka, 91Servings&lt;/strong&gt; continues to serve customers across India with a mission to make authentic nutrition supplements accessible and affordable. With a strong focus on trust, quality, and customer experience, &lt;strong&gt;91Servings&lt;/strong&gt; has become a preferred choice for fitness enthusiasts looking for reliable nutrition support.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/21182/91servings-your-trusted-destination-for-authentic-sports-nutrition-in-india</guid>
<pubDate>Tue, 23 Jun 2026 06:59:11 +0000</pubDate>
</item>
</channel>
</rss>