Skip to main content

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

Metadata

Release files for anasfv 0.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for anasfv 0.0.12
File Size Uploaded Provenance
anasfv-0.0.12.tar.gz 451.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for anasfv 0.0.12
File Interpreter ABI Platform
anasfv-0.0.12-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 913.1 kB

Release files / anasfv-0.0.12.tar.gz

Download URL anasfv-0.0.12.tar.gz
Size 451.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6f19ed7b5cfee19fe3f89d6032ef8c5921d22d186361ad64c2d4090a3a561a7f
BLAKE2b-256 checksum
How to use checksums
10720e2ccdd0155648b175223873c05d5aeaf744afaad912afe74d41139b4df3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.0

Release files / anasfv-0.0.12-py2.py3-none-any.whl

Download URL anasfv-0.0.12-py2.py3-none-any.whl
Size 461.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
628eeaf335f33f40859d66655d24f261a76c40032f6061288f0a458ea7f83c81
BLAKE2b-256 checksum
How to use checksums
9fca6622517dc4a3ddd9f3af2aef77d2d62ee22df5b554ddd5d8cb4019889251
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.0

Security for anasfv 0.0.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page