{
  "filename": "evidence_matrix.png",
  "iteration": 1,
  "description": "Evidence matrix table for MEFV ubiquitin ligase hypothesis",
  "timestamp": "2026-07-05 12:14:19",
  "code": "\nimport matplotlib.pyplot as plt\nimport matplotlib\nimport numpy as np\n\n# Create evidence matrix as a table figure\nfig, ax = plt.subplots(figsize=(18, 10))\nax.axis('off')\n\n# Evidence matrix data\ncolumns = ['Citation', 'Evidence\\nType', 'Supports/\\nRefutes', 'Claim Tested', 'Key Finding', 'Context', 'Confidence']\nrows = [\n    ['UniProt O15553\\n(database)', 'Computational\\n& curated', 'Refutes', 'MEFV has E3\\nligase activity', 'No RING domain; Pyrin(PYD)\\ndomain at N-terminus instead;\\nno ubiquitin keywords', 'Human protein\\nannotation', 'High'],\n    ['InterPro\\nIPR050143', 'Computational', 'Qualifies', 'MEFV is a TRIM\\nfamily member', 'TRIM/RBCC family member\\nbut lacks RING domain', 'Domain\\nclassification', 'High'],\n    ['PANTHER\\nPTHR24103:SF606', 'Computational\\n(phylogenetic)', 'Source of\\nannotation', 'Family has E3\\nligase activity', 'IBA transfer from family\\nto RING-less member', 'Automated\\nannotation', 'Low\\n(over-annotation)'],\n    ['PMID:26347139\\nKimura 2015', 'Direct assay\\n(autophagy)', 'Refutes\\n(alternative)', 'TRIM20 function', 'Acts as autophagy receptor\\nnot E3 ligase; targets\\ninflammasome for degradation', 'Human cells;\\nautophagy assay', 'High'],\n    ['PMID:26043233\\nWeinert 2015', 'Structural', 'Qualifies', 'TRIM20 domain\\narchitecture', 'Crystal structure of CC/B30.2;\\nno RING domain resolved\\nor present', 'X-ray\\ncrystallography', 'High'],\n    ['PMID:16237670\\nMeroni 2005', 'Review', 'Qualifies', 'TRIM proteins\\nare E3 ligases', 'RING domain defines TRIM\\nE3 ligase activity;\\nMEFV lacks RING', 'TRIM family\\nreview', 'High'],\n    ['PMID:16529770\\nMassiah 2006', 'Structural', 'Weakly\\nsupports?', 'B-box might\\nhave E3 activity', 'B-box1 fold resembles RING;\\nsuggests POSSIBLE E3 activity\\nbut untested', 'MID1 B-box1\\nnot MEFV', 'Very Low\\n(speculative)'],\n    ['Sequence\\nanalysis', 'Computational', 'Refutes', 'RING motif\\nin sequence', 'No C3HC4/C3H2C3 RING\\nmotif; 0 Cys in first\\n100 residues', 'Full 781-aa\\nsequence', 'High'],\n]\n\ntable = ax.table(cellText=rows, colLabels=columns, cellLoc='center', loc='center',\n                 colWidths=[0.12, 0.09, 0.08, 0.11, 0.22, 0.1, 0.1])\n\ntable.auto_set_font_size(False)\ntable.set_fontsize(7)\ntable.scale(1, 2.2)\n\n# Color header\nfor j in range(len(columns)):\n    table[(0, j)].set_facecolor('#2c3e50')\n    table[(0, j)].set_text_props(color='white', fontweight='bold', fontsize=8)\n\n# Color rows by supports/refutes\nfor i in range(1, len(rows)+1):\n    verdict = rows[i-1][2]\n    if 'Refutes' in verdict:\n        for j in range(len(columns)):\n            table[(i, j)].set_facecolor('#fadbd8')\n    elif 'Qualifies' in verdict:\n        for j in range(len(columns)):\n            table[(i, j)].set_facecolor('#fdebd0')\n    elif 'Source' in verdict:\n        for j in range(len(columns)):\n            table[(i, j)].set_facecolor('#d5f5e3')\n    elif 'supports' in verdict.lower():\n        for j in range(len(columns)):\n            table[(i, j)].set_facecolor('#d6eaf8')\n\nfig.suptitle('Evidence Matrix: Does MEFV have ubiquitin protein ligase activity (GO:0061630)?', \n             fontsize=13, fontweight='bold', y=0.97)\nfig.text(0.5, 0.02, 'Red = Refutes | Orange = Qualifies | Green = Source of annotation | Blue = Weakly supports (speculative)', \n         ha='center', fontsize=9, style='italic')\n\nplt.savefig('evidence_matrix.png', dpi=150, bbox_inches='tight')\nplt.show()\nprint(\"Evidence matrix saved.\")\n"
}