Switch to unified view

a b/Code/Drug Discovery/ProtGPT2/Protein Generator, kkawchak.ipynb
1
{
2
  "nbformat": 4,
3
  "nbformat_minor": 0,
4
  "metadata": {
5
    "colab": {
6
      "provenance": [],
7
      "machine_shape": "hm"
8
    },
9
    "kernelspec": {
10
      "name": "python3",
11
      "display_name": "Python 3"
12
    },
13
    "language_info": {
14
      "name": "python"
15
    }
16
  },
17
  "cells": [
18
    {
19
      "cell_type": "code",
20
      "execution_count": 6,
21
      "metadata": {
22
        "id": "-oTEyfkwNdmj"
23
      },
24
      "outputs": [],
25
      "source": [
26
        "# !pip install bio\n",
27
        "# from transformers import pipeline\n",
28
        "# from Bio import pairwise2\n",
29
        "# from Bio.Seq import Seq\n",
30
        "# from Bio.SeqUtils import ProtParam\n",
31
        "# import time"
32
      ]
33
    },
34
    {
35
      "cell_type": "code",
36
      "source": [
37
        "# Ref 1: Hayes, J. Medium, 2023 https://medium.com/labs-notebook/large-language-models-for-drug-discovery-7ddfc005e0bb\n",
38
        "# Ref 2: HF Intro, AssemblyAI 2022 https://www.youtube.com/watch?v=QEaBAZQCtwE&t=4s\n",
39
        "# Ref 3: ChatGPT3.5 Code assist 2024 https://chat.openai.com/"
40
      ],
41
      "metadata": {
42
        "id": "jzr3h73L1w-7"
43
      },
44
      "execution_count": 7,
45
      "outputs": []
46
    },
47
    {
48
      "cell_type": "code",
49
      "source": [
50
        "seconds = time.time()\n",
51
        "print(\"Time in seconds since beginning of run:\", seconds)\n",
52
        "local_time = time.ctime(seconds)\n",
53
        "print(local_time)"
54
      ],
55
      "metadata": {
56
        "colab": {
57
          "base_uri": "https://localhost:8080/",
58
          "height": 0
59
        },
60
        "id": "2K0dcoVBuBGy",
61
        "outputId": "80bf40e8-b3b9-4ebd-a6d1-882e734c3733"
62
      },
63
      "execution_count": 8,
64
      "outputs": [
65
        {
66
          "output_type": "stream",
67
          "name": "stdout",
68
          "text": [
69
            "Time in seconds since beginning of run: 1712600025.153674\n",
70
            "Mon Apr  8 18:13:45 2024\n"
71
          ]
72
        }
73
      ]
74
    },
75
    {
76
      "cell_type": "code",
77
      "source": [
78
        "# Function to calculate percent similarity\n",
79
        "def calculate_similarity(reference_sequence, generated_sequence):\n",
80
        "    alignments = pairwise2.align.globalxx(reference_sequence, generated_sequence)\n",
81
        "    top_alignment = alignments[0]\n",
82
        "    similarity = (top_alignment[2] / len(reference_sequence)) * 100\n",
83
        "    return similarity\n",
84
        "\n",
85
        "# Function to calculate percent similarity based on molecular weights\n",
86
        "def calculate_molecular_weight_similarity(reference_sequence, generated_sequence):\n",
87
        "    try:\n",
88
        "        if 'X' in generated_sequence:\n",
89
        "            raise ValueError(\"'X' is not a valid unambiguous letter for protein\")\n",
90
        "        ref_mw = ProtParam.ProteinAnalysis(reference_sequence).molecular_weight()\n",
91
        "        gen_mw = ProtParam.ProteinAnalysis(generated_sequence).molecular_weight()\n",
92
        "        similarity = (1 - abs(ref_mw - gen_mw) / ref_mw) * 100\n",
93
        "    except ZeroDivisionError:\n",
94
        "        similarity = 0.0\n",
95
        "    return similarity\n",
96
        "\n",
97
        "# Function to calculate percent similarity based on isoelectric points\n",
98
        "def calculate_isoelectric_point_similarity(reference_sequence, generated_sequence):\n",
99
        "    try:\n",
100
        "        if 'X' in generated_sequence:\n",
101
        "            raise ValueError(\"'X' is not a valid unambiguous letter for protein\")\n",
102
        "        ref_pI = ProtParam.ProteinAnalysis(reference_sequence).isoelectric_point()\n",
103
        "        gen_pI = ProtParam.ProteinAnalysis(generated_sequence).isoelectric_point()\n",
104
        "        similarity = (1 - abs(ref_pI - gen_pI) / ref_pI) * 100\n",
105
        "    except ZeroDivisionError:\n",
106
        "        similarity = 0.0\n",
107
        "    return similarity\n",
108
        "\n",
109
        "# Reference sequence\n",
110
        "reference_sequence = \"MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\"\n",
111
        "\n",
112
        "# Calculate original molecular weight and isoelectric point of reference sequence\n",
113
        "ref_mw = ProtParam.ProteinAnalysis(reference_sequence).molecular_weight()\n",
114
        "ref_pI = ProtParam.ProteinAnalysis(reference_sequence).isoelectric_point()\n",
115
        "\n",
116
        "# Initialize ProtGPT2 pipeline\n",
117
        "protgpt2 = pipeline('text-generation', model=\"nferruz/ProtGPT2\")\n",
118
        "\n",
119
        "# Generate sequences\n",
120
        "sequences = protgpt2(\"\", max_length=200, do_sample=True, top_k=950, repetition_penalty=1.2, num_return_sequences=10, eos_token_id=0)\n",
121
        "\n",
122
        "# Calculate similarity for each generated sequence\n",
123
        "for i, seq in enumerate(sequences):\n",
124
        "    generated_sequence = seq[\"generated_text\"]\n",
125
        "\n",
126
        "    # Check if generated sequence contains ambiguous letters\n",
127
        "    if 'X' not in generated_sequence:\n",
128
        "        # Calculate original molecular weight and isoelectric point of generated sequence\n",
129
        "        gen_mw = ProtParam.ProteinAnalysis(generated_sequence).molecular_weight()\n",
130
        "        gen_pI = ProtParam.ProteinAnalysis(generated_sequence).isoelectric_point()\n",
131
        "\n",
132
        "        # Calculate similarity measures\n",
133
        "        similarity_sequence = calculate_similarity(reference_sequence, generated_sequence)\n",
134
        "        similarity_mw = calculate_molecular_weight_similarity(reference_sequence, generated_sequence)\n",
135
        "        similarity_pI = calculate_isoelectric_point_similarity(reference_sequence, generated_sequence)\n",
136
        "\n",
137
        "        # Print results\n",
138
        "        print(\"#\")\n",
139
        "        print(\"#\")\n",
140
        "        print(f\"Reference Sequence: {reference_sequence}\")\n",
141
        "        print(f\"Generated Sequence {i+1}: {generated_sequence}\")\n",
142
        "        print(f\"Generated Similarity to Reference: {max(similarity_sequence, 0):.5f}%\")\n",
143
        "        print(f\"Reference Molecular Weight: {ref_mw:.2f}\")\n",
144
        "        print(f\"Generated Molecular Weight: {gen_mw:.2f}\")\n",
145
        "        print(f\"Molecular Weight Similarity: {max(similarity_mw, 0):.5f}%\")\n",
146
        "        print(f\"Reference Isoelectric Point: {ref_pI:.2f}\")\n",
147
        "        print(f\"Generated Isoelectric Point: {gen_pI:.2f}\")\n",
148
        "        print(f\"Isoelectric Point Similarity: {max(similarity_pI, 0):.5f}%\")\n",
149
        "        print(\"--------------------------\")\n",
150
        "    else:\n",
151
        "        print(f\"Generated Sequence {i+1} contains ambiguous letters and cannot be processed.\")"
152
      ],
153
      "metadata": {
154
        "colab": {
155
          "base_uri": "https://localhost:8080/",
156
          "height": 0
157
        },
158
        "id": "JATLuMZMwYOV",
159
        "outputId": "490ef4ac-e35b-4027-b727-2d67399ea265"
160
      },
161
      "execution_count": 9,
162
      "outputs": [
163
        {
164
          "output_type": "stream",
165
          "name": "stderr",
166
          "text": [
167
            "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",
168
            "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",
169
            "Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.\n",
170
            "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"
171
          ]
172
        },
173
        {
174
          "output_type": "stream",
175
          "name": "stdout",
176
          "text": [
177
            "#\n",
178
            "#\n",
179
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
180
            "Generated Sequence 1: \n",
181
            "MPLPKKPFDLSKYTPDSDPDQFWGISPDGDMYVFKSGPFAKDNEDVVDAMLIDAALTVEA\n",
182
            "HMDLRRDRLKDEVVIIGFEMDTSDISVESRRKYLDFQNFLLWGNQLLGCSARLLDNLDGS\n",
183
            "DEETLMYCHIEPKTHDWVVDNIAHKPVPLPLADGKFIVPASSFMRRTMHFLAKNSGAGMQ\n",
184
            "GYMKMIGMSEDEALEEMRKLPDNAEKLMQQQAEFGNAVGRASGFANTMGSAFLGGGANEF\n",
185
            "DRQYQETMSNFTESIFKGLDTRDRLLNLLKISQPDFLKFLTMEDFSADLRSAAEAAKAIE\n",
186
            "MGNIETSGQPSADQVTTNVTSNPFSDPEGNIATPWQAPVPIASPQRPIIAPAPTENKSRP\n",
187
            "PVAAPDYENEPAQALSHPPVAAPAN\n",
188
            "\n",
189
            "Generated Similarity to Reference: 52.07101%\n",
190
            "Reference Molecular Weight: 19063.72\n",
191
            "Generated Molecular Weight: 42499.42\n",
192
            "Molecular Weight Similarity: 0.00000%\n",
193
            "Reference Isoelectric Point: 9.00\n",
194
            "Generated Isoelectric Point: 4.62\n",
195
            "Isoelectric Point Similarity: 51.29180%\n",
196
            "--------------------------\n",
197
            "#\n",
198
            "#\n",
199
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
200
            "Generated Sequence 2: \n",
201
            "MPDRLRARRPALLLAGVLGVVLAGGCSSVQAGGGPDATPGGGPAPTTSATIAPAPPATES\n",
202
            "PSPSAPPVAVPTPTEPTDEPSPEPFDPGTALAELTDEQGRPEFTAAARVEAFGASHFELT\n",
203
            "VVNDGDGPVTVLFGDAVTVDAAGRDVRGVGRASADDLGGLELGSGESVRAEWSVAECPAL\n",
204
            "SATDAALDVTSTFTFGETGGAVTVVESRDLVAPAERCGPVTDGPVDDQLASVGRSLTTIV\n",
205
            "DEDGDAAYEGRIVLTQVGEGRYELQVLNGDGPVTLNGPGGPSVLDADDRVVRGTSVESDP\n",
206
            "LGLGIVGPGTPARSVWRVAPECPDIGSVAVGDRFVVEVTVDGEEEVATFTMSDEVRASLD\n",
207
            "ALCGA\n",
208
            "\n",
209
            "Generated Similarity to Reference: 48.52071%\n",
210
            "Reference Molecular Weight: 19063.72\n",
211
            "Generated Molecular Weight: 36659.98\n",
212
            "Molecular Weight Similarity: 7.69763%\n",
213
            "Reference Isoelectric Point: 9.00\n",
214
            "Generated Isoelectric Point: 4.05\n",
215
            "Isoelectric Point Similarity: 44.99647%\n",
216
            "--------------------------\n",
217
            "#\n",
218
            "#\n",
219
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
220
            "Generated Sequence 3: \n",
221
            "MPPRQTHQTQQLPIQSPQQRIPQQQIQQQQIQQQSQQPVIQQLTNFYNLIPPTFPQSSIP\n",
222
            "PTHPTTSHTPVTPMQHQRSNSLNNLAQPQPTTQPTQPTQQLTQPISSNNILPRLQPSNQT\n",
223
            "QPQSQSQPNQNQNQSQNQNQIQNQNQNPNRLQSTNPNPKQNQFPLPQQQNQNRSPPPQQQ\n",
224
            "NQNRSPNINPLQPLSQQSQFPQHQQKMPPQQKRAPGYLRQPKENTEQKPNIKFNMNQIKI\n",
225
            "KDITSIFKDKNAKYILKKYDEKRIAFMFIRNILSKIKTNQFTKEEDDEFMNYIEDYIKKN\n",
226
            "ENVPINKKTYKALATKIGKPWSEVIKRMSYFRHYKTLKKGIWSKLEDVKLLQAVDQNCKN\n",
227
            "WSTVASQLGSKRSIIDCQQRWKNTVDPKYKRGKFSAEEDSILQKLVTKYGTCWNNITEFL\n",
228
            "PGRVDAQLRVRYSVLNRINKNNPHEKITVKEQIEILKNNEKISVDELFENKKKPKIETNK\n",
229
            "PKEKPKKKIRKTKVVQEEEEEEEVEEEEEESYNDDSIQYSGDDD\n",
230
            "Generated Similarity to Reference: 56.80473%\n",
231
            "Reference Molecular Weight: 19063.72\n",
232
            "Generated Molecular Weight: 61532.45\n",
233
            "Molecular Weight Similarity: 0.00000%\n",
234
            "Reference Isoelectric Point: 9.00\n",
235
            "Generated Isoelectric Point: 9.63\n",
236
            "Isoelectric Point Similarity: 93.05520%\n",
237
            "--------------------------\n",
238
            "#\n",
239
            "#\n",
240
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
241
            "Generated Sequence 4: \n",
242
            "MAQFYVYMCSGNPLYGGTARFLRILQELGSIDSHRPKRLRLSDLGRDPIWHVTCIAAEDE\n",
243
            "NEAVALSKQWAATAADWPDADLTIRQKLRNWEVATWWDRWLIPVELPDDTRRMIATEVGK\n",
244
            "YIFEQNHQVMCGNPVHGTLRVSRAKRGKGSTKWLPAVLAGEYGTRLPMVCRELRICTRTI\n",
245
            "EKWTKHGYLDLSAEYWDQWHERHIRRKQDPWKPPGGEHEACVRSIRYAAEQAIGTTLLGP\n",
246
            "DAERRRILTYRKRHPELANDQKSTAVDHVILTAAKEIGLTPKRLRYRWGEWRRDCEQEQA\n",
247
            "TTTAGGGTQRHYKDNQPPPPTHHPNGSSLPPFDFLLDECVIPIEVVGMWTQTNYDEDARK\n",
248
            "NRLLEYRLPILEVDGLGKLKFDASGPRVRPDGSTGRKYRESAAIHEHIARERVRKAEVRR\n",
249
            "ERDAEIMRRRREKGWPTSPQSIFTNDWLINHASADGFGVRLILVDSASDLP\n",
250
            "Generated Similarity to Reference: 56.21302%\n",
251
            "Reference Molecular Weight: 19063.72\n",
252
            "Generated Molecular Weight: 54324.99\n",
253
            "Molecular Weight Similarity: 0.00000%\n",
254
            "Reference Isoelectric Point: 9.00\n",
255
            "Generated Isoelectric Point: 9.14\n",
256
            "Isoelectric Point Similarity: 98.48870%\n",
257
            "--------------------------\n",
258
            "#\n",
259
            "#\n",
260
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
261
            "Generated Sequence 5: \n",
262
            "MQKRPYLQKIVSDHPKEHKDSFKEQNQIEDHNLGKKDIEEDQSYFEPSHSSKQQIFNSEQ\n",
263
            "EKIQEQIFNLKELETIPNQENPEQENQKQKAEQCVGKVSEEMKNRLQNLDGASLPKISQE\n",
264
            "DQKEDQNQEQMKQIENKLAKEKIQEEINKIEEQIKRIKNLENQFQNGQQNLQSQENNQEK\n",
265
            "IKEEIQKKGNLLKNNLEIEIQKLIDLKRQLEEDDLLDNEDFLIEEVDIKEKIDQFEKEQK\n",
266
            "FLIQNEQQKKKIIEEMKREIEKIQEENKEDEIIEKEKEIEKKRNKLEQYRQTLLQKLKNK\n",
267
            "QQALQKQKDILQLKLEEEEEAQLEKQRLLLEKYQELESQYQAELQKQQELQKKLQQEMKL\n",
268
            "FQEKDDIIKKQIDLQNKLQQSQEKYQDLQKKQQKLQKEIEELQKQLQQIKQSLKKIKKQA\n",
269
            "EEQQQKKQDQHQKIDNYMNQLEKLKNQQLNLQQQYDQKINQYQTEIENLQREKDRLENYA\n",
270
            "QEKQKQKILENDQKQKLQKMEKDFQNLQNQLDFEKNQIQKMDQEKTALERKIKDLTQQYY\n",
271
            "QKQE\n",
272
            "Generated Similarity to Reference: 55.02959%\n",
273
            "Reference Molecular Weight: 19063.72\n",
274
            "Generated Molecular Weight: 66504.96\n",
275
            "Molecular Weight Similarity: 0.00000%\n",
276
            "Reference Isoelectric Point: 9.00\n",
277
            "Generated Isoelectric Point: 5.45\n",
278
            "Isoelectric Point Similarity: 60.54060%\n",
279
            "--------------------------\n",
280
            "#\n",
281
            "#\n",
282
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
283
            "Generated Sequence 6: \n",
284
            "MTTKATVRELGAWPRSTAHADGNPLIAEAELRATAAPAAAAKAEAASDPYADFREVPEEP\n",
285
            "AATPAPTPIARWRGPRRIALAGGGAAVVTLAAFGIGHWVGTHDTPAATAKAEPQPLAGED\n",
286
            "DGAGETRTCRDGGGTTLVASWNAQAPEVHCEGGGWGSFERTFVTGTKGQRGPAGPRGEQG\n",
287
            "QGGDLRIDAGSTLSATSMTFSGTAAATGTFSFGSTNVDLNVRLSKTASGSYRHFSVSVGQ\n",
288
            "APVGGIGQWGGQVGNALDTHSKQALSELSASSQSLAVSDSTAFASKSGVRWTAGVRVPGT\n",
289
            "SGKVTMTAVRAALTKS\n",
290
            "\n",
291
            "Generated Similarity to Reference: 43.19527%\n",
292
            "Reference Molecular Weight: 19063.72\n",
293
            "Generated Molecular Weight: 31884.84\n",
294
            "Molecular Weight Similarity: 32.74594%\n",
295
            "Reference Isoelectric Point: 9.00\n",
296
            "Generated Isoelectric Point: 8.01\n",
297
            "Isoelectric Point Similarity: 88.97398%\n",
298
            "--------------------------\n",
299
            "#\n",
300
            "#\n",
301
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
302
            "Generated Sequence 7: \n",
303
            "MSTLRELACRARELARRRAAATRTALAAALLIVLAPALAGAGSASSGPAVSGGARSSGPG\n",
304
            "VSPGPWVSPSPAPPVAAVRLRPVSGVAETARRPLSSAAGGPSGAVTAGGGAGRPRGDATT\n",
305
            "GAGAAGSTAGG\n",
306
            "\n",
307
            "Generated Similarity to Reference: 29.58580%\n",
308
            "Reference Molecular Weight: 19063.72\n",
309
            "Generated Molecular Weight: 12171.62\n",
310
            "Molecular Weight Similarity: 63.84703%\n",
311
            "Reference Isoelectric Point: 9.00\n",
312
            "Generated Isoelectric Point: 12.00\n",
313
            "Isoelectric Point Similarity: 66.67843%\n",
314
            "--------------------------\n",
315
            "#\n",
316
            "#\n",
317
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
318
            "Generated Sequence 8: \n",
319
            "ARYALDEYRARLHLPASLLLKLLRWLSVRWSRGDRLIVVSEFLRRRAQAAGYSGPPFIVP\n",
320
            "NLVDGAFFAPPSDAGVATAASARSGTDAAPPAILFTATPSYRKGGATLIALAARLADEEP\n",
321
            "GLRFVAAGHPLRPDVPGVEILGSLSREEIPRHMAACDIFLLPTLYDPCSTAQLEALACGL\n",
322
            "PVVTTRRGGLPEMVDEGAGLILDDADPRGFAAGLGRLLGRPGLRAAMGRAGLAAAERYSM\n",
323
            "DRWRATARAAIEAALAGPTAGREGEPGPAPERDLRARLEAEARGRAPLAAPAGERPVILF\n",
324
            "DVTDHYGGTERVVLNFLRGLDGTAVESYLIYNPGPGLRARTDALDVSTVPVTATGRPGSL\n",
325
            "ARWTAARLARRIRLERPDLVHTHDVSALGTGIAARLLGLPCVVHTEHGFWADPDLAATRY\n",
326
            "SYLLRLAAWLTSRAVTVNDHVRDWLLARHGLSPGKVRTIHNGIAWAPGGDPAAARAMLAA\n",
327
            "TRPGGRAVLGIVGRLVEAKGQHHLVAALREVRRRGVDLPCLIAGDGPM\n",
328
            "Generated Similarity to Reference: 54.43787%\n",
329
            "Reference Molecular Weight: 19063.72\n",
330
            "Generated Molecular Weight: 56104.81\n",
331
            "Molecular Weight Similarity: 0.00000%\n",
332
            "Reference Isoelectric Point: 9.00\n",
333
            "Generated Isoelectric Point: 9.85\n",
334
            "Isoelectric Point Similarity: 90.58699%\n",
335
            "--------------------------\n",
336
            "#\n",
337
            "#\n",
338
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
339
            "Generated Sequence 9: \n",
340
            "MIANGTQNIFRLLYCRHNLLRFVQQGTSGYGLYMKFAISQIFLPKLPTPPIHNLSADFDL\n",
341
            "HFAMFSGSSFARAEANLAGFLLRANMEGAILREADLRRAQLCKAILENAVLGRVNLEYSN\n",
342
            "LQKAIFDGATINGAVFFRTLMTDTKIDDAVLERTLFYLSQMRQAKFRL\n",
343
            "\n",
344
            "Generated Similarity to Reference: 35.50296%\n",
345
            "Reference Molecular Weight: 19063.72\n",
346
            "Generated Molecular Weight: 19002.91\n",
347
            "Molecular Weight Similarity: 99.68107%\n",
348
            "Reference Isoelectric Point: 9.00\n",
349
            "Generated Isoelectric Point: 9.64\n",
350
            "Isoelectric Point Similarity: 92.93129%\n",
351
            "--------------------------\n",
352
            "#\n",
353
            "#\n",
354
            "Reference Sequence: MSKGEEVQNLFASGFRLDSAKTAAVLYGLDAGNSLSGGQPLFFSGLKPRQGVRKIAKELKVRMMDPNFIRVSGRSGKQVTMNEEAVSEFYELQGKINTFIKIVNTKEITFHKEFQYKDDPLPNKRNTIVADYFEKVLMVDNARLIAETTKPVLDAYKMDKVSNEVFVEV\n",
355
            "Generated Sequence 10: \n",
356
            "MSLLTKFFSLTAGFAFLGTPTAVVAASGDAEGQATPVTMTLYHMNGDSYYDDTFHEPVDA\n",
357
            "LAYGDTIDPMRLFIDDEKVPVRHYTYRLLRQTNGTWTELAGAYDSSSGIPVFDGTYSADV\n",
358
            "TLNDGTIFTDVAENVCSSLGFGETETRSVTNIVVSPEELEIYQAAYAQSDGTMSFPETDV\n",
359
            "GDKVQALLSPTSSDGWYLMDTANNEWIPGQFFYAAGSTVASPANPGGTQSVVVVDPLTID\n",
360
            "LYNARYNYTDRSMSFPSPGLGDKVENLLWPRTAVGWYYMDATSSEWVPMQFFYTGPSVVT\n",
361
            "SANPAATQTATNVVVNPSDLALYIGAYQYAGGQLSFTSPTAGDKISALLLPTTSSGWYVM\n",
362
            "DTNANEWIPMQYFYTGTSVTTSANPADTQRATQVIVSPNDLAAYVDAYSYSGEHLSFPVA\n",
363
            "EIGDKVQALTSPPTSAGWNLMTTNSGEWVPERFFYSGPDVTTSANPEGTQRNVQVVVSES\n",
364
            "HLSLYQSAYQSSGGVLSFANADAGDKLQALLSPVTSTG\n",
365
            "Generated Similarity to Reference: 57.39645%\n",
366
            "Reference Molecular Weight: 19063.72\n",
367
            "Generated Molecular Weight: 55695.67\n",
368
            "Molecular Weight Similarity: 0.00000%\n",
369
            "Reference Isoelectric Point: 9.00\n",
370
            "Generated Isoelectric Point: 4.06\n",
371
            "Isoelectric Point Similarity: 45.07098%\n",
372
            "--------------------------\n"
373
          ]
374
        }
375
      ]
376
    },
377
    {
378
      "cell_type": "code",
379
      "source": [
380
        "seconds = time.time()\n",
381
        "print(\"Time in seconds since end of run:\", seconds)\n",
382
        "local_time = time.ctime(seconds)\n",
383
        "print(local_time)"
384
      ],
385
      "metadata": {
386
        "colab": {
387
          "base_uri": "https://localhost:8080/",
388
          "height": 0
389
        },
390
        "id": "TkiND_HHuERP",
391
        "outputId": "5c79281e-2d3e-4d5b-ab50-bda16d3a2c1d"
392
      },
393
      "execution_count": 10,
394
      "outputs": [
395
        {
396
          "output_type": "stream",
397
          "name": "stdout",
398
          "text": [
399
            "Time in seconds since end of run: 1712600082.4905665\n",
400
            "Mon Apr  8 18:14:42 2024\n"
401
          ]
402
        }
403
      ]
404
    }
405
  ]
406
}