https://github.com/ajodeh-juma/rvfv-typing-tutorial
Lineage assignment of RVFV genomic sequences
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: ncbi.nlm.nih.gov -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.2%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
Lineage assignment of RVFV genomic sequences
Basic Info
- Host: GitHub
- Owner: ajodeh-juma
- Language: Python
- Default Branch: master
- Size: 51.8 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Created about 3 years ago
· Last pushed about 3 years ago
https://github.com/ajodeh-juma/rvfv-typing-tutorial/blob/master/
---
title: README.md
tags: ["RVFV", "typing", "lineage", "segment"]
---
# **Rift Valley fever lineage assignment**
---
###### ***Trainers***: [John Juma](https://github.com/ajodeh-juma), Tulio de Oliveira
---
- [Introduction](#introduction)
- [Scope](#scope)
- [Set-Up](#setup)
- [Input data](#input-data)
## Introduction
Rift Valley fever (RVFV) is a febrile zoonotic disease with epidemic potential in sub-Saharan Africa.
RVF was first reported in the great rift valley region of Kenya in a town called Naivasha following
an 'abortion storm' in a sheep farm.
The disease is often transmitted through bites from infected mosquitoes. The causative agent, Rift
Valley fever virus (RVFV) can be transmitted to both livestock and animals. RVF leads to death, and is
a great concern to public and livestock health personnel. Currently, there are 15 known circulating lineages designated
A-O ([Grobelaar et al. 2011](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3311189/)).
## Scope
In this short tutorial, we will walk through the lineage assignemnt of RVFV genomic sequences using
the web application available as part of the Genome Detective suite of typing tools
and a command line implementation in a domain specific language.
## Prerequisite
For the web application programme, no prerequisite knowledge in command line/UNIX is required
However, for the command line implementation, familiarity with basic Linux command-line is required.
### Set-Up
For RVFV typing on the web, we will access the tool via [Genome Detective](https://www.genomedetective.com/app/typingtool/rvfv/)
while for the command line, we will install the tool from the [github repository](https://github.com/ajodeh-juma/rvfvtyping).
1. Clone the [github repository](https://github.com/ajodeh-juma/rvfvtyping) as indicated below:
```
cd ~/Downloads
git clone https://github.com/ajodeh-juma/rvfvtyping.git
cd rvfvtyping
conda env create -n rvfvtyping-env -f environment.yml
conda activate rvfvtyping-env
```
#### ***Input data***
We will retrieve publicly available genomic sequence data from [NCBI](https://www.ncbi.nlm.nih.gov/) using customized
steps. The file `RVFV.combined.csv` contains a list of RVFV strains and each of the 3 genomic segment
accession numbers as well as related metadata. The first column is the name of the RVFV `strain`. Columns `2`, `3` and `4`
are the `accessions` for the `L`, `M` and `S` genomic segments sequences.
1. Clone the tutorial repository
```
cd ~/Downloads
git clone https://github.com/ajodeh-juma/rvfv-typing-tutorial.git
cd rvfv-typing-tutorial
```
2. We will create separate directories (for each genomic segment and partial glycoprotein gene) to store the genomic sequences in `fasta` format retrieved from NCBI.
```
mkdir -p ./{S,M,L,Gn}
```
3. Extract `L` segment accessions
```
awk -F ',' '{if (NR==1) printf "accession\n"; else printf "%s\n", $2}' RVFV.combined.csv > L/L-segment-accessions.txt
```
4. Retrieve the sequences using auxilliary python script provided
```
python scripts/accessionsToSequences.py \
--accessions L/L-segment-accessions.txt \
--fasta L/L-segment.fasta \
--database nucleotide \
--out_dir L/data \
--cleanup True
```
5. Extract `M` segment accessions
```
awk -F ',' '{if (NR==1) printf "accession\n"; else printf "%s\n", $3}' RVFV.combined.csv > M/M-segment-accessions.txt
```
6. Retrieve the sequences using auxilliary python script provided
```
python scripts/accessionsToSequences.py \
--accessions M/M-segment-accessions.txt \
--fasta M/M-segment.fasta \
--database nucleotide \
--out_dir M/data \
--cleanup True
```
5. Extract `S` segment accessions
```
awk -F ',' '{if (NR==1) printf "accession\n"; else printf "%s\n", $4}' RVFV.combined.csv > S/S-segment-accessions.txt
```
6. Retrieve the sequences using auxilliary python script provided
```
python scripts/accessionsToSequences.py \
--accessions S/S-segment-accessions.txt \
--fasta S/S-segment.fasta \
--database nucleotide \
--out_dir S/data \
--cleanup True
```
The retrieved sequences in `FASTA` format can be found in `L/data`, `M/data` and `S/data` directories
We can proceed to assign lineages of the sequences using the commandline typing tool.
7. Change to the pipeline directory
```
cd ../rvfvtyping
```
8. Assign lineages to the `L` segment sequences using the appropriate classifier (segment)
```
nextflow run main.nf \
--input "../rvfv-typing-tutorial/L/data/*.fasta" \
--segment L \
--skip_diamond \
--outdir output-dir/L \
-work-dir work-dir/L
```
9. Assign lineages to the `M` sequences using the appropriate classifier (segment)
```
nextflow run main.nf \
--input "../rvfv-typing-tutorial/M/data/*.fasta" \
--segment M \
--skip_diamond \
--outdir output-dir/M \
-work-dir work-dir/M
```
10. Assign lineages to the `S` sequences using the appropriate classifier (segment)
```
nextflow run main.nf \
--input "../rvfv-typing-tutorial/S/data/*.fasta" \
--segment S \
--skip_diamond \
--outdir output-dir/S \
-work-dir work-dir/S
```
We can still use the glycoprotein gene (located in the M segment) classifier to assign lineages.
11. Assign lineages to the M segment sequences using the partial glycoprotein (Gn) gene classifier
```
nextflow run main.nf \
--input "../rvfv-typing-tutorial/M/data/*.fasta" \
--segment Gn \
--skip_diamond \
--outdir output-dir/Gn \
-work-dir work-dir/Gn
```
12. We can combine the lineages report to see how each classifier performed in the lineage assignment process
```
python ../rvfv-typing-tutorial/scripts/combineLineages.py \
--metadata ../rvfv-typing-tutorial/RVFV.combined.csv \
--s output-dir/S/report/lineages.csv \
--m output-dir/M/report/lineages.csv \
--l output-dir/L/report/lineages.csv \
--gn output-dir/Gn/report/lineages.csv \
--prefix test \
--outDir ../rvfv-typing-tutorial/
```
Owner
- Name: JJ
- Login: ajodeh-juma
- Kind: user
- Location: Nairobi, KE
- Repositories: 5
- Profile: https://github.com/ajodeh-juma
A biologist with interest in computational biology and bioinformatics.