Skip to main content

The anasfv project focuses on analyzing nanopore-sequenced data of PCR-amplified African Swine Fever Virus (ASFV).

Project description

ANASFV

The ANASFV project focuses on analyzing nanopore-sequenced data of PCR-amplified African Swine Fever Virus (ASFV). It consists of 4 tasks:

Task 1: Using ONT reads of PCR-amplified ASFV to assemble a genome. (This task is optional. If you have already obtained an assembled genome by other methods, you can apply Tasks 2, 3, and 4)

Task 2: Analyzing the completeness of the assembled ASFV genome.

Task 3: Checking for any evidence of recombination between genotypes I and II.

Task 4: Constructing a phylogenetic tree.

Full documentation is available at read the docs.

PyPI

Docker:

We provide a docker image to make the installation steps more convenient:

docker pull osvolo/anasfv:latest
docker container run -it osvolo/anasfv /bin/bash

Installation:

Requirements:

  1. python: 3.11 (tested). Most Python 3 versions should work.
  2. Software versions tested: - Samtools: 1.17 - BEDTools: 2.26.0 - Minimap2: 2.17-r941 - Prodigal: 2.6.3 - Exonerate: 2.4.0 - blast: 2.12.0 - MUSCLE: 5.1 - Medaka: 1.11.3 - Homopolish: 0.4.1 - uDance: 1.6.4

Install requirements in conda environment and install ANASFV via PyPI:

conda create -n anasfv -c conda-forge python=3.11 -y
conda activate anasfv
conda install -c bioconda samtools bedtools minimap2 prodigal exonerate blast muscle -y
pip install anasfv

If you need to use medaka and homopolish for polish, you need to create their corresponding conda environments and install them, because there will be some conflicts if you install them directly in the ANASFV runtime environment.

conda create -n medaka -c bioconda -c conda-forge medaka=1.11.3 -y
conda config --set channel_priority flexible
conda create -n homopolish -c conda-forge -c bioconda -c defaults more-itertools=8.4.0 homopolish=0.4.1 -y

The tree building process uses uDance. For uDance installation refer to uDance

A Quick Example:

Prepare data:

  1. Test data: Downloads test_data.fasta to the working directory
wget https://github.com/lrslab/anasfv/releases/download/test_data.fasta/test_data.fasta
  1. Other ASFV genomes. These genomes are used for mapping assembly and tree building. You can directly use the single_fasta, which contains 406 downloaded ASFV genomes, or you can run download_asfv_genome.py, which will create a directory name "single_fasta" and download all the latest ASFV genomes on NCBI to the directory.
download_asfv_genome.py

Task 1 (Assembling a genome):

Perform mapping assembly and preliminary polish (Finding closest genome from "./single_fasta" as a reference to perform mapping assebly). Using test_data.fasta as example:

mapping_assembly.py -p 4 -r single_fasta -i test_data.fasta -o genome.fasta --medaka r941_min_high_g303

Polish the homopolymers (Select the closest non-ONT sequenced ASFV genome as the reference genome in NCBI by blastn). Using MN194591.1.fasta as an example:

polish_asfv.py -i single_fasta/MN194591.1.fasta -r single_fasta/OR180113.1.fasta -m R9.4.pkl

Task 2 (Genome completeness evaluation):

We only established consensus gene sets for genotype I and genotype II. Using -c to assign consensus gene sets. Using OM966717.1.fasta as an example:

completeness.py single_fasta/OM966717.1.fasta -c II > OM966717.1_completeness.tsv

Example of result:

file_name size prodigal_gene_num with_MGF without_MGF duplicate_genes fragmented_genes missing_genes
OM966717.1.fasta 189125 168 C:99.32%[D:0.0%],F:0.68%,M:0.0%,n:148 C:99.13%[D:0.0%],F:0.87%,M:0.0%,n:115 C122R

Task 3 (Recombination test):

Checking for any evidence of recombination between genotypes I and II. Using OQ504956.1 as an example:

recombination_test.py single_fasta/OQ504956.1.fasta > OQ504956.1_recombination_test.tsv
recombination_plot.py OQ504956.1_recombination_test.tsv

Recombination plot of OQ504956.1: Image cannot be loaded

Task 4 (Constructing a tree):

Building the tree with the following command. It will use all genome files from "./single_fasta" and get a tree in Newick format.

make_tree.py -p 4 -f single_fasta -o tree --udance ./uDance --iteration

Phylogenetic tree using single_fasta (visualized by iTOL): Image cannot be loaded

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anasfv-0.0.9.tar.gz (449.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ANASFV-0.0.9-py2.py3-none-any.whl (461.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file anasfv-0.0.9.tar.gz.

File metadata

  • Download URL: anasfv-0.0.9.tar.gz
  • Upload date:
  • Size: 449.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.0

File hashes

Hashes for anasfv-0.0.9.tar.gz
Algorithm Hash digest
SHA256 33a6e857172a5325303e50b977e6e0336cdc7994c9a2b2c8eee88ef273868b34
MD5 2a4005b657258bf725b9c25f2c1f8270
BLAKE2b-256 c896c6cae84ce3427865c2a2b3eb37d4a12fc0d3ef8dd152ead11e4d1d6235d1

See more details on using hashes here.

File details

Details for the file ANASFV-0.0.9-py2.py3-none-any.whl.

File metadata

  • Download URL: ANASFV-0.0.9-py2.py3-none-any.whl
  • Upload date:
  • Size: 461.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.0

File hashes

Hashes for ANASFV-0.0.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 12291ebb9eb760c34738a89714e178a2f205bbeaf25a856cafdca3d02b825239
MD5 ba6b16092826abf4447e984bf3022744
BLAKE2b-256 c96d1f6d19de4cdb586843812638317ea180955c91c5e25fb3602ec5cf16cad4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page