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)
A web scraping using Selenium Webdriver

Savee - Images Downloader Project using Selenium Webdriver to download images from someone's profile on https:www.savee.it website. Usage The project

Caio Eduardo Lobo 1 Dec 17, 2021
Test django schema and data migrations, including migrations' order and best practices.

django-test-migrations Features Allows to test django schema and data migrations Allows to test both forward and rollback migrations Allows to test th

wemake.services 382 Dec 27, 2022
Selects tests affected by changed files. Continous test runner when used with pytest-watch.

This is a pytest plug-in which automatically selects and re-executes only tests affected by recent changes. How is this possible in dynamic language l

Tibor Arpas 614 Dec 30, 2022
WEB PENETRATION TESTING TOOL 💥

N-WEB ADVANCE WEB PENETRATION TESTING TOOL Features 🎭 Admin Panel Finder Admin Scanner Dork Generator Advance Dork Finder Extract Links No Redirect H

56 Dec 23, 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
Cornell record & replay mock server

Cornell: record & replay mock server Cornell makes it dead simple, via its record and replay features to perform end-to-end testing in a fast and isol

HiredScoreLabs 134 Sep 15, 2022
This repository contains a set of benchmarks of different implementations of Parquet (storage format) <-> Arrow (in-memory format).

Parquet benchmarks This repository contains a set of benchmarks of different implementations of Parquet (storage format) - Arrow (in-memory format).

11 Dec 21, 2022
自动化爬取并自动测试所有swagger-ui.html显示的接口

swagger-hack 在测试中偶尔会碰到swagger泄露 常见的泄露如图: 有的泄露接口特别多,每一个都手动去试根本试不过来 于是用python写了个脚本自动爬取所有接口,配置好传参发包访问 原理是首先抓取http://url/swagger-resources 获取到有哪些标准及对应的文档地

jayus 534 Dec 29, 2022
Python Webscraping using Selenium

Web Scraping with Python and Selenium The code shows how to do web scraping using Python and Selenium. We use as data the https://sbot.org.br/localize

Luís Miguel Massih Pereira 1 Dec 01, 2021
A python bot using the Selenium library to auto-buy specified sneakers on the nike.com website.

Sneaker-Bot-UK A python bot using the Selenium library to auto-buy specified sneakers on the nike.com website. This bot is still in development and is

Daniel Hinds 4 Dec 14, 2022
Testinfra test your infrastructures

Testinfra test your infrastructure Latest documentation: https://testinfra.readthedocs.io/en/latest About With Testinfra you can write unit tests in P

pytest-dev 2.1k Jan 07, 2023
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
Set your Dynaconf environment to testing when running pytest

pytest-dynaconf Set your Dynaconf environment to testing when running pytest. Installation You can install "pytest-dynaconf" via pip from PyPI: $ pip

David Baumgold 3 Mar 11, 2022
FFPuppet is a Python module that automates browser process related tasks to aid in fuzzing

FFPuppet FFPuppet is a Python module that automates browser process related tasks to aid in fuzzing. Happy bug hunting! Are you fuzzing the browser? G

Mozilla Fuzzing Security 24 Oct 25, 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
Parameterized testing with any Python test framework

Parameterized testing with any Python test framework Parameterized testing in Python sucks. parameterized fixes that. For everything. Parameterized te

David Wolever 714 Dec 21, 2022
A pytest plugin to skip `@pytest.mark.slow` tests by default.

pytest-skip-slow A pytest plugin to skip @pytest.mark.slow tests by default. Include the slow tests with --slow. Installation $ pip install pytest-ski

Brian Okken 19 Jan 04, 2023
WrightEagle AutoTest (Has been updated by Cyrus team members)

Autotest2d WrightEagle AutoTest (Has been updated by Cyrus team members) Thanks go to WrightEagle Members. Steps 1- prepare start_team file. In this s

Cyrus Soccer Simulation 2D Team 3 Sep 01, 2022
A Simple Unit Test Matcher Library for Python 3

pychoir - Python Test Matchers for humans Super duper low cognitive overhead matching for Python developers reading or writing tests. Implemented in p

Antti Kajander 15 Sep 14, 2022
Selenium-python but lighter: Helium is the best Python library for web automation.

Selenium-python but lighter: Helium Selenium-python is great for web automation. Helium makes it easier to use. For example: Under the hood, Helium fo

Michael Herrmann 3.2k Dec 31, 2022