Metadata-Version: 2.1
Name: copy-scanner
Version: 0.0.1.2
Summary: High-resolution copy number variant calling in single-cell whole-genome sequencing.
License: MIT
Keywords: genomics,CNV,CNA,single cell
Author: Yifan Zhao
Requires-Python: >=3.8
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Dist: joblib (>=1.3.2,<2.0.0)
Requires-Dist: matplotlib (==3.7.3)
Requires-Dist: pandas (==2.0.1)
Requires-Dist: scikit-learn (>=1.3.2,<2.0.0)
Requires-Dist: toml (>=0.10.2,<0.11.0)
Requires-Dist: tqdm (>=4.66.1,<5.0.0)
Description-Content-Type: text/markdown

<img src="image.png" alt="Logo generated by DALLE-3" width="80" height="90" style="float: right;"/>

# SCANNER (Single cell Allelic copy Number scanNER)
[![PyPI version](https://badge.fury.io/py/copy-scanner.svg)](https://badge.fury.io/py/copy-scanner)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Scanner is a lightweight python package for high-resolution single-cell copy number analysis.

## Content
- [Installation](#installation)
- [Requirements](#requirements)
- [Quick Start](#quick-start)
- [Operating System](#operating-system)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [Support](#support)
- [LICENSE](#license)

## Installation

It is recommended to install scanner in a virtual environment. Here's how to create one using conda:
```bash
conda create -n scanner_env python=3.8
```
To install scanner, simply use pip:
```bash
pip install copy-scanner
```
## Requirements
Scanner requires [`bcftools`](https://samtools.github.io/bcftools/bcftools.html), which must be included in `PATH`. All other dependencies should be installed automatically with pip.


## Quick Start
To get started with scanner, please refer to our [tutorial](docs/tutorial.md). Here's a quick example:
```python
import scanner
# define your json file path
path = "your/dir/to/json"
# preprocess
scanner.pp.preprocess(path)
# segment
scanner.tl.segment(path)
# infer copy number
scanner.tl.infer_copy_number(path)
# visualize 
scanner.pl.plot_whole_genome_track(path)
```

## Command line interface
For advanced users interested in multi-sample segmentation (e.g., repurposing for bulk samples), Scanner provides a command line interface. In bash, simply run:
```bash
scanner-segment -i {input_file} -l {LAMBDA} -o {output_file}
```
For more details, please refer to our [documentation](docs/).

## Operating System
Scanner was tested in the following operating systems:
- macOS Ventura 13.5.2
- CentOS Linux 7.9
- Windows 11

## Documentation
For more detailed information and advanced usage, please refer to our [documentation](docs/).

## Support
Scanner is currently under active development. For support or questions, please open an issue on our [GitHub repository](github.com/parklab/scanner).

## Contributing
Contributions to scanner are welcome. Please refer to our [contribution guidelines](docs/contribution_guidelines.md) for more information.

## LICENSE
Scanner is released under the [MIT License](LICENSE), and is freely available for non-commercial use.
