Metadata-Version: 2.4
Name: echofox
Version: 0.1.0
Summary: NMR Data Processing and Analysis Package
Author-email: EchoFox <hillerlab@unibas.ch>
License: GPL-3.0-or-later
Project-URL: Homepage, https://github.com/yourusername/echofox
Project-URL: Repository, https://github.com/yourusername/echofox
Project-URL: Documentation, https://echofox.readthedocs.io
Keywords: nmr,spectroscopy,data-analysis,scientific-computing
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24.0
Requires-Dist: scipy>=1.10.0
Requires-Dist: matplotlib>=3.7.0
Requires-Dist: pandas>=2.0.0
Requires-Dist: nmrglue>=0.9
Requires-Dist: scikit-learn>=1.3.0
Requires-Dist: h5py>=3.8.0
Requires-Dist: tqdm>=4.65.0
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: black>=23.7.0; extra == "dev"
Requires-Dist: flake8>=6.1.0; extra == "dev"
Requires-Dist: mypy>=1.5.0; extra == "dev"
Requires-Dist: ipython>=8.14.0; extra == "dev"
Requires-Dist: jupyter>=1.0.0; extra == "dev"
Requires-Dist: ipykernel>=6.25.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=7.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.3.0; extra == "docs"
Requires-Dist: numpydoc>=1.5.0; extra == "docs"
Provides-Extra: all
Requires-Dist: echofox[dev,docs]; extra == "all"
Dynamic: license-file

<h1 align="center">
  <br>
  <img src="logo_placeholder.jpg" width="220">
  <br>
  <b>EchoFox</b>
  <br>
</h1>

## General Information

Welcome to the EchoFox repository!

EchoFox is a Python package developed by the Hiller group at the University of Basel for processing, analyzing, and plotting biomolecular data. The package provides tools for quickly generating clean, publication-ready figures from NMR data.

In addition to NMR-related functionality, EchoFox also includes scripts and utilities for working with data from other common biophysical techniques, such as chromatography runs, ITC experiments, and DSF melting curves. The goal of the project is to make routine data analysis and plotting faster and simpler within the lab and for anyone else who finds it useful.

## Installation

The latest main release of EchoFox can be installed using pip:

```bash
pip install echofox
```

The latest (potentially unstable) version can be installed by cloning the repository and installing it so:

```bash
[build instructions]
```

## Short examples

```python
import echofox as ef

# Set up plot
fig, axs = ef.make_plot(
    2, 1, size=(45, 12),
    layout="constrained",
    gridspec_kw={'height_ratios': [1, 5]}
)

# Draw secondary structure 
nk.draw_secondary_structure(
    axs[0], "3agx", range=(1, 1+len(seq)),
    domain_color_map=[
      {"name": "JD", "range": [0, 78], "color": "#d23d3d"},
      {"name": "GF", "range": [79, 158], "color": "#888888"},
      {"name": "CTD1", "range": [159, 246], "color": "#68a7ce"},
      {"name": "CTD2", "range": [247, 323], "color": "#4d4d76"},
      {"name": "DD", "range": [324, 340], "color": "#fcd479"},
  ]
)

# Import peak lists
df_ref = ef.import_assignment("reference.xlsx")
df_comp = ef.import_assignment("compare.xlsx")

# Plot CSPs
axs[1] = ef.plot_csps(
    axs[1], df_ref, df_comp,
    bars_kwargs = {
      "width": 1.05,
      "linewidth": 0.0,
      "edgecolor": "black",
    },
    ylim = (0, 0.15)
)

ef.block_missing_res(axs) # Add grey bars for missing residues

ef.save_plot("my_plot", formats=["png", "pdf"], dpi=300) # Export plot
```

<img src="readme_example_plot.png">


## License

- [**GPL-3.0 license**](https://github.com/hiller-lab/EchoFox/blob/main/LICENSE)
