Skip to content

Commit

Permalink
Update docu read_fasta
Browse files Browse the repository at this point in the history
  • Loading branch information
breimanntools committed May 2, 2024
1 parent 70fedd8 commit 4242d86
Show file tree
Hide file tree
Showing 6 changed files with 179 additions and 12 deletions.
5 changes: 3 additions & 2 deletions aaanalysis/data_handling/_read_fasta.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ def read_fasta(file_path: str,
-----
Each ``FASTA`` file entry consists of two parts:
- 'FASTA header': Starting with '>', the header contains the main id and additional information,
- **FASTA header**: Starting with '>', the header contains the main id and additional information,
all separated by a specified separator.
- 'Sequence': Sequence of specific entry, directly following the header
- **Sequence**: Sequence of specific entry, directly following the header
``df_seq`` includes at least these columns:
Expand All @@ -108,6 +108,7 @@ def read_fasta(file_path: str,
Examples
--------
.. include:: examples/read_fasta.rst
"""
# Check input
Expand Down
2 changes: 1 addition & 1 deletion aaanalysis/data_handling/_to_fasta.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def to_fasta(df=None,
col_db=None,
cols_info=None,
sep="|"):
"""..."""
""""""
# Check input
ut.check_file(file_path=file_path)
ut.check_str(name="col_id", val=col_id, accept_none=False)
Expand Down
24 changes: 24 additions & 0 deletions examples/data_handling/data/example_FASTA.fasta
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
>SEMA4A,38.4
LAAQQSYWPHFVTVTVLFALVLSGALIILVASPLRALRARG
>SEMA4B,47.0
WGADRSYWKEFLVMCTLFVLAVLLPVLFLLYRHRNSMKVFL
>SEMA4C,86.6
EARAPLENLGLVWLAVVALGAVCLVLLLLVLSLRRRLREEL
>SEMA4D,19.1
TMYLKSSDNRLLMSLFLFFFVLFLCLFFYNCYKGYLPRQCL
>SEMA4F,88.5
RDAPSRAHTVGAGLAGFFLGILAASLTLILIGRRQQRRRQR
>SEMA4G,49.9
GAQLAPDVRLLYVLAIAALGGLCLILASSLLYVACLREGRR
>SEMA5A,28.1
EEKRCGEFNMFHMIAVGLSSSILGCLLTLLVYTYCQRYQQQ
>SEMA5B,30.0
TDCAGFNLIHLVATGISCFLGSGLLTLAVYLSCQHCQRQSQ
>SEMA6A,21.1
KGHDQLVPVTLLAIAVILAFVMGAVFSGITVYCVCDHRRKD
>SEMA6B,80.0
VSVNLLVTSSVAAFVVGAVVSGFSVGWFVGLRERRELARRK
>SEMA6C,46.8
ASASRSVPIPLLLASVAAAFALGASVSGLLVSCACRRAHRR
>SEMA6D,37.7
GESNQMVHMNVLITCVFAAFVLGAFIAGVAVYCYRDMFVRK
8 changes: 4 additions & 4 deletions examples/data_handling/load_dataset.ipynb

Large diffs are not rendered by default.

145 changes: 145 additions & 0 deletions examples/data_handling/read_fasta.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
{
"cells": [
{
"cell_type": "markdown",
"source": [
"You can read FASTA files using the ``read_fasta()`` function:"
],
"metadata": {
"collapsed": false
},
"id": "f204a08b42e761b5"
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [
{
"data": {
"text/plain": "<IPython.core.display.HTML object>",
"text/html": "<style type=\"text/css\">\n#T_1d975 thead th {\n background-color: white;\n color: black;\n}\n#T_1d975 tbody tr:nth-child(odd) {\n background-color: #f2f2f2;\n}\n#T_1d975 tbody tr:nth-child(even) {\n background-color: white;\n}\n#T_1d975 th {\n padding: 5px;\n white-space: nowrap;\n}\n#T_1d975 td {\n padding: 5px;\n white-space: nowrap;\n}\n</style>\n<table id=\"T_1d975\" style='display:block; max-height: 300px; max-width: 100%; overflow-x: auto; overflow-y: auto;'>\n <thead>\n <tr>\n <th class=\"blank level0\" >&nbsp;</th>\n <th id=\"T_1d975_level0_col0\" class=\"col_heading level0 col0\" >entry</th>\n <th id=\"T_1d975_level0_col1\" class=\"col_heading level0 col1\" >sequence</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th id=\"T_1d975_level0_row0\" class=\"row_heading level0 row0\" >1</th>\n <td id=\"T_1d975_row0_col0\" class=\"data row0 col0\" >SEMA4A,38.4</td>\n <td id=\"T_1d975_row0_col1\" class=\"data row0 col1\" >LAAQQSYWPHFVTVT...IILVASPLRALRARG</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row1\" class=\"row_heading level0 row1\" >2</th>\n <td id=\"T_1d975_row1_col0\" class=\"data row1 col0\" >SEMA4B,47.0</td>\n <td id=\"T_1d975_row1_col1\" class=\"data row1 col1\" >WGADRSYWKEFLVMC...LFLLYRHRNSMKVFL</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row2\" class=\"row_heading level0 row2\" >3</th>\n <td id=\"T_1d975_row2_col0\" class=\"data row2 col0\" >SEMA4C,86.6</td>\n <td id=\"T_1d975_row2_col1\" class=\"data row2 col1\" >EARAPLENLGLVWLA...LLLVLSLRRRLREEL</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row3\" class=\"row_heading level0 row3\" >4</th>\n <td id=\"T_1d975_row3_col0\" class=\"data row3 col0\" >SEMA4D,19.1</td>\n <td id=\"T_1d975_row3_col1\" class=\"data row3 col1\" >TMYLKSSDNRLLMSL...FFYNCYKGYLPRQCL</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row4\" class=\"row_heading level0 row4\" >5</th>\n <td id=\"T_1d975_row4_col0\" class=\"data row4 col0\" >SEMA4F,88.5</td>\n <td id=\"T_1d975_row4_col1\" class=\"data row4 col1\" >RDAPSRAHTVGAGLA...TLILIGRRQQRRRQR</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row5\" class=\"row_heading level0 row5\" >6</th>\n <td id=\"T_1d975_row5_col0\" class=\"data row5 col0\" >SEMA4G,49.9</td>\n <td id=\"T_1d975_row5_col1\" class=\"data row5 col1\" >GAQLAPDVRLLYVLA...ASSLLYVACLREGRR</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row6\" class=\"row_heading level0 row6\" >7</th>\n <td id=\"T_1d975_row6_col0\" class=\"data row6 col0\" >SEMA5A,28.1</td>\n <td id=\"T_1d975_row6_col1\" class=\"data row6 col1\" >EEKRCGEFNMFHMIA...LTLLVYTYCQRYQQQ</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row7\" class=\"row_heading level0 row7\" >8</th>\n <td id=\"T_1d975_row7_col0\" class=\"data row7 col0\" >SEMA5B,30.0</td>\n <td id=\"T_1d975_row7_col1\" class=\"data row7 col1\" >TDCAGFNLIHLVATG...LAVYLSCQHCQRQSQ</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row8\" class=\"row_heading level0 row8\" >9</th>\n <td id=\"T_1d975_row8_col0\" class=\"data row8 col0\" >SEMA6A,21.1</td>\n <td id=\"T_1d975_row8_col1\" class=\"data row8 col1\" >KGHDQLVPVTLLAIA...SGITVYCVCDHRRKD</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row9\" class=\"row_heading level0 row9\" >10</th>\n <td id=\"T_1d975_row9_col0\" class=\"data row9 col0\" >SEMA6B,80.0</td>\n <td id=\"T_1d975_row9_col1\" class=\"data row9 col1\" >VSVNLLVTSSVAAFV...WFVGLRERRELARRK</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row10\" class=\"row_heading level0 row10\" >11</th>\n <td id=\"T_1d975_row10_col0\" class=\"data row10 col0\" >SEMA6C,46.8</td>\n <td id=\"T_1d975_row10_col1\" class=\"data row10 col1\" >ASASRSVPIPLLLAS...SGLLVSCACRRAHRR</td>\n </tr>\n <tr>\n <th id=\"T_1d975_level0_row11\" class=\"row_heading level0 row11\" >12</th>\n <td id=\"T_1d975_row11_col0\" class=\"data row11 col0\" >SEMA6D,37.7</td>\n <td id=\"T_1d975_row11_col1\" class=\"data row11 col1\" >GESNQMVHMNVLITC...AGVAVYCYRDMFVRK</td>\n </tr>\n </tbody>\n</table>\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import aaanalysis as aa\n",
"file_path = \"data/example_FASTA.fasta\"\n",
"df_seq = aa.read_fasta(file_path)\n",
"aa.display_df(df_seq)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2024-05-02T21:28:50.165467820Z",
"start_time": "2024-05-02T21:28:50.048853581Z"
}
},
"id": "6221c1f3f94b587"
},
{
"cell_type": "markdown",
"source": [
"To adjust the names of the columns for the primary FASTA file information, use ``col_id`` and ``col_seq``:"
],
"metadata": {
"collapsed": false
},
"id": "6195ed555b5e7680"
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [
{
"data": {
"text/plain": "<IPython.core.display.HTML object>",
"text/html": "<style type=\"text/css\">\n#T_6c442 thead th {\n background-color: white;\n color: black;\n}\n#T_6c442 tbody tr:nth-child(odd) {\n background-color: #f2f2f2;\n}\n#T_6c442 tbody tr:nth-child(even) {\n background-color: white;\n}\n#T_6c442 th {\n padding: 5px;\n white-space: nowrap;\n}\n#T_6c442 td {\n padding: 5px;\n white-space: nowrap;\n}\n</style>\n<table id=\"T_6c442\" style='display:block; max-height: 300px; max-width: 100%; overflow-x: auto; overflow-y: auto;'>\n <thead>\n <tr>\n <th class=\"blank level0\" >&nbsp;</th>\n <th id=\"T_6c442_level0_col0\" class=\"col_heading level0 col0\" >ENTRY</th>\n <th id=\"T_6c442_level0_col1\" class=\"col_heading level0 col1\" >SQUENCE</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th id=\"T_6c442_level0_row0\" class=\"row_heading level0 row0\" >1</th>\n <td id=\"T_6c442_row0_col0\" class=\"data row0 col0\" >SEMA4A,38.4</td>\n <td id=\"T_6c442_row0_col1\" class=\"data row0 col1\" >LAAQQSYWPHFVTVT...IILVASPLRALRARG</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row1\" class=\"row_heading level0 row1\" >2</th>\n <td id=\"T_6c442_row1_col0\" class=\"data row1 col0\" >SEMA4B,47.0</td>\n <td id=\"T_6c442_row1_col1\" class=\"data row1 col1\" >WGADRSYWKEFLVMC...LFLLYRHRNSMKVFL</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row2\" class=\"row_heading level0 row2\" >3</th>\n <td id=\"T_6c442_row2_col0\" class=\"data row2 col0\" >SEMA4C,86.6</td>\n <td id=\"T_6c442_row2_col1\" class=\"data row2 col1\" >EARAPLENLGLVWLA...LLLVLSLRRRLREEL</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row3\" class=\"row_heading level0 row3\" >4</th>\n <td id=\"T_6c442_row3_col0\" class=\"data row3 col0\" >SEMA4D,19.1</td>\n <td id=\"T_6c442_row3_col1\" class=\"data row3 col1\" >TMYLKSSDNRLLMSL...FFYNCYKGYLPRQCL</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row4\" class=\"row_heading level0 row4\" >5</th>\n <td id=\"T_6c442_row4_col0\" class=\"data row4 col0\" >SEMA4F,88.5</td>\n <td id=\"T_6c442_row4_col1\" class=\"data row4 col1\" >RDAPSRAHTVGAGLA...TLILIGRRQQRRRQR</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row5\" class=\"row_heading level0 row5\" >6</th>\n <td id=\"T_6c442_row5_col0\" class=\"data row5 col0\" >SEMA4G,49.9</td>\n <td id=\"T_6c442_row5_col1\" class=\"data row5 col1\" >GAQLAPDVRLLYVLA...ASSLLYVACLREGRR</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row6\" class=\"row_heading level0 row6\" >7</th>\n <td id=\"T_6c442_row6_col0\" class=\"data row6 col0\" >SEMA5A,28.1</td>\n <td id=\"T_6c442_row6_col1\" class=\"data row6 col1\" >EEKRCGEFNMFHMIA...LTLLVYTYCQRYQQQ</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row7\" class=\"row_heading level0 row7\" >8</th>\n <td id=\"T_6c442_row7_col0\" class=\"data row7 col0\" >SEMA5B,30.0</td>\n <td id=\"T_6c442_row7_col1\" class=\"data row7 col1\" >TDCAGFNLIHLVATG...LAVYLSCQHCQRQSQ</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row8\" class=\"row_heading level0 row8\" >9</th>\n <td id=\"T_6c442_row8_col0\" class=\"data row8 col0\" >SEMA6A,21.1</td>\n <td id=\"T_6c442_row8_col1\" class=\"data row8 col1\" >KGHDQLVPVTLLAIA...SGITVYCVCDHRRKD</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row9\" class=\"row_heading level0 row9\" >10</th>\n <td id=\"T_6c442_row9_col0\" class=\"data row9 col0\" >SEMA6B,80.0</td>\n <td id=\"T_6c442_row9_col1\" class=\"data row9 col1\" >VSVNLLVTSSVAAFV...WFVGLRERRELARRK</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row10\" class=\"row_heading level0 row10\" >11</th>\n <td id=\"T_6c442_row10_col0\" class=\"data row10 col0\" >SEMA6C,46.8</td>\n <td id=\"T_6c442_row10_col1\" class=\"data row10 col1\" >ASASRSVPIPLLLAS...SGLLVSCACRRAHRR</td>\n </tr>\n <tr>\n <th id=\"T_6c442_level0_row11\" class=\"row_heading level0 row11\" >12</th>\n <td id=\"T_6c442_row11_col0\" class=\"data row11 col0\" >SEMA6D,37.7</td>\n <td id=\"T_6c442_row11_col1\" class=\"data row11 col1\" >GESNQMVHMNVLITC...AGVAVYCYRDMFVRK</td>\n </tr>\n </tbody>\n</table>\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df_seq = aa.read_fasta(file_path, col_id=\"ENTRY\", col_seq=\"SQUENCE\")\n",
"aa.display_df(df_seq)"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2024-05-02T21:28:50.965212794Z",
"start_time": "2024-05-02T21:28:50.944687925Z"
}
},
"id": "8d4c33fedb070859"
},
{
"cell_type": "markdown",
"source": [
"The ``col_id`` column should only contain the unique identifier. If the FASTA file comprises additional information, use the ``sep`` (default='|') argument to save them in additional columns:"
],
"metadata": {
"collapsed": false
},
"id": "d0ed30c599bcde82"
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [
{
"data": {
"text/plain": "<IPython.core.display.HTML object>",
"text/html": "<style type=\"text/css\">\n#T_a7bf4 thead th {\n background-color: white;\n color: black;\n}\n#T_a7bf4 tbody tr:nth-child(odd) {\n background-color: #f2f2f2;\n}\n#T_a7bf4 tbody tr:nth-child(even) {\n background-color: white;\n}\n#T_a7bf4 th {\n padding: 5px;\n white-space: nowrap;\n}\n#T_a7bf4 td {\n padding: 5px;\n white-space: nowrap;\n}\n</style>\n<table id=\"T_a7bf4\" style='display:block; max-height: 300px; max-width: 100%; overflow-x: auto; overflow-y: auto;'>\n <thead>\n <tr>\n <th class=\"blank level0\" >&nbsp;</th>\n <th id=\"T_a7bf4_level0_col0\" class=\"col_heading level0 col0\" >entry</th>\n <th id=\"T_a7bf4_level0_col1\" class=\"col_heading level0 col1\" >sequence</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th id=\"T_a7bf4_level0_row0\" class=\"row_heading level0 row0\" >1</th>\n <td id=\"T_a7bf4_row0_col0\" class=\"data row0 col0\" >SEMA4A</td>\n <td id=\"T_a7bf4_row0_col1\" class=\"data row0 col1\" >LAAQQSYWPHFVTVT...IILVASPLRALRARG</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row1\" class=\"row_heading level0 row1\" >2</th>\n <td id=\"T_a7bf4_row1_col0\" class=\"data row1 col0\" >SEMA4B</td>\n <td id=\"T_a7bf4_row1_col1\" class=\"data row1 col1\" >WGADRSYWKEFLVMC...LFLLYRHRNSMKVFL</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row2\" class=\"row_heading level0 row2\" >3</th>\n <td id=\"T_a7bf4_row2_col0\" class=\"data row2 col0\" >SEMA4C</td>\n <td id=\"T_a7bf4_row2_col1\" class=\"data row2 col1\" >EARAPLENLGLVWLA...LLLVLSLRRRLREEL</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row3\" class=\"row_heading level0 row3\" >4</th>\n <td id=\"T_a7bf4_row3_col0\" class=\"data row3 col0\" >SEMA4D</td>\n <td id=\"T_a7bf4_row3_col1\" class=\"data row3 col1\" >TMYLKSSDNRLLMSL...FFYNCYKGYLPRQCL</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row4\" class=\"row_heading level0 row4\" >5</th>\n <td id=\"T_a7bf4_row4_col0\" class=\"data row4 col0\" >SEMA4F</td>\n <td id=\"T_a7bf4_row4_col1\" class=\"data row4 col1\" >RDAPSRAHTVGAGLA...TLILIGRRQQRRRQR</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row5\" class=\"row_heading level0 row5\" >6</th>\n <td id=\"T_a7bf4_row5_col0\" class=\"data row5 col0\" >SEMA4G</td>\n <td id=\"T_a7bf4_row5_col1\" class=\"data row5 col1\" >GAQLAPDVRLLYVLA...ASSLLYVACLREGRR</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row6\" class=\"row_heading level0 row6\" >7</th>\n <td id=\"T_a7bf4_row6_col0\" class=\"data row6 col0\" >SEMA5A</td>\n <td id=\"T_a7bf4_row6_col1\" class=\"data row6 col1\" >EEKRCGEFNMFHMIA...LTLLVYTYCQRYQQQ</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row7\" class=\"row_heading level0 row7\" >8</th>\n <td id=\"T_a7bf4_row7_col0\" class=\"data row7 col0\" >SEMA5B</td>\n <td id=\"T_a7bf4_row7_col1\" class=\"data row7 col1\" >TDCAGFNLIHLVATG...LAVYLSCQHCQRQSQ</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row8\" class=\"row_heading level0 row8\" >9</th>\n <td id=\"T_a7bf4_row8_col0\" class=\"data row8 col0\" >SEMA6A</td>\n <td id=\"T_a7bf4_row8_col1\" class=\"data row8 col1\" >KGHDQLVPVTLLAIA...SGITVYCVCDHRRKD</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row9\" class=\"row_heading level0 row9\" >10</th>\n <td id=\"T_a7bf4_row9_col0\" class=\"data row9 col0\" >SEMA6B</td>\n <td id=\"T_a7bf4_row9_col1\" class=\"data row9 col1\" >VSVNLLVTSSVAAFV...WFVGLRERRELARRK</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row10\" class=\"row_heading level0 row10\" >11</th>\n <td id=\"T_a7bf4_row10_col0\" class=\"data row10 col0\" >SEMA6C</td>\n <td id=\"T_a7bf4_row10_col1\" class=\"data row10 col1\" >ASASRSVPIPLLLAS...SGLLVSCACRRAHRR</td>\n </tr>\n <tr>\n <th id=\"T_a7bf4_level0_row11\" class=\"row_heading level0 row11\" >12</th>\n <td id=\"T_a7bf4_row11_col0\" class=\"data row11 col0\" >SEMA6D</td>\n <td id=\"T_a7bf4_row11_col1\" class=\"data row11 col1\" >GESNQMVHMNVLITC...AGVAVYCYRDMFVRK</td>\n </tr>\n </tbody>\n</table>\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df_seq = aa.read_fasta(file_path, sep=\",\")\n",
"aa.display_df(df_seq)\n"
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2024-05-02T21:28:51.741497271Z",
"start_time": "2024-05-02T21:28:51.718363188Z"
}
},
"id": "c63b0719186b520e"
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [],
"metadata": {
"collapsed": false
},
"id": "12c40961e7f22ae4"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
7 changes: 2 additions & 5 deletions tutorials/plotting_prelude.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": null,
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
Expand All @@ -25,10 +25,7 @@
],
"metadata": {
"collapsed": false,
"ExecuteTime": {
"end_time": "2024-02-07T18:53:58.140699276Z",
"start_time": "2024-02-07T18:53:58.140097399Z"
}
"is_executing": true
},
"id": "2673a6d600050969"
},
Expand Down

0 comments on commit 4242d86

Please sign in to comment.