Repository for JIDA SNP Browser Web Application: Local Deployment

Related tags

TestingJIDA
Overview

JIDA

JIDA is a web application that retrieves SNP information for a genomic region of interest in Homo sapiens and calculates specific summary statistics of interest for specified populations. Users are able to enter either the RS value, start and end genomic positions or the gene name and its aliases and select information for particular statistics and populations. The statistical outputs the website provides are Nucleotide diversity, Haplotype diversity, Tajima's D and FST. Information for the British, Finnish, Colombian, Punjabi and Telugu population is present in the database and is utilised by the web application.

Important links

Github

This repository contains most of the Application files, the documentation files and some of the Appendix files (not all owing to size constraints). https://github.com/isabelrem/JIDA

Google Drive

This link gives you access to SNPB (1).db only. It is neccessary for those who download the application files from github, and wish to run the application locally.

https://drive.google.com/file/d/1gwdoDF3-y1kKkkFve3NVvJC9ZvSpXwYy/view?usp=sharing

OneDrive

This folder is only accessible to those with QMUL email addresses, owing to being stored on the QMUL Onedrive. This folder contains (1) an Application subdirectory, which contains everything you need to run the application locally (2) a Documentation subdirectory, which contains all documentation and (3) an Appendix subdirectory which contains scripts, CSVs and VCF files used to create the SQL database.

https://qmulprod-my.sharepoint.com/:f:/g/personal/bt211032_qmul_ac_uk/EpmZJ8ghymBEuY17LKb-fLcBkITJzF_EQsm9QVqqZLWMDQ?e=1fZi79

OS

Note the application is supported on Windows and Linux machines.

Installation

Using python versions 3.9.2 and 3.8.10.

Use the package manager pip to install the following via your terminal:

pip install Flask
pip install flask-wtf
pip install biopython
pip install scikit-allel[full]
pip install plotly
pip install pandas
pip install numpy

How to run via command line

Clone the git repository or onedrive Application folder to your local machine. Within your terminal, navigate to inside the repository, such that running ls (linux) or dir (windows) produces this output. PLEASE NOTE: if cloning the git repository, you will also have to separately download the SNP database 'SNPB (1).db' from the Google Drive link.

PS C:\Users\isabe\PycharmProjects\JIDA> ls


    Directory: C:\Users\isabe\PycharmProjects\JIDA


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       01/03/2022     13:35                static
d-----       01/03/2022     14:04                templates
-a----       02/03/2022     12:25          38388 APP.py
-a----       28/02/2022     18:14           1610 forms.py
-a----       28/02/2022     14:01           2665 GF_AF_functions.py
-a----       01/03/2022     13:35            198 Installation Requirements.txt
-a----       01/03/2022     13:49      389398528 SNPB (1).db
-a----       28/02/2022     19:20          23184 stats.py
-a----       01/03/2022     18:11          12701 Validate_Search_Functions.py

Once all prerequisites have been confirmed present, you can run the web application locally using the following terminal command.

python APP.py

The terminal will display a local http address, please copy and paste this into your browser of preference.

How to run via pycharm

First, open a new project. This is an important step as it allows a virtual environemnt folder to be generated.

Second, clone the git repository or onedrive Application folder to your local machine. PLEASE NOTE: if cloning the git repository, you will also have to separately download the SNP database 'SNPB (1).db' from the Google Drive. Copy the downloaded contents into your newly created Pycharm project file.

Thirdly, download the prerequisite python packages/modules. This can be done from the terminal within Pycharm, or a separate application such as Windows Powershell.

pip install Flask
pip install flask-wtf
pip install biopython
pip install scikit-allel[full]
pip install plotly
pip install pandas
pip install numpy

Finally, within Pycharm open APP.py, and run the script. The terminal will display a local http address, clicking it will open a browser with the app.

Documentation

To get a closer look at the documentation for all functions used in the application you can use pydoc. In a terminal type pydoc -w "python_file_you_want_documentation_for". Remember to exclude the .py format. This will produce an html file containing detailed documentation.

For example, to get additional documentation for the stats.py functions, you would type:

pydoc -w stats

Credits and Contact

Janeesh Kaur Bansal : [email protected]

Isabel Rachel Thompson : [email protected]

Diego Pava Mejia : [email protected]

Aravind Pattisapu : [email protected]

You might also like...
Wraps any WSGI application and makes it easy to send test requests to that application, without starting up an HTTP server.

WebTest This wraps any WSGI application and makes it easy to send test requests to that application, without starting up an HTTP server. This provides

PyBuster A directory busting tool for web application penetration tester, written in python
PyBuster A directory busting tool for web application penetration tester, written in python

PyBuster A directory busting tool for web application penetration tester, written in python. Supports custom wordlist,recursive search. Screenshots Pr

Local continuous test runner with pytest and watchdog.

pytest-watch -- Continuous pytest runner pytest-watch a zero-config CLI tool that runs pytest, and re-runs it when a file in your project changes. It

Kent - Fake Sentry server for local development, debugging, and integration testing

Kent is a service for debugging and integration testing Sentry.

Django-google-optimize is a Django application designed to make running server side Google Optimize A/B tests easy.

Django-google-optimize Django-google-optimize is a Django application designed to make running Google Optimize A/B tests easy. Here is a tutorial on t

Fi - A simple Python 3.9+ command-line application for managing Fidelity portfolios

fi fi is a simple Python 3.9+ command-line application for managing Fidelity por

A modern API testing tool for web applications built with Open API and GraphQL specifications.
A modern API testing tool for web applications built with Open API and GraphQL specifications.

Schemathesis Schemathesis is a modern API testing tool for web applications built with Open API and GraphQL specifications. It reads the application s

splinter - python test framework for web applications

splinter - python tool for testing web applications splinter is an open source tool for testing web applications using Python. It lets you automate br

a socket mock framework - for all kinds of socket animals, web-clients included

mocket /mɔˈkɛt/ A socket mock framework for all kinds of socket animals, web-clients included - with gevent/asyncio/SSL support ...and then MicroPytho

Releases(v1.0)
  • v1.0(Mar 3, 2022)

    JIDA Web Application version 1.0

    Produces locally run web application which allows the user to browse the SNPs of chromosome 21.

    Full Changelog: https://github.com/isabelrem/JIDA/commits/v1.0

    Source code(tar.gz)
    Source code(zip)
The Social-Engineer Toolkit (SET) repository from TrustedSec - All new versions of SET will be deployed here.

💼 The Social-Engineer Toolkit (SET) 💼 Copyright 2020 The Social-Engineer Toolkit (SET) Written by: David Kennedy (ReL1K) @HackingDave Company: Trust

trustedsec 8.4k Dec 31, 2022
Headless chrome/chromium automation library (unofficial port of puppeteer)

Pyppeteer Pyppeteer has moved to pyppeteer/pyppeteer Unofficial Python port of puppeteer JavaScript (headless) chrome/chromium browser automation libr

miyakogi 3.5k Dec 30, 2022
A simple script to login into twitter using Selenium in python.

Quick Talk A simple script to login into twitter using Selenium in python. I was looking for a way to login into twitter using Selenium in python. Sin

Lzy-slh 4 Nov 20, 2022
A Modular Penetration Testing Framework

fsociety A Modular Penetration Testing Framework Install pip install fsociety Update pip install --upgrade fsociety Usage usage: fsociety [-h] [-i] [-

fsociety-team 802 Dec 31, 2022
Using openpyxl in Python, performed following task

Python-Automation-with-openpyxl Using openpyxl in Python, performed following tasks on an Excel Sheet containing Product Suppliers along with their pr

1 Apr 06, 2022
PyAutoEasy is a extension / wrapper around the famous PyAutoGUI, a cross-platform GUI automation tool to replace your boooring repetitive tasks.

PyAutoEasy PyAutoEasy is a extension / wrapper around the famous PyAutoGUI, a cross-platform GUI automation tool to replace your boooring repetitive t

Dingu Sagar 7 Oct 27, 2022
Multi-asset backtesting framework. An intuitive API lets analysts try out their strategies right away

Multi-asset backtesting framework. An intuitive API lets analysts try out their strategies right away. Fast execution of profit-take/loss-cut orders is built-in. Seamless with Pandas.

Epymetheus 39 Jan 06, 2023
Fills out the container extension form automatically. (Specific to IIT Ropar)

automated_container_extension Fills out the container extension form automatically. (Specific to IIT Ropar) Download the chrome driver from the websit

Abhishek Singh Sambyal 1 Dec 24, 2021
Python Projects - Few Python projects with Testing using Pytest

Python_Projects Few Python projects : Fast_API_Docker_PyTest- Just a simple auto

Tal Mogendorff 1 Jan 22, 2022
Python Testing Crawler 🐍 🩺 🕷️ A crawler for automated functional testing of a web application

Python Testing Crawler 🐍 🩺 🕷️ A crawler for automated functional testing of a web application Crawling a server-side-rendered web application is a

70 Aug 07, 2022
RAT-el is an open source penetration test tool that allows you to take control of a windows machine.

To prevent RATel from being detected by antivirus, please do not upload the payload to TOTAL VIRUS. Each month I will test myself if the payload gets detected by antivirus. So you’ll have a photo eve

218 Dec 16, 2022
It's a simple script to generate a mush on code forces, the script will accept the public problem urls only or polygon problems.

Codeforces-Sheet-Generator It's a simple script to generate a mushup on code forces, the script will accept the public problem urls only or polygon pr

Ahmed Hossam 10 Aug 02, 2022
Run ISP speed tests and save results

SpeedMon Automatically run periodic internet speed tests and save results to a variety of storage backends. Supported Backends InfluxDB v1 InfluxDB v2

Matthew Carey 9 May 08, 2022
Show surprise when tests are passing

pytest-pikachu pytest-pikachu prints ascii art of Surprised Pikachu when all tests pass. Installation $ pip install pytest-pikachu Usage Pass the --p

Charlie Hornsby 13 Apr 15, 2022
Tools for test driven data-wrangling and data validation.

datatest: Test driven data-wrangling and data validation Datatest helps to speed up and formalize data-wrangling and data validation tasks. It impleme

269 Dec 16, 2022
pytest_pyramid provides basic fixtures for testing pyramid applications with pytest test suite

pytest_pyramid pytest_pyramid provides basic fixtures for testing pyramid applications with pytest test suite. By default, pytest_pyramid will create

Grzegorz Śliwiński 12 Dec 04, 2022
🐍 Material for PyData Global 2021 Presentation: Effective Testing for Machine Learning Projects

Effective Testing for Machine Learning Projects Code for PyData Global 2021 Presentation by @edublancas. Slides available here. The project is develop

Eduardo Blancas 73 Nov 06, 2022
Make Selenium work on Github Actions

Make Selenium work on Github Actions Scraping with BeautifulSoup on GitHub Actions is easy-peasy. But what about Selenium?? After you jump through som

Jonathan Soma 33 Dec 27, 2022
reCaptchaBypasser For Bypass Any reCaptcha For Selenium Python

reCaptchaBypasser ' Usage : from selenium import webdriver from reCaptchaBypasser import reCaptchaScraper import time driver = webdriver.chrome(execu

Dr.Linux 8 Dec 17, 2022
Simple frontend TypeScript testing utility

TSFTest Simple frontend TypeScript testing utility. Installation Install webpack in your project directory: npm install --save-dev webpack webpack-cli

2 Nov 09, 2021