PluMA: Plugin-Based Microbiome Analysis


Principal investigator: Prof. Giri Narasimhan

Pipeline architect: Dr. Trevor Cickovski



Our goal with PluMA is to facilitate the construction of flexible and lightweight analysis pipelines through which a developer can implement a new algorithm in their programming language of choice, and easily test and debug within a larger pipeline alongside stages in different languages that potentially use different file formats. PluMA accomplishes this through plugins, and has a large collection available in its plugin pool, implemented in various programming languages for both the CPU and GPU. Plugins can be run sequentially to form a pipeline, and can be easily added, removed or substituted through our user interface. Since plugins are dynamically loaded, you can assemble a pipeline by downloading PluMA and only the plugins that you need from the pool.



Cickovski, T., Aguiar-Pulido, V., Huang, W., Mahmud, S., Narasimhan, G. (2016). Lightweight Microbiome Analysis Pipelines, In Proceedings of International Work Conference on Bioinformatics and Biomedical Engineering (IWBBIO'16)


Our lightweight computational backend is implemented in C++ and dynamically loads and sequentially executes user-specified plugins to form a complete pipeline. A plaintext configuration file contains all plugins for the pipeline. Plugins may be written in different languages, including Python, CUDA, C++, R, and Perl. We have also supplied an example pipeline below, which includes two configuration file samples, and instructions on how to compile and run PluMA with the help of SCons (which can be downloaded from Scons) Click below to download the PluMA tar ball or user guide, or to access any other resources.