Giter VIP home page Giter VIP logo

particlestats's Introduction

 ____            _   _      _      ____  _        _                   
|  _ \ __ _ _ __| |_(_) ___| | ___/ ___|| |_ __ _| |_ ___             
| |_) / _` | '__| __| |/ __| |/ _ \___ \| __/ _` | __/ __|            
|  __/ (_| | |  | |_| | (__| |  __/___) | || (_| | |_\__ \            
|_|   \__,_|_|   \__|_|\___|_|\___|____/ \__\__,_|\__|___/            

ParticleStats

Open source software for the analysis of particle motility and cytoskelteal polarity

ParticleStats was originally created by Russell Hamilton (Centre for Trophoblast Research, University of Cambridge) and Ilan Davis (Department of Biochemistry, University of Oxford) and in collaboration with the Micron Advanced Imaging Facility.

ParticleStats2.0 is currently being developed by Russell Hamilton (Dept Genetics, University of Cambridge) in collaboration with Anne Ferguson-Smith (Dept Genetics, University of Cambridge) and Ilan Davis (Department of Biochemistry, University of Oxford) with new features for comparing tracking data, cell migration and behavioural assays

Project Page

http://www.ParticleStats.com

If you have ideas or request for new features please submit them as issues on the GitHub site.

Citation:

Hamilton, R.S., Parton, R.M., Oliveira, R.A., Ball, G., Vendra, G., Nasmyth, K. & Davis, I. (2010) ParticleStats: Open source software for the analysis of intracellular particle motility and cytoskeletal polarity. Nucleic Acids Research (Web Server Edition) [DOI]

Abstract

The study of dynamic cellular processes in living cells is central to biology and is particularly powerful when the motility characteristics of individual objects within cells can be determined and analysed statistically. However, commercial programs only offer a very limited range of inflexible analysis modules and there are currently no open source programs for extensive analysis of particle motility. Here, we describe ParticleStats (www.ParticleStats.com), a web server and open source programs, which input the X,Y co-ordinate positions of objects in time, and outputs novel analyses, graphical plots and statistics for motile objects. ParticleStats comprises three separate analysis programs. Firstly ParticleStats:Directionality, for the global analysis of polarity, for example microtubule plus end growth in Drosophila oocytes. Secondly, ParticleStats:Compare for the analysis of saltatory movement in terms of runs and pauses. This can be applied to chromosome segregation and molecular motor based movements. Thirdly, ParticleStats:Kymographs for the analysis of kymograph images, for example as applied to separation of chromosomes in mitosis. These analyses have provided key insights into molecular mechanisms that are not possible from qualitative analysis alone and are widely applicable to many other cell biology problems.

ParticleStats::Modules
Module Availability Description
ParticleStats::Compare Since 1.0 The dynamics of particle movement, such as in the case of motor driven transport, can be explored through the calculation of runs and pauses in the movement
ParticleStats::Directionality Since v1.0 The directionality of a set of tracked particles is determined using directional statistics. The wind-maps are a novel way of visualising bias in the travel direction of particles. Further evidence is provided with rose diagrams and radial histograms
ParticleStats::Kymographs Since v1.0 Analysis of the dynamics of separating kinetochores as displayed in kymographs
ParticleStats::TrackAlign New for v2.0 Analysis and comparison of tracking data
ParticleStats::Behavioural New for v2.0 Analysis of the dynamics of zebrafish movement in behavioural tracking experiments
ParticleStats::Cell Planned Analysis of migrating cells
Command Line Version

ParticleStats depends on several external packages to run, to simpify the installation there is a Docker version (see below).

The command line version has been tested on Linux and MacOSX

Dependency Source
R https://cran.r-project.org
inkscape https://inkscape.org
Python Modules Source
pillow, scipy, boot, xlwt, matplotlib, rpy2, xlrd https://pypi.python.org
R libraries Source
CircStats https://cran.r-project.org/src/contrib/CircStats_0.2-4.tar.gz

For the command line version, once the dependencies are met, ParticleStats can be installed and run as follows.

git clone https://github.com/darogan/ParticleStats

cd ParticleStats

The three main tools, plus basic usage are:

ParticleStats_Directionality.py --help

ParticleStats_Compare.py --help

ParticleStats_Kymographs.py --help
Docker Version

The Docker version of ParticleStats requires only Docker to be pre-installed. And the ParticleStats repository to be cloned - actually the only requirement from the ParticleStats repositoru is the Dockerfile. The Docker version compiles all the required packages automatically. Download and install Docker and then follow the steps below:

  1. git clone https://github.com/darogan/ParticleStats

  2. cd ParticleStats

  3. docker build -t particlestats_docker .

  4. docker run -it particlestats_docker

A Docker Hub version is planned to further similify the installation and usage of the Docker Version of ParticleStats.

Publications Citing ParticleStats
  • Oliveira, R.A., Hamilton, R.S., Pauli, A., Davis, I., Nasmyth, K. (2010) Cohesin cleavage and Cdk inhibition trigger formation of daughter nuclei. Nature Cell Biology, 12, 185-192 [DOI]

  • Vendra, G., Hamilton, R.S. & Davis, I. (2007) Dynactin suppresses the retrograde movement of apically localized mRNA in Drosophila blastoderm embryos. RNA, 13, 1-8. [DOI]

  • Parton, R.M., Hamilton, R.S., Ball, G., Yang, L., Cullen, F., Lu, W., Ohkura, H. & Davis, I. (2011) A PAR-1 dependent orientation gradient of dynamic microtubules establishes cell polarity in the Drosophila oocyte. Journal of Cell Biology, 194, 121-135. [DOI]

  • Hartswood. E., Brodie, J., Vendra, G., Davis, I. and Finnegan. D.J. (2012) RNA:RNA interaction can enhance RNA localization in Drosophila oocytes. RNA, 18, 1-9. [DOI]

GNU License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

This software is still being developed so beware of bugs and feel free to suggest features

particlestats's People

Contributors

carandraug avatar darogan avatar

Watchers

 avatar  avatar

Forkers

carandraug

particlestats's Issues

Web: Simplify paths

Make the setting of the install paths more simple for installing the web interface

remove unused variables and reduce lexical scoping of variables

Not really an issue but while auditing the code and trying to make sense of the web interface, I made a lot of changes which I hope make the code more readable. It also removes a lot of unused variables, warnings about use of undef variables, etc.

Please review the commits on my clone and merge as you see fit. Would be nice if this would be done before the changes to fix issue #11 and #12 which would complicate the merge.

Running issue

Failure at the getopts stage for ParticleStats::Directinality

New version of documentation

  • Split into a User Guide and Install Guide
  • Write in markdown format not PDF
  • Include documentation of new features
  • Include details of Web Interface Install #10

missing files for icons on the web-interface

The following files are used by the web interface but are not present in the repository or any of the release tarballs:

  • Images/heckert_gnu.small.png
  • Images/PS_Logo_Simple_100px.png
  • Images/compare_logo_100px.png
  • Images/directionality_logo_100px.png
  • Images/kymograph_logo_100px.png
  • Images/PS_Logo_Simple_100px.png

New HTML output

  • Create HTML report with inline images and HighCharts
  • Bypass requirement for file names based on input file

@carandraug this should help address #12 #14

python package is missing ParticleStats_linRegressFit.c

The file ParticleStats_linRegressFit.c refered on setup.py of the python package

module1 = Extension('ParticleStats_linRegressFit',
                    sources = ['ParticleStats_linRegressFit.c'])

is not present on the tarball.

$ md5sum ParticleStats-0.3.tar.gz 
5b22ebec256a812e237d5122127cbde8  ParticleStats-0.3.tar.gz

Dockerise ParticleStats

Wrap ParticleStats in a Docker container to remove the need to install the 3rd party dependencies

web interface fails when filenames has whitespace

Because of the way the command is generated and called, the web interface fails when there's whitespace. Currently code does something like:

my $command = "python script.py -in $filename"
my $output = `$command`

The easiest way out is to simply quote $filename but that will cause problems if the filename has quotes. A good way out is to use system() but then it doesn't capture stdout. A better way out would be to use IPC::Open2 but that complicates things. An easier way out would be too use a hardcoded filename when uploading the filename but then the output will make less sense to the user.

web interface allows to run arbitrary commands on host

  1. it uses backticks instead of system() with a list of arguments in order to collect output
  2. it uses the same filenames as the ones uploaded (I'm guessing it makes more sense to interpret)
  3. only removes slashes from the filename

The above means that a file named foo $(do something bad).xls will do something bad. Limited to what the user that runs the cgi script can do.

confusing difference between the two existing web interfaces

At the moment there are two web interfaces to ParticleStats, ParticleStats_Web.pl and ParticleStats_WebStats.pl. However, I couldn't find any comment on the purpose of each and they are not mentioned on the pdf manual.

Is any of them deprecated? Or any of them in a work in progress?

python package makes reference to missing ParticleStats_TrackCompare.py

The python packages requires a file scripts/ParticleStats_TrackCompare.py:

    scripts=[ "scripts/ParticleStats_TrackCompare.py", "scripts/ParticleStats_Compare.py", "scripts/ParticleStats_Directionality.py", "scripts/ParticleStats_Kymographs.py", "scripts/ParticleStats_ROI.py" ],

Which is not present on the package:

$ md5sum ParticleStats-0.3.tar.gz 
5b22ebec256a812e237d5122127cbde8  ParticleStats-0.3.tar.gz
$ tar -tvzf ParticleStats-0.3.tar.gz | grep TrackCompare
$

or the whole history of the repository:

$ git log --all --pretty=format: --name-only --diff-filter=A | grep TrackCompare
[again no output]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.