[404218]: / Code / Drug Discovery / ProtGPT2 / Protein Generator, kkawchak.ipynb

Download this file

406 lines (406 with data), 21.4 kB

{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "machine_shape": "hm"
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "id": "-oTEyfkwNdmj"
      },
      "outputs": [],
      "source": [
        "# !pip install bio\n",
        "# from transformers import pipeline\n",
        "# from Bio import pairwise2\n",
        "# from Bio.Seq import Seq\n",
        "# from Bio.SeqUtils import ProtParam\n",
        "# import time"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Ref 1: Hayes, J. Medium, 2023 https://medium.com/labs-notebook/large-language-models-for-drug-discovery-7ddfc005e0bb\n",
        "# Ref 2: HF Intro, AssemblyAI 2022 https://www.youtube.com/watch?v=QEaBAZQCtwE&t=4s\n",
        "# Ref 3: ChatGPT3.5 Code assist 2024 https://chat.openai.com/"
      ],
      "metadata": {
        "id": "jzr3h73L1w-7"
      },
      "execution_count": 7,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since beginning of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "2K0dcoVBuBGy",
        "outputId": "80bf40e8-b3b9-4ebd-a6d1-882e734c3733"
      },
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since beginning of run: 1712600025.153674\n",
            "Mon Apr  8 18:13:45 2024\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# Function to calculate percent similarity\n",
        "def calculate_similarity(reference_sequence, generated_sequence):\n",
        "    alignments = pairwise2.align.globalxx(reference_sequence, generated_sequence)\n",
        "    top_alignment = alignments[0]\n",
        "    similarity = (top_alignment[2] / len(reference_sequence)) * 100\n",
        "    return similarity\n",
        "\n",
        "# Function to calculate percent similarity based on molecular weights\n",
        "def calculate_molecular_weight_similarity(reference_sequence, generated_sequence):\n",
        "    try:\n",
        "        if 'X' in generated_sequence:\n",
        "            raise ValueError(\"'X' is not a valid unambiguous letter for protein\")\n",
        "        ref_mw = ProtParam.ProteinAnalysis(reference_sequence).molecular_weight()\n",
        "        gen_mw = ProtParam.ProteinAnalysis(generated_sequence).molecular_weight()\n",
        "        similarity = (1 - abs(ref_mw - gen_mw) / ref_mw) * 100\n",
        "    except ZeroDivisionError:\n",
        "        similarity = 0.0\n",
        "    return similarity\n",
        "\n",
        "# Function to calculate percent similarity based on isoelectric points\n",
        "def calculate_isoelectric_point_similarity(reference_sequence, generated_sequence):\n",
        "    try:\n",
        "        if 'X' in generated_sequence:\n",
        "            raise ValueError(\"'X' is not a valid unambiguous letter for protein\")\n",
        "        ref_pI = ProtParam.ProteinAnalysis(reference_sequence).isoelectric_point()\n",
        "        gen_pI = ProtParam.ProteinAnalysis(generated_sequence).isoelectric_point()\n",
        "        similarity = (1 - abs(ref_pI - gen_pI) / ref_pI) * 100\n",
        "    except ZeroDivisionError:\n",
        "        similarity = 0.0\n",
        "    return similarity\n",
        "\n",
        "# Reference sequence\n",
        "reference_sequence = \"MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\"\n",
        "\n",
        "# Calculate original molecular weight and isoelectric point of reference sequence\n",
        "ref_mw = ProtParam.ProteinAnalysis(reference_sequence).molecular_weight()\n",
        "ref_pI = ProtParam.ProteinAnalysis(reference_sequence).isoelectric_point()\n",
        "\n",
        "# Initialize ProtGPT2 pipeline\n",
        "protgpt2 = pipeline('text-generation', model=\"nferruz/ProtGPT2\")\n",
        "\n",
        "# Generate sequences\n",
        "sequences = protgpt2(\"\", max_length=200, do_sample=True, top_k=950, repetition_penalty=1.2, num_return_sequences=10, eos_token_id=0)\n",
        "\n",
        "# Calculate similarity for each generated sequence\n",
        "for i, seq in enumerate(sequences):\n",
        "    generated_sequence = seq[\"generated_text\"]\n",
        "\n",
        "    # Check if generated sequence contains ambiguous letters\n",
        "    if 'X' not in generated_sequence:\n",
        "        # Calculate original molecular weight and isoelectric point of generated sequence\n",
        "        gen_mw = ProtParam.ProteinAnalysis(generated_sequence).molecular_weight()\n",
        "        gen_pI = ProtParam.ProteinAnalysis(generated_sequence).isoelectric_point()\n",
        "\n",
        "        # Calculate similarity measures\n",
        "        similarity_sequence = calculate_similarity(reference_sequence, generated_sequence)\n",
        "        similarity_mw = calculate_molecular_weight_similarity(reference_sequence, generated_sequence)\n",
        "        similarity_pI = calculate_isoelectric_point_similarity(reference_sequence, generated_sequence)\n",
        "\n",
        "        # Print results\n",
        "        print(\"#\")\n",
        "        print(\"#\")\n",
        "        print(f\"Reference Sequence: {reference_sequence}\")\n",
        "        print(f\"Generated Sequence {i+1}: {generated_sequence}\")\n",
        "        print(f\"Generated Similarity to Reference: {max(similarity_sequence, 0):.5f}%\")\n",
        "        print(f\"Reference Molecular Weight: {ref_mw:.2f}\")\n",
        "        print(f\"Generated Molecular Weight: {gen_mw:.2f}\")\n",
        "        print(f\"Molecular Weight Similarity: {max(similarity_mw, 0):.5f}%\")\n",
        "        print(f\"Reference Isoelectric Point: {ref_pI:.2f}\")\n",
        "        print(f\"Generated Isoelectric Point: {gen_pI:.2f}\")\n",
        "        print(f\"Isoelectric Point Similarity: {max(similarity_pI, 0):.5f}%\")\n",
        "        print(\"--------------------------\")\n",
        "    else:\n",
        "        print(f\"Generated Sequence {i+1} contains ambiguous letters and cannot be processed.\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "JATLuMZMwYOV",
        "outputId": "490ef4ac-e35b-4027-b727-2d67399ea265"
      },
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Truncation was not explicitly activated but `max_length` is provided a specific value, please use `truncation=True` to explicitly truncate examples to max length. Defaulting to 'longest_first' truncation strategy. If you encode pairs of sequences (GLUE-style) with the tokenizer you can select this strategy more precisely by providing a specific strategy to `truncation`.\n",
            "The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.\n",
            "Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.\n",
            "A decoder-only architecture is being used, but right-padding was detected! For correct generation results, please set `padding_side='left'` when initializing the tokenizer.\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 1: \n",
            "MPLPKKPFDLSKYTPDSDPDQFWGISPDGDMYVFKSGPFAKDNEDVVDAMLIDAALTVEA\n",
            "HMDLRRDRLKDEVVIIGFEMDTSDISVESRRKYLDFQNFLLWGNQLLGCSARLLDNLDGS\n",
            "DEETLMYCHIEPKTHDWVVDNIAHKPVPLPLADGKFIVPASSFMRRTMHFLAKNSGAGMQ\n",
            "GYMKMIGMSEDEALEEMRKLPDNAEKLMQQQAEFGNAVGRASGFANTMGSAFLGGGANEF\n",
            "DRQYQETMSNFTESIFKGLDTRDRLLNLLKISQPDFLKFLTMEDFSADLRSAAEAAKAIE\n",
            "MGNIETSGQPSADQVTTNVTSNPFSDPEGNIATPWQAPVPIASPQRPIIAPAPTENKSRP\n",
            "PVAAPDYENEPAQALSHPPVAAPAN\n",
            "\n",
            "Generated Similarity to Reference: 52.07101%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 42499.42\n",
            "Molecular Weight Similarity: 0.00000%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 4.62\n",
            "Isoelectric Point Similarity: 51.29180%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 2: \n",
            "MPDRLRARRPALLLAGVLGVVLAGGCSSVQAGGGPDATPGGGPAPTTSATIAPAPPATES\n",
            "PSPSAPPVAVPTPTEPTDEPSPEPFDPGTALAELTDEQGRPEFTAAARVEAFGASHFELT\n",
            "VVNDGDGPVTVLFGDAVTVDAAGRDVRGVGRASADDLGGLELGSGESVRAEWSVAECPAL\n",
            "SATDAALDVTSTFTFGETGGAVTVVESRDLVAPAERCGPVTDGPVDDQLASVGRSLTTIV\n",
            "DEDGDAAYEGRIVLTQVGEGRYELQVLNGDGPVTLNGPGGPSVLDADDRVVRGTSVESDP\n",
            "LGLGIVGPGTPARSVWRVAPECPDIGSVAVGDRFVVEVTVDGEEEVATFTMSDEVRASLD\n",
            "ALCGA\n",
            "\n",
            "Generated Similarity to Reference: 48.52071%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 36659.98\n",
            "Molecular Weight Similarity: 7.69763%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 4.05\n",
            "Isoelectric Point Similarity: 44.99647%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 3: \n",
            "MPPRQTHQTQQLPIQSPQQRIPQQQIQQQQIQQQSQQPVIQQLTNFYNLIPPTFPQSSIP\n",
            "PTHPTTSHTPVTPMQHQRSNSLNNLAQPQPTTQPTQPTQQLTQPISSNNILPRLQPSNQT\n",
            "QPQSQSQPNQNQNQSQNQNQIQNQNQNPNRLQSTNPNPKQNQFPLPQQQNQNRSPPPQQQ\n",
            "NQNRSPNINPLQPLSQQSQFPQHQQKMPPQQKRAPGYLRQPKENTEQKPNIKFNMNQIKI\n",
            "KDITSIFKDKNAKYILKKYDEKRIAFMFIRNILSKIKTNQFTKEEDDEFMNYIEDYIKKN\n",
            "ENVPINKKTYKALATKIGKPWSEVIKRMSYFRHYKTLKKGIWSKLEDVKLLQAVDQNCKN\n",
            "WSTVASQLGSKRSIIDCQQRWKNTVDPKYKRGKFSAEEDSILQKLVTKYGTCWNNITEFL\n",
            "PGRVDAQLRVRYSVLNRINKNNPHEKITVKEQIEILKNNEKISVDELFENKKKPKIETNK\n",
            "PKEKPKKKIRKTKVVQEEEEEEEVEEEEEESYNDDSIQYSGDDD\n",
            "Generated Similarity to Reference: 56.80473%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 61532.45\n",
            "Molecular Weight Similarity: 0.00000%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 9.63\n",
            "Isoelectric Point Similarity: 93.05520%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 4: \n",
            "MAQFYVYMCSGNPLYGGTARFLRILQELGSIDSHRPKRLRLSDLGRDPIWHVTCIAAEDE\n",
            "NEAVALSKQWAATAADWPDADLTIRQKLRNWEVATWWDRWLIPVELPDDTRRMIATEVGK\n",
            "YIFEQNHQVMCGNPVHGTLRVSRAKRGKGSTKWLPAVLAGEYGTRLPMVCRELRICTRTI\n",
            "EKWTKHGYLDLSAEYWDQWHERHIRRKQDPWKPPGGEHEACVRSIRYAAEQAIGTTLLGP\n",
            "DAERRRILTYRKRHPELANDQKSTAVDHVILTAAKEIGLTPKRLRYRWGEWRRDCEQEQA\n",
            "TTTAGGGTQRHYKDNQPPPPTHHPNGSSLPPFDFLLDECVIPIEVVGMWTQTNYDEDARK\n",
            "NRLLEYRLPILEVDGLGKLKFDASGPRVRPDGSTGRKYRESAAIHEHIARERVRKAEVRR\n",
            "ERDAEIMRRRREKGWPTSPQSIFTNDWLINHASADGFGVRLILVDSASDLP\n",
            "Generated Similarity to Reference: 56.21302%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 54324.99\n",
            "Molecular Weight Similarity: 0.00000%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 9.14\n",
            "Isoelectric Point Similarity: 98.48870%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 5: \n",
            "MQKRPYLQKIVSDHPKEHKDSFKEQNQIEDHNLGKKDIEEDQSYFEPSHSSKQQIFNSEQ\n",
            "EKIQEQIFNLKELETIPNQENPEQENQKQKAEQCVGKVSEEMKNRLQNLDGASLPKISQE\n",
            "DQKEDQNQEQMKQIENKLAKEKIQEEINKIEEQIKRIKNLENQFQNGQQNLQSQENNQEK\n",
            "IKEEIQKKGNLLKNNLEIEIQKLIDLKRQLEEDDLLDNEDFLIEEVDIKEKIDQFEKEQK\n",
            "FLIQNEQQKKKIIEEMKREIEKIQEENKEDEIIEKEKEIEKKRNKLEQYRQTLLQKLKNK\n",
            "QQALQKQKDILQLKLEEEEEAQLEKQRLLLEKYQELESQYQAELQKQQELQKKLQQEMKL\n",
            "FQEKDDIIKKQIDLQNKLQQSQEKYQDLQKKQQKLQKEIEELQKQLQQIKQSLKKIKKQA\n",
            "EEQQQKKQDQHQKIDNYMNQLEKLKNQQLNLQQQYDQKINQYQTEIENLQREKDRLENYA\n",
            "QEKQKQKILENDQKQKLQKMEKDFQNLQNQLDFEKNQIQKMDQEKTALERKIKDLTQQYY\n",
            "QKQE\n",
            "Generated Similarity to Reference: 55.02959%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 66504.96\n",
            "Molecular Weight Similarity: 0.00000%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 5.45\n",
            "Isoelectric Point Similarity: 60.54060%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 6: \n",
            "MTTKATVRELGAWPRSTAHADGNPLIAEAELRATAAPAAAAKAEAASDPYADFREVPEEP\n",
            "AATPAPTPIARWRGPRRIALAGGGAAVVTLAAFGIGHWVGTHDTPAATAKAEPQPLAGED\n",
            "DGAGETRTCRDGGGTTLVASWNAQAPEVHCEGGGWGSFERTFVTGTKGQRGPAGPRGEQG\n",
            "QGGDLRIDAGSTLSATSMTFSGTAAATGTFSFGSTNVDLNVRLSKTASGSYRHFSVSVGQ\n",
            "APVGGIGQWGGQVGNALDTHSKQALSELSASSQSLAVSDSTAFASKSGVRWTAGVRVPGT\n",
            "SGKVTMTAVRAALTKS\n",
            "\n",
            "Generated Similarity to Reference: 43.19527%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 31884.84\n",
            "Molecular Weight Similarity: 32.74594%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 8.01\n",
            "Isoelectric Point Similarity: 88.97398%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 7: \n",
            "MSTLRELACRARELARRRAAATRTALAAALLIVLAPALAGAGSASSGPAVSGGARSSGPG\n",
            "VSPGPWVSPSPAPPVAAVRLRPVSGVAETARRPLSSAAGGPSGAVTAGGGAGRPRGDATT\n",
            "GAGAAGSTAGG\n",
            "\n",
            "Generated Similarity to Reference: 29.58580%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 12171.62\n",
            "Molecular Weight Similarity: 63.84703%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 12.00\n",
            "Isoelectric Point Similarity: 66.67843%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 8: \n",
            "ARYALDEYRARLHLPASLLLKLLRWLSVRWSRGDRLIVVSEFLRRRAQAAGYSGPPFIVP\n",
            "NLVDGAFFAPPSDAGVATAASARSGTDAAPPAILFTATPSYRKGGATLIALAARLADEEP\n",
            "GLRFVAAGHPLRPDVPGVEILGSLSREEIPRHMAACDIFLLPTLYDPCSTAQLEALACGL\n",
            "PVVTTRRGGLPEMVDEGAGLILDDADPRGFAAGLGRLLGRPGLRAAMGRAGLAAAERYSM\n",
            "DRWRATARAAIEAALAGPTAGREGEPGPAPERDLRARLEAEARGRAPLAAPAGERPVILF\n",
            "DVTDHYGGTERVVLNFLRGLDGTAVESYLIYNPGPGLRARTDALDVSTVPVTATGRPGSL\n",
            "ARWTAARLARRIRLERPDLVHTHDVSALGTGIAARLLGLPCVVHTEHGFWADPDLAATRY\n",
            "SYLLRLAAWLTSRAVTVNDHVRDWLLARHGLSPGKVRTIHNGIAWAPGGDPAAARAMLAA\n",
            "TRPGGRAVLGIVGRLVEAKGQHHLVAALREVRRRGVDLPCLIAGDGPM\n",
            "Generated Similarity to Reference: 54.43787%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 56104.81\n",
            "Molecular Weight Similarity: 0.00000%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 9.85\n",
            "Isoelectric Point Similarity: 90.58699%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 9: \n",
            "MIANGTQNIFRLLYCRHNLLRFVQQGTSGYGLYMKFAISQIFLPKLPTPPIHNLSADFDL\n",
            "HFAMFSGSSFARAEANLAGFLLRANMEGAILREADLRRAQLCKAILENAVLGRVNLEYSN\n",
            "LQKAIFDGATINGAVFFRTLMTDTKIDDAVLERTLFYLSQMRQAKFRL\n",
            "\n",
            "Generated Similarity to Reference: 35.50296%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 19002.91\n",
            "Molecular Weight Similarity: 99.68107%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 9.64\n",
            "Isoelectric Point Similarity: 92.93129%\n",
            "--------------------------\n",
            "#\n",
            "#\n",
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
            "Generated Sequence 10: \n",
            "MSLLTKFFSLTAGFAFLGTPTAVVAASGDAEGQATPVTMTLYHMNGDSYYDDTFHEPVDA\n",
            "LAYGDTIDPMRLFIDDEKVPVRHYTYRLLRQTNGTWTELAGAYDSSSGIPVFDGTYSADV\n",
            "TLNDGTIFTDVAENVCSSLGFGETETRSVTNIVVSPEELEIYQAAYAQSDGTMSFPETDV\n",
            "GDKVQALLSPTSSDGWYLMDTANNEWIPGQFFYAAGSTVASPANPGGTQSVVVVDPLTID\n",
            "LYNARYNYTDRSMSFPSPGLGDKVENLLWPRTAVGWYYMDATSSEWVPMQFFYTGPSVVT\n",
            "SANPAATQTATNVVVNPSDLALYIGAYQYAGGQLSFTSPTAGDKISALLLPTTSSGWYVM\n",
            "DTNANEWIPMQYFYTGTSVTTSANPADTQRATQVIVSPNDLAAYVDAYSYSGEHLSFPVA\n",
            "EIGDKVQALTSPPTSAGWNLMTTNSGEWVPERFFYSGPDVTTSANPEGTQRNVQVVVSES\n",
            "HLSLYQSAYQSSGGVLSFANADAGDKLQALLSPVTSTG\n",
            "Generated Similarity to Reference: 57.39645%\n",
            "Reference Molecular Weight: 19063.72\n",
            "Generated Molecular Weight: 55695.67\n",
            "Molecular Weight Similarity: 0.00000%\n",
            "Reference Isoelectric Point: 9.00\n",
            "Generated Isoelectric Point: 4.06\n",
            "Isoelectric Point Similarity: 45.07098%\n",
            "--------------------------\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since end of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "TkiND_HHuERP",
        "outputId": "5c79281e-2d3e-4d5b-ab50-bda16d3a2c1d"
      },
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since end of run: 1712600082.4905665\n",
            "Mon Apr  8 18:14:42 2024\n"
          ]
        }
      ]
    }
  ]
}