Git Product home page Git Product logo

automappa's Issues

Replace default page tab icon

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?

Logo_black.mp4

There may be some helpful inspiration in KwanLab/Autometa#75

๐Ÿณ ๐ŸŽ Docker image is not compatiblele with ARM processor

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 .

Persistent refinements

Refreshing the Dash page puts you back at square one, and any and all refinements are lost.

Refactor Scatterplot callbacks

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...

  • initialize scatterplot with embeddings go.Scattergl(x=x_1, y=x_2)
  • Initialize layout with minima and maxima of x and y axes
    (Will possibly need a store here relating to minima and maxima for each column that may reside on the x or y axes)
  • add contig-marker-symbols to initialized scatterplot
  • add colors to traces based on color-by-column

An example is performed with changing hovermode in the plotly docs

Additional Filtering tool

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)

Refinements table not displaying

Problem

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.

Solution

When returning to the MAG refinements tab, the refinements table should be displayed and populated with the latest MAG refinement data

problem installing

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)

Cache expensive callbacks

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

Rename dashboard tabs

Rename the tabs as they are mentioned in the paper

  • Rename Binning Exploration to MAG Refinement
  • Rename Binning Summary to MAG Summary

The upload modal should tell you what the default filename should look like

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.

Add metagenome and markers upload modal (or buttons or card, etc.)

  • Implement ability to upload metagenome annotations (together and/or separately)
  • Implement ability to upload annotations corresponding to searched marker set(s)
  • Component to group/display upload components (e.g. buttons w/modal or card etc.)

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 :neckbeard:

๐Ÿ  Add home tab

This tab would have buttons to login and select current and previously opened metagenomes

e.g.

  • login
  • overview
  • upload

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.