{"cells": [{"cell_type": "markdown", "metadata": {}, "source": "# CAFA6 Submit Smart Fallback\n\nSubmits the output from `cafa6-smart-fallback` notebook.\n\n**Strategy**: GOA (primary) + ProtT5 (fallback ONLY for proteins without GOA)\n\n**Expected**: Should beat 0.378 by adding coverage without contaminating GOA quality."}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": "import os\nimport shutil\n\n# Path to the smart fallback output\nINPUT_PATH = '/kaggle/input/cafa6-smart-fallback/submission.tsv'\nOUTPUT_PATH = 'submission.tsv'\n\nprint(f\"Input: {INPUT_PATH}\")\nprint(f\"Output: {OUTPUT_PATH}\")"}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": "# Copy submission file\nif os.path.exists(INPUT_PATH):\n    shutil.copy(INPUT_PATH, OUTPUT_PATH)\n    size = os.path.getsize(OUTPUT_PATH)\n    print(f\"SUCCESS: Copied {size:,} bytes to {OUTPUT_PATH}\")\nelse:\n    print(f\"ERROR: {INPUT_PATH} not found!\")\n    # List available files\n    print(\"\\nAvailable files in /kaggle/input/:\")\n    for root, dirs, files in os.walk('/kaggle/input/'):\n        for f in files:\n            print(os.path.join(root, f))"}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": "# Verify and show stats\nif os.path.exists(OUTPUT_PATH):\n    import pandas as pd\n    df = pd.read_csv(OUTPUT_PATH, sep='\\t', header=None, names=['protein', 'term', 'score'])\n    print(f\"\\nSubmission stats:\")\n    print(f\"  - Total predictions: {len(df):,}\")\n    print(f\"  - Unique proteins: {df['protein'].nunique():,}\")\n    print(f\"  - Score range: [{df['score'].min():.3f}, {df['score'].max():.3f}]\")\n    print(f\"\\nSample:\")\n    print(df.head(10))"}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"name": "python", "version": "3.10.12"}}, "nbformat": 4, "nbformat_minor": 5}