Skip to main content

Toolbox for the Multistep Regression Estimator.

Project description

Mr. Estimator

Latest Version Documentation License Supported Python Versions

Welcome to the Toolbox for the Multistep Regression Estimator ("Mister Estimator").

If you find bugs, encounter unexpected behaviour or want to comment, please let us know via mail or open an issue on github. Any input is greatly appreciated.

If you use our toolbox for a scientific publication please cite it as Spitzner FP, Dehning J, Wilting J, Hagemann A, P. Neto J, Zierenberg J, et al. (2021) MR. Estimator, a toolbox to determine intrinsic timescales from subsampled spiking activity. PLoS ONE 16(4): e0249447. https://doi.org/10.1371/journal.pone.0249447

Dependencies

  • Python (>=3.5)
  • numpy (>=1.11.0)
  • scipy (>=1.0.0)
  • matplotlib (>=1.5.3)

Optional Dependencies

  • numba (>=0.44), for parallelization
  • tqdm, for progress bars

We recommend (and develop with) the latest stable versions of the dependencies, at the time of writing that is Python 3.7.0, numpy 1.15.1, scipy 1.1.0 and matplotlib 2.2.3.

What's new

18.10.2021 v0.1.8

  • is a quick bugfix. We had to disable numba parallelization for the time being.

07.05.2021 Now published in PLOS ONE.

08.07.2020 Our paper draft is now on arXiv

  • arXiv:2007.03367: "MR. Estimator, a toolbox to determine intrinsic timescales from subsampled spiking activity".
  • Additional scripts and downloadable data to recreate the figure on triallength are available on gin.

Installation

Assuming a working Python3 environment, usually you can install via pip (also installs the optional dependencies):

pip3 install 'mrestimator[full]'

To install (or update an existing installation) with optional dependencies:

pip3 install -U 'mrestimator[full]'

If you run into problems during installation, they are most likely due to numpy and scipy. You may check the official scipy.org documentation or try using anaconda as outlined below.

Install Using Anaconda

We sincerely recommend using conda, more so if you are unsure about the dependencies on your system or lack administrator priviliges. It is easy to install, allows you to manage different versions of Python and if something breaks, you can role back and reinstall easily - all without leaving your user directory.

Head over to anaconda.com, and download the installer for Python 3.7.

After following the installation instructions (default settings are fine for most users), start a new python session by typing python in a new terminal window. You will see something similar to the following:

Python 3.7.0 (default, Jun 28 2018, 07:39:16)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

End the session (exit() or Ctrl-D) and type conda list, which will output a list of the packages that came bundled with anaconda. All dependencies for Mr. Estimator are included.

Optionally, you can create a new environment (e.g. named 'myenv') for the toolbox conda create --name myenv and activate it with source activate myenv (activate myenv on windows). For more details on managing environments with conda, see here.

Now install using pip: pip install 'mrestimator[full]' and afterwards you should be able to import the module into any python3 session

python
>>> import mrestimator as mre
INFO     Loaded mrestimator v0.1.6, writing to /tmp/mre_paul/

Manual Installation

Clone the repository via ssh or https

git clone git@github.com:Priesemann-Group/mrestimator.git
git clone https://github.com/Priesemann-Group/mrestimator.git

And optionally,

export PYTHONPATH="${PYTHONPATH}:$(pwd)/mrestimator"

This line adds the downloaded directory to your PYTHONPATH environment variable, so that it will be found automatically when importing. If you want to add the path automatically when you login, you can add it to your ~/.bashrc or ~/.profile:

echo 'export PYTHONPATH="${PYTHONPATH}:'$(pwd)'/mrestimator"' >> ~/.bashrc

Pre-release versions

You can upgrade to pre-release versions using pip

pip install -U --pre 'mrestimator[full]'

To revert to the stable version, run

pip install mrestimator==0.1.6

or

pip install --force-reinstall mrestimator

for a complete (longer) reinstall of all dependencies.

Parallelization and running on clusters

Per default, the toolbox and its dependencies use all threads available on the host machine. While this is great if running locally, it is undesired for distributed computing as the workload manager expects jobs of serial queues to only use one thread. To disable multi-threading, you can set the following environment variables (e.g. at the beginning of a job file)

export OPENBLAS_NUM_THREADS=1
export MKL_NUM_THREADS=1
export NUMEXPR_NUM_THREADS=1
export OMP_NUM_THREADS=1
export NUMBA_NUM_THREADS=1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mrestimator-0.1.8.tar.gz (154.9 kB view details)

Uploaded Source

File details

Details for the file mrestimator-0.1.8.tar.gz.

File metadata

  • Download URL: mrestimator-0.1.8.tar.gz
  • Upload date:
  • Size: 154.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2

File hashes

Hashes for mrestimator-0.1.8.tar.gz
Algorithm Hash digest
SHA256 7da5250ae04a713b17e112d1c74e0c791fcd7a00cfdded06c764e2681dae6343
MD5 bfca06dd4f9a5a66ab9553cf0dc44c94
BLAKE2b-256 fd58a2ae20254ec032977b1eefa4bc67b8afa4dec92acbd1e10cd680c89c0e56

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page