Metadata-Version: 2.1
Name: mosaic-nist
Version: 2.4
Summary: A Modular Single-Molecule Analysis Interface.
Home-page: https://pages.nist.gov/mosaic/
Author: National Institute of Standards and Technology (NIST)
Author-email: arvind.balijepalli@nist.gov
Maintainer: Arvind Balijepalli
Maintainer-email: arvind.balijepalli@nist.gov
License: US Government Open Source
Project-URL: Bug Tracker, https://github.com/usnistgov/mosaic/issues
Keywords: nanopore timeseries single-molecule data-analysis
Platform: MacOS
Platform: Windows
Platform: Linux
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE.rst
Requires-Dist: cython (==0.29.32)
Requires-Dist: pandas (==1.5.2)
Requires-Dist: lmfit (==1.1.0)
Requires-Dist: uncertainties (==3.1.7)
Requires-Dist: PyWavelets (==1.4.1)
Requires-Dist: pytest (==7.2.2)
Requires-Dist: coverage (==6.5.0)
Requires-Dist: codecov (==2.1.12)
Requires-Dist: pytest-cov (==4.0.0)
Requires-Dist: pyinstaller (==5.6.2)
Requires-Dist: numpy (==1.23.5)
Requires-Dist: scipy (==1.9.3)
Requires-Dist: pyabf (==2.3.7)
Requires-Dist: docutils (==0.19)
Requires-Dist: flask (==2.2.2)
Requires-Dist: gunicorn (==20.1.0)
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'
Requires-Dist: coverage ; extra == 'test'

.. image:: https://img.shields.io/travis/usnistgov/mosaic/master.svg?label=linux
		:target: https://travis-ci.org/usnistgov/mosaic
.. image:: https://img.shields.io/travis/usnistgov/mosaic/master.svg?label=macOS
		:target: https://travis-ci.org/usnistgov/mosaic
.. image:: https://img.shields.io/github/v/release/usnistgov/mosaic
		:target: https://github.com/usnistgov/mosaic
.. image:: https://img.shields.io/pypi/v/mosaic-nist.svg
	:target: https://pypi.org/project/mosaic-nist/
.. image:: https://codecov.io/gh/usnistgov/mosaic/branch/master/graph/badge.svg
	:target: https://codecov.io/gh/usnistgov/mosaic  
.. image:: https://img.shields.io/badge/dev-NIST-blue
	:target: https://www.nist.gov
	
MOSAIC: A modular single-molecule analysis interface
==================================================================

MOSAIC is a single molecule analysis toolbox that automatically decodes multi-state nanopore data. By modeling the nanopore system with an equivalent circuit, MOSAIC leverages the transient response of a molecule entering the channel to quantify pore-molecule interactions. In contrast to existing techniques such as ionic current thresholding or Viterbi decoding, this technique allows the estimation of short-lived transient events that are otherwise not analyzed.

Nanometer-scale pores have demonstrated potential use in biotechnology applications, including DNA sequencing, single-molecule force spectroscopy, and single-molecule mass spectrometry. The data modeling and analysis methods implemented in MOSAIC allow for dramatic improvements in the quantification of molecular interactions with the channel in each of these applications.

**If you use MOSAIC in your work, please cite both papers below:**

1. `Analytical Chemistry 2016, (88) pp. 11900–11907  <http://pubs.acs.org/doi/abs/10.1021/acs.analchem.6b03725>`_
2. `ACS Nano 2014, (8) pp. 1547–1553.  <http://pubs.acs.org/doi/abs/10.1021/nn405761y>`_

Installation
==================================================================

Please refer to the `Installation <https://pages.nist.gov/mosaic/html/doc/GettingStarted.html>`_ section of the MOSAIC documentation for details on installation.

Documentation
==================================================================

A PDF version of the MOSAIC documentation can be downloaded `here <https://github.com/usnistgov/mosaic/raw/nist-pages/latex/MOSAIC.pdf>`_.

Getting Help
==================================================================

If you need help or have questions, please join our mailing list.

To subscribe:

	Visit `https://groups.google.com/a/list.nist.gov/group/mosaic/ <https://groups.google.com/a/list.nist.gov/group/mosaic/>`_.

To unsubscribe:

	Email `mosaic+unsubscribe@list.nist.gov <mailto:mosaic+unsubscribe@list.nist.gov>`_.

Once subscribed, you can send messages by emailing `mosaic@list.nist.gov <mailto:mosaic@list.nist.gov>`_.

Reporting Problems
==================================================================

Report problems using our `issue tracker <https://github.com/usnistgov/mosaic/issues>`_ on Github.

What's New?
==================================================================

Read the `Change Log <CHANGELOG.rst>`_

Change Log
++++++++++++++++++++++++++++++++++++++++++

**v2.4**
- Maintenance release to update dependencies, unit testing frameworks and streamline setuptools installation.
- Resolves `#110 <https://github.com/usnistgov/mosaic/issues/110>`_, `#111 <https://github.com/usnistgov/mosaic/issues/111>`_, `#112 <https://github.com/usnistgov/mosaic/issues/112>`_ and `#116 <https://github.com/usnistgov/mosaic/issues/116>`_, 

**v2.2**

- Updated web UI to allow lowpass filtering (BesselLowpassFilter).
- Allow data source path to be changed from web UI when running in local mode (issue `#109 <https://github.com/usnistgov/mosaic/issues/109>`_).

**v2.1**

- Fixed a bug with dcOffset correction that caused the web UI to not accurately display the trajectory.
- Provide Docker images to allow cross-platfom installs
- Bug fixes

**v2.0**

- Fixed an issue where spurious events were detected that were contained entirely within the open channel current (see `#102 <https://github.com/usnistgov/mosaic/issues/102>`_).
- Changed eval calls to safer `AST <https://docs.python.org/2/library/ast.html>`_-based versions within the core mosaic modules.
- Added detailed Windows build instructions.

**v2.0b1**

- Run MOSAIC using a new web interface.

**v1.3.6**

- Bug Fixes

**v1.3.5**

- Saves raw events in database. Resolves `#93 <https://github.com/usnistgov/mosaic/issues/93>`_.

**v1.3.4**

- Fixed a bug in the default settings that prevented the analysis from starting in some instances.

**v1.3.3**

- Added support for Chimera data files.
- Resolves issues `#92 <https://github.com/usnistgov/mosaic/issues/92>`_ and `#95 <https://github.com/usnistgov/mosaic/issues/95>`_.

**v1.3.2**

- Fixed event partiioning bugs.
- [GUI] UI tweaks.

**v1.3.1**

- Bug fix release.

**v1.3**

- Added a new MOSAIC examples repository that contains plotting scripts and Jupyter notebooks (https://github.com/usnistgov/mosaic-examples)

- Updated Bessel fiter implementation to allow causal and non-causal filters.
- Added the CUSUM+ algorithm (see pull requests #34, #43, #45, and #46)
- Added the ability to read arbitrary binary files.
- Renamed StepResponseAnalysis to ADEPT 2-state.
- Renamed multiStateAnalysis to ADEPT.
- CUSUM+ is now used to generate initial guesses for ADEPT
- Streamlined unit test framework. Added new tests for CUSUM+.
- Updated MOSAIC dependencies to include newer package versions and pandas. Run 'python setup.py mosaic_deps' to update.
- Added a new metadata column (mdStateResTime) that saves the residence time of each state to the database. This affects ADEPT and CUSUM+.
- Processing time per event is now saved to the database.
- Added support for warning status codes that begin with 'w'. These codes preserve metadata in the SQLite output and are used to flag events that need closer inspection.
- Removed mosaicgui from PyPi. 'pip install mosaic-nist' only installs command line modules. 
- Top level ConvertTrajIO supports binary and ASCII files.
- Added Travis continous integration support.
- [GUI] Added a binary update service for Windows and OS X.
- [GUI] Added a table that displays fit parameters in the event viewer window.
- [GUI] Added more descriptive fit errors.
- [GUI] Added CUSUM+ support to MOSAIC GUI.
- [GUI] Export SQLITE database to CSV (#56).
- [GUI] Support for warning codes in fit event viewer.
- [GUI] Performance optimizations.
- [GUI] Fit window in MOSAIC GUI displays idealized pulses overlays.
- [GUI] Added additional analysis statistics.

- [Addons] Added CUSUM+ support to Mathematica addon (PlotEvents in MosaicUtils.m)
- [Addons] Mathematica queries are *optionally* handled through an external Python script to improve performance.
- [Addons] Added an option to limit PlotEvents in Mathematica addon to N events.

- Known Issues: See #8, #10, #40, #63 and #69.

**v1.2**

- Added support for arbitrary binary file formats (#33)
- [GUI] Included binary file support.
- Documentation updates and bug fixes.
- *Known Issues:* See #8 and #10.

**v1.1**

- [Addons] IGOR support.
- PyPi package automatically installs MOSAIC dependencies.
- Miscellaneous bug fixes.
- *Known Issues:* See #8 and #10.

**v1.0**

- Fixed a bug in multistate code that constrained the RC constant resulting in systematic fitting errors (pull request #25).
- Updated multistate to include a separate RC constant for each state, to be consistent with functional form in Balijepalli et al., ACS Nano 2014.
- Misc bug fixes in tsvTrajIO parsing.
- The number of states is saved to the MDIO DB for multistate analysis (issue #26).
- Created a new package on PyPI (mosaic-nist) to allow installation with setuptools.
- [GUI] Updated help link to point to Sphinx documentation on Github.
- *Known Issues:* See #8 and #10 

**v1.0b3.2**

- [GUI] Misc bug fixes
- [Addons] Added code to import MOSAIC output into Matlab (pull requests #18 and #20)
- [Addons] Updated Mathematica addons to automatically decode multi-state data.
- Resolves issues #16 and #22

**v1.0b3.1**

- [GUI] Added multiState support to mosaicgui.
- Analysis information such as alogirthms used, data type, etc. are now stored within a MDIO database.
- [GUI] Autocomplete in mosaicgui only suggests database columns that are valid when used in a query.
- Reorganized Mathematica addon code.


**v1.0b3**

- Fixed a bug that prevented events longer than ~700 data points from being correctly analyzed.
- Fixed a problem that prevented event data from being correctly padded before analysis.
- Resolves #2. TrajIO settings are now read in from the settings file.
- [GUI] Resolves #3. Threshold entry box in GUI becomes nonresponsive when meanOpenCurr is negative.
- [GUI] Resolves #4. Analysis fails when using wavletDenioseFilter from GUI.
- [GUI] Histogram in BlockDepthViewer window can be saved to a CSV file from the File Menu.
- Analysis log is saved to the MDIO database.
- [GUI] ConsoleLogViwer displays the analysis log saved in the MDIO database.
- [GUI] Added a new dialog that displays an experimental feature warning wavelet-based denoising is selected.
- Updated error codes reported in database to be more descriptive of the failure.
- Improved and expanded unit testing framework.
- Moved installation and testing to setuptools.


**v1.0b2**

- [GUI] Fixed threshold update error from 1.0b1.
- Considerably improved automatic open channel state detection.
- The default settings string is now included within the source code.
- Implemented new top-level class ConvertToCSV that allows conversion of data read by any TrajIO object to comma separated files.
- Updated build system and unit testing framework.
- [GUI] Misc UI updates.


**v1.0b1**

- [GUI] Added a menu option to save a settings file prior to starting the analysis.
- [GUI] Current threshold is now defined by an ionic current. The trajectory viewer displays the deviation of the threshold from the mean current.
- Analysis settings are saved within the analysissettings table of the sqlite database. When an analysis database is loaded into the GUI, settings are parsed from within the database.
- When an analysis file is loaded, widgets in the main window remain enabled. This allows starting a new analysis run with the current settings.
- [GUI] Implemented an analysis log viewer that displays the event processing log.
- [GUI] Initial commit of wavelets based peak detection in blockdepthview.
- [GUI] Added all points histogram to trajectory viewer. 
- *Known Issues:* Selecting automatic baseline detection can sometimes cause the threshold in the trajectory viewer to change. Moving the slider will cause the settings and trajectory windows to synchronize.
