• G. Mias Lab »
  • 1. Overview

    An open source Python package, for analyzing longitudinal omics datasets, which includes multiple tools for processing of multi-modal mapped data, characterizing time series in terms of periodograms and autocorrelations, classifying temporal behavior, visualizing visibility graphs, and testing data for gene ontology and pathway enrichment. PyIOmica includes optimized new algorithms adapted from MathIOmica (which runs on the proprietary Mathematica platform), now made available as Python open source code for all users, and additionally expands extensively graphical utilities for visualization of classified temporal data, and network representation of time series.

    The publication describing this software:
    Sergii Domanskyi, Carlo Piermarocchi, George I Mias, PyIOmica: longitudinal omics analysis and trend identification, Bioinformatics, Volume 36, Issue 7, 2020, Pages 2306–2307, https://doi.org/10.1093/bioinformatics/btz896

    Versions

    • 1.3.3
      • updated functionality for visibility graph community detection for communityDetectByPathLength to output community times as an option

    • 1.3.2
      • updated code for ReactomeAnalysis, set header parameter headersGET = {‘accept”:’text/CSV’} for Reactome analysis service compatibility

    • 1.3.1
      • updated code for calculateTimeSeriesCategorization to output correct labels for Lag classifications when exporting to Excel files

      • modified clueringFunctions exportClusteringObject to output components of clustering objects in the same order as they appear in heatmaps (i.e. top to bottom, instead of bottom to up, which was the previous behavior)

    • 1.3.0
      • updated internal code for annotate() function to use “text” versus “s”

      • updated makeVisibilityGraph function

      • updated addVisibilityGraph function with additional selection for community detection methods

      • updated getCommunitiesOfTimeSeries to process horizontal and natural visibility graphs

      • updated visualizeTimeSeriesCategorization for community detection options selection for displayed visibility graphs

      • updated makeDendrogramHeatmapOfClusteringObject for community detection method options for displayed visibility graphs

    • 1.2.9
      • renamed inconsistencies:
        • PlotNVGBarGraphDual -> plotNVGBarGraphDual

        • PlotHVGBarGraphDual -> plotHVGBarGraphDual

    • 1.2.8
      • Documentation strings update for frequencySubjectMatch file - typos corrected.

      • Functions changed to camelCase for consistency:
        • in module frequencySubjectMatch:
          • IOptimazeK -> optimizeK

          • get_community_genes_dict -> getCommunityGenesDict

          • split_genes -> splitGenes

          • get_community_top_genes_by_number -> getCommunityTopGenesByNumber

          • get_community_top_genes_by_frequency_ranking -> getCommunityTopGenesByFrequencyRanking

        • in module clusteringFunctions:
          • get_n_clusters_from_linkage_Silhouette -> getNClustersFromLinkageSilhouette

          • get_n_clusters_from_linkage_Elbow -> getNClustersFromLinkageElbow

        • in module visualizationFunctions
          • PlotNVGBarGraph_Dual -> PlotNVGBarGraphDual

          • PlotHVGBarGraphDual -> PlotHVGBarGraphDual

      • example files were modified to reflect above changes
        • pyiomica_examples.ipynb

        • examplesVisibilityGraphCommunityDetection.py

    • 1.2.7
      • Added new functionality in frequencySubjectMatch to enable comparison across subjects, utilizing spectra to identify common changing components, construct networks with such connections, and identify clusters of similar temporal behavior.

    • 1.2.6

      • Updated autocorrelation computation function to improve handling of nan values.

    • 1.2.5

      • Updated visibilityGraphCommunityDetection functions (correction for division by zero in community calculations).

    • 1.2.4

      • Updated plotting heatmap functions (categorizationFunctions.visualizeTimeSeriesCategorization and visualizationFunctions.makeDendrogramHeatmapOfClusteringObject) to utilize optional custom strings for x-axis and plot labels.

      • Updated categorizationFunctions.visualizeTimeSeriesCategorization to avoid error for cases where the linkage array has only 1 row.

    • 1.2.3

      • Applied minor fixes of numpy deprecation warnings.

      • Updated examples Jupyter notebook.

      • Updated enrichment report export function.

      • Updated PyIOmica dependency graph.

    • 1.2.2

      • Applied minor fixes related to numpy upgrade.

      • Fixed typo in name of function extendedDataFrame.getLombScarglePeriodogramOfDataframe

    • 1.2.1

      • Added Reactome pathway overrepresentation analysis functions.

      • Added Reactome analysis report export function.

      • Added examples of Reactome analysis.

    • 1.2.0

      • Added new visibility graph based community detection functions.

      • Added plotting functions.

      • Added examples of visibility graph community detection.

      • Updated examples Jupyter notebook.

    • 1.1.2

      • Small typographical fixes.

    • 1.1.1

      • Updated examples Jupyter notebook.

      • Small typographical fixes.

    • 1.1.0

      • Restructured all modules.

      • Developed ReadTheDocs documentation.

    • 1.0.2

      • Updated setup dependencies for pip compatibility.

    • 1.0.1

      • Updated setup dependencies.

    • 1.0.0

      • First Release.

    Documentation

    Documentation for PyIOmica is built-in and is available through the help() functionality in Python or online at https://pyiomica.readthedocs.io.

    Additional information

    • PyIOmica is a multi-omics analysis framework distributed as a Python package that aims to assist in bioinformatics.

    • The most current version of the package is maintained at https://github.com/gmiaslab/pyiomica

    • News are distributed via twitter (@mathiomica)

    Licensing

    PyIOmica is released under an MIT License. Please also consult the folder LICENSES distributed with PyIOmica regarding Licensing information for use of external associated content.

    Contact information

    Funding

    PyIOmica development and associated research were supported by the Translational Research Institute for Space Health through NASA Cooperative Agreement NNX16AO69A (Project Number T0412, PI: Mias). The content is solely the responsibility of the authors and does not necessarily represent the official views of the supporting funding agencies.