StrainDetect - a web server that detects viral strains from raw sequencing data accurately and efficiently
StrainDetect is an online viral strain-level analysis tool based on VirStrain. The back end scripts of StrainDetect are implemented using Flask, and the front end pages are implemented using Vue.js. There are two components in StrainDetect. The first component is a GUI tool called StrainKmer, which allows the user to extract features from raw sequencing data on a personal PC. After acquiring the feature files, the user can upload the files to the second component, the Detect page of StrainDetect, to perform viral strain detection. Currently, there are 22,530 viral strains covering 8 different human-related viruses (SARS-CoV-2, HIV, H1N1, HBV, DENV, Zika, Ebola, EV-D68) in the pre-built databases of StrainDetect. The overall worflow of StrainDetect is shown below.
This reponstory includes the source code of StrainDetect. In addition, you can run StrainDetect locally by following the manual below.
- Python ==3.6.* (3.6.12 is recommanded)
- node.js==v12.14.1
- npm==8.9.3
Build enviroment using the commands below:
git clone https://github.com/liaoherui/StrainDetect.git
cd StrainDetect
Install Flask environment via Anaconda:
conda env create -f environment.yaml
Install Vue.js environment via npm:
cd front-end
npm install
Start Flask service using the commands below:
cd back-end
flask run
Start Vue.js service using the commands below:
cd front-end
npm run dev
Then, you can access StrainDetect via http://localhost:8080 locally.