Skip to content

Commit

Permalink
fixed many things, including imports which should now work as expected
Browse files Browse the repository at this point in the history
  • Loading branch information
ojscholten committed Nov 8, 2021
1 parent 200ffd6 commit 5962a28
Show file tree
Hide file tree
Showing 60 changed files with 3,775 additions and 1,908 deletions.
153 changes: 136 additions & 17 deletions 00_quick_start.ipynb
Original file line number Diff line number Diff line change
@@ -1,57 +1,176 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"cell_type": "markdown",
"metadata": {},
"outputs": [],
"source": [
"#hide\n",
"from pysan.core import *\n",
"from pysan.multi import *"
"# Quick Start Guide\n",
"\n",
"> Get up and running in 2 minutes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Quick Start Guide\n",
"The pysan library has a number of different modules which each can each be used to address specific questions in the sequence domain.\n",
"The currently available modules within pysan are;\n",
"\n",
"- `elements`\n",
"- `subsequences`\n",
"- `ngrams`\n",
"- `transitions`\n",
"- `spells`\n",
"- `statistics`\n",
"\n",
"And for multisequence analysis;\n",
"- `attributes`\n",
"- `derivatives`\n",
"- `editdistances`\n",
"- `nonalignment`\n",
"\n",
"To get started using the methods in these modules, the simplest way is to import all of the methods from it, and start writing;"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{1, 2, 3}"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from pysan.elements import *\n",
"\n",
"> Get up and running in 10 minutes"
"sequence = [3, 2, 3, 1, 1, 3, 1, 1, 2, 3, 1, 3, 1, 3, 2, 2, 3, 1, 3, 2]\n",
"get_alphabet(sequence)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The pysan library has two main modules, the `core` module, and the `multi` module, which are for within and between sequence analysis respectively.\n",
"After installing pysan with `pip install pysan`, create a new notebook and load in some data."
"Alternatively, you can import just the method you need from the module like this;"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 2,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/plain": [
"{1, 2, 3}"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pysan as ps\n",
"from pysan.elements import get_alphabet\n",
"\n",
"#sequences = ps.generate_sequences(20,20,[1,2,3])"
"sequence = [3, 2, 3, 1, 1, 3, 1, 1, 2, 3, 1, 3, 1, 3, 2, 2, 3, 1, 3, 2]\n",
"get_alphabet(sequence)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are also two generic modules called `core` and `multi`, which contain the basic plotting functionality described in the overview pages;"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": []
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 388.8x64.8 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from pysan.core import plot_sequence\n",
"sequence = [1,1,2,1,2,2,3,1,1,2,2,1,2,2,3,1,1,2]\n",
"plt = plot_sequence(sequence)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And the `multi` module;"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 453.6x86.4 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from pysan.multi import plot_sequences\n",
"s1 = [1,1,1,2,2,3,2,4,4,3,2,1,2,3,3,3,2,2,1,1,1]\n",
"s2 = [1,1,2,2,3,2,4,4,3,2,1,2,3,2,2,2,3,3,2,4,4]\n",
"s3 = [1,1,1,2,2,3,2,4,4,3,2,1,2,3,3,3,4,4,4,3,3]\n",
"s4 = [1,1,1,1,2,3,2,3,3,3,3,1,2,2,3,3,3,4,4,4,4]\n",
"sequences = [s1,s2,s3,s4]\n",
"plt = plot_sequences(sequences)\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.6"
}
},
"nbformat": 4,
Expand Down
Loading

0 comments on commit 5962a28

Please sign in to comment.