Skip to content

A testing pipeline that allows us to run a behavioural phenotyping of our virtual worm running the same test statistics the Schafer Lab used on their worm data.

License

Notifications You must be signed in to change notification settings

KristianPeltonen/open-worm-analysis-toolbox

 
 

Repository files navigation

GitHub license Travis-CI Gitter BountySource Waffle

Open Worm Analysis Toolbox

The Open Worm Analysis Toolbox is a Python port of the Schafer Lab's Worm Analysis Toolbox 1.3.4.

It can be used to process videos of C. elegans into statistics so the behaviour of individual worms can be compared.

It is also the package used by the OpenWorm project to determine how closely its simulated worm behaves like real worms. It was started as a sub-project of the OpenWorm project.

It is only about 75% complete. Please see:

Usage Example

import open_worm_analysis_toolbox as mv

# Load a "basic" worm from a file
bw = mv.BasicWorm.from_schafer_file_factory("example_contour_and_skeleton_info.mat")
# Normalize the basic worm
nw = mv.NormalizedWorm.from_BasicWorm_factory(bw)
# Plot this normalized worm    
wp = mv.NormalizedWormPlottable(nw, interactive=False)
wp.show()
# Obtain features
wf = mv.WormFeatures(nw)

Later, if we have control worms, we can run statistics on our worm:

# Compute histograms
experiment_histograms = mv.HistogramManager([wf, wf])
control_histograms = mv.HistogramManager(control_worms)

# Compute statistics
stat = mv.StatisticsManager(experiment_histograms, control_histograms)

# Plot statistics for the first extended feature
stat[0].plot(ax=None, use_alternate_plot=True)

# Give an overall assessment of the worm's similarity to the control set
print("Nonparametric p and q values are %.2f and %.2f, respectively." %
      (stat.min_p_wilcoxon, stat.min_q_wilcoxon))

Images: C. elegans by Bob Goldstein, UNC Chapel Hill http://bio.unc.edu/people/faculty/goldstein/ Freely licensed. Contour credit: MRC Schafer Lab. Simulated worm: OpenWorm.

About

A testing pipeline that allows us to run a behavioural phenotyping of our virtual worm running the same test statistics the Schafer Lab used on their worm data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 87.5%
  • MATLAB 12.5%