Git Product home page Git Product logo

meltshiny's People

Contributors

adhampton110 avatar aithaprasad avatar bollepallipranitha avatar cwade6 avatar ethan-gray-01 avatar likhitapulijala avatar massi-papi avatar shlokpat6 avatar zohaib-a-ahmed avatar

Watchers

 avatar

meltshiny's Issues

Add the display of maximum of the second derivative.

The point at which the transition occurs between single-stranded and double-stranded is marked on graphs.

But, if we use only the maximum of the second derivative then it does not display the required one.

Tab Layout

Replace drop down menu of plots with a tab layout.

Implementing BLTrimmer

BLTrimmer is a MeltR method that tests different combinations of baselines to automate trimming. This method should be called inside of the "connecter" class inside of global.R .

Objectives
-Capture the start and end ranges for each sample in a list.
-When the user is finished manually trimming data, a clickable button should appear, allow "n" number of samples to be tested through BLTrimmer.
-Returning table should be outputted on the "Results" tabPanel.

Analysis Page Components

Each plot page should include a data plot, a slider that stretches the length of the plot, with an accuracy of .1, vertical bars that move based on the 2 sliders, and an attributes side panel.

Create Connector Class

Objective of this Class
This class serves as a "middle-man" so that we (the developers) do not directly call the methods from MeltR.
All functions that contain MeltR code will be placed within this class. Anytime the developer needs to call code from MeltR, this class should be referenced.
Example methods that may be implemented:
-Creating the MeltR object
-Creating the raw plot of either all/individual sample data
-Plot containing the first derivative and raw data
-Plot containing best fit/linear regression line and raw data
-Plot containing first derivative, best fit, and raw data
-Plot containing the Van't Hoff Plot

Unique blanks

If the user wishes to specify a unique blank, let them enter one for each dataset.

On the backend, just append all of these to a list and provide this list to MeltR during the initial object creation.

Manually removing rows from the Van't Hoff table(back end)

Currently, users are able to remove points from the van't hoff by clicking them or dragging a selection region and pressing remove on the side panel. Users are also able to restore the graph by pressing the reset button on the side panel. However, this is only removing/restoring points on the front end. Those outlies need to be dealt with in the backend for the rest of the data to update.

It's possible this can be done via creating a new MeltR.A object each time a point is deleted. There would be two additional arguments- the outlier sample number, and the fit ranges for all the analysis graphs. If just the outlier is passed, MeltR will assume the fit ranges will be at the start and ends of the data. This may not always be the case, as the user may have adjusted some of the ranges manually. All other arguments would remain consistent from the initial object creation.

The Van't Hoff and results table should update correctly.

However, it's likely the aforementioned implementation would create an issue in developing the analysis graphs, as the graph generation code assumes that only the blank will be ignored, not an outlier. So somehow, the graph generation code must be notified that an outlier was passed, and that it must not be created.

Create "Data Visualization" Tab

Location of Panel
To the right of the File tabPanel

What should be included in this Panel?
-All plots & sliders should be present from inputted data
-User should be able to move a inputSlider to change the ranges of the plot data (later to be used for fitting the graphs)

Wavelengths

Allow users to specify a different wavelength for each dataset.

Installation Script for Required Libraries (Windows Users)

Purpose

In Meltwin2.0's current setup, new users are required to open up R Studio and copy & paste a command into the terminal. The goal is to create a clickable script with a name along the lines of installer, install, or installPackages that installs the necessary packages necessary to run our project, without having the need to open up R Studio.

Visual Requirements

  1. Output statements telling the user whether a package has been successfully installed or not.

Functional Requirements

  1. If a package is not detected on the users system install the respective package.

  2. If a package is detected on the users system, ignore and do not reinstall the package.

Create an update batch/command file

Currently, the user needs to visit the github page to download the new version of our code.

An update batch/command file would replace that task. This file would be included in the MeltShiny package, and the user would double click them like any .exe file. Upon running the script, the updated MeltShiny code would be downloaded from the repo, and the existing one would be deleted.

Molecular states

Take in molecular states(homoduplex, heteroduplex, and monomolecular) for the first dataset only, but not for any future ones.

Application Executable for Mac Users

Purpose

The implementation of our application currently requires the user to open RStudio, exposing all of the source code. This raises a problem since the source code could be modified, breaking the code.

Functional Requirements

  1. Application should contain an executable file that allows the program to run without exposing the source code of the application for Mac users.

Take Blanks

By default, the blank should be the first sample in the current dataset the user wishes to upload.

Saving

Add options to save plots on one pdf with the ability to select what plots you want to save.

Plot page

Link each plot tab with its associated sample.

Installation Script for Required Libraries

Purpose

In Meltwin2.0's current setup, new users are required to open up R Studio and copy & paste a command into the terminal. The goal is to create a clickable script with a name along the lines of installer, install, or installPackages that installs the necessary packages necessary to run our project, without having the need to open up R Studio.

Visual Requirements

  1. Output statements telling the user whether a package has been successfully installed or not.

Functional Requirements

  1. If a package is not detected on the users system install the respective package.

  2. If a package is detected on the users system, ignore and do not reinstall the package.

Side panel for plot page

The side panel should include the option to toggle the derivative line, the best fit line, and the global maximum, as well as the ability to specify the number of iterations for the trimmer.

Results table

Show the results table in a separate tab in an easier to read format

Manually removing rows from the data table(back end)

Currently, users are able to remove rows from the individual fits data table by clicking their respective remove buttons. Users are also able to restore the table by pressing the reset button on the side panel. However, this is only removing/restoring rows on the front end. Those rows need to be dealt with in the backend for the rest of the data to update.

It's possible this can be done via creating a new MeltR.A object each time a row is deleted. There would be two additional arguments- the outlier sample number, and the fit ranges for all the analysis graphs. If just the outlier is passed, MeltR will assume the fit ranges will be at the start and ends of the data. This may not always be the case, as the user may have adjusted some of the ranges manually. All other arguments would remain consistent from the initial object creation.

The Van't Hoff and results table should update correctly.

However, it's likely the aforementioned implementation would create an issue in developing the analysis graphs, as the graph generation code assumes that only the blank will be ignored, not an outlier. So somehow, the graph generation code must be notified that an outlier was passed, and that it must not be created.

Update analysis graph features to fit with modified baseline bars

The baseline bars for each analysis graph are designed to initialize 20 degrees left and 20 degrees right of the temperature where the maximum first derivative occurs. However, while the bars are spawning in the correct spots, the graphs do not reflect these changes. The graphs were fitted with the assumption that the bars would be at the far right and far left edges of the graph. Therefore, MeltR.A needs to be called one more time on the graphs, where we can then derive the new first derivative and the fitting data. The new data should cause the graph and baseline bars to be in sync.

"Best Fit" Attribute For Raw Data Plots

Overview
Currently within our working code, the user has the ability to view either the raw data or the first derivative plotted over the raw data. It has been relayed to the team for an interest of a linear regression/best fit line that plots over the raw data.

Objective
-An additional side panel checkbox "attribute".
-This checkbox should control he visualization of the respective graph (if selected: show best fit over raw data, if unselected:show raw data)

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.