AsaruSim
is an automated Nextflow workflow designed for simulating 10x single-cell Nanopore reads. It allows to benchmark and optimize single-cell Nanopore long read data processing pipelines.
Before starting, ensure the following tools are installed and properly set up on your system:
- Nextflow: A workflow engine for complex data pipelines. Installation guide for Nextflow.
- Docker or Singularity: Containers for packaging necessary software, ensuring reproducibility. Docker installation guide, Singularity installation guide.
- Git: Required to clone the workflow repository. Git installation guide.
Clone the AsaruSim
GitHub repository:
git clone https://github.com/alihamraoui/AsaruSim.git
cd AsaruSim
Customize runs by editing the nextflow.config
file and/or specifying parameters at the command line.
Here are the primary input parameters for configuring the workflow:
Parameter | Description | Default Value |
---|---|---|
matrix |
Path to the count matrix csv file (required) | test_data/matrix.csv |
bc_counts |
Path to the barcode count file | test_data/test_bc.csv |
transcriptome |
Path to the reference transcriptome file (required) | test_data/transcriptome.fa |
features |
Matrix feature counts | transcript_id |
gtf |
Path to transcriptom annotation .gtf file | null |
cell_types_annotation |
Path to cell type annotation .csv file | null |
Configuration for error model:
Parameter | Description | Default Value |
---|---|---|
trained_model |
Badread pre-trained error/Qscore model name | nanopore2023 |
badread_identity |
Comma-separated values for Badread identity parameters | "98,2,99" |
error_model |
Custom error model file (optional) | null |
qscore_model |
Custom Q-score model file (optional) | null |
build_model |
to build your own error/Qscor model | false |
model_fastq |
reference real read (.fastq) to train error model (optional) | false |
ref_genome |
reference genome .fasta file (optional) | false |
Parameter | Description | Default Value |
---|---|---|
amp |
Amplification factor | 1 |
outdir |
Output directory for results | "results" |
projectName |
Name of the project | "test_project" |
Configuration for running the workflow:
Parameter | Description | Default Value |
---|---|---|
threads |
Number of threads to use | 4 |
container |
Docker container for the workflow | 'hamraouii/wf-SLSim' |
docker.runOptions |
Docker run options to use | '-u $(id -u):$(id -g)' |
To run the workflow with basic example:
You can simulate a realistic disribution of per barcodes UMI counts by providing in addition to the filtered counts matrix a .csv file of BC counts. AsaruSim will add a random transcrips count to fit the real distribution.
nextflow run main.nf --matrix test_data/matrix.csv \
--bc_counts test_data/test_bc.csv \
--transcriptome test_data/transcriptome.fa \
User can choose among 4 ways to simulate template reads.
- use a real count matrix
- estimated the parameter from a real count matrix to simulate synthetic count matrix
- specified by his/her own the input parameter
- a combination of the above options
We use SPARSIM tools to simulate count matrix. for more information a bout synthetic count matrix, please read SPARSIM documentaion.
nextflow run main.nf --matrix test_data/matrix.csv \
--transcriptome test_data/transcriptome.fa
After execution, results will be available in the specified --outdir
. This includes simulated Nanopore reads .fastq
, along with log files and QC report.
To clean up temporary files generated by Nextflow:
nextflow clean -f
- We would like to express our gratitude to Youyupei for the development of SLSim, which has been helpful to the
AsaruSim
workflow. - Additionally, our thanks go to the teams behind Badread and SPARSim, whose tools are integral to the
AsaruSim
workflow.
For support, please open an issue in the repository's "Issues" section. Contributions via Pull Requests are welcome. Follow the contribution guidelines specified in CONTRIBUTING.md
.
AsaruSim
is distributed under a specific license. Check the LICENSE
file in the GitHub repository for details.