Skip to main content

A small python package to trace orthology neighborhood across feature files

Project description

Build Status codecov PyPI version Requirements Status Documentation Status Code style:black

Vicinator

What is Vicinator for?

Vicinator visualizes the microsynteny of grouped proteins (e.g. orthologs) across a large collection of genomes. As input, it requires a mapping of the genomes' proteins to the respective protein groups and a directory containing the genomes' feature files, i.e. files of the format *.gff or *_feature_table.txt.

image

What is Vicinator not for?

As stated above, Vicinator relies on a pre-computed grouping of proteins across genomes. It can not find these groups of genes for you.

Installation

Vicinator is written for Python 3.6+

It is recommended to install Vicinator inside a virtual environment, e.g. with venv:

python3 -m venv myenv

This activates the new environment called myenv. While activated, you can install the latest version via pip. The following command installs the latest version and all unmet requirements automatically.

pip install --upgrades vicinator

Requirements:

  • ansi2html>=1.5.2
  • colorama>=0.4.4
  • ete3>=3.1.2
  • pandas>=1.1.3
  • importlib-metadata>=3.1.1
  • setuptools-scm>=5.0.1

Options

python3 vicinator/vicinator.py --help

usage: vicinator [-h] --tabular-ortholog-groups <orthology_table> --feat-tables-dir <dir_path>
                 --reference <file_path> --centerprotein-accession <str>
                 (--extension-size <int> | --extension-mask <int> [<int> ...])
                 [--tree <newick_tree_file_path>] [--outdir <dir_path>] [--prefix <str>]
                 [--outputlabel-map <file_path>] [--nprocs <int>] [--force] [--version]

Track Microsynteny of target proteins and its orthologs across genomes.

required arguments:
  --tabular-ortholog-groups <orthology_table>
                        path to mapping file with format
                        ortholog_group_id<tab>genome_id<tab>protein_seq_id
  --feat-tables-dir <dir_path>
                        path to directory of *.feature_tables.txt or *.gff3 files that shall be
                        screen

required arguments (neighborhood):
  --reference <file_path>
                        path to a ncbi style feature table or gff file that acts as a reference
  --centerprotein-accession <str>
                        unique identifier of the central gene of the window
  --extension-size <int>
                        defines the #features that are co-checked to the left and right of the
                        centerprotein
  --extension-mask <int> [<int> ...]
                        defines the position of features that are co-checked to the left and right
                        relative to the centerprotein (position 0).

optional arguments (output):
  --tree <newick_tree_file_path>
                        path to newick tree that includes all taxa to be screened
  --outdir <dir_path>   path to desired output directory
  --prefix <str>        if option is set, shows intergenic distances of genes surrounding the
                        center gene
  --outputlabel-map <file_path>
                        Attempts to replace genome accessions in the outputs with a replacement
                        string. Requires a two-column map file formatted like so: 'genome file
                        accession' <tab> 'replacement string'. The replacement will automatically
                        be cut to a maximum of 30 chars.

optional arguments (run):
  --nprocs <int>        Number of CPUs for parallel processing of genomes. Default: Number of
                        CPUs-1
  --force               if option is set, existing ortholog databases in the output dir are
                        ignored and will be overwritten

Input: Required Arguments


--tabular-ortholog-groups <orthology_table>

Vicinator requires a tab-separated three-column mapping of orthologs that is formatted like so:

group_id    \tab   genome_id    \tab   protein_id example mapping file


--feat-tables-dir <dir_path>

Vicinator expects the path to a directory containing .gff format or _feature_table.txt files of all the genomes you want to trace the microsynteny in.

A recommended source for these files is NCBI RefSeq. In order for the mapping to work, the filenames should correspond to the genome_ids specified in the mapping file:

E.g. line 7: OG_2    genomeB    protein_X011
triggers a search in a feature file named genomeB.gff or genomeB_genomic.gff or genomeB_feature_table.txt in the directory specified with --feat-tables-dir. Effectively, it tries to locate the protein_X011 in this feature file.


--reference <file_path>

the path to a reference genome feature file where the center-protein accession must be found


--centerprotein-accession & --extension-size <int>

Identifies the window of vicinity around a center-protein which is traced based on the findings in the reference genome.
Vicinator Window in Reference Genome


Example Basic Usage

vicinator --tabular-ortholog-groups orthogenome_map.tsv --feat-tables-dir ./gff_dir --outdir ./results --reference gff_dir/MUSMU@10090@1.gff --centerprotein XP_006539605.1 --extension-size 3

Example Advanced Usage

When vicinator receives a phylogenetic tree (with genome_ids as leaf labels) it will trace the microsynteny in order of increasing phylogentic distance to the reference genome specified.

vicinator --tabular-ortholog-groups orthogenome_map.tsv --feat-tables-dir ./gff_dir --outdir ./results --reference gff_dir/MUSMU@10090@1.gff --centerprotein XP_006539605.1 --extension-size 3 --tree phylogeny.nwk

Example Advanced Usage 2

When vicinator is started with the --extension-mask parameter it excpects a space-separated list of integers representing the relative positions of proteins to the center-protein vicinator will trace. You don't have to give them in order since they will be sorted automatically with 0 representing the center protein (always included).

vicinator --tabular-ortholog-groups orthogenome_map.tsv --feat-tables-dir ./gff_dir --outdir ./results --reference gff_dir/MUSMU@10090@1.gff --centerprotein XP_006539605.1 --extension-mask -35 -1 0 7 9

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

Vicinator-0.0.32.tar.gz (5.7 MB view details)

Uploaded Source

Built Distribution

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

Vicinator-0.0.32-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file Vicinator-0.0.32.tar.gz.

File metadata

  • Download URL: Vicinator-0.0.32.tar.gz
  • Upload date:
  • Size: 5.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.7

File hashes

Hashes for Vicinator-0.0.32.tar.gz
Algorithm Hash digest
SHA256 7604dac2948120abe7e3a48a88931044c53de6dcf4aa5e7a9bf67ed1270d4564
MD5 876be16b84c60e253670607728edd880
BLAKE2b-256 fb201bc6dd3bc088bfdd933b1ace6c2a384c7da34491dc54d7f2907621d2b01f

See more details on using hashes here.

File details

Details for the file Vicinator-0.0.32-py3-none-any.whl.

File metadata

  • Download URL: Vicinator-0.0.32-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.7

File hashes

Hashes for Vicinator-0.0.32-py3-none-any.whl
Algorithm Hash digest
SHA256 daaa2ebffbdb7c4815f6ddb633c25cba5c5a621c414b4822473ec128e3c336f3
MD5 2c34ab2b339cc8436dafdf8d605a2def
BLAKE2b-256 58e67c54db434b048653da524d784b351272c07d154edc00488325149187b944

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