plotly / dash-bio

Open-source bioinformatics components for Dash
https://dash-gallery.plotly.host/Portal/?search=Bioinformatics
MIT License
531 stars 191 forks source link

documentation for alignment viewer is too sparse #530

Open nyck33 opened 3 years ago

nyck33 commented 3 years ago

Describe the bug A clear and concise description of what the bug is. https://dash.plotly.com/dash-bio/alignmentchart

data is a global variable and the callback pattern is different from most others.
What is eventDatum?
How do I output an alignment chart from a multifasta file in dcc.Store() or other? Does it have to be multifasta? Can data be a list of file paths to single fasta files? Etc.

To Reproduce Steps to reproduce the behavior:

Expected behavior A clear and concise description of what you expected to happen. I have accession numbers in dcc.Store()'s. I use the Biopython Entrez utiliites to download fasta files for those accessions and then make a multifasta file and save it to the directory of my dash script. Then I let data="relative path to multifasta file". But I get the error pointed out in the community post above. Screenshots If applicable, add screenshots to help explain the issue.

Python version: [e.g., 3.7.2] 3.8.5

Python environment (all installed packages in your current environment):

Name Version Build Channel

_libgcc_mutex 0.1 main
ansi2html 1.5.2 pypi_0 pypi appdirs 1.4.4 pypi_0 pypi argon2-cffi 20.1.0 py38h7b6447c_1
arrow 0.17.0 pypi_0 pypi async_generator 1.10 py_0
attrs 20.2.0 py_0
backcall 0.2.0 py_0
bcrypt 3.1.7 py38h7b6447c_1
biopython 1.78 pypi_0 pypi bleach 3.2.1 py_0
brotli 1.0.9 pypi_0 pypi ca-certificates 2020.10.14 0
cairocffi 1.2.0 pypi_0 pypi cairosvg 2.5.0 pypi_0 pypi certifi 2020.6.20 pyhd3eb1b0_3
cffi 1.14.3 py38he30daa8_0
chardet 3.0.4 pypi_0 pypi click 7.1.2 pypi_0 pypi cssselect2 0.4.1 pypi_0 pypi custom-inherit 2.3.0 pypi_0 pypi cycler 0.10.0 pypi_0 pypi dash 1.17.0 pypi_0 pypi dash-bio 0.4.8 pypi_0 pypi dash-bootstrap-components 0.10.7 pypi_0 pypi dash-core-components 1.13.0 pypi_0 pypi dash-html-components 1.1.1 pypi_0 pypi dash-renderer 1.8.3 pypi_0 pypi dash-table 4.11.0 pypi_0 pypi dbus 1.13.18 hb2f20db_0
decorator 4.4.2 py_0
defusedxml 0.6.0 pypi_0 pypi entrypoints 0.3 pypi_0 pypi expat 2.2.10 he6710b0_2
flask 1.1.2 pypi_0 pypi flask-compress 1.8.0 pypi_0 pypi fontconfig 2.13.0 h9420a91_0
freetype 2.10.4 h5ab3b9f_0
future 0.18.2 pypi_0 pypi glib 2.66.1 h92f7085_0
googletrans 3.0.0 pypi_0 pypi gst-plugins-base 1.14.0 hbbd80ab_1
gstreamer 1.14.0 hb31296c_0
h11 0.9.0 pypi_0 pypi h2 3.2.0 pypi_0 pypi hpack 3.0.0 pypi_0 pypi hstspreload 2020.10.20 pypi_0 pypi html5lib 1.1 pypi_0 pypi httpcore 0.9.1 pypi_0 pypi httpx 0.13.3 pypi_0 pypi hyperframe 5.2.0 pypi_0 pypi icu 58.2 he6710b0_3
idna 2.10 pypi_0 pypi importlib-metadata 2.0.0 py_1
importlib_metadata 2.0.0 1
ipykernel 5.3.4 py38h5ca1d4c_0
ipython 7.18.1 pypi_0 pypi ipython-genutils 0.2.0 pypi_0 pypi ipython_genutils 0.2.0 py38_0
ipywidgets 7.5.1 py_1
itsdangerous 1.1.0 pypi_0 pypi jedi 0.17.2 py38_0
jinja2 2.11.2 py_0
joblib 0.17.0 pypi_0 pypi jpeg 9b h024ee3a_2
json5 0.9.5 pypi_0 pypi jsonschema 3.2.0 py_2
jupyter 1.0.0 py38_7
jupyter-dash 0.3.1 pypi_0 pypi jupyter_client 6.1.7 py_0
jupyter_console 6.2.0 py_0
jupyter_core 4.6.3 py38_0
jupyterlab 2.2.9 pypi_0 pypi jupyterlab-server 1.2.0 pypi_0 pypi jupyterlab_pygments 0.1.2 py_0
kiwisolver 1.2.0 pypi_0 pypi ld_impl_linux-64 2.33.1 h53a641e_7
libedit 3.1.20191231 h14c3975_1
libffi 3.3 he6710b0_2
libgcc-ng 9.1.0 hdf63c60_0
libpng 1.6.37 hbc83047_0
libsodium 1.0.18 h7b6447c_0
libstdcxx-ng 9.1.0 hdf63c60_0
libuuid 1.0.3 h1bed415_2
libxcb 1.14 h7b6447c_0
libxml2 2.9.10 hb55368b_3
markupsafe 1.1.1 py38h7b6447c_0
matplotlib 3.3.2 pypi_0 pypi mistune 0.8.4 py38h7b6447c_1000
multipledispatch 0.6.0 pypi_0 pypi nbclient 0.5.1 py_0
nbconvert 6.0.7 py38_0
nbformat 5.0.8 py_0
ncbi-genome-download 0.3.0 pypi_0 pypi ncurses 6.2 he6710b0_1
nest-asyncio 1.4.2 pypi_0 pypi notebook 6.1.5 pypi_0 pypi numpy 1.19.2 pypi_0 pypi openssl 1.1.1h h7b6447c_0
packaging 20.4 py_0
pandas 1.1.2 pypi_0 pypi pandoc 2.11 hb0f4dca_0
pandocfilters 1.4.3 pypi_0 pypi parso 0.7.1 pypi_0 pypi pcre 8.44 he6710b0_0
pexpect 4.8.0 py38_0
pickleshare 0.7.5 py38_1000
pillow 7.2.0 pypi_0 pypi pip 20.2.3 pypi_0 pypi plotly 4.11.0 py_0
prometheus_client 0.8.0 py_0
prompt-toolkit 3.0.8 py_0
prompt_toolkit 3.0.8 0
ptyprocess 0.6.0 pypi_0 pypi pycparser 2.20 py_2
pygments 2.7.2 pyhd3eb1b0_0
pyparsing 2.4.7 py_0
pyphen 0.10.0 pypi_0 pypi pypng 0.0.20 pypi_0 pypi pyqt 5.9.2 py38h05f1152_4
pyrsistent 0.17.3 py38h7b6447c_0
python 3.8.5 h7579374_1
python-dateutil 2.8.1 py_0
pytz 2020.1 pypi_0 pypi pyzmq 19.0.2 pypi_0 pypi qt 5.9.7 h5867ecd_1
qtconsole 4.7.7 py_0
qtpy 1.9.0 py_0
readline 8.0 h7b6447c_0
reportlab 3.5.55 pypi_0 pypi requests 2.24.0 pypi_0 pypi retrying 1.3.3 py_2
rfc3986 1.4.0 pypi_0 pypi scikit-learn 0.23.2 pypi_0 pypi scipy 1.5.3 pypi_0 pypi seaborn 0.11.0 pypi_0 pypi send2trash 1.5.0 pypi_0 pypi setuptools 49.6.0 py38_0
sip 4.19.13 py38he6710b0_0
six 1.15.0 py_0
sklearn 0.0 pypi_0 pypi sniffio 1.2.0 pypi_0 pypi sqlite 3.33.0 h62c20be_0
terminado 0.9.1 pypi_0 pypi testpath 0.4.4 py_0
threadpoolctl 2.1.0 pypi_0 pypi tinycss2 1.1.0 pypi_0 pypi tk 8.6.10 hbc83047_0
tornado 6.0.4 py38h7b6447c_1
toyplot 0.19.0 pypi_0 pypi toytree 2.0.1 pypi_0 pypi traitlets 5.0.5 py_0
urllib3 1.25.10 pypi_0 pypi wcwidth 0.2.5 py_0
weasyprint 52.1 pypi_0 pypi webencodings 0.5.1 pypi_0 pypi werkzeug 1.0.1 pypi_0 pypi wheel 0.35.1 py_0
widgetsnbextension 3.5.1 py38_0
xmltodict 0.12.0 pypi_0 pypi xz 5.2.5 h7b6447c_0
zeromq 4.3.3 he6710b0_3
zipp 3.4.0 pyhd3eb1b0_0
zlib 1.2.11 h7b6447c_3

Additional context Please make the Dash Bio documents similar to those for html, dcc, dbc with documentation on the attributes and more realistic use-case type examples.

jackparmer commented 3 years ago

@jackluo wrote this component and may be able to submit a PR for some of your documentation suggestions over at https://github.com/plotly/dash-docs. I agree that it could be nice to have a FASTA file to AlignmentViewer example and a more explicit description of eventDatum.