mapgl

Phylogenetic mapping of DNA element gain and loss using multiple outgroup species.

https://github.com/adadiehl/mapgl

Science Score: 33.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
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: biorxiv.org
  • Committers with academic emails
    1 of 1 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Phylogenetic mapping of DNA element gain and loss using multiple outgroup species.

Basic Info
  • Host: GitHub
  • Owner: adadiehl
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 10.7 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 5
  • Open Issues: 0
  • Releases: 0
Created about 8 years ago · Last pushed about 6 years ago
Metadata Files
Readme License Code of conduct

README.md

PyPI version Conda GitHub

|Host | Downloads | |-----|-----------| |PyPI |Downloads| |conda|Conda|

mapGL

Prediction of lineage-specific gain and loss of genomic sequence elements based on phylogenetic maximum parsimony.

Label genomic regions as orthologous, gained in the query species, or lost in the target species, based on inferred presence/absence in the most-recent common ancestor (MRCA). Chained alignment files are used to map features from query to target and one or more outgroup species. Features that map directly from query to target are labeled as orthologs, and ortholgous coordinates in the target species are given in the output. Non-mapping features are assigned as gains or losses based on a maximum-parsimony algorithm predicting presence or absence in the MRCA.

Based on bnMapper.py, by Ogert Denas (James Taylor lab): * https://github.com/bxlab/bx-python/blob/master/scripts/bnMapper.py * https://travis-ci.org/bxlab/bx-python

Dependencies

numpy bx-python cython six

Installation

We recommend installing with conda, into a new environment: conda create -n mapGL --channel conda-forge --channel bioconda python=3.7 numpy bx-python cython six mapGL conda activate mapGL

To install within an existing conda environment: conda install -c bioconda mapgl

Install with pip: pip install mapGL

Installation from the github repository is not recommended. However, if you must, follow the steps below: 1) Install all dependencies listed above 2) Clone the repository 3) Add the mapGL/map_GL directory to your local path and python module search path

Usage

mapGL.py [-h] [-o FILE] [-t FLOAT] [-g GAP] [-v {info,debug,silent}] [-k] input tree qname tname alignments [alignments ...]

Required Arguments

| Argument | Description | |---|---| | input | Input regions to process. Should be in standard bed format. Only the first four bed fields will be used. | | tree | Phylogenetic tree describing relationships of query and target species to outgroups. Must be in standard Newick format. Branch lengths are optional, and will be ignored. | | qname | Name of the query species. Regions from this species will be mapped to target species coordinates. | | tname | Name of the target species. Regions from the query species will be mapped to coordinates from this species. | | alignments | Alignment files (.chain or .pkl): One for the target species and one per outgroup species. Files should be named according to the convention: qname.tname[...].chain.gz, where qname is the query species name and tname is the name of the target/outgroup species. Names used for qname and tname must match names used in the phylogenetic tree. |

Options

| Option | Description | |---|---| | -h, --help | Show help message and exit. | | -o FILE, --output FILE | Output file. (default: stdout) | | -t FLOAT, --threshold FLOAT | Mapping threshold i.e., |elem| * threshold <= |mappedelem|. Default = 0.0 -- equivalent to accepting a single-base overlap. On the other end of the spectrum, setting this value to 1 is equivalent to only accepting full-length overlaps. (default: 0.0) | | _-g GAP, --gap GAP__ | Ignore elements with an insertion/deletion of this or bigger size. Ignore elements with an insertion/deletion of this or bigger size. Using the default value (-1) will allow gaps of any size. (default: -1) | | -v {info,debug,silent}, --verbose {info,debug,silent} | Verbosity level (default: info) | | -d, --drop_split | Follow the bnMapper convention of silently dropping elements that span multiple chains, rather than the liftOver mapping convention for split alignments: keep elements that span multiple chains and report the longest aligned segment. This is not recommended, as it may lead to spurious gain/loss predictions for orthologous elements that happen to be split across chains due to chromosomal rearrangements, etc... (default: False) | | -i {BED,narrowPeak}, --in_format {BED,narrowPeak} | Input file format. (default: BED) | | -f, --full_labels | Predict gain/loss events on the whole tree, not just branches leading to query and target species. (default: False) | | -n, --no_prune | Do not attempt to disambiguate the root state to resolve ambiguous gain/loss predictions. Instead, label affected features as 'ambiguous'. (default: False) | | -p, --priority {gain,loss} | When resolving ambiguous trees, prioritize sequence gain or sequence loss. This can be thought of as assigning a lower cost to sequence insertions relative to deletions, or vice-versa. When priority='gain', ambiguity is resolved by assigning 0 state to the root node, such that sequence presence on a descendant branch will be interpreted as a gain. When priority='loss', ambiguity is resolved by asssigning state 1 to the root node, such that sequence absence in a descendant node is interpreted as a sequence loss. (default: gain) |

Output

Predictions are reported in tab-delimited format with the first four columns following the BED4 convention. The predicted evolutionary history (i.e., ortholog, gain in query, or loss in target) is reported in the "status" column. The final three columns contain the mapped location, in target coordinates, of mapped (ortholog) elements.

| Column | Description | |---|---| | chrom | Chromosome on which the query element is located. | | start | Start position on query chromosome. | | end | End position on query chromosome. | | name | Element name or ID. | | peak | Peak location (narrowPeak input) or element midpoint (BED input) | | status | Predicted phylogenetic history: ortholog, gain_qname, loss_tname, or ambiguous, if --noprune is used. If _--fulllabels_ is used, this may include additional loss/gain events on other branches, in a comma-delimited list format. | | mapped chrom | For mapped (ortholog) elements, the chromosome on which the mapped element is located, in target coordinates. | | mapped start | For mapped (ortholog) elements, the start position on the target chromosome on which the mapped element is located. | | mapped end | For mapped (ortholog) elements, the end position on the target chromosome on which the mapped element is located. | | mapped_peak | For mapped (ortholog) elements, the mapped peak position (narrowPeak input) or mapped element midpoint (BED input). |

Citation

MapGL: Inferring evolutionary gain and loss of short genomic sequence features by phylogenetic maximum parsimony Adam G Diehl, Alan P Boyle bioRxiv 827907; doi: https://doi.org/10.1101/827907 https://www.biorxiv.org/content/10.1101/827907v1

Copyright 2018, Adam Diehl (adadiehl@umich.edu), Boyle Lab, University of Michigan

Owner

  • Name: Adam Diehl
  • Login: adadiehl
  • Kind: user

GitHub Events

Total
Last Year

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 74
  • Total Committers: 1
  • Avg Commits per committer: 74.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
adadiehl a****l@u****u 74
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • adadiehl (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 32 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 12
  • Total maintainers: 1
pypi.org: mapgl

Prediction of lineage-specific gain and loss of sequence elements using phylogenetic maximum parsimony.

  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 32 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 14.2%
Dependent repos count: 21.6%
Average: 21.7%
Stargazers count: 25.0%
Downloads: 37.6%
Maintainers (1)
Last synced: 11 months ago

Dependencies

requirements.txt pypi
  • bx-python *
  • cython *
  • numpy *
  • six *
setup.py pypi
  • bx-python *
  • numpy *
  • six *