Package: micone
MiCoNE - Microbial Co-occurrence Network ExplorerMiCoNEis a Python package for the exploration of the effects of various possible tools used during the 16S data processing workflow on the inferred co-occurrence networks.
It is also developed as a flexible and modular pipeline for 16S data analysis, offering parallelized, fast and reproducible runs executed for different combinations of tools for each step of the data processing workflow.
It incorporates various popular, publicly available tools as well as custom Python modules and scripts to facilitate inference of co-occurrence networks from 16S data.Free software: MIT licenseDocumentation:https://micone.readthedocs.io/The MiCoNE framework is introduced in:Kishore, D., Birzu, G., Hu, Z., DeLisi, C., Korolev, K., & Segrè, D. (2023). Inferring microbial co-occurrence networks from amplicon data: A systematic evaluation. mSystems. doi:10.1128/msystems.00961-22.Data related to the publication can be found on Zenodo:https://doi.org/10.5281/zenodo.7051556.FeaturesPlug and play architecture: allows easy additions and removal of new toolsFlexible and portable: allows running the pipeline on local machine, compute cluster or the cloud with minimal configuration change through the usage ofnextflowParallelization: automatic parallelization both within and across samples (needs to be enabled in thenextflow.configfile)Ease of use: available as a minimalPythonlibrary (without the pipeline) or as a fullcondapackageInstallationInstalling thecondapackage:mambaenvcreate-nmicone-fhttps://raw.githubusercontent.com/segrelab/MiCoNE/master/env.ymlNOTE:MiCoNE requires themambapackage manager, otherwisemicone initwill not work.Direct installation via anaconda cloud will be available soon.Installing the minimalPythonlibrary:pipinstallmiconeNOTE:
ThePythonlibrary does not provide the functionality to execute pipelinesWorkflowIt supports the conversion of raw 16S sequence data into co-occurrence networks.
Each process in the pipeline supports alternate tools for performing the same task, users can use the configuration file to change these values.UsageTheMiCoNEpipelines comes with an easy-to-use CLI. To get a list of subcommands you can type:micone--helpSupported subcommands:install- Initializes the package and environments (createscondaenvironments for various pipeline processes)init- Initialize the nextflow templates for the micone workflowclean- Cleans files from a pipeline run (cleans temporary data, log files and other extraneous files)validate-results- Check the results of the pipeline executionInstalling the environmentsIn order to run the pipeline variouscondaenvironments must first be installed on the system.
Use the following comand to initialize all the environments:miconeinstallOr to initialize a particular environment use:miconeinstall-e"micone-qiime2"The list of supported environments are:micone-cozinemicone-dada2micone-flashweavemicone-harmoniesmicone-mldmmicone-proprmicone-qiime2micone-sparccmicone-spieceasimicone-springInitializing the pipeline templateTo initialize the full pipeline (from raw 16S sequencing reads to co-occurrence networks):miconeinit-w<workflow>-o<path/to/folder>Other supported pipeline templates are (work in progress):fullniop_nita_op_niTo run the pipeline, update the relevant config files (see next section), activate themiconeenvironment and run therun.shscript that was copied to the directory:bashrun.shThis runs the pipeline locally using the config options specified.To run the pipeline on an SGE enabled cluster, add the relevant project/resource allocation flags to therun.shscript and run as:qsubrun.shConfiguration and the pipeline templateThe pipeline template for the micone "workflow" (see previous section for list of supported options) is copied to the desired folder after runningmicone init -w <workflow>.
The template folder contains the following folders and files:nf_micone: Folder contatining themiconedefault configs, data, functions, and modulestemplates: Folder containing the templates (scripts) that are executed during the pipeline runmain.nf: The pipeline "workflow" defined in thenextflowDSL 2 specificationnextflow.config: The configuration for the pipeline. This file needs to be modified in order to change any configuration options for the pipeline runmetadata.json: Contains the basic metadata that describes the dataset that is to be processed. Should be updated accordingly before pipeline executionsamplesheet.csv: The file that contains the locations of the input data necessary for the pipeline run. Should be updated accordingly before pipeline executionrun.sh: Thebashscript that contains commands used to execute thenextflowpipelineThe foldernf_micone/configscontains the default configs for all themiconepipeline workflows.
These options can also be viewed in tabular format in thedocumentation.For example, to change the tool used for OTU assignment todada2anddeblur, you can add the following tonextflow.config:// ... config initializationparams{// ... other config optionsdenoise_cluster{otu_assignment{selection=['dada2','deblur']}}}Example configuration files used for the analyses in the manuscript can be foundhere.Visualization of results (coming soon)The results of the pipeline execution can be visualized using the scripts in themanuscript repoKnow issuesIf you have a version ofjuliathat is preinstalled, make sure that it does not conflict with the version downloaded by themicone-flashweaveenvironmentThe data directory (nf_micone/data) needs to be manually downloaded using thislink.CreditsThis package was created withCookiecutterand theaudreyr/cookiecutter-pypackageproject template.