Targeted ortholog search for miRNAs
Project description
ncOrtho
NcOrtho is a tool for the targeted search of orthologous micro RNAs (miRNAs) throughout the tree of life. Conceptually, it works similar to the program fDOG in that a probabilistic model of a reference miRNA is created. For training the model, orthologs of the reference sequence are first identified in a set of taxa that are more closely related to the reference species. In contrast to fDOG, ncOrtho does not train hidden Markov Models but covariance models (CMs) (Eddy & Durbin, 1994) which also model conservation of the miRNA's secondary structure.
How to cite
Langschied F, Leisegang MS, Brandes RP, Ebersberger I. ncOrtho: efficient and reliable identification of miRNA orthologs. Nucleic Acids Res. 2023 Jun 1:gkad467. doi: 10.1093/nar/gkad467. Epub ahead of print. PMID: 37260093.
Getting Started
NcOrtho depends on multiple third party applications, some of which are Linux specific. All dependencies can be installed with Anaconda. It is recommended to create a new Anaconda environment for this. For example:
conda create --name ncOrtho python=3.11
conda activate ncOrtho
Prerequisites
- Operating System: Linux (tested on: Ubuntu 20.04)
- Python: version 3.7 or higher (tested with v3.11)
Tool | Tested version | Anaconda installation |
---|---|---|
BLASTn | v2.7.1 | conda install -c kantorlab blastn |
Infernal | v1.1.4 | conda install -c bioconda infernal |
t_coffee | v13.45 | conda install -c bioconda t-coffee |
MUSCLE | v5.1 | conda install -c bioconda muscle |
Installing
After installing all three dependencies, ncOrtho can be installed with pip
:
pip install ncOrtho
Usage
CM construction
As a targeted search for orthologs, ncOrtho's biggest strength is its flexibility to change the taxonomic scope of an analysis according to the research question at hand.
For this reason, a few questions need to be answered, before we can start constructing covariance models:
- What is the reference species?
- How phylogenetically diverse will my set of target species be?
- From which species should the core set of miRNA orthologs be extracted, which will be used for training the CMs?
- Which miRNAs are going to be used for the ortholog search?
To identify suitable core species for a given reference species you can calculate an estimate of conserved synteny given a set of pairwise ortholog predictions with:
ncCheck -p <parameters.yaml> -o <outdir>
You can find additional information about ncCheck in the WIKI.
As soon as you know what your core species are going to be, you will need to collect the following data:
- Genomic sequence in FASTA format (e.g "genomic.fna" from RefSeq)
- Genome annotation in GFF3 format (e.g. "genomic.gff" from RefSeq)
- Pairwise orthologs of all proteins between the reference and each core species (more information here
Modify the example parameters file to contain all relevant paths to your input files. The "name" property of your reference and core species has to merely be a unique identifier. It is however recommended to use whitespace-free species names to increase readability.
Additional to the parameters file, you will need a tab separated file containing the position and sequence of each miRNA for which a model should be constructed (more information here).
You can then start CM construction with:
ncCreate -p <parameters.yaml> -n <mirnas.tsv> -o <outdir>
If you encounter errors, make sure that:
- The identifiers in the pairwise orthologs files match the ones in the gff files (use the
-idtype=
flag to use other ID types) - The contig/chromosome column in tab separated miRNA input file match the contig/chromosome id in the reference gff file
Use ncCreate -h
to see all available options for CM construction.
Orthology search
You can start the orthology search with:
ncSearch -m <CMs/> -n <mirnas.tsv> -q <query_genome.fa> -r <reference_genome.fa> -o <outdir>
Use ncSearch -h
to see all available options for the orthology search or have a look at the
WIKI.
Phylogenetic Analysis
To facilitate the downstream analyses of miRNA orthologs, we also supply the ncAnalyze
function:
ncAnalzye -r <result directory of ncOrtho> -o <output_dir> -m <mappingfile>
This will create a phylogenetic Profile ready for visualisation in PhyloProfile as well as calculate a supermatrix species tree based on the miRNA orthologs.
More information can be found with ncAnalyze -h
or the WIKI
Support
Please refer to our Wiki Page of known issues first, then consider opening an issue on GitHub or contacting me directly via mail
Contributors
- Felix Langschied
- Andreas Blaumeiser
- Mirko Brüggemann
- Daniel Amsel
Dept. for Applied Bioinformatics Institute for Cell Biology and Neurosciences, Goethe University, Frankfurt am Main
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details
Acknowledgments
- Lorenz et al. 2011: ViennaRNA Package 2.0
- Nawrocki et al. 2013: Infernal 1.1: 100-fold faster RNA homology searches
- Notredame et al. 2000: T-Coffee: A Novel Method for Fast and AccurateMultiple Sequence Alignment
- Shirley et al. 2015: Efficient "pythonic" access to FASTA files using pyfaidx
Contact
For support or bug reports please contact: langschied@bio.uni-frankfurt.de
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ncOrtho-0.4.6.tar.gz
.
File metadata
- Download URL: ncOrtho-0.4.6.tar.gz
- Upload date:
- Size: 55.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee578aadde36f1b6b090bd4d3466d4bcbcc8717d6ed1b839f0039bfe0eb225e2 |
|
MD5 | b08b5ca8f547ae28c1e94838e3d79888 |
|
BLAKE2b-256 | 20c7ba89a330c2ba7a2c7d7943a2419d6a235a9ee5c37e5d0a70e64fb7748930 |
File details
Details for the file ncOrtho-0.4.6-py3-none-any.whl
.
File metadata
- Download URL: ncOrtho-0.4.6-py3-none-any.whl
- Upload date:
- Size: 61.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f4a28c0d48ab7b6b0fcffdc077267163a285b769b4001d080aaadb89709ef22 |
|
MD5 | e7ade27cf99695c5cc0ebdfeed2f4eba |
|
BLAKE2b-256 | 87ea644325ab8cc07ac30a821782b4c15a1aac790c84961b4374d90e4155f277 |