Code Monkey home page Code Monkey logo

sanpy's Introduction

Python tests codecov OS License

SanPy is software for whole-cell current clamp analysis

SanPy is designed to analyze action potentials and extract a number of parameters including spike time, voltage threshold, half-widths, interval statistics, and lots more.

SanPy is optimized for a wide range of whole-cell current-clamp recordings including cardiac myocytes and neurons.

Please see the SanPy documentation.

SanPy preprint on bioRxiv

Guarina L, Johnson TL, Griffith T, Santana LF, Cudmore RH (2023) SanPy: A whole-cell electrophysiology analysis pipeline. bioRxiv 2023.05.06.539660; doi: https://doi.org/10.1101/2023.05.06.539660]

Contact

If you find the code in this repository interesting, please email Robert Cudmore at UC Davis ([email protected]) and we can get you started. We are looking for users and collaborators.

sanpy's People

Contributors

cudmore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sanpy's Issues

Can't get SanPy publish.yml to publish to PyPi?

I can't get SanPy published to PyPi? I copied the brightest-path-lib publish.yml and it is failing on all the linux builds and pypi is not updating

  1. All the linux build are failing with:
line 287, in build_in_container
      raise NonPlatformWheelError()
  cibuildwheel.util.NonPlatformWheelError: 
  cibuildwheel: Build failed because a pure Python wheel was generated.
  
  If you intend to build a pure-Python wheel, you don't need cibuildwheel - use
  `pip wheel -w DEST_DIR .` instead.
  
  If you expected a platform wheel, check your project configuration, or run
  cibuildwheel with CIBW_BUILD_VERBOSITY=1 to view build logs.
  1. The publish.yml was not triggering when the "Release" workflow finished

I had to modify this ...

on:
  workflow_run:
    workflows: ["Release"]
    types: [completed]
    branches: [main]

to this ...

on: 
  push:
    tags:
    - 'v*'

Plot Recording Plugin (with Matplotlib) needs a panel to turn detections params on/off

Just like the main interface 'Plot Options'. We need to turn detection results on/off in the plot recording plugin.

When the analysis is not meaningful, we end up with a plot recording plugin like this (from kymograph analysis).

Here we want the user to toggle on/off things like EDD Rate and half width.

image

In some way this ugliness might be good? Shows the user their analysis is bad. Not SanPy fault but just bad data?

fft plugin errors when viewing from kymograph

Running the fft plugin on kymograph tif(s) results in the following error. Probably due to short number of points (like 1000). Really not sure ...

Traceback (most recent call last):
  File "/Users/cudmore/Sites/SanPy/sanpy/interface/sanpy_app.py", line 1004, in slot_contextMenu
    newPlugin = self.myPlugins.runPlugin(pluginName, ba, show=False)
  File "/Users/cudmore/Sites/SanPy/sanpy/interface/bPlugins.py", line 163, in runPlugin
    self.pluginDict[pluginName]['constructor'](ba=ba, bPlugin=self, startStop=startStop)
  File "/Users/cudmore/Sites/SanPy/sanpy/interface/plugins/fftPlugin.py", line 477, in __init__
    self.replot2(switchFile=True)
  File "/Users/cudmore/Sites/SanPy/sanpy/interface/plugins/fftPlugin.py", line 793, in replot2
    self.replot_fft2()
  File "/Users/cudmore/Sites/SanPy/sanpy/interface/plugins/fftPlugin.py", line 888, in replot_fft2
    yFiltered_Butter = scipy.signal.sosfiltfilt(self.sos, yDetrend, axis=0)
  File "/opt/miniconda3/envs/sanpy-env/lib/python3.9/site-packages/scipy/signal/_signaltools.py", line 4335, in sosfiltfilt
    edge, ext = _validate_pad(padtype, padlen, x, axis,
  File "/opt/miniconda3/envs/sanpy-env/lib/python3.9/site-packages/scipy/signal/_signaltools.py", line 4105, in _validate_pad
    raise ValueError("The length of the input vector x must be greater "
ValueError: The length of the input vector x must be greater than padlen, which is 423.

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.