PyMS

PyMS: Python for Mycorrhizal Symbiosis data analysis - Published in JOSS (2019)

https://github.com/jschnab/pyms-plot

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: ncbi.nlm.nih.gov, joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Economics Social Sciences - 85% confidence
Last synced: 4 months ago · JSON representation

Repository

Graphical user interface for easy plotting and statistical analysis of mycorrhizal colonization data.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 3
Created about 7 years ago · Last pushed almost 6 years ago
Metadata Files
Readme License

README.md

DOI
PyPI

PyMS

Python for Mycorrhizal Symbiosis analysis (PyMS) is a graphical user interface-based program to visualize quantitative analysis of mycorrhizal fungi colonization of plant roots and perform statistical analysis of the data. It was developed to help researchers who are not familiar with command line-based softwares, or who want to increase their productivity during data analysis.

If you use PyMS in your work, please cite as Schnabel, J. (2019). PyMS: Python for Mycorrhizal Symbiosis data analysis. Journal of Open Source Software, 4(34), 1125, doi.org/10.21105/joss.01125.

Installation

PyMS is written in Python 3 and depends on pandas 0.23, NumPy, matplotlib, SciPy, statsmodels and TkInter. You can install them by running on the command line: python -m pip install <library name>

After installing SciPy, in order for PyMS to be able to import scipy.stats, run: python -m pip install --upgrade scipy

TkInter is traditionally bundled with Python.

Install PyMS through pip: python -m pip install pyms-plot

Running PyMS

Once PyMS is installed, you can run pyms on the command line. It may take a few seconds before the graphical interface appears.

Input data and file format

Quantification of arbuscular mycorrhizal fungus colonization of plant roots should be done via a modified version of the grid-line intersect method (see Paszkowski, U., Jakovleva, L., and Boller, T. (2006). Maize mutants affected at distinct stages of the arbuscular mycorrhizal symbiosis. Plant J. 47 165-173) or an equivalent method.

The input file should be a csv file with a specific formatting (see test_colonisation.csv in the same repository for an example, data from Chiu, C. H., Choi, J., Paszkowski, U. (2018) Independent signalling cues underpin arbuscular mycorrhizal symbiosis and large lateral root induction in rice. New Phytologist. 217 552-557).

Generate and save a figure

  • Select the graphical parameters you want by ticking options in menus "Group by" and "Color".

  • Click on the "Process" menu and click on "Analyze csv file", it will open a pop-up and you can browse your file.

  • Click on the "File" menu and point on "Save as" to display the file type choice. Click on the file extension name to save your file in the same folder as your csv file. If you generate several figures by clicking on "Analyze csv file" several times, it will save the last figure generated.

Here is the expected output if you use the file test_colonization.csv.

plot

Statistical analysis

PyMS allows you to perform statistical testing of inter-genotype comparisons using the Mann-Whitney test or the Kruskal-Wallis test followed by the Dunn test for post-hoc analysis (i.e. the Kruskal-Wallis test tells you if at least one genotype is different from the others while the Dunn test tells you which genotypes are different from the others). If you want to compare two genotypes, use the Mann-Whitney test. If you want to compare multiple genotypes, use the Kruskal-Wallis then Dunn tests.

  • If you have not opened the csv file in PyMS yet, click on the "Process" menu and click on "Analyze csv file", it will open a pop-up and you can browse your file.

  • Click on the "Statistics" menu and select the test you want by ticking one of them. You then need to select the genotypes you want to analyze in the "Select samples" menu. You can detach the menu by clicking on the top -------, so that you don't have to open the menu each time you select a genotype. Once you selected the genotypes of interest, click on "Perform statistical test" in the "Process" menu. The p-values returned by the test will be saved in a text file in the same folder as your csv file.

Here is an example if you perform the Mann-Whitney test on the genotypes 117KO (loss-of-function mutant) and 117REV (wild type) from the file test_colonization.csv. The column Genotypes indicates the genotypes which are compared. The other columns represent the different fungal structures. The numbers in each column represent the p-value for the difference in colonization levels for the different fungal structures.

mann-whitney

Here is another example if you perform the Kruskal-Wallis test followed by the Dunn tests on the genotypes hebiba (AOC) (loss-of-function mutant), NH WT (wild type) and PCG82-2 (complemented loss-of-function mutant). The results are displayed as for the Mann-Whitney test except there are more genotypes comparisons.

kruskal-wallis

Support

If you have any question, please send an email to jonathan.schnabel31@gmail.com.

Contributing

PyMS aims at being an evolving and collaborative project. Please contribute to make PyMS better by reporting issues and proposing enhancements and corrections through pull requests on GitHub. Please read GitHub help pages for more details.

Report issues

If you spot an issue or a bug, create a new issue in the Issues tab of PyMS's repository. Provide a detailed description of the issue, containing the steps needed to reproduce the issue, the software behaviour you observe, the software behaviour you expect, and the version of PyMS, Python, and dependencies.

Pull requests

If you would like to make PyMS better, you are welcome to create a pull request after you pushed changes to a branch of the repository on GitHub.

Owner

  • Name: Jonathan Schnabel
  • Login: jschnab
  • Kind: user
  • Location: New York, NY, USA

I am a data engineer at Blackstone in New York.

JOSS Publication

PyMS: Python for Mycorrhizal Symbiosis data analysis
Published
February 17, 2019
Volume 4, Issue 34, Page 1125
Authors
Jonathan Schnabel ORCID
Department of Plant Sciences, University of Cambridge, UK.
Editor
Arfon Smith ORCID
Tags
data analysis statistics mycorrhiza

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 58
  • Total Committers: 1
  • Avg Commits per committer: 58.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jonathan Schnabel j****1@g****m 58

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 5
  • Total pull requests: 1
  • Average time to close issues: 2 months
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 1.6
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • johnlees (5)
Pull Request Authors
  • jschnab (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

pyms_plot.egg-info/requires.txt pypi
  • matplotlib *
  • numpy *
  • pandas *
  • scipy *
  • statsmodels *
setup.py pypi
  • matplotlib *
  • numpy *
  • pandas *
  • scipy *
  • statsmodels *