# Getting Started

## Overview

SSBlazer represents a pioneering effort to harness deep learning techniques for the prediction of Single Strand Break (SSB) sites. It utilizes genome-wide single-strand break sequencing data with single-nucleotide resolution to make these predictions. For more information, to download the tool, or to contribute, visit the [SSBlazer GitHub repository](https://github.com/sxu99/ssblazer). For a web-based interface that enables easy use of this tool, check out the [SSBlazer Web Server](https://proj.cse.cuhk.edu.hk/aihlab/ssblazer/).&#x20;

<figure><img src="https://291993907-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fue7hNT9bnXKZlKTD9W0c%2Fuploads%2FsBoGlN4F3ov5SwwjCkVH%2F20231028_figures_big.png?alt=media&#x26;token=4d61e1ef-b87a-47b6-9a2e-61efe1841810" alt=""><figcaption><p>Pipeline of SSBlazer</p></figcaption></figure>

## Operating Instructions

SSBlazer is designed to perform three primary functions:

1. **Prediction of DNA Single Strand Break Sites**\
   SSBlazer can accurately predict the probability of single strand breaks at each nucleotide position within a DNA sequence provided in FASTA format. ([Manual](https://sxu99.gitbook.io/ssblazer/use-cases/break-sites-prediction), [Web Server](https://proj.cse.cuhk.edu.hk/aihlab/ssblazer/#/home))
2. **Point Mutation Analysis:**\
   The software can also predict the impact of point mutations on nearby DNA break probability. ([Manual](https://sxu99.gitbook.io/ssblazer/use-cases/mutation-analysis), [Web Server](https://proj.cse.cuhk.edu.hk/aihlab/ssblazer/#/pred_snp/))
3. **Training a New Model:**\
   Beyond SSB predictions, SSBlazer's framework allows for training on different lesion types, such as double-strand breaks, by supplying a dataset specific to the desired lesion type. ([Manual](https://sxu99.gitbook.io/ssblazer/use-cases/train-a-new-model))

{% hint style="info" %}
For optimal performance, input lengths are limited in the web server. Please use our local software version for larger tasks.
{% endhint %}

## Environment Setup

To get started with SSBlazer, we need to set up the environment correctly.

#### Step 1: Clone the Repository

First, download the repository by cloning it from the GitHub repository.

```sh
git clone https://github.com/sxu99/ssblazer.git
```

Once cloned, you need to navigate into the `ssblazer` directory.

```sh
cd ./ssblazer
```

#### Step 2: Create the Environment

Next, you will need to create a new environment. We use the `conda` package manager for this. If you don't have `conda` installed, you can download it from the [official site](https://docs.conda.io/en/latest/miniconda.html).

With `conda` installed, create the environment using the following command:

```sh
conda env create -f environment.yml
```

#### Step 3: Activate the Environment

Once the environment is created, you can activate it using the following command:

```sh
conda activate ssblazer
```

After these steps, your environment is set up and ready to go!

## Predict SSB Sites from Sequence

With SSBlazer, you can make predictions either from a local fasta file or using our online tool. You can use a local fasta file to make predictions. The following command uses a test fasta file and a batch size of 128:

```sh
python prediction.py --file ./test.fa --batchsize 128
```

After running the prediction script, the results will be saved in a `.bed` file format. This file, `result.bed`, contains the predicted SSB sites.

## Contact Us

This software is developed by [Sheng Xu](https://sxu99.github.io/), [Junkang Wei](https://tikeng.github.io/) and [Yu Li](https://liyu95.com/). If you have any questions or need assistance with SSBlazer, you can contact Yu Li directly at `liyu[AT]cse.cuhk.edu.hk`. For bug reporting, feature requests, or general questions about the tool, you may also raise an issue on the [SSBlazer GitHub repository](https://github.com/sxu99/ssblazer).&#x20;

## Citation

If you use SSBlazer in your work, please cite the publication:

* Xu S, Wei J, Li Y. Genome-wide nucleotide-resolution model of single-strand break site reveals species evolutionary hierarchy\[J]. arXiv preprint arXiv:2208.09813, 2022.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sxu99.gitbook.io/ssblazer/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
