https://github.com/chrovis/duxhund
DUX4 fusions finder
https://github.com/chrovis/duxhund
Last synced: 4 months ago
JSON representation
DUX4 fusions finder
- Host: GitHub
- URL: https://github.com/chrovis/duxhund
- Owner: chrovis
- License: gpl-3.0
- Created: 2021-02-11T08:14:18.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-01-09T08:08:33.000Z (over 1 year ago)
- Last Synced: 2025-01-09T08:19:51.903Z (over 1 year ago)
- Language: Clojure
- Size: 70.3 KB
- Stars: 2
- Watchers: 13
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# duxhund
[](https://github.com/chrovis/duxhund/actions/workflows/build.yml)
[](https://github.com/chrovis/duxhund/actions/workflows/test.yml)
DUX4 fusions finder
## Overview
Duxhund is a dedicated tool to call DUX4 fusions. It calls DUX4 fusions by the following three steps:
- Align the input reads by BWA
- Cut off softclips from the alignments and realign them with BWA, using a reference sequence that masks the pseudo-gene regions of DUX4
- Extract appropriate triplets of alignments from the realigned result and call them with fusionfusion
## Prerequisites
### For running from the command line
- [BWA](https://github.com/lh3/bwa)
- [samtools](https://github.com/samtools/samtools)
- [fusionfusion](https://github.com/Genomon-Project/fusionfusion)
- Java JDK (>= 8)
- [Leiningen](https://leiningen.org/) (to build Clojure code)
### For running in a Docker container
- [Docker](https://www.docker.com/)
## Usage
Duxhund provides the following scripts:
- `duxhund.sh`: to run from the command line
- `duxhund_batch.sh` to run as an AWS Batch job
### Running `duxhund.sh` script
The `duxhund.sh` script supports two ways to run:
- To run in a Docker container
- To run directly from the command line
#### Running in Docker container
To run `duxhund.sh` in a Docker container, you'll need to build the Docker image first.
To build the Docker image, run:
```sh
./script/build.sh
```
Or, if you would like to name the resulting image, run:
```sh
IMAGE_NAME= ./script/build.sh
```
By default, the image name will be `chrovis/duxhund:latest`.
Once you build the image, you can run `duxhund.sh` as:
```sh
docker run duxhund.sh ...
```
#### Running directly from command line
To run `duxhund.sh` directly from the command line, you'll need to build the Clojure code first.
To build it, run:
```sh
lein uberjar
```
After the Clojure code is successfully built, the `duxhund.jar` file will be generated in the `target` directory.
To run `duxhund.sh`, run:
```sh
DUXHUND_JAR= duxhund.sh ...
```
If you have the dependant tools (i.e. BWA, samtools and fusionfusion) installed not on your `PATH`, you'll need to specify their installation paths in addition:
```sh
BWA= SAMTOOLS= \
FUSIONFUSION= DUXHUND_JAR= duxhund.sh ...
```
### Options for `duxhund.sh`
The `duxhund.sh` script takes the following options as the command line arguments, which are all mandatory:
- `--reference`: The path to the reference FASTA file
- `--masked-reference`: The path to the masked reference FASTA file (see below for details)
- `--target`: The path to the target BED file
- `--r1`, `--r2`: The paths to the input FASTQ files
- `--output`: The path to the output directory
### How to make a masked reference
A masked reference is a reference that is masked for the regions of DUX4 pseudo-genes.
To make a masked reference, run the following commands:
```sh
$ bedtools maskfasta \
-fi \
-bed \
-fo
$ bwa index
```
Duxhund bundles the DUX4 pseudo-gene BED file in the [`resources/`](resources) directory.
## License
Copyright © 2021 [Xcoo, Inc.](https://xcoo.jp/)
This program is distributed under the GNU General Public License v3. See [LICENSE](LICENSE) for details.