Giter Site home page Giter Site logo

darogan / particlestats Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 1.0 8.9 MB

ParticleStats: Open source software for the analysis of intracellular particle motility and cytoskeletal polarity

License: GNU General Public License v3.0

Python 86.28% Perl 8.83% Makefile 0.18% C 2.51% Shell 1.52% Dockerfile 0.68%
behavioral-assays live-cell-imaging particle-tracking

particlestats's People

Contributors

carandraug avatar darogan avatar

Watchers

 avatar  avatar

Forkers

carandraug

particlestats's Issues

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?

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.

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.

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

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

Web: Simplify paths

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

Dockerise ParticleStats

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

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]

Running issue

Failure at the getopts stage for ParticleStats::Directinality

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.

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

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

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.