Giter Club home page Giter Club logo

reflow's Introduction

ReFlow

Repository for reproducible automated analysis of flow cytometry data

Master branch:

Development branch:

Requirements

Optional, But Recommended Packages __

  • django-extensions 1.5
  • django-rest-framework-docs 0.1.7

reflow's People

Contributors

dleehr avatar whitews avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

dleehr

reflow's Issues

Option for creating multiple PRs simultaneously

For samples belonging to the same panel but different sites, allow an option in the process request wizard for creating multiple jobs simultaneously split by site. Maybe the best place for this is in the first step of the PR wizard, where if samples from multiple sites are shown, the user is presented with a check box to automatically split the jobs by site. If this is selected, the PR label should be appended with the site name.

Allow creation of new ReFlow users

Currently, new ReFlow users must be added using the Django admin interface. Add functionality to create new users in the ReFlow admin view. Should also allow modifying them (make them inactive, change their password, etc.) as well as deleting them.

Use different delimiter when combining parameter items Edit

An alternative to "-" as delimiter would make it simpler to extract the marker, antibody and data type. For example, IFN-IL2-PE-A is hard to parse correctly because "-" is used both as a delimiter and to join the names of the multiplexed cytokines. An alternative delimiter that is less susceptible to such delimiter collisions would be preferable

Request to retrieve objects by primary key

It would be nice to get back project, site and visit objects given the pk from the restclient interface by adding a pk argument, in the same way that is done for get_samples.

CSV download of PR results

Add download of CSV results to PR detail view. Use comma-delimited quoted values to handle comma separated labels (one-to-many). Include columns:

  • stage
  • parent
  • Sample (filename & PK)
  • Cluster index
  • Cluster labels
  • Event %
  • Parent cluster event %

Disable/Enable workers from ReFlow server

Create a mechanism for ReFlow admins to disable (and re-enable) workers from the ReFlow server. This would be useful for testing a specific worker. Since a worker is just a sub-classed User, perhaps this could be easily achieved by simply setting the user's active status?

Sample upload allows selecting file when cytometer is not chosen

When files are added to the categorization queue the user should not be allowed to select the check box unless all the required fields on the left are chosen. Currently, if no cytometer is chosen this is allowed.

Also, the select all check box interferes with the sample annotation modal. If the user toggles the select all on & off, then subsequent toggling of a single FCS file will not initiate the sample annotation modal.

Time-out redirection still not working for all views

This was mostly addressed in c47c4e2 however if a view doesn't make a REST API it will seem as if everything is ok and the user is still logged in until they happen to hit a view that tries to retrieve something. Perhaps every state change should "check-in" with the server in some way, ideally using minimal bandwidth. Another idea is to have some periodic check-in that could re-direct on session expiration.

Error editing FCS sample

When saving an edit to an existing sample, server returns 500 error. Traceback shows an error in line 1425 of models.py:

exceptions:AttributeError: 'Sample' object has no attribute 'sample_metadata_dict'

This is due to the fact that the metadata dictionary is only created for new Sample instances.

Uncheck Time and Null parameters by default in PR creation wizard

After selecting the FCS samples to analyze, the use selects which channels to include in the analysis among the channels common across all the selected files. By default, all the parameters are selected. However, it is unlikely that the user will ever want to analyze the Time & Null channels. These should be de-selected by default.

Disable editing panels with associated samples

Once an FCS sample has been uploaded and associated with a panel, then edits to that PanelTemplate would require existing SitePanels to be re-validated and what would happen if the validation fails? This would be quite a mess. We should disable editing PanelTemplates once there are associated SitePanels. If the user needs them to be changed, they can delete the PanelTemplate and re-upload the files.

Add asinh pre-scale factor to PR inputs

Currently, the default value is 0.003 and is hard-coded in the ReFlowWorker Sample class method "apply_asinh_tranform". If user-configurable, perhaps this should go in an advanced settings area?

Show FCS metadata as modal on SampleList view

There's no mechanism to view the metadata for uploaded FCS files. The upload page allows viewing the metadata, but this is prior to upload. This could be implemented as another "action" button on the the SampleList view and the metadata could be shown in a modal dialog window.

Allow users to change passwords

Also, when a user changes his/her password, create a new token for that user for TokenAuthentication. Should we have another mechanism to just generate a new token without changing the password?

Add description field to Panel model

Allow a description for the Panel model. This is especially useful in cases were the panel parameters may look incorrect because an FCS file has incorrect PnN text, i.e. if 2 parameters were reversed. The Panel would look incorrect, but is actually correcting a mistake in the file. A description field would be useful to explain this.

Download "clean" FCS files

Implement downloading of FCS files with ReFlow channel annotations. This allows a project user to export all the files with a common set of channel names. Also, create a file name convention for the "clean" files that is consistent and contains useful metadata about the file such as the site code, subject code, etc.

Add panel variant to the first step of PR wizard

Panel variants are intended to be used for Full Stain, FMO, ISO, etc. Within the PR wizard, there is no way to distinguish samples belonging to the same panel family other than the user knowing which file name belongs to a particular panel variant.

Document Panel Template & Sample Annotation rules

Recently changed the behavior of Null and duplicate channels, and the rules were already complex. All the documentation needs to be re-visited, but documenting the panel template is the first priority.

Allow disabling of compensation and/or transformation for analysis pipeline

Some FCS files may have already been compensated and/or transformed, and therefore should not be compensated or transformed. There needs to be an option to turn these steps off in the PR request wizard. However, this will require possibly major changes the way the PR creation controllers work, as well as changes to the ReFlowWorker code.

Cannot delete saved FCS file annotations

Once an FCS file has been categorized, there is no mechanism to make ReFlow "forget" that specific annotation set. If the user incorrectly labelled one or more channels this becomes a problem, and the only way to fix it is to use the Django admin interface or accessing the DB directly. We need to re-expose the SitePanel list, but perhaps come up with a more intuitive name for it โ€“ something like "Sample Annotations" or "Stored Panel Parameters". It should be possible to re-use the SitePanel modal from the sample upload code to allow editing the saved annotations, as well as allowing their deletion. Deleting a SitePanel should also delete the related Samples, which would be easier than deleting the Samples individually.

Update project dependencies - 2015

Update project dependencies including Django, Django REST Framework, AngularJS, Bootstrap, d3, and jQuery.

Current versions -> target versions:
Django 1.7.7 -> 1.8.2
DRF 2.3.13 -> 3.1.3
AngularJS 1.2.18 -> 1.4.1
Bootstrap 3.1.1 -> 3.3.5
d3 3.4.13 -> 3.5.5
jQuery 1.9.2 -> 2.1.4

Worker dashboard

For ReFlow admins, create a worker dashboard for monitoring worker status, showing if a worker is busy, and if so, the project for the worker's current assignment. Currently, it is difficult to determine if any worker is active without checking each project's PR list.

Add original compensation to clean FCS export

If the original file has a $SPILL value in the metadata, copy it to the clean FCS file. This is especially helpful when using the exported files in FlowJo as it is cumbersome to re-add the compensation.

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.