Web platform that integrates the metaDetect and ecSeg tools with respective visualizations for the purpose of extrachromosomal DNA analysis. View at http://genomequery.ucsd.edu:5000/
(https://github.com/MihirBafna/MetaDetect) metaDetect is a platform for identifying metaphase spreads in a population of cells from whole slide images (experimental)
(https://github.com/UCRajkumar/ecSeg) ecSeg is a platform designed to identify extrachromosomal DNA (ecDNA) from metaphase images stained with DAPI and FISH probes (Rajkumar, U. iScience 2019)
- View webtool at http://genomequery.ucsd.edu:5000/
-
Navigate to the ecSeg 'Input' page shown below:
-
Panel 1 - This input panel is for users who want to actually run ecSeg on tif images before visualizing. To begin, click start. A panel will pop up and have different input sections. To run ecSeg properly, select a folder containing input images (DAPI / FISH metaphase spreads, TIF only). ecSeg takes time to run, so try to limit input folders to ten images maximum. After ecSeg is run, the output images will be visualized using the visualize panel. We strongly recommend entering your email so that you can get notification when ecSeg has completed. Save the timestamped folder name for future reference.
-
Panel 2 - This input panel is for users who have already run ecSeg on local machines and want to visualize the output. To visualize ecSeg output, select a directory containing subdirectories named 'labels', 'dapi', and optionally 'orig (all subdirectories must contain the same number of images with matching filenames). If the directory does not have an 'orig' folder, one will be created as long as the original images are located in the chosen directory. Once visualized, save the timestamped folder name for future reference.
-
Panel 3 - This input panel is for users who want to visualize an ecSeg output folder that has already been recorded and stored on the genomequery server. To visualize a folder already uploaded to the server, type the timestamped folder name (Format: YYYY-MM-DD_HHMMSS).
-
-
Once input folders have been selected, the user will be redirected to the visualize page shown below:
-
Image Magnification - to display the magnified images, the user must double click on the top row of images and a white selection box will appear. Clicking one more time will freeze the selection and detach the mouse from the selection box that is now red. Magnified images are shown in the row below.
-
Page Layout - The page shows 5 images, has a navigate button on the top left, and a toolbar on the top right. The images displayed going from left to right are the original input image, the grayscale dapi image, and the ecSeg output image. The two image sections below the first row of images default to the magnified (10x) versions of the original image and the ecSeg output image respectively. Users can toggle between the magnified version of the original and the grayscale dapi images via the toolbar.
-
Select Image - On the top left corner of the page is the image select (navigate) button. Once clicked, a side panel will open up listing the names of every single input image for the user to select and appropriately visualize. The timestamped folder name is displayed on the top. Be sure to save this folder name for future reference and usage.
-
Toolbar - On the top right corner of the page is the toolbar button. Once the button is clicked, a side panel will open up and display the different tools users have to their advantage. The buttons and their explanations are listed below:
-
orig/dapi toggle - toggles the magnified image on the bottom left to either the original or the grayscaled dapi image.
-
annotate - this feature is not implemented yet.
-
download image - this button will zip the original, grayscaled dapi, and ecSeg output images of the current visualized image name and download it for the user. This feature doesn’t work currently if the file names contain spaces.
-
download folder - this button will zip the entire current timestamped folder stored on the server (including the orig, dapi, and labels subfolders) and download it for the user.
-
report github issue - this button sends the user to the issue page for this github repository. The User can create a new issue or view past issues.
-
need help - this button links to this README starting from the "Online Usage" header for instructions/help.
-
clear client cache - every time a user clicks one of the download buttons (listed above) a zip filed is created and stored on the server's client folder. Periodically, one could clear the client cache by clicking this button and free up space. Eventually, we will look to automate this process, but for right now it can be used by developers running locally.
-
-
- IN DEVELOPMENT
NOTE THAT THIS APP IS IN DEVELOPMENTAL STAGE
-
Clone this repository into a local folder of your choice
-
Navigate into repository and set up a virtual environment (conda is recommended)
- Using conda:
conda env create -f environment.yml conda activate env
- Using pip:
python3 -m venv env source env/bin/activate
-
(For pip only) Recursively install all dependencies into your virtual environment (requirements.txt is provided)
- Using pip:
pip install -r requirements.txt
-
Setup flask developmental server
export FLASK_APP=run.py export FLASK_ENV=development
Whenever starting up the server, do the following:
-
Activate your virtual environment
- Using Conda:
conda activate env
- Using pip:
source env/bin/activate
-
Run application
flask run
-
Developmental server will be running on
localhost:5000
in your web browser -
Once done using application, deactivate your virtual environment with either
deactivate
orconda deactivate