An open API service indexing awesome lists of open source software.

https://github.com/daisybio/domainsplit

A nextflow pipeline to split domain-domain interaction data into train, validation, and test while reducing data leakage and bias.
https://github.com/daisybio/domainsplit

Last synced: about 1 month ago
JSON representation

A nextflow pipeline to split domain-domain interaction data into train, validation, and test while reducing data leakage and bias.

Awesome Lists containing this project

README

          

# daisybio/domainsplit

[![Open in GitHub Codespaces](https://img.shields.io/badge/Open_In_GitHub_Codespaces-black?labelColor=grey&logo=github)](https://github.com/codespaces/new/daisybio/domainsplit)
[![GitHub Actions CI Status](https://github.com/daisybio/domainsplit/actions/workflows/nf-test.yml/badge.svg)](https://github.com/daisybio/domainsplit/actions/workflows/nf-test.yml)
[![GitHub Actions Linting Status](https://github.com/daisybio/domainsplit/actions/workflows/linting.yml/badge.svg)](https://github.com/daisybio/domainsplit/actions/workflows/linting.yml)[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.XXXXXXX-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.XXXXXXX)
[![nf-test](https://img.shields.io/badge/unit_tests-nf--test-337ab7.svg)](https://www.nf-test.com)

[![Nextflow](https://img.shields.io/badge/version-%E2%89%A525.10.2-green?style=flat&logo=nextflow&logoColor=white&color=%230DC09D&link=https%3A%2F%2Fnextflow.io)](https://www.nextflow.io/)
[![nf-core template version](https://img.shields.io/badge/nf--core_template-4.0.2-green?style=flat&logo=nfcore&logoColor=white&color=%2324B064&link=https%3A%2F%2Fnf-co.re)](https://github.com/nf-core/tools/releases/tag/4.0.2)
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
[![Launch on Seqera Platform](https://img.shields.io/badge/Launch%20%F0%9F%9A%80-Seqera%20Platform-%234256e7)](https://cloud.seqera.io/launch?pipeline=https://github.com/daisybio/domainsplit)

## Introduction

**daisybio/domainsplit** is a bioinformatics pipeline that ...
This directory contains a Nextflow pipeline that downloads and processes all required public databases (3did, UniProt, Negatome, STRING, Pfam, pfam2go) to generate the `domainsplit.sqlite3` database of domain-domain interactions, then splits it into train/validation/test partitions using several leakage-reduction strategies.

## Usage

> [!NOTE]
> If you are new to Nextflow and nf-core, please refer to [this page](https://nf-co.re/docs/get_started/environment_setup/overview) on how to set-up Nextflow. Make sure to [test your setup](https://nf-co.re/docs/get_started/run-your-first-pipeline) with `-profile test` before running the workflow on actual data.

Now, you can run the pipeline using:

```bash
nextflow run daisybio/domainsplit \
-profile \
--outdir
```

> [!WARNING]
> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/running/run-pipelines#using-parameter-files).

## Output

The main output is the SQLite database file `domainsplit.sqlite3` in the `results` directory, plus per-method, per-split databases under `results/split_databases//.sqlite3`.

## Notes

- Each process in `main.nf` is commented for clarity.
- Some processes require external scripts (e.g., `mysql2sqlite` for 3did conversion).
- You may need to adjust paths or URLs as needed.

## Environment variables

Some processes require secrets passed via environment variables. Copy `.env.example` to `.env` and fill in your values — the `.env` file is gitignored.

| Variable | Required | Description |
| ---------- | -------------------- | --------------------------------------------------------------------------------------------------------------- |
| `HF_TOKEN` | Yes (ESM embeddings) | HuggingFace access token for downloading ESM model weights. Obtain at . |

On a SLURM cluster, export the variable in your job script or pass it as a [Nextflow secret](https://www.nextflow.io/docs/latest/secrets.html):

```bash
nextflow secrets set HF_TOKEN
```

## Credits

daisybio/domainsplit was originally written by Konstantin Pelz, Christian Romberg, Chiara Thomas.

We thank the following people for their extensive assistance in the development of this pipeline:

## Contributions and Support

If you would like to contribute to this pipeline, please see the [contributing guidelines](docs/CONTRIBUTING.md).

## Citations

An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.

This pipeline uses code and infrastructure developed and maintained by the [nf-core](https://nf-co.re) community, reused here under the [MIT license](https://github.com/nf-core/tools/blob/main/LICENSE).

> **The nf-core framework for community-curated bioinformatics pipelines.**
>
> Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
>
> _Nat Biotechnol._ 2020 Feb 13. doi: [10.1038/s41587-020-0439-x](https://dx.doi.org/10.1038/s41587-020-0439-x).