wiscevan / automappa Goto Github PK
View Code? Open in Web Editor NEWAn interactive interface for exploration of highly complex metagenomes
License: GNU Affero General Public License v3.0
An interactive interface for exploration of highly complex metagenomes
License: GNU Affero General Public License v3.0
Some sort of indication of which contigs have marker genes on them **Maybe a different shaped point?
This would add a dash-mantine-component/transferlist component. This component could be used to allow the user fine-tuned control of which refinements to keep/delete for a given metagenome sample.
This would include the initial clustering results as well as the user refinements.
Feedback on whether this feature would be useful may necessary to follow-up with this implementation
To replace the default page tab icon, we simply need to add a favicon.ico
file to /assets/favicon.ico
.
Happy to receive any suggestions on what icon design we could use.
For starters, we could use an A
? Maybe the same A that is in the Autometa logo animation?
There may be some helpful inspiration in KwanLab/Autometa#75
@samche42 Ideas welcome....
dash bootstrap component: Toast is likely what we want here.
The current docker image in the develop
branch is only not compatible with AMD processors. It will be nice in terms of useability to make it compatible with different processors. This can be done using:
docker buildx build --platform linux/amd64,linux/arm64 --push -t WiscEvan/automappa:develop .
Add "download plot" button to each figure that allows user to download figure (in svg format) for publication-quality images.
Kind of like bandage mixed with current plots
Use would be to determine HGT and resolve contigs with highly different coverage
Refreshing the Dash page puts you back at square one, and any and all refinements are lost.
Eventually this can be refactored so when the layout is changing the entire figure does not need to be reconstructed... to do this we can initialize scatterplot-2d figure with contig embeddings using traces of their marker counts depicted with discrete marker symbols. Then add traces to the initialized fig corresponding to the color-by-column
...
go.Scattergl(x=x_1, y=x_2)
contig-marker-symbols
to initialized scatterplotcolor-by-column
An example is performed with changing hovermode in the plotly docs
If there's any way to split a cluster of selected bins at a certain coverage level. Like if I select a mix bag of contigs that clearly need to be separated by coverage (e.g. one is around 10x cov and the other is around 2x cov, I could pick 5x cov and any contigs above that would go to refinement 1 and any with coverage below 5 would go to refinement 2.
Perhaps a modal of two boxes. One a dropdown of the math operator (gt, lt, gte, lte, eq, ne) and the other of the column (coverage, GC%, coding density, num markers)
After contigs are hidden, both scatterplots update their layouts to correspond to the new set coordinates minima and maxima.
Contigs that have already been manually curated are not displayed in the refinement table if you navigate away from (and then back to) the MAG Refinements tab.
When returning to the MAG refinements tab, the refinements table should be displayed and populated with the latest MAG refinement data
Self-explanatory issue title
Add bioconda recipe for Automappa so installation can be performed in a one-liner
conda install -c bioconda automappa
I installed automappa and autometa. When I run test files y received this error
Traceback (most recent call last):
File "/media/microviable/d/miniconda/Automappa/bin/automappa", line 7, in <module>
from automappa.__main__ import main
File "/media/microviable/d/miniconda/Automappa/lib/python3.9/site-packages/automappa/__main__.py", line 4, in <module>
from automappa import index
File "/media/microviable/d/miniconda/Automappa/lib/python3.9/site-packages/automappa/index.py", line 20, in <module>
from automappa.apps import mag_refinement, mag_summary
File "/media/microviable/d/miniconda/Automappa/lib/python3.9/site-packages/automappa/apps/mag_refinement.py", line 12, in <module>
from dash_extensions import Download
ImportError: cannot import name 'Download' from 'dash_extensions' (/media/microviable/d/miniconda/Automappa/lib/python3.9/site-packages/dash_extensions/__init__.py)
When Automappa was first written hidden divs were the suggested method to share data. However, now dcc.Store
as well as some advanced caching techniques using flask_caching
are now available and should provide significant speed-up. This may be a bit of work to wrap our heads around, but better to put this out there now to eventually be tackled than not suggested at all. ๐คท
Here is the relevant dash documentation - dash -> sharing data between callbacks
Change index.py input argument so it only requires either the autometa output directory or binning main table
Rename the tabs as they are mentioned in the paper
Binning Exploration
to MAG Refinement
Binning Summary
to MAG Summary
For example, when it asks for a binning file, would be useful to know what Autometa usually names this as. My Autometa run happened to fail so the file I needed wasn't there. If it said something like *.binning.tsv
that would help a user find the correct file, since Autometa outputs a lot of different files.
In regards to the last point, we will need to determine what interface feels most natural to the end user. (:raised_hands: hurrah :raised_hands: for the guinea pigs :wave:)
.... We could also add these into the offcanvas
I.e. after you have decided on your bin and saved the selection, those contigs disappear and cannot be placed into a different bin (Save the user from themselves here).
This tab would have buttons to login and select current and previously opened metagenomes
e.g.
Existing metagenome datasets would be displayed with their details in a Card with a 2d scatterplot as the thumbnail.
Other info in the card would be hash, filename, modified date, etc.
This has been started on the home-tab
branch
I actually have a script ready to go if you guys want it :) This was automatically generated by the very original Autometa and was super useful - especially when I was way too junior (read useless) to create my own script to find these stats.
The accepted way of assessing genome quality is via a combination of CheckM and the MIMAG standards. It throws novice users for a complete loop when the completeness/purity metrics in Automappa aren't reflected in subsequent CheckM quality checks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.