Bleeding-edge comparative genomics automation and standardization software
Project description
NOTE
This software is a beta release (prokaryote is alpha state) - errors are expected. Kindly raise an issue if the error has not been mentioned. If you can find the bug, even better! The goal is to reach a longterm stable release with well-annotated PEP8 code, though maintaining the software for my use is currently the priority.
PURPOSE
Bring broadscale comparative genomics to the masses.
Mycotools is a compilation of computational biology tools and database (MycotoolsDB) software that facilitate large-scale comparative genomics. MycotoolsDB locally assimilates all NCBI and MycoCosm (Joint Genome Institute) genomes into a database schema with uniform file curation, scalability, and automation as guiding principles.
- Database initialization is as simple as
mtdb u --init <DIR>
mtdb u --update
brings the database to the current date- The MycotoolsDB (MTDB) uniformly curates the numerous iterations of
the
gff
into a consistent standard - The
.mtdb
database format enables swift transitions from analyses with datasets of 100,000s genomes to as few as a lineage of interest - Mycotools software suite includes modules to automate routine-complex comparative genomics
CITING
If Mycotools contribute to your analysis, please cite the preprint and mention the version in-line.
Konkel, Z., Slot, J. C. Mycotools: An Automated and Scalable Platform for Comparative Genomics. bioRxiv 2023.09.08.556886; doi: https://doi.org/10.1101/2023.09.08.556886
INSTALL
The installation guide will use miniconda3 as the environment manager. Please reference their install and initialization instructions.
1. Configuring miniconda3
Setup and prioritize channels for your miniconda installation. This step must be completed for new and old installs.
conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge
conda config --set channel_priority strict
2. Installing mycotools
Make sure conda
is active, usually by seeing (base)
in in your shell.
If not, try conda activate base
or source activate base
.
conda create -n mycotools mycotools -c xonq -y
conda activate mycotools
python3 -m pip install mycotools --upgrade
mtdb -d
NOTE: The conda package is broken on its own, so please
explicitly run pip install
as noted above to update the
mycotools package inside the conda environment.
Determine if you are going to link to an already installed database, or become the administrator of a new one:
3a. USER: Integrate with already initialized MycotoolsDB
To link with an existing database, fill in <PATH>
with the database path
mtdb --init <DB_PATH>
3b. ADMINISTRATOR: Initialize a local MycotoolsDB
mtdb update --init <DB_PATH>
USAGE
Once installed, you're good to proceed to the usage guide!
UPDATE
Mycotools is currently in an advanced beta state with frequent updates. It is recommended to run the following in your conda environment if you are having trouble with analyses:
python3 -m pip install mycotools --upgrade
NOTE: Make sure the conda environment is active when updating.
I recommend updating with pip
because the conda
distribution
is currently prone to dependency issues and will not update reliably.
A NOTE ON THE CODE
Each standalone script is written with a cli
function, designed to
handle running the script from the command line, as well as main
function(s),
which are importable python modules. This enables Mycotools
to be a pipelining-friendly software suite, both from a command line and
python scripting standpoint.
Code edits should focus on stabilizing existing features and simplifying/decerasing the code base. I try to implement code aligned with principles of the functional programming paradigm and modifications should act in accord with this paradigm, i.e. sparing implementation of new classes, limited necessary abstraction, no hidden state changes, and function-based flow.
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 mycotools-0.30.40.tar.gz
.
File metadata
- Download URL: mycotools-0.30.40.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eeadc8d48c3aa48d115e860beabaefc8318b32f8a29ccd31feb4d963a3fa034c |
|
MD5 | 839b517abcc05c5df60a10d19a449ca0 |
|
BLAKE2b-256 | 17a012f664885d4feb08dc40791c2f2016c64972a9bf600c4d2a8ef97eac70fe |
File details
Details for the file mycotools-0.30.40-py3-none-any.whl
.
File metadata
- Download URL: mycotools-0.30.40-py3-none-any.whl
- Upload date:
- Size: 176.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42f52fc837dcfa8fcf2584ea8934404a60e86597ad5787bc0c7e27c1bad8d01b |
|
MD5 | d7611a26b8e668eabf86427ebdaf7f7c |
|
BLAKE2b-256 | fc121b3ec87e00ccc8dc5dd3873b0146dec2dfa7a125825359ad1ab11d2f2db3 |