k-mer similarity analysis pipeline

public public 1yr ago Version: dev 0 bookmarks

Compare DNA/RNA/protein sequences on k-mer content .

Introduction

Workflow overview

The pipeline is built using Nextflow , a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible.

Quick Start

i. Install nextflow

ii. Install either Docker or Singularity for full pipeline reproducibility (please only use Conda as a last resort; see docs )

iii. Download the pipeline and test it on a minimal dataset with a single command

nextflow run nf-core/kmermaid -profile test,<docker/singularity/conda/institute>

Please check nf-core/configs to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use -profile <institute> in your command. This will enable either docker or singularity and set the appropriate execution settings for your local compute environment.

iv. Start running your own analysis!

nextflow run nf-core/kmermaid -profile <docker/singularity/conda/institute> --input '*_R{1,2}.fastq.gz' --genome GRCh37

See usage docs for all of the available options when running the pipeline.

Documentation

The nf-core/kmermaid pipeline comes with documentation about the pipeline, found in the docs/ directory:

  1. Installation

  2. Pipeline configuration

  3. Running the pipeline

  4. Output and how to interpret the results

  5. Troubleshooting

Usage

With a samples.csv file

nextflow run nf-core/kmermaid --outdir s3://bucket/sub-bucket --samples samples.csv

With R1, R2 read pairs

nextflow run nf-core/kmermaid --outdir s3://olgabot-maca/nf-kmer-similarity/ \
 --read_pairs 's3://bucket/sub-bucket/*{R1,R2}*.fastq.gz,s3://bucket/sub-bucket2/*{1,2}.fastq.gz'

With SRA ids

nextflow run nf-core/kmermaid --outdir s3://bucket/sub-bucket --sra SRP016501

With fasta files

nextflow run nf-core/kmermaid --outdir s3://bucket/sub-bucket \
 --fastas '*.fasta'

With bam file

nextflow run nf-core/kmermaid --outdir s3://bucket/sub-bucket \
 --bam 'possorted_genome_bam.bam'

With split kmer

nextflow run nf-core/kmermaid --outdir s3://bucket/sub-bucket --samples samples.csv --split_kmer --subsample 1000

Credits

nf-core/kmermaid was originally written by Olga Botvinnik.

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines .

For further information or help, don't hesitate to get in touch on Slack (you can join with this invite ).

Citation

If you use nf-core/kmermaid for your analysis, please cite it using the following doi: 10.5281/zenodo.4143940

You can cite the nf-core publication as follows:

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 .
ReadCube: Full Access Link

Code Snippets

325
326
327
328
329
330
"""
echo $workflow.manifest.version > v_pipeline.txt
echo $workflow.nextflow.version > v_nextflow.txt
sourmash info &> v_sourmash.txt
scrape_software_versions.py &> software_versions_mqc.yaml
"""
NextFlow From line 325 of master/main.nf
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
"""
  sourmash compute \\
    --ksize $ksize \\
    --$molecule \\
    $not_dna \\
    --num-hashes \$((2**$log2_sketch_size)) \\
    $processes \\
    $min_umi_per_barcode \\
    $line_count \\
    $rename_10x_barcodes \\
    $barcodes_file \\
    $save_fastas \\
    $metadata \\
    --output ${sample_id}_${sketch_id}.sig \\
    --input-is-10x $bam
  find . -type f -name "*.fasta" | while read src; do if [[ \$src == *"|"* ]]; then mv "\$src" \$(echo "\$src" | tr "|" "_"); fi done
"""
NextFlow From line 373 of master/main.nf
419
420
421
422
423
424
425
426
427
"""
sourmash compute \\
  --num-hashes \$((2**$log2_sketch_size)) \\
  --ksizes $ksize \\
  --$molecule \\
  $not_dna \\
  --output ${sample_id}_${sketch_id}.sig \\
  $reads
"""
NextFlow From line 419 of master/main.nf
430
431
432
433
434
435
436
437
438
439
"""
sourmash compute \\
  --num-hashes \$((2**$log2_sketch_size)) \\
  --ksizes $ksize \\
  --$molecule \\
  $not_dna \\
  --output ${sample_id}_${sketch_id}.sig \\
  --merge '$sample_id' \\
  $reads
"""
NextFlow From line 430 of master/main.nf
462
463
464
465
466
467
468
469
"""
sourmash compare \\
      --ksize ${ksize[0]} \\
      --${molecule[0]} \\
      $processes \\
      --csv similarities_${sketch_id}.csv \\
      --traverse-directory .
"""
NextFlow From line 462 of master/main.nf
ShowHide 5 more snippets with no or duplicated tags.

Login to post a comment if you would like to share your experience with this workflow.

Do you know this workflow well? If so, you can request seller status , and start supporting this workflow.

Free

Created: 1yr ago
Updated: 1yr ago
Maitainers: public
URL: https://nf-co.re/kmermaid
Name: kmermaid
Version: dev
Badge:
workflow icon

Insert copied code into your website to add a link to this workflow.

Downloaded: 0
Copyright: Public Domain
License: None
  • Future updates

Related Workflows

cellranger-snakemake-gke
snakemake workflow to run cellranger on a given bucket using gke.
A Snakemake workflow for running cellranger on a given bucket using Google Kubernetes Engine. The usage of this workflow ...