resolve merge conflicts

This commit is contained in:
FriederikeHanssen 2021-02-24 10:03:16 +01:00
commit 4673c119c7
108 changed files with 164585 additions and 26 deletions

View file

@ -25,6 +25,6 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/modu
- [ ] Add a resource `label`
- [ ] Use BioConda and BioContainers if possible to fulfil software requirements.
- Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:
- [ ] `PROFILE=docker pytest --tag <MODULE> --symlink --wt 2 --keep-workflow-wd`
- [ ] `PROFILE=singularity pytest --tag <MODULE> --symlink --wt 2 --keep-workflow-wd`
- [ ] `PROFILE=conda pytest --tag <MODULE> --symlink --wt 2 --keep-workflow-wd`
- [ ] `PROFILE=docker pytest --tag <MODULE> --symlink --keep-workflow-wd`
- [ ] `PROFILE=singularity pytest --tag <MODULE> --symlink --keep-workflow-wd`
- [ ] `PROFILE=conda pytest --tag <MODULE> --symlink --keep-workflow-wd`

59
.github/filters.yml vendored
View file

@ -18,6 +18,10 @@ bcftools_merge:
- software/bcftools/merge/**
- tests/software/bcftools/merge/**
bcftools_mpileup:
- software/bcftools/mpileup/**
- tests/software/bcftools/mpileup/**
bcftools_stats:
- software/bcftools/stats/**
- tests/software/bcftools/stats/**
@ -54,6 +58,14 @@ bedtools_sort:
- software/bedtools/sort/**
- tests/software/bedtools/sort/**
bismark_deduplicate:
- software/bismark/deduplicate/**
- tests/software/bismark/deduplicate/**
bismark_genome_preparation:
- software/bismark/genome_preparation/**
- tests/software/bismark/genome_preparation/**
blast_makeblastdb:
- software/blast/makeblastdb/**
- tests/software/blast/makeblastdb/**
@ -96,6 +108,14 @@ bwamem2_mem:
- software/bwamem2/mem/**
- tests/software/bwamem2/mem/**
bwameth_align:
- software/bwameth/align/**
- tests/software/bwameth/align/**
bwameth_index:
- software/bwameth/index/**
- tests/software/bwameth/index/**
cat_fastq:
- software/cat/fastq/**
- tests/software/cat/fastq/**
@ -124,6 +144,26 @@ gatk_createsequencedictionary:
- software/gatk/createsequencedictionary/**
- tests/software/gatk/createsequencedictionary/**
gatk4_mergevcfs:
- software/gatk4/mergevcfs/**
- tests/software/gatk4/mergevcfs/**
gatk4_bedtointervallist:
- software/gatk4/bedtointervallist/**
- tests/software/gatk4/bedtointervallist/**
gatk4_revertsam:
- software/gatk4/revertsam/**
- tests/software/gatk4/revertsam/**
gatk4_samtofastq:
- software/gatk4/samtofastq/**
- tests/software/gatk4/samtofastq/**
gatk4_splitncigarreads:
- software/gatk4/splitncigarreads/**
- tests/software/gatk4/splitncigarreads/**
gffread:
- software/gffread/**
- tests/software/gffread/**
@ -148,6 +188,14 @@ ivar_variants:
- software/ivar/variants/**
- tests/software/ivar/variants/**
methyldackel_extract:
- software/methyldackel/extract/**
- tests/software/methyldackel/extract/**
methyldackel_mbias:
- software/methyldackel/mbias/**
- tests/software/methyldackel/mbias/**
minimap2_align:
- software/minimap2/align/**
- tests/software/minimap2/align/**
@ -181,6 +229,10 @@ preseq_lcextrap:
- software/preseq/lcextrap/**
- tests/software/preseq/lcextrap/**
qualimap_bamqc:
- software/qualimap/bamqc/**
- tests/software/qualimap/bamqc/**
quast:
- software/quast/**
- tests/software/quast/**
@ -193,6 +245,10 @@ salmon_quant:
- software/salmon/quant/**
- tests/software/salmon/quant/**
samtools_faidx:
- software/samtools/faidx/**
- tests/software/samtools/faidx/**
samtools_flagstat:
- software/samtools/flagstat/**
- tests/software/samtools/flagstat/**
@ -228,6 +284,9 @@ seacr_callpeak:
seqkit_split2:
- software/seqkit/split2/**
- tests/software/seqkit/split2/**
seqwish_induce:
- software/seqwish/induce/**
- tests/software/seqwish/induce/**
star_align:
- software/star/align/**

View file

@ -80,7 +80,8 @@ jobs:
# Test the module
- name: Run pytest-workflow
run: TMPDIR=~ PROFILE=${{ matrix.profile }} pytest --tag ${{ matrix.tags }} --symlink --wt 2 --kwdof
# only use one thread for pytest-workflow to avoid race condition on conda cache.
run: TMPDIR=~ PROFILE=${{ matrix.profile }} pytest --tag ${{ matrix.tags }} --symlink --kwdof
- name: Upload logs on failure
if: failure()

View file

@ -275,21 +275,21 @@ In order to test that each module added to `nf-core/modules` is actually working
```console
cd /path/to/git/clone/of/nf-core/modules/
PROFILE=docker pytest --tag bowtie --symlink --wt 2 --keep-workflow-wd
PROFILE=docker pytest --tag bowtie --symlink --keep-workflow-wd
```
- Typical command with Singularity:
```console
cd /path/to/git/clone/of/nf-core/modules/
TMPDIR=~ PROFILE=singularity pytest --tag bowtie --symlink --wt 2 --keep-workflow-wd
TMPDIR=~ PROFILE=singularity pytest --tag bowtie --symlink --keep-workflow-wd
```
- Typical command with Conda:
```console
cd /path/to/git/clone/of/nf-core/modules/
PROFILE=conda pytest --tag bowtie --symlink --wt 2 --keep-workflow-wd
PROFILE=conda pytest --tag bowtie --symlink --keep-workflow-wd
```
- See [docs on running pytest-workflow](https://pytest-workflow.readthedocs.io/en/stable/#running-pytest-workflow) for more info.

View file

@ -0,0 +1,61 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.args3 = args.args3 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", '') } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,47 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process BCFTOOLS_MPILEUP {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? "bioconda::bcftools=1.11" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/bcftools:1.11--h7c999a4_0"
} else {
container "quay.io/biocontainers/bcftools:1.11--h7c999a4_0"
}
input:
tuple val(meta), path(bam)
path fasta
output:
tuple val(meta), path("*.gz") , emit: vcf
tuple val(meta), path("*.tbi") , emit: tbi
tuple val(meta), path("*stats.txt"), emit: stats
path "*.version.txt" , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
"""
echo "${meta.id}" > sample_name.list
bcftools mpileup \\
--fasta-ref $fasta \\
$options.args \\
$bam \\
| bcftools call --output-type v $options.args2 \\
| bcftools reheader --samples sample_name.list \\
| bcftools view --output-file ${prefix}.vcf.gz --output-type z $options.args3
tabix -p vcf -f ${prefix}.vcf.gz
bcftools stats ${prefix}.vcf.gz > ${prefix}.bcftools_stats.txt
echo \$(bcftools --version 2>&1) | sed 's/^.*bcftools //; s/ .*\$//' > ${software}.version.txt
"""
}

View file

@ -0,0 +1,73 @@
name: bcftools_mpileup
description: Compresses VCF files
keywords:
- variant calling
- mpileup
- VCF
tools:
- consensus:
description: |
Generates genotype likelihoods at each genomic position with coverage.
homepage: http://samtools.github.io/bcftools/bcftools.html
documentation: http://www.htslib.org/doc/bcftools.html
doi: 10.1093/bioinformatics/btp352
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bam:
type: file
description: Input BAM file
pattern: "*.{bam}"
- fasta:
type: file
description: FASTA reference file
pattern: "*.{fasta,fa}"
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- vcf:
type: file
description: VCF gzipped output file
pattern: "*.{vcf.gz}"
- tbi:
type: file
description: tabix index file
pattern: "*.{tbi}"
- stats:
type: file
description: Text output file containing stats
pattern: "*{stats.txt}"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@joseespinosa"
- "@drpatelh"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,41 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process BISMARK_DEDUPLICATE {
tag "$meta.id"
label 'process_high'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? "bioconda::bismark==0.23.0" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/bismark:0.23.0--0"
} else {
container "quay.io/biocontainers/bismark:0.23.0--0"
}
input:
tuple val(meta), path(bam)
output:
tuple val(meta), path("*.deduplicated.bam") , emit: bam
tuple val(meta), path("*.deduplication_report.txt"), emit: report
path "*.version.txt" , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
def seqtype = meta.single_end ? '-s' : '-p'
"""
deduplicate_bismark \\
$options.args \\
$seqtype \\
--bam $bam
echo \$(bismark -v 2>&1) | sed 's/^.*Bismark Version: v//; s/Copyright.*\$//' > ${software}.version.txt
"""
}

View file

@ -0,0 +1,72 @@
name: bismark_deduplicate
description: |
Removes alignments to the same position in the genome
from the Bismark mapping output.
keywords:
- bismark
- 3-letter genome
- map
- methylation
- 5mC
- methylseq
- bisulphite
- bam
tools:
- bismark:
description: |
Bismark is a tool to map bisulfite treated sequencing reads
and perform methylation calling in a quick and easy-to-use fashion.
homepage: https://github.com/FelixKrueger/Bismark
documentation: https://github.com/FelixKrueger/Bismark/tree/master/Docs
doi: 10.1093/bioinformatics/btr167
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bam:
type: file
description: BAM file containing read alignments
pattern: "*.{bam}"
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bam:
type: file
description: Deduplicated output BAM file containing read alignments
pattern: "*.{deduplicated.bam}"
- report:
type: file
description: Bismark deduplication reports
pattern: "*.{deduplication_report.txt}"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@phue"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,37 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process BISMARK_GENOME_PREPARATION {
tag "$fasta"
label 'process_high'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:'') }
conda (params.enable_conda ? "bioconda::bismark==0.23.0" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/bismark:0.23.0--0"
} else {
container "quay.io/biocontainers/bismark:0.23.0--0"
}
input:
path fasta, stageAs: "BismarkIndex/*"
output:
path "BismarkIndex" , emit: index
path "*.version.txt", emit: version
script:
def software = getSoftwareName(task.process)
"""
bismark_genome_preparation \\
$options.args \\
BismarkIndex
echo \$(bismark -v 2>&1) | sed 's/^.*Bismark Version: v//; s/Copyright.*\$//' > ${software}.version.txt
"""
}

View file

@ -0,0 +1,57 @@
name: bismark_genome_preparation
description: |
Converts a specified reference genome into two different bisulfite
converted versions and indexes them for alignments.
keywords:
- bismark
- 3-letter genome
- index
- methylation
- 5mC
- methylseq
- bisulphite
- fasta
tools:
- bismark:
description: |
Bismark is a tool to map bisulfite treated sequencing reads
and perform methylation calling in a quick and easy-to-use fashion.
homepage: https://github.com/FelixKrueger/Bismark
documentation: https://github.com/FelixKrueger/Bismark/tree/master/Docs
doi: 10.1093/bioinformatics/btr167
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- fasta:
type: file
description: Input genome fasta file
output:
- index:
type: dir
description: Bismark genome index directory
pattern: "BismarkIndex"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@phue"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,46 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process BWAMETH_ALIGN {
tag "$meta.id"
label 'process_high'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? "bioconda::bwameth=0.2.2" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/bwameth:0.20--py35_0"
} else {
container "quay.io/biocontainers/bwameth:0.20--py35_0"
}
input:
tuple val(meta), path(reads)
path index
output:
tuple val(meta), path("*.bam"), emit: bam
path "*.version.txt" , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
def read_group = meta.read_group ? "-R ${meta.read_group}" : ""
"""
INDEX=`find -L ${index} -name "*.bwameth.c2t" | sed 's/.bwameth.c2t//'`
bwameth.py \\
$options.args \\
$read_group \\
-t $task.cpus \\
--reference \$INDEX \\
$reads \\
| samtools view $options.args2 -@ $task.cpus -bhS -o ${prefix}.bam -
echo \$(bwameth.py --version 2>&1) | cut -f2 -d" " > ${software}.version.txt
"""
}

View file

@ -0,0 +1,72 @@
name: bwameth_align
description: Performs alignment of BS-Seq reads using bwameth
keywords:
- bwameth
- alignment
- 3-letter genome
- map
- methylation
- 5mC
- methylseq
- bisulphite
- fastq
- bam
tools:
- bwameth:
description: |
Fast and accurate alignment of BS-Seq reads
using bwa-mem and a 3-letter genome.
homepage: https://github.com/brentp/bwa-meth
documentation: https://github.com/brentp/bwa-meth
arxiv: arXiv:1401.1129
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- reads:
type: file
description: |
List of input FastQ files of size 1 and 2 for single-end and paired-end data,
respectively.
- index:
type: dir
description: Directory containing bwameth genome index
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bam:
type: file
description: Output BAM file containing read alignments
pattern: "*.{bam}"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@phue"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,35 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process BWAMETH_INDEX {
tag "$fasta"
label 'process_high'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:'') }
conda (params.enable_conda ? "bioconda::bwameth=0.2.2" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/bwameth:0.20--py35_0"
} else {
container "quay.io/biocontainers/bwameth:0.20--py35_0"
}
input:
path fasta, stageAs: "bwameth/*"
output:
path "bwameth" , emit: index
path "*.version.txt", emit: version
script:
def software = getSoftwareName(task.process)
"""
bwameth.py index $fasta
echo \$(bwameth.py --version 2>&1) | cut -f2 -d" " > ${software}.version.txt
"""
}

View file

@ -0,0 +1,53 @@
name: bwameth_index
description: Performs indexing of c2t converted reference genome
keywords:
- bwameth
- 3-letter genome
- index
- methylseq
- bisulphite
- fasta
tools:
- bwameth:
description: |
Fast and accurate alignment of BS-Seq reads
using bwa-mem and a 3-letter genome.
homepage: https://github.com/brentp/bwa-meth
documentation: https://github.com/brentp/bwa-meth
arxiv: arXiv:1401.1129
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- fasta:
type: file
description: Input genome fasta file
output:
- index:
type: dir
description: Directory containing bwameth genome index
pattern: "index"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@phue"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,41 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process GATK4_BEDTOINTERVALLIST {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? 'bioconda::gatk4:4.1.9.0' : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container 'https://depot.galaxyproject.org/singularity/gatk4:4.1.9.0--py39_0'
} else {
container 'quay.io/biocontainers/gatk4:4.1.9.0--py39_0'
}
input:
tuple val(meta), path(bed)
path sequence_dict
output:
tuple val(meta), path('*.interval_list'), emit: interval_list
path '*.version.txt' , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}.${options.suffix}" : "${meta.id}"
"""
gatk BedToIntervalList \\
-I $bed \\
-SD $sequence_dict \\
-O ${prefix}.interval_list \\
$options.args
gatk --version | grep Picard | sed "s/Picard Version: //g" > ${software}.version.txt
"""
}

View file

@ -0,0 +1,60 @@
name: gatk4_bedtointervallist
description: Creates an interval list from a bed file and a reference dict
keywords:
- bed
- interval list
tools:
- gatk4:
description: |
Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools
with a primary focus on variant discovery and genotyping. Its powerful processing engine
and high-performance computing features make it capable of taking on projects of any size.
homepage: https://gatk.broadinstitute.org/hc/en-us
documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s
doi: 10.1158/1538-7445.AM2017-3590
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test']
- bed:
type: file
description: Input bed file
pattern: "*.bed"
- dict:
type: file
description: Sequence dictionary
pattern: "*.dict"
output:
- interval_list:
type: file
description: gatk interval list file
pattern: "*.interval_list"
- version:
type: file
description: File containing software version
pattern: "*.version.txt"
authors:
- "@kevinmenden"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,48 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process GATK4_MERGEVCFS {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? 'bioconda::gatk4:4.1.9.0' : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container 'https://depot.galaxyproject.org/singularity/gatk4:4.1.9.0--py39_0'
} else {
container 'quay.io/biocontainers/gatk4:4.1.9.0--py39_0'
}
input:
tuple val(meta), path(vcfs)
path(ref_dict)
val use_ref_dict
output:
tuple val(meta), path('*.vcf.gz') , emit: vcf
path '*.version.txt' , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}.${options.suffix}" : "${meta.id}"
// Make list of VCFs to merge
def input = ""
for (vcf in vcfs) {
input += " I=${vcf}"
}
def ref = use_ref_dict ? "D=${ref_dict}" : ""
"""
gatk MergeVcfs \\
$input \\
O=${prefix}.merged.vcf.gz \\
$ref \\
$options.args
gatk --version | grep Picard | sed "s/Picard Version: //g" > ${software}.version.txt
"""
}

View file

@ -0,0 +1,63 @@
name: gatk4_mergevcfs
description: Merges several vcf files
keywords:
- vcf
- merge
tools:
- gatk4:
description: |
Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools
with a primary focus on variant discovery and genotyping. Its powerful processing engine
and high-performance computing features make it capable of taking on projects of any size.
homepage: https://gatk.broadinstitute.org/hc/en-us
documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s
doi: 10.1158/1538-7445.AM2017-3590
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test']
- vcf:
type: list
description: Two or more VCF files
pattern: "*.{vcf,vcf.gz}"
- ref_dict:
type: file
description: Optional Sequence Dictionary as input
pattern: "*.dict"
- use_ref_dict:
type: boolean
description: Specify whether or not to use a given reference dictionary
output:
- vcf:
type: file
description: merged vcf file
pattern: "*.vcf.gz"
- version:
type: file
description: File containing software version
pattern: "*.version.txt"
authors:
- "@kevinmenden"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,39 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process GATK4_REVERTSAM {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? 'bioconda::gatk4:4.1.9.0' : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container 'https://depot.galaxyproject.org/singularity/gatk4:4.1.9.0--py39_0'
} else {
container 'quay.io/biocontainers/gatk4:4.1.9.0--py39_0'
}
input:
tuple val(meta), path(bam)
output:
tuple val(meta), path('*.bam') , emit: bam
path '*.version.txt' , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}.${options.suffix}" : "${meta.id}"
"""
gatk RevertSam \\
I=$bam \\
O=${prefix}.reverted.bam \\
$options.args
gatk --version | grep Picard | sed "s/Picard Version: //g" > ${software}.version.txt
"""
}

View file

@ -0,0 +1,56 @@
name: gatk4_revertsam
description: Reverts SAM or BAM files to a previous state.
keywords:
- sam
- revert
tools:
- gatk4:
description: |
Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools
with a primary focus on variant discovery and genotyping. Its powerful processing engine
and high-performance computing features make it capable of taking on projects of any size.
homepage: https://gatk.broadinstitute.org/hc/en-us
documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s
doi: 10.1158/1538-7445.AM2017-3590
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test']
- bam:
type: file
description: The input bam/sam file
pattern: "*.{bam,sam}"
output:
- bam:
type: file
description: The reverted bam/sam file
pattern: "*.reverted.bam"
- version:
type: file
description: File containing software version
pattern: "*.version.txt"
authors:
- "@kevinmenden"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,40 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process GATK4_SAMTOFASTQ {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? 'bioconda::gatk4:4.1.9.0' : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container 'https://depot.galaxyproject.org/singularity/gatk4:4.1.9.0--py39_0'
} else {
container 'quay.io/biocontainers/gatk4:4.1.9.0--py39_0'
}
input:
tuple val(meta), path(bam)
output:
tuple val(meta), path('*.fastq.gz') , emit: fastq
path '*.version.txt' , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}.${options.suffix}" : "${meta.id}"
def output = meta.single_end ? "FASTQ=${prefix}.fastq.gz" : "FASTQ=${prefix}_1.fastq.gz SECOND_END_FASTQ=${prefix}_2.fastq.gz"
"""
gatk SamToFastq \\
I=$bam \\
$output \\
$options.args
gatk --version | grep Picard | sed "s/Picard Version: //g" > ${software}.version.txt
"""
}

View file

@ -0,0 +1,56 @@
name: gatk4_samtofastq
description: Converts BAM/SAM file to FastQ format
keywords:
- bed
- interval list
tools:
- gatk4:
description: |
Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools
with a primary focus on variant discovery and genotyping. Its powerful processing engine
and high-performance computing features make it capable of taking on projects of any size.
homepage: https://gatk.broadinstitute.org/hc/en-us
documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s
doi: 10.1158/1538-7445.AM2017-3590
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test']
- bam:
type: file
description: Input SAM/BAM file
pattern: "*.{bam,sam}"
output:
- fastq:
type: file
description: converted fastq file
pattern: "*.fastq"
- version:
type: file
description: File containing software version
pattern: "*.version.txt"
authors:
- "@kevinmenden"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,41 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process GATK4_SPLITNCIGARREADS {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? 'bioconda::gatk4:4.1.9.0' : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container 'https://depot.galaxyproject.org/singularity/gatk4:4.1.9.0--py39_0'
} else {
container 'quay.io/biocontainers/gatk4:4.1.9.0--py39_0'
}
input:
tuple val(meta), path(bam)
tuple path(fasta), path(fai), path(dict)
output:
tuple val(meta), path('*.split_cigar.bam'), emit: bam
path '*.version.txt' , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}.${options.suffix}" : "${meta.id}"
"""
gatk SplitNCigarReads \\
-R $fasta \\
-I $bam \\
-O ${prefix}.split_cigar.bam \\
$options.args
gatk --version | grep Picard | sed "s/Picard Version: //g" > ${software}.version.txt
"""
}

View file

@ -0,0 +1,61 @@
name: gatk4_splitncigarreads
description: Splits reads that contain Ns in their cigar string
keywords:
- vcf
- merge
tools:
- gatk4:
description: |
Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools
with a primary focus on variant discovery and genotyping. Its powerful processing engine
and high-performance computing features make it capable of taking on projects of any size.
homepage: https://gatk.broadinstitute.org/hc/en-us
documentation: https://gatk.broadinstitute.org/hc/en-us/categories/360002369672s
doi: 10.1158/1538-7445.AM2017-3590
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test']
- bam:
type: list
description: BAM/SAM/CRAM file containing reads
pattern: "*.{bam,sam,cram}"
- fasta:
type: tuple of files
description: |
Tuple of fasta file (first), sequence dict (second) and fasta index (third)
pattern: ["*.fasta", "*.dict", "*.fai"]
output:
- bam:
type: file
description: Output file with split reads (BAM/SAM/CRAM)
pattern: "*.{bam,sam,cram}"
- version:
type: file
description: File containing software version
pattern: "*.version.txt"
authors:
- "@kevinmenden"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,40 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process METHYLDACKEL_EXTRACT {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? "bioconda::methyldackel=0.5.0" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/methyldackel:0.5.0--hed50d52_0"
} else {
container "quay.io/biocontainers/methyldackel:0.5.0--hed50d52_0"
}
input:
tuple val(meta), path(bam), path(bai)
path fasta
path fai
output:
tuple val(meta), path("*.bedGraph"), emit: bedgraph
path "*.version.txt" , emit: version
script:
def software = getSoftwareName(task.process)
"""
MethylDackel extract \\
$options.args \\
$fasta \\
$bam
echo \$(methyldackel --version 2>&1) | cut -f1 -d" " > ${software}.version.txt
"""
}

View file

@ -0,0 +1,78 @@
name: methyldackel_extract
description: Extracts per-base methylation metrics from alignments
keywords:
- methylation
- 5mC
- methylseq
- bisulphite
- consensus
- bedGraph
- bam
- cram
tools:
- methyldackel:
description: |
A (mostly) universal methylation extractor
for BS-seq experiments.
homepage: https://github.com/brentp/bwa-meth
documentation: https://github.com/brentp/bwa-meth
arxiv: arXiv:1401.1129
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- fasta:
type: file
description: Input genome fasta file
pattern: "*.{fasta,fa}"
- fai:
type: file
description: FASTA index file
pattern: "*.{fai}"
- bam:
type: file
description: BAM/CRAM file
pattern: "*.{bam,cram}"
- bai:
type: file
description: BAM/CRAM index file
pattern: "*.{bai,crai}"
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bedgraph:
type: file
description: bedGraph file containing per-base methylation metrics
pattern: "*.{bedGraph}"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@phue"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,44 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process METHYLDACKEL_MBIAS {
tag "$meta.id"
label 'process_low'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? "bioconda::methyldackel=0.5.0" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/methyldackel:0.5.0--hed50d52_0"
} else {
container "quay.io/biocontainers/methyldackel:0.5.0--hed50d52_0"
}
input:
tuple val(meta), path(bam), path(bai)
path fasta
path fai
output:
tuple val(meta), path("*.txt"), emit: txt
path "*.version.txt" , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
"""
MethylDackel mbias \\
$options.args \\
$fasta \\
$bam \\
$prefix \\
--txt \\
> ${prefix}.txt
echo \$(methyldackel --version 2>&1) | cut -f1 -d" " > ${software}.version.txt
"""
}

View file

@ -0,0 +1,79 @@
name: methyldackel_mbias
description: Generates methylation bias plots from alignments
keywords:
- methylation
- 5mC
- methylseq
- bisulphite
- methylation bias
- mbias
- qc
- bam
- cram
tools:
- methyldackel:
description: |
A (mostly) universal methylation extractor
for BS-seq experiments.
homepage: https://github.com/brentp/bwa-meth
documentation: https://github.com/brentp/bwa-meth
arxiv: arXiv:1401.1129
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- fasta:
type: file
description: Input genome fasta file
pattern: "*.{fasta,fa}"
- fai:
type: file
description: FASTA index file
pattern: "*.{fai}"
- bam:
type: file
description: BAM/CRAM file
pattern: "*.{bam,cram}"
- bai:
type: file
description: BAM/CRAM index file
pattern: "*.{bai,crai}"
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- txt:
type: file
description: Text file containing methylation bias
pattern: "*.{txt}"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@phue"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,61 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
process QUALIMAP_BAMQC {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? "bioconda::qualimap=2.2.2d" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/qualimap:2.2.2d--1"
} else {
container "quay.io/biocontainers/qualimap:2.2.2d--1"
}
input:
tuple val(meta), path(bam)
path gff
val use_gff
output:
tuple val(meta), path("${prefix}"), emit: results
path "*.version.txt" , emit: version
script:
def software = getSoftwareName(task.process)
prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
def collect_pairs = meta.single_end ? '' : '--collect-overlap-pairs'
def memory = task.memory.toGiga() + "G"
def regions = use_gff ? "--gff $gff" : ''
def strandedness = 'non-strand-specific'
if (meta.strandedness == 'forward') {
strandedness = 'strand-specific-forward'
} else if (meta.strandedness == 'reverse') {
strandedness = 'strand-specific-reverse'
}
"""
unset DISPLAY
mkdir tmp
export _JAVA_OPTIONS=-Djava.io.tmpdir=./tmp
qualimap \\
--java-mem-size=$memory \\
bamqc \\
$options.args \\
-bam $bam \\
$regions \\
-p $strandedness \\
$collect_pairs \\
-outdir $prefix \\
-nt $task.cpus
echo \$(qualimap 2>&1) | sed 's/^.*QualiMap v.//; s/Built.*\$//' > ${software}.version.txt
"""
}

View file

@ -0,0 +1,70 @@
name: qualimap_bamqc
description: Evaluate alignment data
keywords:
- quality control
- qc
- bam
tools:
- qualimap:
description: |
Qualimap 2 is a platform-independent application written in
Java and R that provides both a Graphical User Interface and
a command-line interface to facilitate the quality control of
alignment sequencing data and its derivatives like feature counts.
homepage: http://qualimap.bioinfo.cipf.es/
documentation: http://qualimap.conesalab.org/doc_html/index.html
doi: 10.1093/bioinformatics/bts503
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- bam:
type: file
description: BAM file
pattern: "*.{bam}"
- gff:
type: file
description: Feature file with regions of interest
pattern: "*.{gff,gtf,bed}"
- use_gff:
type: boolean
description: Specifies if feature file should be used or not
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- results:
type: dir
description: Qualimap results dir
pattern: "*/*"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@phue"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,33 @@
// Import generic module functions
include { saveFiles; getSoftwareName } from './functions'
params.options = [:]
process SAMTOOLS_FAIDX {
tag "$fasta"
label 'process_low'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:'') }
conda (params.enable_conda ? "bioconda::samtools=1.10" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/samtools:1.10--h9402c20_2"
} else {
container "quay.io/biocontainers/samtools:1.10--h9402c20_2"
}
input:
path fasta
output:
path "*.fai" , emit: fai
path "*.version.txt", emit: version
script:
def software = getSoftwareName(task.process)
"""
samtools faidx $fasta
echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//' > ${software}.version.txt
"""
}

View file

@ -0,0 +1,53 @@
name: samtools_faidx
description: Index FASTA file
keywords:
- index
- fasta
tools:
- samtools:
description: |
SAMtools is a set of utilities for interacting with and post-processing
short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.
These files are generated as output by short read aligners like BWA.
homepage: http://www.htslib.org/
documentation: http://www.htslib.org/doc/samtools.html
doi: 10.1093/bioinformatics/btp352
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- fasta:
type: file
description: FASTA file
pattern: "*.{fa,fasta}"
output:
- fai:
type: file
description: FASTA index file
pattern: "*.{fai}"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@drpatelh"
- "@ewels"
- "@phue"

View file

@ -0,0 +1,59 @@
/*
* -----------------------------------------------------
* Utility functions used in nf-core DSL2 module files
* -----------------------------------------------------
*/
/*
* Extract name of software tool from process name using $task.process
*/
def getSoftwareName(task_process) {
return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()
}
/*
* Function to initialise default values and to generate a Groovy Map of available options for nf-core modules
*/
def initOptions(Map args) {
def Map options = [:]
options.args = args.args ?: ''
options.args2 = args.args2 ?: ''
options.publish_by_id = args.publish_by_id ?: false
options.publish_dir = args.publish_dir ?: ''
options.publish_files = args.publish_files
options.suffix = args.suffix ?: ''
return options
}
/*
* Tidy up and join elements of a list to return a path string
*/
def getPathFromList(path_list) {
def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries
paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes
return paths.join('/')
}
/*
* Function to save/publish module results
*/
def saveFiles(Map args) {
if (!args.filename.endsWith('.version.txt')) {
def ioptions = initOptions(args.options)
def path_list = [ ioptions.publish_dir ?: args.publish_dir ]
if (ioptions.publish_by_id) {
path_list.add(args.publish_id)
}
if (ioptions.publish_files instanceof Map) {
for (ext in ioptions.publish_files) {
if (args.filename.endsWith(ext.key)) {
def ext_list = path_list.collect()
ext_list.add(ext.value)
return "${getPathFromList(ext_list)}/$args.filename"
}
}
} else if (ioptions.publish_files == null) {
return "${getPathFromList(path_list)}/$args.filename"
}
}
}

View file

@ -0,0 +1,44 @@
// Import generic module functions
include { initOptions; saveFiles; getSoftwareName } from './functions'
params.options = [:]
def options = initOptions(params.options)
def VERSION = '0.4.1'
process SEQWISH_INDUCE {
tag "$meta.id"
label 'process_medium'
publishDir "${params.outdir}",
mode: params.publish_dir_mode,
saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) }
conda (params.enable_conda ? "bioconda::seqwish=0.4.1" : null)
if (workflow.containerEngine == 'singularity' && !params.singularity_pull_docker_container) {
container "https://depot.galaxyproject.org/singularity/seqwish:0.4.1--h8b12597_0"
} else {
container "quay.io/biocontainers/seqwish:0.4.1--h8b12597_0"
}
input:
tuple val(meta), path(paf), path(fasta)
output:
tuple val(meta), path("*.gfa"), emit: gfa
path "*.version.txt" , emit: version
script:
def software = getSoftwareName(task.process)
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
"""
seqwish \\
--threads $task.cpus \\
--paf-alns=$paf \\
--seqs=$fasta \\
--gfa=${prefix}.gfa \\
$options.args
echo $VERSION > ${software}.version.txt
"""
}

View file

@ -0,0 +1,67 @@
name: seqwish_induce
description: Induce a variation graph in GFA format from alignments in PAF format
keywords:
- induce
- paf
- gfa
- graph
- variation graph
tools:
- seqwish:
description: |
seqwish implements a lossless conversion from pairwise alignments between
sequences to a variation graph encoding the sequences and their alignments.
homepage: https://github.com/ekg/seqwish
documentation: https://github.com/ekg/seqwish
params:
- outdir:
type: string
description: |
The pipeline's output directory. By default, the module will
output files into `$params.outdir/<SOFTWARE>`
- publish_dir_mode:
type: string
description: |
Value for the Nextflow `publishDir` mode parameter.
Available: symlink, rellink, link, copy, copyNoFollow, move.
- enable_conda:
type: boolean
description: |
Run the module with Conda using the software specified
via the `conda` directive
- singularity_pull_docker_container:
type: boolean
description: |
Instead of directly downloading Singularity images for use with Singularity,
force the workflow to pull and convert Docker containers instead.
input:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- paf:
type: file
description: PAF file of alignments
pattern: "*.{paf,paf.gz}"
- fasta:
type: file
description: FASTA file used to generate alignments
pattern: "*.{fa,fa.gz,fasta,fasta.gz}"
output:
- meta:
type: map
description: |
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- gfa:
type: file
description: Variation graph in GFA1 format
pattern: "*.{gfa}"
- version:
type: file
description: File containing software version
pattern: "*.{version.txt}"
authors:
- "@heuermh"

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,4 @@
MT192765.1 1242 1264 nCoV-2019_5_LEFT 1 +
MT192765.1 1623 1651 nCoV-2019_5_RIGHT 1 -
MT192765.1 1573 1595 nCoV-2019_6_LEFT 2 +
MT192765.1 1942 1964 nCoV-2019_6_RIGHT 2 -

View file

@ -0,0 +1 @@
gi|170079663|ref|NC_010473.1| 4686137 89 70 71

View file

@ -0,0 +1,2 @@
@HD VN:1.6
@SQ SN:MT192765.1 LN:29829 M5:c95f3e5592d0ad9974e41e7f0ea14eb0 UR:file:/Users/kevin/Documents/nfcore/modules/tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.fna

View file

@ -0,0 +1 @@
MT192765.1 29829 120 80 81

View file

@ -0,0 +1,3 @@
@HD VN:1.6
@SQ SN:1 LN:500 M5:98994ca39b95ec4c96496f6aa8c5c118 UR:file:/Users/kevin/Documents/nfcore/modules/tests/data/fasta/test.consensus.fa
@SQ SN:2 LN:501 M5:6cb9f5c857251ffe4420b42453dc9ca3 UR:file:/Users/kevin/Documents/nfcore/modules/tests/data/fasta/test.consensus.fa

View file

@ -0,0 +1,20 @@
>1
TACcAtATgTgACAtATAAaAAAGAACATAACCTACGTATCAACTAAAGTGGTTGTTTG
cAGAAAAGGAAGACTTAAAAAGAGTCAGTACTAACCTACATAATATATACAATGTTCATT
AAATAATAAAATGAGCTCATCATACTTAGGTCATCATAAATATATCTGAAATTCACAAAT
ATTGATCAAATGGTAAAATAGACAAGTAGATTTTAATAGGTTAAACAATTACTGATTCTC
TTGAAAGAATAAATTTAATATGAGACCTATTTCATTATAATGAACTCACAAATTAGAAAC
TTCACACTGGGGGCTGGAGAGATGGCTCAGTAGTTAAGAACACTGACTGCTCTTCTGAAG
GTCCTGAGTTCAAATCCCAGCAACCACATGGTGACTTACAACCATCTGTAATGACATCTG
ATGCCCTCTGGTGTGTCTGAAGACAGCTACAGTGTACTTACATAAAATAATAAATAAATC
TTTAAAAACAAAAAAAAAGAA
>2
gaagatcttttccttattaaggatctgaagctctgtagatttgtattctattaaacatgg
AgagattagtgattttccatattctttaagtcattttagagtaatgtgttcttaagatAa
atcagaaaaacaaaaacttgtgctttcctgtttgaaaaacaaacagctgtggggaatgGt
gtcgggacagcctttttatAaaatttttctaaataatgttgaggctttgatacgtcaaag
ttatatttcaaatggaatcacttagacctcgtttctgagtgtcaatggccatattggggA
tttgctgctgccaatgacaGcacaccctgggaatgccccaactacttactacaaagcagt
gttacatggagaagatcttcaagagtctttttgctagatctttccttggcttttgatgtg
actcctctcaataaaatccacagtaatatagtgagtggtctcctgctccaaaccagtatt
Tcagacacagttaatccagac

View file

@ -0,0 +1,400 @@
@ERR5069949.2151832 NS500628:121:HK3MMAFX2:2:21208:10793:15304/1
TCATAAACCAAAGCACTCACAGTGTCAACAATTTCAGCAGGACAACGCCGACAAGTTCCGAGGAACATGTCTGGACCTATAGTTTTCATAAGTCTACACACTGAATTGAAATATTCTGGTTCTAGTGTGCCCTTAGTTAGCAATGTGCGT
+
AAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEE<EEAAAEEEEEEEEEAAAAEAEEEAEEEEEE<AAAA
@ERR5069949.576388 NS500628:121:HK3MMAFX2:4:11501:11167:14939/1
ACTGTTTTCTTTGTAGAAAACATCCGTAATAGGACCTTTGTATTCTGAGGACTTTGTAAGTAAAGCACCGTCTATGC
+
AAA6AEEEEEEEEEAEEE/6EEAEEEAEEEEEAEEEEEEEEEEEEEEEEEEEEE<AAEEEEEEEEEEE</EEEA/AE
@ERR5069949.501486 NS500628:121:HK3MMAFX2:1:21305:3080:7962/1
GTACATAACAGCTTCTACACCCTTAAGGGTTGTCTGCTGTTGTCCACAAGTTTTACACACCACGTTCAAGACTCTTTTGCAAGAATCTAAATTGGCATGTTGAAACAAGTAACTCATTGTTTCTCTAACATCACCTAACTCACCTA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEE</EEEEEE/EEAAEEEEEE<EEEEEEEEA<E6EEEEAEAAAAE
@ERR5069949.1331889 NS500628:121:HK3MMAFX2:3:11605:17658:18222/1
GTCTACAAGCTGGTAATGCAACAGAAGTGCCTGCCAATTCAACTGTATTATCTTTCTGTGCTTTTGCTGTAGATGCTGCTAAAGCTTACAAAGATTATCTAGCTAGTGGGGGACAACCAATCACTAATTGTG
+
A/AAAEEEEEEEEEEEEEEEEEEEAEEEEAEEEEEEEEEEEAEEEEEEEEEEEEEEE/EEEEE<AEAEEEEE/EAEAEEE/AEEEEEEEEEEEEEEEEEEEEAE/EEEEEEEEEEEEEEEEEEEEEEEA<EE
@ERR5069949.2161340 NS500628:121:HK3MMAFX2:2:21107:15810:18317/1
AACCAGAATATTTCAATTCAGTGTGTAGACTTATGAAAACTATAGGTCCAGACATGTTCCTCGGAACTTGTCGGCGTTGT
+
A/AA//EEAEA/E/AEEEE6EE/EEEA/6AEEEEEEEEE6EEEAEAEE//A/EEEEEE//E/E/A//E/E/<<EE</E/E
@ERR5069949.973930 NS500628:121:HK3MMAFX2:2:21105:5548:5659/1
CTAAAAGTGAAGTCAAAATTGTGAGTAACAACCAGTGGTGTGTACCCGTGATTGTTCTTTTGACTGCACTTTGGAAAGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEAE/E///EE/EE/AE6/A//E/E//</E//E/EE/E////<
@ERR5069949.2417063 NS500628:121:HK3MMAFX2:1:11310:4428:10115/1
CCTGTTGTCTATGTGATAGACGTGCCACATGCTTTTCCACTGCTTCAGACACTTATGCCTGTTGGCATCATTCTATTGGATTTGATTACGTCTATAATCCGTTTATGATTGATGTTCAACAATGGGGTTTTACAGGTAACCTACAAAGCA
+
AAAAAEEEAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEAEEEE/EEEEAEEEEE<EEEEAEE<AAEAEEAAEEEEAEEEEEEEEEEEEEEEEEEEEEAEAEEE<AEE<EAE/EEA<EEEEAEEEAEEEEEEEA/EEEAE/AEEEA
@ERR5069949.376959 NS500628:121:HK3MMAFX2:1:21205:12113:10369/1
GCTCCATATATAGTGGGTGATGTTGTTCAAGAGGGTGTTTTAACTGCTGTGGTTATACCTACTAAAAAGGCTGGTGGCACTACTGAAATGCTAGCGAAAGCTTTGAGAAAAGTGCCAACAGACAATTATATAACCACTTACCCGGGTCAGG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEAAAAAEEEEEEEEEAEEAEEEEEEEEEEEEAAAEEAEA
@ERR5069949.1088785 NS500628:121:HK3MMAFX2:1:21109:26270:17779/1
CAGTAGTCTTACTCTCAGTTTTGCAACAACTCAGAGTAGAATCATCATCTAAATTGTGGGCTCAATGTGTCCAGTTACACAATGACATTCTCTTAGCTAAAGATACTACTGAATCCTTTGAAAAAAAGGTTTCACTACTTTCGGTTTTG
+
AAAAAE/EAEE<EEA///<AEEE/EE<AEEE<EA/EEEEEEE/EAAAEEEEEE<E/E6AE<<E/EEA//</E/EEE/EEE/EE/E/<<EEAAAE<EEEEEE/EAEA//<//AA/E</A<<E/EEEE/AEE<E/<EAE</A6///AEEAA
@ERR5069949.1066259 NS500628:121:HK3MMAFX2:1:11312:18369:8333/1
CCTTATGACAGCAAGAACTGTGTATGATGATGGTGCTAGGAGAGTGTGGACACTTATGAATGTCTTGACACTCGTTTATAAAGTTTATTATGGTAATGCTTTAGATCAAGCCATTTCCATGTGGGCTCTTATAATCTCTGTTACTTC
+
AAAAAEAEEAEEEEEEEEEEEEEEEEAEEEEAEEEEEEEEAEEEEEEEEEEEEEEEEE/EAEEEEEE/6EEEEEEEEEEAEEAEEE/EE/AEEAEEEEEAEEEA/EEAAEAE<AEEAEEEAEAEEEAEAEEAE/AEEEEAEEEEAEA
@ERR5069949.2832676 NS500628:121:HK3MMAFX2:4:11602:20035:16369/1
GTCAACCAAAATGCACAAGCTTTAAACACGCTTGTTAAACAACTTAGCTCCAATTTTGGTGCAATTTCAAGTGTTTTAAATGATATCCTTTCACGTCTTGACAAAGTTGAGGCTGAAGTGCAAATTGATAGGTTGATCA
+
AAAA6EEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<E/EAEEAEEEAEEAEEEEEAEEEEEEEEEEEEEEAEEAEEEEEAAEEEEEEA<AEEEAAAAEEEEE<EEAAAEEAEEAAEEEEA
@ERR5069949.2953930 NS500628:121:HK3MMAFX2:3:21504:10316:13537/1
GTGCTCAAAGGAGTCAAATTACATTACACATAAACGAACTTATGGATTTGTTTATGAGAATCTTCACAATTGGAACTGTAACTTTGAAGCAAGGTGAAATCAAGGATGCTACTCCTTCAGATTTTGTTCGCGCTACTGCAACGATACCGAT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEE/EEEEEE<AA/EA<A<AAAA<AAEAAEAEE/E<<E<EAAEA
@ERR5069949.324865 NS500628:121:HK3MMAFX2:1:11102:17526:14721/1
CACAAACTCTAAAAGAATGTATAGGGTCAGCACCAAAAATACCAGCAGATAATAATGTTGCAAGTAGAACTTCGTGCAGATTAAAATTTTCATAAGCACTCTAAAGAAGTTGAATGTCTTCAAATTTCTTAACATTAGGGCCCACAACAAG
+
AAAAAEA/A<EAA/AE/EE/EE//////EA/EEE/E/EEEE//E/6//EA//<AA/A/EEEAA/EEEE/EEEA/E/</AEE////AEEEE//<E//EAE/A///<EEE//<E<<EEE<///A//E/E/EEEAA/<A////<A/AEAAA//E
@ERR5069949.2185111 NS500628:121:HK3MMAFX2:2:11210:1473:2754/1
GATGAAACATCATGCGTGATAACACCCTTATAAAACATTTTAAAGCATTGAGCTGATTTGTCTTTATGTGCTTAAAGCTTATTATCATAAACCAAAGCACTCACAGTGTCAACAATTTCAGCAGGACAACGCCGACAAGTTCCGAGGAAC
+
AAAA6EEAEAAAAAEEEAEEEEEEA<<EEE/AEEE</EEEE/EEE<AA//EAA</A/E<A</EEAE/E/<EEE/AEAA/AE//EEEEEEAEAEE/EEAEA/AEEA/A//A<EEAAAEEEEEEEEE/A6<6//AE<<A<E/AEE<EE/AEA
@ERR5069949.937422 NS500628:121:HK3MMAFX2:2:11104:8644:10925/1
TTACCAATGTGCTATGAGGCCCAATTTCACTATTAAGGGTTCATTCCTTAATGGTTCATGTGGTAGTGTTGGTTTTAACATAGATTATGGAATTACCAACTGGAGTTCATGCTGGCACAGACTTAGAAGGTAACTTTTATGGACCTTTTGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEA<E<EE/EAE/E//EE/EEEEEEEAEEE<E/EEE/EEA<EEE</66EE<A/AA<EEEA<EAE/A//AEEAEE///<A<EEEEEEA
@ERR5069949.2431709 NS500628:121:HK3MMAFX2:3:21609:20858:5879/1
GTTTATGATTGATGTTCAACAATGGGGTTTTACAGGTAACCTACAAAGCAACCATGATCTGTATTGTCAAGTCATGGTAATGCACATGTAGCTAGTTGTGATGCAATCATGACTAGGTGTCTAGCTGTCCACGAGTGCTTTGTTAAGCGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAAAEAEAEE<AEEEEAEEAA<AEA
@ERR5069949.1246538 NS500628:121:HK3MMAFX2:4:11505:20131:7933/1
AGTATGGACAATTCACCTAATTTAGCATGGCCTCTTATTGTAACAGCTTTAAGGGCCAATTCTGCTGTCAAATTACAGAATAATGAGCTTAGTCCTGTTGCACTACGACAGATGTCTTGTGCTGCCGGTACTACACAAACTGCTTGCA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEA/EEEEEAEEEEEE/EEEEEEEEEEEEAAAAEEAEEEEEEEEEEEEEEEEE
@ERR5069949.1189252 NS500628:121:HK3MMAFX2:2:21308:10087:1427/1
CTATAACACATATAAAAATACGTGTGATGGTACAACATTTACTTATGCATCAGCATTGTGGGAAATCCAACAGGTTGTAGATGCAGATAGTAAAATTG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEAEEE
@ERR5069949.2216307 NS500628:121:HK3MMAFX2:1:21302:10479:19538/1
CCAAGCAGGGTTACGTGTAAGGAATTCTCTTACCACGCCTATTTGTGGCCTGATAATTGCAGATGAAACATCATGCGTGATAACACCCTTATAAAACATTTTAAAGCATTGAGCTGATTTGTCTTTATGTGCTTTAAGCTTATTATC
+
AAAE/AEAA/EEE/AE6EEEA/EEEEEEEEEE/<EAE<<6E/EE6E<A/AEE/EAE<</<EAEE/EEEEEEAEA/EAEEEEEEAEA//EAE<<EEA<EEE</<AA<</A<<A<AAAEEE/A6A6A//<AAAAEA6<A<<EAAA/AEA
@ERR5069949.3273002 NS500628:121:HK3MMAFX2:4:11506:23944:16676/1
GGTGTATTCAAGGCTCCCTCAGTTGCAACCCATATGATGCCGTCTTTGTTAGCACCATAGGGAAGTCCAGCTTCTGGCCCAGTTCCGAGGTAGTAGAAATACCATCTTGGACTGAGATCTTTCATTTTACCGTCACCACCACCCATTC
+
AAAAAAEEEEEEEEEEEEEEEEEEEE/EEEE/EAEEEEEEEEEAEEEAEAEEEEEEEEEEEE<EEEAE/AEAEE/<EEEE/A/E/E/<AE<EEEAE//<EEAAAEA/E<<<EE<AA/E/6E6A//AEEE<EAEA/EE/<E/A//A/EA
@ERR5069949.3277445 NS500628:121:HK3MMAFX2:4:11601:26589:14031/1
TGACCAAATTGGCTACTACCGAAGAGCTACCAGACGAATTCGTGGTGGTGACGGTAAAATGAAAGATCTCAGTCCAAGATGGTATTTCTACTACCTAGGAACTGGGCCAGAAGCTGGACTTCCCTATGGTGCTAACAAAGACGGCATCATA
+
AA/AAEEEEEEEEEEEEEEEEEEEAEEEEEEEEAEEEEAEEEEEEEEEEEAEEEEEEEEEEEEEE/AEEEAEEEAAEEAEEE<E/EEEEEEEEAEEEEA/EEEEEEEAAA//EEEEEAEA<AEEAAEAEAEAEAEEEEAEEEEEEA/EEAA
@ERR5069949.3022231 NS500628:121:HK3MMAFX2:1:21102:10897:17190/1
GTACGAACTTATGTACTCATTCGTTTCGGAAGAGACAGGTACGTTAATAGTTAATAGCGTACTTCTTTTTCTTGCTTTCGTGGTATTCTTGCTAGTTACACTAGCCATCCTTACTGCGCTTCGATTGTGTGCGTACTGCTGCAATAT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEAAAAEEEEEEEEAEEE
@ERR5069949.184542 NS500628:121:HK3MMAFX2:2:21205:8408:1786/1
TCAATGGGGAATGTCCAAATTTTGTATTTCCCTTAAATTCCATAATCAAGACTATTCAACAAAGGGTTGAAAAGAAAAAGCTTGATGGCTTTATGGGTAGAATTCGATCTGTCTATCCAGTTGCGTCTCCAAATGAATGCAACCAAATGTG
+
AAAAAEEEEE/EA/E/EEE/EEAEE/E/EE/EEEE//AEE/E/EEE//EEE/</E/EE<<//EE/EE<EEEEEAE/E/EAAEEEAEAEE<E</EEEE/E//E<<<///E<//A<AE</<AEEEAAE///EE</EE//AA///<E</A<AEA
@ERR5069949.540529 NS500628:121:HK3MMAFX2:3:21609:5345:11242/1
CCGTCTATGCAATACAAAGTTTCTTTAGAAGTTATATGTTTATAGTGACCACACTGGTAATTACCAGTGTACTCACTAGCACAAGTAAATGTACCATGCTTAAGTTCATACTGAGCAGGTGGTGCTGACATCATAACAAAAGGTGACTC
+
AAAAAE/A/EEEEAA/EEAEEEAEEEEEEE6EEAEEEEEEAE/E<AE/EEEEEEEEEEAEEEEEEEEEEEEEEAAEAEAEEEAEEE<EEEEEEEAE</E<EEEA<E/EEE<EEEE<EE<EEEA<A6EE</EEE<AEAA<EE<EEAEAEA
@ERR5069949.686090 NS500628:121:HK3MMAFX2:1:11212:8601:4499/1
ATGTCAGATTTATGTGACAATTTAAGACATTCAACAACATCTTTAGTTTCTACATCTGAATCAACAAACCCTTGCCGAGCTGCTGAAATAAAAGTAGATAAGACATTGTCTAAGGACACATTCTTTGCAAGTTCAGCTTCTGCAGTTGCA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEAEEEE/EEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEE6EEEAEEEEEEEE/EEAE<EEEAEEEEEAEEEEEEEEEEEEEAEAEEE
@ERR5069949.2787556 NS500628:121:HK3MMAFX2:4:11609:10602:17177/1
GCTGCTAGAGACCTCGTTTGTGCACAAAAGTTTAACGGCCTTACTGTTTTGCCACCTTTGCTCACAGATGAAATGATTGCTCAATACACTTCTGCACTGTTAGCGG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAE
@ERR5069949.2650879 NS500628:121:HK3MMAFX2:1:21111:16524:5801/1
GCTATAACGCAGCCTGTAAAATCATCTGGTAATTTATAATTATAATCAGCAATCTTTCCAGTTTGCCCTGGAGCGATTTGTCTGACTTCATCACCTCTAATTACAAATGAATCTGCATAGACATTAGTAAAGCAGAGATCATTTAATTTA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEAEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEAA<AEEEEEEEEEEEAEEEEEE/EEE<EEAEEEAE
@ERR5069949.2064910 NS500628:121:HK3MMAFX2:3:21608:24504:13289/1
CTACCCTTCTGCTCGCATAGTGTATACAGCTTGCTCTCATGCCGCTGTTGATGCACTATGTGAGAAGGCATTAAAATATTTGCATATAGATAAATGTAGTAGAATTATACCTGCACGTGCTCGTGTAGAGTGTTTTGATAAATTCAAAG
+
AAAAAEA<AEEE/EE/EE/EEE/EEE//E/EA/EEEEEEEEEEE<E/A</</A/AEAEEEE/EAE/AEEE<AAE/E//EA</<//E<A/AE<EAEEE///<EA/E<AEAAAA/A/</EEEEEAE/A/<A/AA/EAE<AE/6/<<A</<A
@ERR5069949.2328704 NS500628:121:HK3MMAFX2:4:21612:9379:15958/1
GATTTTTAAGTGTGTCACTTAACATTTGTACAATCTTTATACGCACTACATTCCAAGGAAGTCCTTTGTACATAAGTGGTATGAGGTGTTTAAATTGATCTCCAGGCGGTGGTTTAGCACTAACTCTGGAAAAATCTGTATTATTAGGTG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/E/EEEEEEEAAEEEEEAAEAEEEEE<AEA/EEEEEEAEAEEAEAAAE/<EEAAE/EEAEEEEEEEAAEEEEEEAEAAEA
@ERR5069949.1067032 NS500628:121:HK3MMAFX2:4:21403:19263:10183/1
GTACAAAAATAGCCTAAGAAACAATAAACTAGCATTATACACTGAAGTGTATTTCCAGTTATGAAGAAAATAGGGCAATACTCAACACACATAAAAACAATACCTCTGGCCAAAAACATGACAGTTGTAACTACACCTGAGTAGTTAGAA
+
AAAAA/EEEAE/EAEEEEEEEEEEEE/E/EEEEEEEE/EEEE<EE//EAEEEE/EAAAEEEEAEEEEEE6AEEEA6EEE//EAE6A/EE<EE/EEEEAA///A<EEEEEEAAEEE/EE/AAA/E/<6<AAEEEA<</EEAEE/EAAE<EE
@ERR5069949.3338256 NS500628:121:HK3MMAFX2:1:11108:15722:2450/1
AGAGTAGACTATATATCGTAAACGGAAAAGCGAAAACGTTTATATAGCCCATCTGCCTTGTGTGGTCTGCATGAGTTTAGGCCTGAGTTGAGTCAGCACTGCTCATGGATTGTTGCAATTGTTTGGAGAAATCATCCAAATCTGCAGCAGG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/AEEAEEEEEEEEEEAEEEEE<EAAEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEE<AAEEEEEEAEEA<AEEEEEEEEEEEA
@ERR5069949.1412839 NS500628:121:HK3MMAFX2:3:11609:15519:12102/1
CATTAGCACAAGTTGTAGGTATTTGTACATACTTACCTTTTAAGTCACAAAATCCTTTAGGATTTGGATGATCTATGTGGCAACGGCAGTACAGACAACACGATGCACCACCAAAGGATTCTTGATCCATATTGGCTTCCGGTGTAA
+
AAAAAEEAEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEE<AEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEE/EEEE/EEEAAAEEEE/EEEEE<E/<EAE<AE<<A<EAAAAAAEAA<AEE
@ERR5069949.1538968 NS500628:121:HK3MMAFX2:2:11304:14669:15804/1
AAGTTGGCGTATACGCGTAATATATCTGGGTTTTCTACAAAATCATACCAGTCCTTTTTATTGAAATAATCATCATCACAACAATTGTATGTGACAAGTATTTCTTTTAATGTGTCACAATTACCTTCATCAAAATGCCTTAAAGCATAG
+
AAAAAEEEEEEEAEEAEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEAEAEEEEAEEEEA<EEEEEEAE/EEEE/EEAEEE/AEEE/EEEAEEE//EEEE/EEEEEEE<EEEEA/<6/6AAAEEEAA6AA6<AEA<EA</AE/E<AA6EEA
@ERR5069949.147998 NS500628:121:HK3MMAFX2:3:21611:12530:12698/1
GCAATTCATAGCTCTTTTCAGAACGTTCCGTGTACCAAGCAATTTCATGCTCATGTTCACGGCAGCAGTATACACCCCTCTTAGTGTCAATAAA
+
AAAAAEAEEEEEEEEEEEEEEAAEE/EEE/EE/E/EEE6EEE/EEEE//<EAEAE/A/EEE/EE6<AEEE<EAEA<E/<A/EEE/A//EEE<EE
@ERR5069949.366975 NS500628:121:HK3MMAFX2:1:11105:12446:15727/1
GTGTAACCATTTAAACCCTGACCCGGGTAAGTGGTTATATAATTGTCTGTTGGCACTTTTCTCAAAGCTTTCGCTAGCATTTCAGTAGTGCCACCAGCCTTTTTAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEA<EEEEEEEEEEAEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEE
@ERR5069949.1372331 NS500628:121:HK3MMAFX2:3:11601:26764:8562/1
ATCCTTTAGGATTTGGATGATCTATGTGGCAACGGCAGTACAGACAACACGATGCACCACCAAAGGATTCTTGATCCATATTGGCTTCCGGTGTAACTGTTATTGCCTGACCAGTACCAGTGTGTGTACACAACATCTTAACACAATTAGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEAEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEAEEEEEEEEAEEEEEEEEEAEEEEEAAAEEEEEEE<<EE
@ERR5069949.1709367 NS500628:121:HK3MMAFX2:1:11301:9990:2022/1
AAGTGTATCTTGATCCTCATAACTCATTGAATCATAATAAAGTCTAGCCTTACCCCATTTATTAAATGGAAAACCAGCTGATTTGTCTAGGTTGTTGACGATGACTTGGTTAGCATTAATACAGCCACC
+
AAAAAEEEAEEEAEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEAAEAAE<AEA<EEE/EEA<AAEE/AEEEEEEEE/EAEAEEA<EAEA/EEEAEEAAAAAAAAEAAEAAE/A6EEAEEEEAAAEE/AA
@ERR5069949.2388984 NS500628:121:HK3MMAFX2:2:21306:17580:3896/1
TGTCTATGTGATAGACGTGCCACATGCTTTTCCACTGCTTCAGACACTTATGCCTGTTGGCATCATTCTATTGGATTTGATTACGTCTATAATCCGTTTATGATTGATGTTCAACAATGGGGTTTTACAGGTAACCTACAAAGCAACCAT
+
AAAAAEEEEEEEEE/EEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEAEEEEAE/EAEEEEEEEEEEAEEEE/EEEEEEEEAEEAEEAEEEEEAEEEEAEEEE<A/EA<E
@ERR5069949.1132353 NS500628:121:HK3MMAFX2:2:21111:21744:6806/1
GATTTAGCCACATTCAAAGACTTCTTCAACTTTTTAAGAACAACTTCAGAATCACCATTAGCAACAGCCTGCTCATAAGCTTCTTGAGCAGTAGCAAAAGCTGCATATGATGGAAGGGAACTAAACTCTGAGGCTATAGCTTGTAAGGTT
+
AAAAAEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEAEEEEEEEAEEEEEEEEEEEAEAAEEAE<EEAAEEEEEEEEEEE<A<EEEEEEEEEEEEEEAEE
@ERR5069949.1151736 NS500628:121:HK3MMAFX2:4:21406:11928:13664/1
TCTAAGCATAGTGAAAAGCATTGTCTGCATAGCACTAGTAACTTTTGCCCTCTTGTCCTCAGATCTAGCCTGTTTATACATTTGGGTCATAGCTTGATCAGCCATCTTTTCCAACTTACGTTGCATGGCTGCATCACGGTCAAATTCAGAT
+
AAAAAEEAEEEEEAEE/EEEEAEEEEEEEEEEE/EEEEEEEEEE/EEAEEEEEE/EE<EEEEEEEEEAEEEEEEEEEEEEEEEEEEEEAEEEEEAEEEEEE<AEEEEEAAEAAEEEEEEA/<AAEEAAEEEEAEAAAE/EE//AEAAAAAA
@ERR5069949.479807 NS500628:121:HK3MMAFX2:3:11402:16906:16736/1
TATCTGCCCATTTAATAGAAGTTAAACCATTAACTTGTGGGTATTTCCACTTTTTAGTGTGATTTAATGCTGACATGTACCTACCCAGAAAACTAGGATCAGTTGTGTGGTAGTACTCAAAAGCCTCAACACGTAGAGTGTCATCATTAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEAEEEEEEEEEEEEEAEEEEEEEEEEEAAAAEAAA/EEAAEAA/AEEAAAEEEAEAAAEEEE/AA
@ERR5069949.2176303 NS500628:121:HK3MMAFX2:4:11608:21150:1680/1
TTACCTGCACCACGCACATTGCTAACTAAGGGCACACTAGAACCAGAATATTTCAATTCAGTGTGTAGACTTATGAAAACTATAGGTCCAGACATGTTCCTCGGAACTTGTCGGCGTTGTCCTGCTGAAATTGTTGACACTGTGAGTGCTT
+
AAAAAEEEEEEAEEEEEEAEEEEEEEEEEEEEEAEAEEEEEAEEEEEEEEEAEEEEEEEEEEE<EEEEAEEEEEEEEEEEEEEEEEEEEEEAEEEE<A<AEEEAE/EE<EEEEAAAAAAEEAA<AAAEEEEEE<EEEEEEEEAEE<EEEEA
@ERR5069949.2772897 NS500628:121:HK3MMAFX2:1:11106:12629:15009/1
GTTGAAAGTAGATCTTCAATAAATGACCTCTTGCTTGGTTTTGATGGATCTGGTAATATTTGTGAAAAATTAAAACCACCAAAATCTTTAATTGGTGGTGTTTTGTAAATTTGTTTGACTTGTGCAAAAACTTCTTGGGTGTTTTTGTCTT
+
AAAAAEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEAEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEAAEEEEEEEEAEEEEEEEEEEEEEEEEEEEEAAEEAA<EEEEEEA
@ERR5069949.1020777 NS500628:121:HK3MMAFX2:3:11408:13234:17983/1
GGATTAGTAACACTACAGCTGATGCATACATAACACAGTCTTTTAGCTTAAAACCAGACAAACTAGTATCAACCATATCCAACCATGTCATAATACGCATCACCCAACTAGCAGGCATATAG
+
AAAAAEEEE6E6EEAEEE<EEEEEE/EEEEEE6EEEEEEEEEEEEE/EEEEE/EEEEEEEEAEEEEAAEEA/EEEEE<EAEAEAEAE<EAEEEA<EE<AEE/EAAA6AA/E6AAAA6AEEEE
@ERR5069949.465452 NS500628:121:HK3MMAFX2:3:11503:20241:8941/1
ACCTGATGCTGTTACAGCGTATAATGGTTATCTTACTTCTTCTTCTAAAACACCTGAAGAACATTTTATTGAAACCATCTCACTTGCTGGTTCTTATAAAGATTGGTCCTATTCTGGACAATCTACACAACTAGGTATAGAATTTCTTAAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEE/EEAEEEE/EEEEEEEEEEAEEEEEEEEEEEEEEE<EEEEAAAEAEEEEEEAA6AAEEEEEA<EEEEE</EEAEE/EE
@ERR5069949.1704586 NS500628:121:HK3MMAFX2:3:11408:18502:19140/1
GATAAACGCACTACGTGCTTTTCAGTAGCTGCACTTACTAACAATGTTGCTTTTCAAACTGTCAAACCCGGTAATTTTAACAAAGACTTCTATGACTTTGCTGTGTCTAAGGGTTTCTTTAAGGAAGGAAGTTCTGTTGAATTAAAACA
+
AAAA6EEEE/EE6EEEEEEEEEEEEEEEEEE<EEEEEEEE6EEAEEEEEA<EEEEE66EEEEE///EEEAEEEE<EEEEEEA/EE/EEEEEEEAE<E<AA<AAAEEAE/AEE<E<AA<EAAEEAE/AEE/E/EAEAAAEE/EA/A//EE
@ERR5069949.1258508 NS500628:121:HK3MMAFX2:2:21106:23201:10887/1
CCCTTTGTTGTGTTGTAGTAAGCTAACGCATTGTCATCAGTGCAAGCAGTTTGTGTAGTACCGGCAGCACAAGACATCTGTCGTAGTGCAACAGGACTAAGCTCATTATTCTGTAATTTGACAGCAGAATTGGCCCTTAAAGCTGTTACAA
+
AAAAAEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEAAAAAAEEEAAE/AE</EEEEAA/AAEEEEEEAEEEAAAEEE/AEEAAE
@ERR5069949.986441 NS500628:121:HK3MMAFX2:2:11310:5407:13956/1
GTTACTCACAATTTTGACTTCACTTTTAGTCTTAGTCCAGAGTACTCAATGGTCTTTGTTCTTTTTTTTGTATGAAAATGCCTTTTTACCTTTTGCTATGGGTATTATTGCTATGTCTG
+
AAAAAEAEEEEEEE/EEE/EEEEEAEEEEEEEEEEEEEEEEEEEEE</EAAEA/EEEEEEEEAEAAEEEEEEEEEEEEE/E//<EAE/6///EE//E/EEE///E<EEEEA</A<<//<
@ERR5069949.2674295 NS500628:121:HK3MMAFX2:1:21303:10381:8722/1
GTTATAACACTGACACCACCAAAAGAACATGGTGTAATGTCAAGAATCTCAAGTGTCTGTGGATCACGGACAGCATCAGTAGTGTCAGCAATGTCTCTGCCAAATTGTTGGAAAGGCAGAAACTTTTTGTTAGACTCAGTAAGAACAC
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEEEEEEEEEE<EEEEEE<EEEEEEE<AEAAA<EAAE/EEEAA<AAEEE<AAEEEE<EEEEEEEEEEEEAEEE
@ERR5069949.885966 NS500628:121:HK3MMAFX2:4:11610:19682:20132/1
GTCTAATCATAATTTCTTGGTACAGGCTGGTATTGTTCATCTCAGGGTTATTGGACATTCTATGCAAAATTGTGTACTT
+
AAA//E/EAA/E//E//E//E/E//AE/A/E//EAEA///AE//E///E/EEE6EEEAEEA///E/AEE/EAEE/E//E
@ERR5069949.2342766 NS500628:121:HK3MMAFX2:4:21501:7762:9816/1
CAGGTTATGTTGATACACCTAATAATACAGATTTTTCCAGAGTTAGTGCTAAACCACCGCCTGGAGATCAATTTAAACACCTCATACCACTTATGTACAAAGGACTTCCTTGGAATGTAGTGCGTATAAAGATTGTACAAATGTTAAGTGA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEEEAEAEAAAAEAEEEAEEAEEE/EEEE<AAEEAEA
@ERR5069949.3122970 NS500628:121:HK3MMAFX2:2:21304:20157:2460/1
TGCCAATCCTGTAGCGACTGTATGCAGCAAAACCTGAGTCACCTGCTACACGCTGCGAAGCTCCCAATTTGTAATAAGAAAGCGTTCGTGATGTAGCAACAGTGATTTCTTTAGGCAGGTCCTTGAT
+
AAA/AEEEEEEEAEEEAEEEEEEEEEEEEE6AEEAEAEAEEAE<AEEEEEEEEAEEAEEAEEEEEAEE</EEEEAEEAAEE/EEEAEEEEEEEEE<A//EEE/EAAEEEEEEAA/AEEAEAAA6//A
@ERR5069949.3279513 NS500628:121:HK3MMAFX2:1:21110:4328:5711/1
TGCGTCTTGGGTCCCCGCTCTCACTCAACATGGCAAGGAAGACCTTAAATTCCCTCGAGGACAAGGCGGTCC
+
AAAAAEEEEA/E//AE/E/EEEE6EEEE/E6/6A/E6E/6AEA/E<EEEE//E/EEEA//AEE///A//E/A
@ERR5069949.309410 NS500628:121:HK3MMAFX2:1:11107:4644:2079/1
GAAGAAGATTGGTTAGATGATGATAGTCAACAAACTGTTGGTCAACAAGACGGCAGTGAGGACAATCAGACAACTACTATTCAAACAATTGTTGAGGTTCAACCTCAATTAGAGATGGAACTTACACCAGTTGTTCAGACTATTGAAGTGA
+
AAAAA//EEEEA6EEEAE</EEE/EEEEE/EE6EEEEEEEEEEEEEEEAEEAAEEEEEEEEEAEEEEEE/EEAEEEEEAEAEEE/EEAEEE<AEEEAA////EEEEEEEEA//A/EE/EAAEA/AE<EE/E//E/</AEAEAE/AEA/AEA
@ERR5069949.532979 NS500628:121:HK3MMAFX2:2:21104:15575:19089/1
CATGGGCACACTTTCTTATGAACAATTTAAGAAAGGTGTTCAGATACCTTGTACGTGTGGTAAACAAGCTACAAAATATCTAGTACAACAGGAGTCACCTTTTGTTATGATGTCAGCACCACCTGCTCAGTATGAACTTAAGCATGGTA
+
AAAAAEEEEEEEEEEEEEEEEEEE/EEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/A/</EEE<EEE<<AEEEEEA/AA/AE/EE/EEEEAEA</EAEEE<<AEEEEE
@ERR5069949.2888794 NS500628:121:HK3MMAFX2:3:11604:17798:16811/1
CCTTGAATGAGTCTAATTCAGGTTGCAAAGGATCATAAACTGTGTTGTTGACAATTCCTATTACAACATCACAGTTACCAGACACAAATGTGTTGTCTGTAGTAATGATTTGTGGTTCATAAAAATTCCTTTGTGTTACAAACCAGTGTGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEE/EEEEEEEEEAEEEEAAAAEEAAEEEEAAAEEEEEEEEEEEEEEEAAAEAA
@ERR5069949.2205229 NS500628:121:HK3MMAFX2:1:11212:26331:4199/1
CACTAGAACCAGAATATTTCAATTCAGTGTGTAGACTTATGAAAACTATAGGTCCAGACATGTTCCTCGGAACTTGTCGGCGTTGTCCTGCTGAAATTGTTGACACTGTGAGTGCTTTGGTTTATGATAATAAGCTTAAGCACATAAAGA
+
AAAAAEEEEEEA/EEEEEEEAEEEEEEEEEAEAEAEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEAEEEEEEAEEEEEE6EE<E<<EEEAEEEEEEEEEEEEEEEEA<AEEEEEEAAAEEEEEEEEEEEEEEEE<EAAEEEEE
@ERR5069949.786562 NS500628:121:HK3MMAFX2:2:11109:4461:9003/1
AACACCAGCTTCTGATCTTTCACAAGTGCCGTGCCTACAGTACTCAGAATCAAAAGTTGTTACCACTCTAACAGAACCTTCAAGGTAGGTGTTAGGAAATTGAATAATAGAGCCATCCATGAGCACATAACGTGTGTCAGGGCGTAAACTT
+
A6AAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEAAEEEEEEEEAEAEAEEEA/AAAEEEEAEEEEAEE<EEAAEEAAA/EA<EAEA
@ERR5069949.919671 NS500628:121:HK3MMAFX2:4:21608:23884:15511/1
CTGTAATAGTTGTGTCCGTACCAGCTGCTTGTGCTGTTTGCCTGTCAACAAAAGGTCCATAAAAGTTACCTTCTAAGTCTGTGCCAGCATGAACTCCAGTTGGTAATTCCATATGGTGCATGTAACAAAAAGAGACACAGTCATAATCTAT
+
AAAAAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEAAEEEEEEEEEEEEEEEEEEEEAEEEAEEEAEEEA/EAAAAEEAEEEEEEEEA6AAEEAAAEAAEEEEEEEE
@ERR5069949.1328186 NS500628:121:HK3MMAFX2:3:21510:25432:14327/1
TCTTTGTAAGCTTTAGCAGCATCTACAGCAAAAGCACAGAAAGATAATACAGTTGAATTGGCAGGCACTTCTGTTGCATTACCAGCTTGTAGACGTACTGTGGCAGCTAAACTACCAAGTACCATACCTCTATTTAGGTTGTTTAATCCTT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAE/EEEEEEEEAEEE/EEAEEEEEEAEEEEEEEEAAA<EEEEEAEE/<6A<AEEEEE//EEAA<EEAEE<E<EAA<E/6E</EE
@ERR5069949.870926 NS500628:121:HK3MMAFX2:4:11510:4100:9432/1
CAACTACACTTAACGGTCTTTGGCTTGATGACGTAGTTTACTGTCCAAGACATGTGATCTGCACCTCTGAAGACATGCTTAACCCTAATTATGAAGATTTACTCATTCGTAAGTCTAATCATAATTTCTTGGTACAGGCTGGTAATGTT
+
AAAAAEEAEEEEEEEEEAEEEEEEAEEEEEEEEE/EEEEEEEAEEEEEEEAEEA<AE/AEEEEEEEEE<EEEEEEE/AEAEEEEAAEEEEAAEEEEEAEEEEEEEEAEEAAEEEEEAEAA/EEEAAEEEAAAA/A/EA/E/AEEEE/EE
@ERR5069949.2257580 NS500628:121:HK3MMAFX2:3:11512:13762:8305/1
AGTTGCAATTTACAAGTCTTGAAATTCCACGTAGGAATGTGGCAACTTTACAAGCTGAAAATGTAACAGGACTCTTTAAAGATTGTAGTAAGGTAATCACTGGGTTACATCCTACACAGGCACCTACACACCTCAGTGTTGACACTAAATT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEAEEEEEEEEEAEEEEEEAEEEEEEEEEEEEAEEEEEEEEEAEEEEEEAEE/EEAEA<EAEEEAEEEEEEEEE<EEAAAEAEEE<EA
@ERR5069949.3249622 NS500628:121:HK3MMAFX2:2:21101:6979:17698/1
TTGCCATGTTGAGTGAGAGCGGTGAACCAAGACGCAGTATTAATGGGTAAACCTTGGGGCCGACCTTGTTTTTATCG
+
AAAAAE/EA/EEAEEEAEEAE/EE/EEE/EEEEEEEE/E//A//EEEEE/EEEEEE/AEE/EA////<<E<///E/E
@ERR5069949.611123 NS500628:121:HK3MMAFX2:4:21402:10868:14846/1
ACTCTAGATAATTCATTAGGTTTCTTAATAGTAAGACTAGAATTGTCTACATAAGCAGCCATTAGATCTGTGTGGCCAACCTCTTCTGTAATTTTTAAACTATTATTTGCTGGTTTAAGTATAAT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEAEEEEEEEEE/AEEEEAEEE<AEEEEEEEEEEEAEEE
@ERR5069949.651338 NS500628:121:HK3MMAFX2:2:11307:9572:4021/1
CTATAACATTAATAGGCAATGAACCTTTAGTGTTATTAGCTCTCAGGTTGTCTAAGTTAACAAAATGAGAGAGAGAATGTCTTTCATAAGTCTTTTGACCAGCTTTAACAAAGTAAAGATGGATGGAACCATTCTTCAGAGT
+
AAAAAEEEAEAEEEEEEEEEAEEEEA/EEEEA/EE/<AEEAEEE/EA<//EE/A/E/EEEEEEEEEEEEEE/EAEEEEAAEE/E<AEEE/<<EEEEE<E/EEE<A/A/<<EAE/A</EEEA<EE/EE//AEEE</6/A///A
@ERR5069949.169513 NS500628:121:HK3MMAFX2:2:21303:6012:2171/1
AATCAAGACTATTCAACCAAGGGTTGAAAAGAAAAAGCTTGATGGCTTTATGGGTAGAATTCGATCTGTCTATCCAGTTGCGTCACCAAATG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EE6EEEE
@ERR5069949.155944 NS500628:121:HK3MMAFX2:2:21111:24075:19469/1
GGATAGACAGATCGAATTCTACCCATAAAGCCATCAAGCTTTTTCTTTTCAACCCTTGGTTGAATAGTCTTGATTATGGAATTTAAGTGAAATACAAAATTTGGACATTCCCCATTGAAGGTGTCAAATTTCTTTGCCAATTTAATTTCA
+
AAAAAEEAEEEEEEE6EEEEEEEEEAEEEA<EEEEEEEEEA66AEA/EAEEEAEE/EEEEEAE/A/EEEEA6EEE/EA/EEEEE/A//EEE/AAEEEAAEEEEAA/<EEAAAAAA6/AEE/EEEAEAAA/66/6/AEA/A6/A</AE<AE
@ERR5069949.2033605 NS500628:121:HK3MMAFX2:4:21508:23814:9228/1
CTACACGAGCACGTGCAGGTATAATTCTACTACATTTATCTATAGGCAAATATTTTAATGCCTTCTCACATAGTGCATCAACAGCGGCATGAGAGCAAGCTGTATACACTATGCGAGCAGAAGGGTAGTAGAGAGCTAGGCCAATAGCAA
+
AAAAAEE/EEEEEEEEEEEEEEEEEAEEEEEEEEEAEEAEEEEEAEEEEEEEEAAEEEEE<EEE<EEEEEAEEAEEEAAE/EEEA/EEA<EEEEEEEEEEEE<EE/AEEAEEAA<AEA/EE/EEAE6E/AE/<E/AAAAEEE<AAE<AAA
@ERR5069949.2730382 NS500628:121:HK3MMAFX2:4:21605:26351:3903/1
ACTGAATTTTCTGCACCAAGTGACATAGTGTAGGCAATGATGGATTGACTAGCTACACTACGTGCCCGCCGAGGAGAATTAGTCTGAGTCTGATAACTAGCGCATATACCTGCACCAATGGGTATGTCACACTCATATGAGT
+
AAAAAE/EEEEEEEAEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEE<EEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEE<EEAAAEEE<AEA<<AAE<AEAEAEA<A/AAAEEE<A<AA<A
@ERR5069949.2125592 NS500628:121:HK3MMAFX2:1:11307:14726:9430/1
ATGTGAGAAGGCATTAAAATATTTGCCTATAGATAAATGTAGTAGAATTATACCTGCACGTGCTCGTGTAGAGTGTTTTGATAAATTCAAAGTGAATTCAACATTAGAACAGTATGTCTTTTGTACTGTAAATGCATTGCCTGAGACGAC
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEAEEEEEEEAEEEEA<EEEEEEEAEEEEEEAEEEEEEAAEEEEEE<EE/A/EEEA
@ERR5069949.1062611 NS500628:121:HK3MMAFX2:1:11304:13814:5808/1
AACTAGCATTATACACTGAAGTGTATTACCAGTTATGAAGAAAATAGGGCAATACTCAACACACATAAAAACAATACCTCTGGCCAAAAACATGACAGTTGTAACTACACCTGAGTAGTTAGAAGTAACAGAGATTATAAGAGCCCACATG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEE/AEAEEEEEEEE6AEEAEEEEEEEEEEAEEEEAEEEEEEEEEEEEEEEEEE<AEEEEEEEEEEEEEAEEEEEEAEEEAEAEEEEAAEEEAAEEA
@ERR5069949.1778133 NS500628:121:HK3MMAFX2:1:11203:21125:7007/1
CATCTTATTTCTATAGAGACACTCATAAAGTCTGTGTTGTAAATTGCGGACATACTTATCGGCAATTTTGTTACCATCAGTAGATAAAAGTGCATTAACATTGGCCGTGACAGCTTGACAAATGTTAAAAACACTATTAGCATAAGCAGTT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEEEEAAAEEEEA<EEEEEEEEEEEEAEAEAEEEEAEEEEEEEEEEEEEEAEAEEEEEEEAEEEEEEEEEEEEEEEEEEA<AAAAAAEEEEEAEEA
@ERR5069949.3057020 NS500628:121:HK3MMAFX2:2:21204:6342:14557/1
CAATTTGCCTATGCCAACAGGAATAGGTTTTTGTATATAATTAAGTTAATTTTCCTCTGGCTGTTATGGCCAGTAACTTTAGCTTGGTTGTACGC
+
AAAAAEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAE
@ERR5069949.2972968 NS500628:121:HK3MMAFX2:4:21405:4877:14897/1
AGTAAACTGTTACAAACAACAACAGCAAGTTGCAAACAAAGTGAACACCCTTGGAGAGTGCTAGTTGCCATCTCTTTTTGAGGGTTATGATTTTGGAATCGCTCTGAAAAACAGCAAGAAGTGCAACGCCAACAATAAGAC
+
AAAAAEEEE//EEEE6AE/AE/E6EEEEEEEE//E/EEEEE//EEA/A<EAEEEEEEEAEEEE/<E</EE/E<E<EE/E/E/E<///A/AE//EEEE//EA/EEAEE//EAA66EEEEEE/E/6//A/EE/EE/A//A//6
@ERR5069949.2734474 NS500628:121:HK3MMAFX2:4:11507:10751:13427/1
TGGCAATAGAGTTATTAGAGTAAGCAACTGAATTTTCTGCACCAAGTGACATAGTGTAGGCAATGATGGATTGACTAGCTACACTACGTGCCCGCCGAGGAGAATTAGTCTGAGTCTGATAACTAGCGCATATACCTGCACCAATGGGT
+
AA/AAAEEEEEEEAEEEE//EEEEEEEEEEEEEEEEEAEEEEE/EEEE/EEAEEEEEEEE/EEEEEEEEE/E/EEE/AEA/EEEAAEE/EEAAEAAEAEEEEAEEEEEEEEA<EEAEE/A<EEEEEEEAAEEEEAA<AAAAE/AEE/AA
@ERR5069949.856527 NS500628:121:HK3MMAFX2:2:11301:22893:2784/1
CAACTACACTTAACGGTCTTTGGCTTGATGACGTAGTTTACTGTCCAAGACATGTGATCTGCACCTCTGAAGACATGCTTAACCCTAATTATGAAGATTACTCATTCGTAAGTCTAATCATAATTTCTTGGTACAGGCTGGTAATGTTCAA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAAEEEEEEEAEEEE<AAAEEAEEEAEEEE/EEEEEAEEEAEAEE//<//AE//E<E//<//EA/A<EA6EE//E/AA/6A//6/AEE<EE6AE/AE
@ERR5069949.2098070 NS500628:121:HK3MMAFX2:3:11406:20552:1667/1
GCTCTCTACTACCCTTCTGCTCGCATAGTGTATACAGCTTGCTCTCATGCCGCTGTTGATGCACTATGTGAGAAGGCATTAAAATATTTGCCTATAGATAAATGTAGTAGAATTATACCTGCACGTGCTCGTGTAGAGTGTTTTGATAAAT
+
AAAAAEEEEEEE/EE/EA/EEA/EEEEA/<6EEEEEEA<AE/EAEEEE/AAA<A<E<EEA<EEA/EEAEEEEAEEAEE/EAEEEEE//6/6AEEA</EEAEEEEA<EE/AE66AEAEAAAA/<AA<<<<EAAEAEAEE/EA6EEEEEAEEE
@ERR5069949.1552198 NS500628:121:HK3MMAFX2:1:11108:11797:17621/1
ATATTACGCGTATACGCCAACTTAGGTGAACGTGTACGCCAAGCTTTGTTAAAAACAGTACAATTCTGTGATGCCATGCGAAATGCTGGTATTGTTGGTGTACTGACATTAGATAATCAAGATCTCAATGGTAACTGGTATGATTTCGGT
+
AAAAAEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEAEAEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEA
@ERR5069949.2385514 NS500628:121:HK3MMAFX2:3:21611:13560:16508/1
GAGTTGACATCTATGAAGTATTTTGTGAAAATAGGACCTGAGCGCACCTGTTGTCTATGTGATAGACGTGCCACATGCTTTTCCACTGCTTCAGACACTTATGCCTGTTGGCATCATTCTATTGGATTTGATTACGTCTATAATCCGTTT
+
A/AAAE6EEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EE<EEEEE/A/AE6EEA/E/EEEEEA/AEEEEEEE<EEEAAEEEEEEE/EAEEEEEE/EEAAAEEE/<<AEEEEEEAEAEA<E/AAAAAAAA/<EE/EEAEEAE
@ERR5069949.2270078 NS500628:121:HK3MMAFX2:4:21510:16801:19554/1
ATAAACATGTTAGGGTAACCATTAACTTGATAATTCATTTTAAAACCCATCATAGAGATGAGTCTTCTATAGGTCATGTCCTTAGGTATGCCAGGTATGTCAACACATAAACCTTCAGTTTTGAATTTAGTGTCAACACTGAGGTGTGTAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEEEEEE/EEEAEEEEEE<EEEEEAEEEEE/<<EEA<EEEA<A<A<6AEE<AEEEEEEEEEAEEEE//AEEAEEEEEEA
@ERR5069949.114870 NS500628:121:HK3MMAFX2:4:11410:23953:14505/1
AAAGGAGCTGGTGGCCATAGTTACGGCGCCGATCTAAAGTCATTTGACTTAGGCGACGAGCTTGGCACTGATCCTTATGAAGATTTTCAAGAAAACTGGAACACTAAACATAGCAGTGGTGTTACCCGTGAACTCATGCGTGAGCTTAAC
+
AAAAA/EAEEEEEEAEEEEEEEEE/EEEAEEEEEEEEEEEEEEEEAEAEAEEAEEEEEEEEEEEEEEEEAEAA<EE</AAEEEEEEEAEEEAEEEEEEEEEEEEEEEEEEEEEAEEA<AEEEEEEA<<AAE<EEEEEAE<AAEAAAEAEE
@ERR5069949.2668880 NS500628:121:HK3MMAFX2:1:21104:5191:15623/1
GTTTGTGGACCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAATTTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAE<EEAEEEEA<EAA<AAAEEEEEE<AEA<EAAEE
@ERR5069949.257821 NS500628:121:HK3MMAFX2:2:21307:14790:19018/1
TATGTAGCCATACTCCACTCATCTAAATCAATGCCCAGTGGTGTAAGTAATTCAGATACTGGTTGCAAAGTTTTTATGACAGCATCTGCCACAACACAGGCGAACTCATTTACTTCTGTACCGAGTTCAACTGTATAGG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEE6EEEAE/EE/EEEE<EEEE/EEEEEEEEEEEA/EEEEEEEAEEE/E<EE/EAAEEE/<E/<E<<E/A/EEAEEA<AAAEAE/<AE<EE<EA/A
@ERR5069949.2243023 NS500628:121:HK3MMAFX2:2:21301:7521:3094/1
TTTCAAGACTTGTAAATTGCAACTTGTCATAAAGGTCTCTATCAGACATTATGCAAAGTATGCCTACTTTTGCTCTGGTAATAGCAACATTAAATCTGTTTACATTACAAGAGTGAGCTGTTTCAGTGGTTTGAGTGAATATGACATAGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEEEAEEEEEEEEEEEEEEEEEAEEEE<EEEAEAAEEEEEEEEEA<AAEEEE<EEEEAEAEE/E<AE<EAEEAE<EE
@ERR5069949.2605155 NS500628:121:HK3MMAFX2:1:21311:18812:15592/1
GTTCTTACCTTTCTTTTCCAATGTTACTTGGTTCCATGCTATACATGTCTCTGGGACCAATGGTACTAAGAGGTTTGATAACCCTGTCCTACCATTTAATGATGGTGTTTATTTTGCTTCCACTGAGAAGTCTAACATAATAAGAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEE/EEEEEEEEEEEEEE<EEAEEEAEAEAEEEEEEEEAAEEEEE<EEAEAEEEAA<E<EAAE</E/AA
@ERR5069949.1340552 NS500628:121:HK3MMAFX2:2:11309:7320:9079/1
TGCCTGACCAGTACCAGTGTGTGTACACAACATCTTAACACAATTAGTGATTGGTTGTCCCCCACTAGCTAGATAATCTTTGTAAGCTTTAGCAGCATCTACAGCAAAAGCACAGAAAGATAATACAGTTGAATTGGCAGGCACTTCTGTT
+
AAAAAEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEE<EEEEEEEEEAAEEEEEEEEAAEEEEEEEEEE/EEEAAEE<A/EEAAAAEA
@ERR5069949.1561137 NS500628:121:HK3MMAFX2:2:11303:23159:8428/1
ATGTAAGGCTTTGTTAAGTCAGTGTCAACATGTGACTCTGCAGTTAAAGCCCTGGTCAAGGTTAATATAGGCATTAACAATGAATAATAAGAATCTACAACAGGAACTCCACTACCTGGCGTGGTTTGTATGAAATCACCGAAATCATAC
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEAEEEEEEEEEE/EEEEEEEEEEEEEEEEEEAEEAEEAEEEEEEEEEEEEEEEE/EEEEEEEAEEEEEAAAEE/EE<EEAA/A<A<EEAEE/AAAE<EA
@ERR5069949.2361683 NS500628:121:HK3MMAFX2:2:21103:8659:7427/1
GATTTTTCCAGAGTTAGTGCTAAACCACCGCCTGGAGATCAATTTAAACACCTCATACCACTTATGTACAAAGGACTTCCTTGGAATGTAGTGCGTATAAAGATTGTACAAATGTTAAGTGACACACTTAAAAATCTCTCTGACAGAGT
+
AAAAA/AA/EAEEAAEEEEAEE/EAEAAA<EEAAEEEEEE/EEEEEEEEEAAEEE/AEEE/EEEA<EEEAEEEEE<AAA<EEEEEEEEEAAEEA<AEEEEEEEEE<EEE/<AEEEEEAEEA<//A<EEAAEE6EAEEAAAEEAA6AEEA
@ERR5069949.2521353 NS500628:121:HK3MMAFX2:3:11508:26680:5334/1
CTTTTACAAGACTTCAGAGTTTAGAAATTGTGGCTTATAATGTTGTAATTAAGGGACACTTTGATGGACAACAGGGTGAAGTACCAGTTTCTATCATTAATAACTCTGTTTACACAAAAGTTGATGGTGTTGATGTAGAATTGTTTGAAA
+
AAA/AE/6E6EEEEAEE/EE/EEE/EE/EA/EAEA//EEEEE6EAEAE/EEEEEE/EAE////EEA/EEEEEEEEEEEEEE///A/EEAEEEEEEEE<AEAEEE/AE/E<E/EEEEEA/E///AE/66AEEAEEE<E//E/EA/A<6AEE
@ERR5069949.1261808 NS500628:121:HK3MMAFX2:3:11601:6846:14627/1
GTGAAATTAGTATGGACAAATCACCTAATTTAGCATGGCCTCTTATTGTAACAGCTTTAAGGGCCAATTCTGCTGTCAAATAACAGAATAATGAGCTTAGTCCTGTTGCACTACGACAGATGTCTTGTGCTGCCGGAACTACACAAACT
+
AAAA/AAA/EEEE/AE<EE//EE/EEEEEA<EAEEE66//EE/E/A6EEEA/E<<E/E//A/EE/AEEE6/E6EA<EEE/E//EAAEEEA/E//EEE/EA/A/A</<<E/AA<EEE<E<EEEE<A6</<A//A/AA/<<<AA<<A<AEA
@ERR5069949.2734873 NS500628:121:HK3MMAFX2:4:21611:11682:9300/1
ACATAGTGTAGGCAATGATGGATTGACTAGCTACACTACGTGCCCGCCGAGGAGAATTAGTCTGAGTCTGATAACTAGCGCATATACCTGCACCAATG
+
AAAAAEEEEEEEEEEEEEEEEEEEE/EEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
@ERR5069949.3017828 NS500628:121:HK3MMAFX2:1:21111:18284:17510/1
ATGATGAACCGACGACGACTACTAGCGTGCCTTTGTAAGCACAAGCTGATGAGTACGAACTTATGTACTCATTCGTTTCGGAAGAGACAGGTACGTTAATAGTTAAT
+
AAAAAE6EEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAEEEEE
@ERR5069949.573706 NS500628:121:HK3MMAFX2:3:21407:23793:9689/1
GTACGAACTTAAGCATGGTACATTTACTTGTGCTAGTGAGTACACTGGTAATTACCAGTGTGGTCACTATAAACATATATCTTCTAAAGAAACTTTGTATTGCATAGACGGTGCTTTACTTACAAAGTCCTCAGAATACAAAGGTCCTAT
+
AAAAA6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEAAEEEAEEEEEEEEEEE
@ERR5069949.1980512 NS500628:121:HK3MMAFX2:1:21303:8321:13259/1
ATATTGAGTGTTGGGTATAAGCCAGTAATTCTAACATAGTGCTCTTGTGGCACTAGTGTAGGTGCACTTAATGGCATTACTGTATGTGATGTCAGCACAAAATAATCACCAACATTTAATTTGTAAGTTGTTGTACCTCGGTAAACAACAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEEEEEEEAEEEEEEEAEAEEEEAAEAEEEEEAEEEAEEEAEAEEEAEAAAEAEAAEEEEEAAEEEEEEAEEEEEEEEEE
@ERR5069949.1014693 NS500628:121:HK3MMAFX2:1:11109:13494:20222/1
GTCTATATGCCTGCTAGTTGGGTGATGCGTATTATGACATGGTTGGATATGGTTGATACTAGTTTGTCTGGTTTTAAGCTAAAAGACTGTGTTATGTATGCATCAGCTGTAGTGTTACTAATCCTTATGACAGCAAGAACTGTGTATGAT
+
AAAAAAEEAEEE6EAE//E/EEE6AEAA/EAEAEE6/E//EAE/EEEEAEE/EEE/EAEEEEEAE/EEEEEAEEEEEAAEEAEEE/AE/EAEAEEEEEEEEEEEEEE/AE/E/E/<<<AA<E<AEE</EEEEA6<AEEAAAA//A//EEE
@ERR5069949.3184655 NS500628:121:HK3MMAFX2:3:21606:7576:13093/1
TTCCAGAAGAGCAAGGTTCTTTTAAAAGTACTGTTGTACCTCTAACACACTCTTGGTAGTGATAAAGCTCACAAGTAGCGAGTGTTATCAGTGCCAAGAAAAGAATAATTTTCATGTTCGTTTAATCAATCTCCATTGGTTGCTCTTCAT
+
AAAAAEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEA/EEEEEEEEEEEEEAEEEEEEE/EAEAEEA<A/EE/E<E/EEEEEEEEEE<E<EEEEA/<<<A/E///AEE<EEE/<A6E/A/6A<6AE/<E6EAAA
@ERR5069949.29668 NS500628:121:HK3MMAFX2:2:21202:17958:8710/1
CTCCAAAGCCACGTACGAGCACGTCGCGAACCTGTAAAACAGGCAAACTGAGTTGGACGTGTGGTTTCTAGTTGTAACCAGGGACAAGG
+
AA/AAEE6////EEEAEEE<EAEA/AEEEEEAEEEAEEEAE/A6EA/E/EA6A<A<AAA</////EEE6///<</EE/EE/E/6////E
@ERR5069949.3258358 NS500628:121:HK3MMAFX2:3:21508:15641:1056/1
GTTCCTAGGTAGTAGAAATACCATCTAGGACTGAGATCTTTCATTTTACAGTCACCACCACGAATTCGTCTTGTAGCTCTTCGGTAGTAGCCAATTTGGTCATCTGGACTGCTATTGGTGTTAATTGGAACGCCTTCTCCTCGAGGGAATT
+
AAA/AAEAEEAEEEEEEA/EEEEEEE//EE/EAEE/EE/A6EEEAEAEE/EE//EEEE/AE/AAAE/AAEE/A/E//AEE/AA/EE/EE6EE<///E//AEE<EEA<EE//EE<<</<EAEEEEEE//</A<EE<</<EA/A/<A<A/EEE
@ERR5069949.1476386 NS500628:121:HK3MMAFX2:2:21303:26270:9400/1
TAATGACCCTGTGGGTTTTACACTTAAAAACACAGTCTGTACCGTCTGCGGTATGTGGAAAGGTTATGGCTGTAGTTGTGATCAACTCCGCGAACCCATGCTTCAGTCAGCTGATGCACAATCGTTTTTAAACGGGTTTGCGGTGTAAGTG
+
AAAAA/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEAEEEEEEEEEEEEEEEEEEEEEEAEEEEEAEEEAEEEEEEE/AEEE/EEEEEE/AEE/EEAE/EEE<EA/<EEA/EEEEE/EEEEAAEEEAAAAEEAEEE
@ERR5069949.2415814 NS500628:121:HK3MMAFX2:1:11107:11754:7444/1
GCTTTGAGTTGACATCTATGAAGTATTTTGTGAAAATAGGACCTGAGCGCACCTGTTGTCTATGTGATAGACGTGCCACATGCTTTTCCACTGCTTCAGACACTTATGCCTGTTGGCATCATTCTATTGGATTTGATTACGTCTATAATC
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEAEEEEEEAEEEEEEEAEEEAEEEEEAEEEEEAEAAAE<AEA

View file

@ -0,0 +1,400 @@
@ERR5069949.2151832 NS500628:121:HK3MMAFX2:2:21208:10793:15304/2
ATGTGTACATTGGCGACCCTGCTCAATTACCTGCACCACGCACATTGCTAACTAAGGGCACACTAGAACCAGAATATTTCAATTCAGTGTGTAGACTTATGAAAACTATAGGTCCAGACATGTTCCTCGGAACTTGTCGGCGTTGTCCTG
+
AAAAAEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEAEEEEEAAEEEEEEEEEAAEAAA<<EAAEEEEEEEAAA<<<AE
@ERR5069949.576388 NS500628:121:HK3MMAFX2:4:11501:11167:14939/2
GCATAGACGGTGCTTTACTTACAAAGTCCTCAGAATACAAAGGTCCTATTACGGATGTTTTCTACAAAGAAAACAGT
+
AAAAA6EEAEEEEEAEEAEEAEEEEEEA6EEEEAEEAEEEEE6EEEEEEAEEEEA///A<<EEEEEEEEEAEEEEEE
@ERR5069949.501486 NS500628:121:HK3MMAFX2:1:21305:3080:7962/2
TTACAGAGCAAGGGCTGGTGAAGCTGCTAACTTTTGTGCACTTATCTTAGCCTACTGTAATAAGACAGTAGGTGAGTTAGGTGATGTTAGAGAAACAATGAGTTACTTGTTTCAACATGCCAATTTAGATTCTTGCAAAAGAGTCTTGAA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEAA/EEE/<AEEAAEAEA</EEEAEAAAAAEE
@ERR5069949.1331889 NS500628:121:HK3MMAFX2:3:11605:17658:18222/2
CACAATTAGTGATTGGTTGTCCCCCACTAGCTAGATAATCTTTGTAAGCTTTAGCAGCATCTACAGCAAAAGCACAGAAAGATAATACAGTTGAATTGGCAGGCACTTCTGTTGCATTACCAGCTTGTAGAC
+
AAAAAEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEE/EEEEEEAAEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<AEEEEEEEEEAEEEEEEEEAEEEEE/A
@ERR5069949.2161340 NS500628:121:HK3MMAFX2:2:21107:15810:18317/2
GGACAACGCCGACAAGTTCCGAGGAACATGTCTGGACCTATAGTTTTCATAAGTCTACACACTGAATTGAAATATTCTGGTT
+
AA6AAAE6/EA/<E/E/<//EE///EAEAEEEE////6EEE//EEE/EAEEE/AEA/EA<EA</AEEE/EE/AEAE</E//A
@ERR5069949.973930 NS500628:121:HK3MMAFX2:2:21105:5548:5659/2
CCTTTTGATGTTGTTAGACAATGCTCAGGTGTTACTTTCCAAAGTGCAGTGAAAAGAACAATCAAGGGTACACACCACTGGTTGTTACTCACAATTTTGACTTCACTTTTAG
+
AAAAAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEAE<EAEEEEEEAEEAEE
@ERR5069949.2417063 NS500628:121:HK3MMAFX2:1:11310:4428:10115/2
CAATAGTCCAGTCAACACGCTTAACAAAGCACTCGTGGACAGCTAGACACCTAGTCATGATTGCATCACAACTAGCTACATGTGCATTACCATGGACTTGACAATACGGATCATGGTTGCTTTGTAGGTTACCTGTAAAACCCCATTGTT
+
AAAAAEEEEEEEEE/E6EEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEEEAEEEEEEEAEEEEEAEEEEEAAEAEE/EEAE/EEEAAAA6A<E/EAEAE/EEAEAE<//EEEEE<AEEA
@ERR5069949.376959 NS500628:121:HK3MMAFX2:1:21205:12113:10369/2
AGATAATAGATGGTAGAATGTAAAAGGCACTTTTACACTTTTTAAGCACTGTCTTTGCCTCCTCTACAGTGTAACCATTTAAACCCTGACCCGGGTAAGTGGTTATATAATTGTCTGTTGGCACTTTTCTCAAAGCTTTCGCTAGCATTT
+
AAAAAEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEE<EEEEEA<A<AAAAAAA<<<EAEEEE<AEEEAAAAA<AAAEAAAEE
@ERR5069949.1088785 NS500628:121:HK3MMAFX2:1:21109:26270:17779/2
GCATTTCTTCACAAAGCTTGTTTATGTCTACAGCACCCTGCATGGAAAGCAAAACAGAAAGTAGTGAAACCATTTTTTCAAAGGCTTCAGTAGTATCTTTAGCTAAGAGAATGTCATTGTGTAACTGGACACATTGAGCCCACAATTTAG
+
AAAAAEEEEAEEEEEEEEEE/EEEEEEEEEEEEEEEEAEE/EEAEEE/AAEEEEEEEEEEEEEEEEEEEE/EEEEEEEAEEEEEEEEEAEEEE</EEE/EA/<EAEAEEEEEEAEEA<EEEEEAEEEA<AAAA/EEAE<E//E<EEEEEA
@ERR5069949.1066259 NS500628:121:HK3MMAFX2:1:11312:18369:8333/2
GTACAAAAATAGCCTAAGAAACAATAAACTAGCATTATACACTGAAGTGTATTACCAGTTATGAAGAAAATAGGGCAATACTCAACACACATAAAAACAATACCTCTGGCCAAAAACATGACAGTTGTAACTACACCTGAGTAGTTAGAAG
+
AAAAAEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEA/EAA</EEEEEEEEEE/AE//A/E<AE<AA<AEEE/AAEAAAEEAEEA<A6AEEA<EEAEEEEEEEAA//EE
@ERR5069949.2832676 NS500628:121:HK3MMAFX2:4:11602:20035:16369/2
TGATCAACCTATCAATTTGCACTTCAGCCTCAACTTTGTCAAGACGTGAAAGGATATCATTTAAAACACTTGAAATTGCACCAAAATTGGAGCTAAGTTGTTTAACAAGCGTGTTTAAAGCTTGTGCATTTTGGTTGAC
+
AA6AAEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEAEEE<AEEEEEEE<AAEEAEEAEEEEEEEE/EEEAAEEEEAAA<A<EEAEE/EAAEEEAEEEEA/<AEE6AEAE/<EEEE<A
@ERR5069949.2953930 NS500628:121:HK3MMAFX2:3:21504:10316:13537/2
CCCTTGGAGAGTGCTAGTTGCCATCTCTTTTTGAGGGTTATGATTTTGGAAGCGCTCTGAAAAACAGCAAGAAGTGCAACGCCAACAATAAGCCATCCGAAAGGGAGTGAGGCTTGTATCGGTATCGTTGCAGTAGCGCGAACAAAAT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEE/EEEEAEEEEEEAAEEEEEEEEEEAEE/EEEEAEEEEEEEEEAEEEEEEEAEEEEAAEEEEEE/EEEEEEAAAAAEEEEAAEEEEEEEEEE/EEEEEE
@ERR5069949.324865 NS500628:121:HK3MMAFX2:1:11102:17526:14721/2
ATGAATCTGATGAATACATAGCTACTAATGGACCTCTTAAAGTGCGTGGTAGTTGTGATTAAAGCGGACACATACTTGCTAAACACTCTCTTCATGATGTC
+
A/AAAEEEEA6AA6EE//EEA/EEEAE/EA/A////E</EEAA//EEA////EAE<///E/AEA</AAE/EA//E<EAAAE/AA//AEE//A/AE//</EE
@ERR5069949.2185111 NS500628:121:HK3MMAFX2:2:11210:1473:2754/2
GCTAAGCACTATGTGTACATTGGCGACCCTGCTCAATTACCTGCACCACGCACATTGCTAACTAAGGGCACACTAGAACAAGAATATATCAATTCAGTGTGTAGACTTATGAAAACTATAGGTCCAGACATGTTCCTCGGAACTTGT
+
AAAAA6/E//AEEAEEEEE/EEE/E/EEEE/E/E6E///E<E/<EE</A/<EEE//E6/<EEEAE<//<E/E/6EEE/EAAA<//EE//<EEE/AEEAA/A<EAE/EEA<//AEAEEE/<A/E</AA<EEA<<EAAEA<<</E/EEE
@ERR5069949.937422 NS500628:121:HK3MMAFX2:2:11104:8644:10925/2
GGTTAAAGTCATTAAGAGTTGTGGTAAATCGATTGAGAAACCACCTGTCTCCATTTATAACAGCAGCGTACAACCAAGCTAAAACATTAACTGTAATAGTTGTGTCCGTACCAGCTGCTTGTGCTGTTTGCCTGTCAACAAAAGGTCCATA
+
AAAAAEEEAEEEEAEEEEEEEEEEEEEEEEEEEEEEEE6/EE/EEEEEEAAAAAEEEEEEAEEE<EEEAEE//EEEEEEEEEEAEEEEEEEAEAAEEAEA<EA<AEEEA/EEEAEAAAA<AAAAAAAAA6EA/AAE<EAAEEE/EE<A/AA
@ERR5069949.2431709 NS500628:121:HK3MMAFX2:3:21609:20858:5879/2
ATTATAGGATATTCAATAGTCCAGTCAACACGCTTAACAAAGCACTCGTGGACAGCTAGACACCTAGTCATGATTGCATCACAACTAGCTACATGTGCATTACCATGACTTGACAATACAGATCATGGTTGCTTTGTAGGTTACCTGTAAA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEAEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEEEEEAEEAAAEAEEEEAAAA<EAAAAAAA
@ERR5069949.1246538 NS500628:121:HK3MMAFX2:4:11505:20131:7933/2
GTTGTAGTAAGCTAACGCATTGTCATCAGTGCAAGCAGTTTGTGTAGTACCGGCAGCACAAGACATCTGTCGTAGTGCAACAGGACTAAGCTCATTATTCTGTAATTTGACAGCAGAATTGGCCCTTAAAGCTGTTACAATAAGAGGCCAT
+
AAAAAEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAAEEEAEEAAA<AEEAAAEAAEEEEAAEEEAAAAAA
@ERR5069949.1189252 NS500628:121:HK3MMAFX2:2:21308:10087:1427/2
CAATTTTACTATCTGCATCTACAACCTGTTGGATTTCCCACAATGCTGATGCATAAGTAAATGTTGTACCATCACACGTATTTTTATATGTGTTATAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEE
@ERR5069949.2216307 NS500628:121:HK3MMAFX2:1:21302:10479:19538/2
GTGTAGACTTATGAAAACTATAGGTCCAGACATGTTCCTCGGAACTTGTCGGCGTTGTCCTGCTGAAATTGATGACACTGTGAGTGCTTTGGTTTATGATAATAAGCTTAAAGCACATAAAGACAAATCAGCTCAATGCTTTAAA
+
A//AA6EEE/EEEEAEEEEE/EE/A/6E/EAE</EE/AEE/AEEAEAE/E//AA<6AA6<E/EE/EEE/AE/6/EEE<//E/E6A/<E/////EAE<E<</AAAEE//AAEE/6AAA6/AEA/AAEEAAAA////AA/6E<6AAE
@ERR5069949.3273002 NS500628:121:HK3MMAFX2:4:11506:23944:16676/2
TGGCAAGGAAGACCTTAAATTCCCTCGAGGACAAGGCGTTCCAATTAACACCAATAGCAGTCCAGATGACCAAATTGGCTACTACCGAAGAGCTACCAGACGAATTCGTGGTGGTGACGGTAAAATGAAAGATCTCAGTCCAAGATGGTA
+
AAAAAEEEEEEEEEEEEEEEEEEAEEAEEEEEEEAEEE/EEA/EEEEEE6EEEAEEEEEEEEEAEEEEAEEEEE<EEEE<EEE/EE//AE/EEAEAEAE/EAAEEA6AEEE/<E<</EEE/E</AEA//A/EA6<AAEEEA/AEE6AE/E
@ERR5069949.3277445 NS500628:121:HK3MMAFX2:4:11601:26589:14031/2
CTCAGTTGCAACCCATATGATGCCGTCTTTGTTAGCACCATAGGGAAGTCCCGCTTCTGGCCCCGTTCCTAGGTAGTAGAAATACCATCTTGGACTGAGAT
+
AAAAAEEEEE6EEEEEEEEEEEEEEE//6EEAE//A/AEE<EAAE/A/E/E//E/E///E/EE///</A/E/<//E<EA/AE/EA</<//<AE///A/</<
@ERR5069949.3022231 NS500628:121:HK3MMAFX2:1:21102:10897:17190/2
ATATTGCAGCAGTACGCACACAATCGAAGCGCAGTAAGGATGGCTAGTGTAACTAGCAAGAATACCACGAAAGCAAGAAAAAGAAGTACGCTATTAACTATTAACGTACCTGTCTCTTCCGAAACGAATGAGTACATAAGTTCGTAC
+
AAAAAEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEEEEEEEEEEEEEAAEAAEE<EAEEEE<EEEEEAEEEEEEAAAE
@ERR5069949.184542 NS500628:121:HK3MMAFX2:2:21205:8408:1786/2
GGCACCTTCTTTAGTCAAATTCTCAGTGCCACAAAATTCGCAAGTGGCTTTAACAAAATCGCACGT
+
AAA/AAEAEE/AAAE6/A/EE6AAAAEEE/E//AA6EEE/6/A/A///EEA<EEEAE6A/E////E
@ERR5069949.540529 NS500628:121:HK3MMAFX2:3:21609:5345:11242/2
TGGGCACACTTTCTTATGAACAATTTAAGAAAGGTGTTCAGATACCTTGTACGTGTGGTAAACAAGCTACAAAATATCTAGTACAACAGGAGTCACCTTTTGTTATGATGTCAGCACCACCTGCTCAGTATGAACTTAAGCATGGTACAT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEAEAEEEEEEEEEEAAEEEEEEEEEEAEEEEEEE<EA<AEEEAEEEAEEEEAEEAEEEAEEEEEEEAAAEEE
@ERR5069949.686090 NS500628:121:HK3MMAFX2:1:11212:8601:4499/2
GATCAGGCATTAGTGTCTGATGTTGGTGATAGTGCGGAAGTTGCAGTTAAAATGTTTGATGCTTACGTTAATACGTTTTCATCAACTTTTAACGTACCAATGGAAAAACTCAAAACACTAGTTGCAACTGCAGAAGCTGAACTTGCAAAGA
+
AAAAAEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEAEEEEEEEE/EEEEEEEEEEEEEEAEEEEEAEEEE<AEE/EEEEEEEAAAAEEEEEEEEEEEAEAEEEEEAEEEEA
@ERR5069949.2787556 NS500628:121:HK3MMAFX2:4:11609:10602:17177/2
CCGCTAACAGTGCAGAAGTGTATTGAGCAATCATTTCATCTGTGAGCAAAGGTGGCAAAACAGTAAGGCCGTTAAACTTTTGTGCACAAACGAGGTCTCTAGCAGC
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEAEEEEEEAEEEEE<AAA<EEEE<AEEEEEEEEAAEE
@ERR5069949.2650879 NS500628:121:HK3MMAFX2:1:21111:16524:5801/2
ATATAATTCCGCATCATTTTCCACTTTTAAGTGTTATGGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTACTAATGTCTATGCAGATTCATTTGTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGGGCAAACTGGAAAGATT
+
AAAAAEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEE<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEEEEEEEEEAEEE<A<EEEEAAAAEEEEEEEEEEEE
@ERR5069949.2064910 NS500628:121:HK3MMAFX2:3:21608:24504:13289/2
ACATACTGTTCTAATGTTGAAGTCACTTTGAATTTATCAAAACACTCTACACGAGCACGTGCAGGTATAATTCTACTACATTTATCTATAGGCAAATATTTTAATGCCTACTCACAT
+
A//AAE/EEEA/EEE/A/EEE6EE/EEEEAE6AA<EAE<EEEEEE/E</<EA/6EEA<EAAEEEEEAEAE/AEAEE/EA<E//EEEEEEEE/EAAE<AA///AE<EAAA/A////<<
@ERR5069949.2328704 NS500628:121:HK3MMAFX2:4:21612:9379:15958/2
CATGGATTGGCTTCGATGTCGAGGGGTGTCATGCTACTAGAGAAGCTGTTGGTACCAATTTACCTTTACAGCTAGGTTTTTCTACAGGTGTTAACCTAGTTGCTGTACCTACAGGTTATGTTGATACACCTAATAATACAGATTTTTCCA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEAEEEEEEEEEEEEAEEEEEEAEEEEEEEEEEEAEEEAEAEEEA<AEEEEEEEE/EEEEEEEAEEEEEEE/EEEEAEE
@ERR5069949.1067032 NS500628:121:HK3MMAFX2:4:21403:19263:10183/2
GCTTTAGATCAAGCCATTTCCATGTGGGCTCTTATAATCTCTGTTACTTCTAACTACTCAGGTGTAGTTACAACTGTCATGTTTTTGGCCAGAGGTATTGTTTTTATGTGTGTTGAGTATTGCCCTATTTTCTTCATAACTGGTAATACA
+
AAAAAAEEEE666<EEEE/E/EEEAEAEEEE/EEEEEEEE/AEEEAEE/<AAEE<EAEEEA/AEEE/EAEEEE<E<AEEAEEEE<<//EEE/EEE<EEE<A/A/A<EEE///A/6<A<AE<//<EEEE6</<AAAAAAE<A//<</<A/E
@ERR5069949.3338256 NS500628:121:HK3MMAFX2:1:11108:15722:2450/2
CAGCAAACTGTGACTCTTCTTCCTGCTGCAGATTTGGATGATTTCTCCAAACAATTGCAACAATCCATGAGCAGTGCTGACTCAACTCAGGCCTAAACTCATGCAGACCACACAAGGCAGATGGGCTATATAAACGTTTTCGCTTTTCCG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEAEEEEEEEEAAAAAEA<AAAEA<AA
@ERR5069949.1412839 NS500628:121:HK3MMAFX2:3:11609:15519:12102/2
GTACACACACTGGTACTGGTCAGGCAATAACAGTTACACCGGAAGCCAATATGGATCAAGAATCCTTTGGTGGTGCATCGTGTTGTCTGTACTGCCGTTGCCACATAGATCATCCAAATCCTAAAGGATTTTGTGACTTAAAAGGTAAGT
+
AAAA6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEAEEEAAAAEEEEEEEEEEAAEEAEAE<EEEAEAEEE/<AAAEAEAA/EAEEEEAEEAAE/AEA/EEEAEEAEAA
@ERR5069949.1538968 NS500628:121:HK3MMAFX2:2:11304:14669:15804/2
CACGATGGCAGACCTCGTCTATGCTTTAAGGCATTTTGATGAAGGTAATTGTGACACATTAAAAGAAATACTTGTCACATACAATTGTTGTGATGATGATTATTTCAATAAAAAGGACTGGTATGATTTTGTAGAAAACCCAGATATATTA
+
AAAAAEEEAEEAEEEAEEEAEEEAE<EEE6EAEA<EAAAEEEEEEEEEEEEEA/</EEEEEEEEEEEEEEEEEEEEEEAEEEEE/AEEEEEEEEAEEEEEEEEEEEEEEEEAEEEAA<AEAEE<AAE<A<AEEEEE/EA6AAA/EE/EEEA
@ERR5069949.147998 NS500628:121:HK3MMAFX2:3:21611:12530:12698/2
ATCTAAAGTCATTTGACTTAGGCCACGAGCTTGGCACTGATCCTTATGAAGATTTTCAAGAAAACTGGAACACTAAACATAGCAGTGGTGTTACCCGTGAACTCATGCGTGAGCTTAACGGAGGGGCATACACTCGCTATGTCGATAACAA
+
AAAAAAE6EEE/EEE/E/EEA6E/EEE/AE/E//EEEEAA/E/E/EAEEEE/EEEEEEE<EE/E/A/A</<E</<AE<///A<AA<//E/AE/E/EEE/EEEEA//E/A</<AE/////E<AAE<EE//EA/<6/A</A//<AAAA<EE/A
@ERR5069949.366975 NS500628:121:HK3MMAFX2:1:11105:12446:15727/2
CTAAAAAGGCTGGTGGCACTACTGAAATGCTAGCGAAAGCTTTGAGAAAAGTGCCAACAGACAATTATATAACCACTTACCCGGGTCAGGGTTTAAATGGTTACAC
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
@ERR5069949.1372331 NS500628:121:HK3MMAFX2:3:11601:26764:8562/2
TCTACAAGCTGGTAATGCAACAGAAGTGCCTGCCAATTCAACTGTATTATCTTTCTGTGCTTTTGCTGTAGATGCTGCTAAAGCTTACAAAGATTATCTAGCTAGTGGGGGACAACCAATCACTAATTGTGTTAAGATGTTGTGTACACA
+
AAAAAEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEE/EEEEEEE<EEAEEEEEEA/EEA<EAEEEEEEAEAAAEEAAAEEEEEAAA<AAAEEEA
@ERR5069949.1709367 NS500628:121:HK3MMAFX2:1:11301:9990:2022/2
GGTGGCTGTATTAATGCTAACCAAGTCATCGTCAACAACCTAGACAAATCAGCTGGTTTTCCATTTAATAAATGGGGTAAGGCTAGACTTTATTATGATTCAATGAGTTATGAGGATCAAGATACACTT
+
AAAAAEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEAEEEEEEAEEEEEEEEEEEEEEAEEEEEEEEEEEEEEE
@ERR5069949.2388984 NS500628:121:HK3MMAFX2:2:21306:17580:3896/2
AGCTACATGTGCATTACCATGGACTTGACAATACAGATCATGGTTGCTTTGTAGGTTACCTGTAAAACCCCATTGTTGAACATCAATCATAAACGGATTATAGACGTAATCAAATCCAATAGAATGATGCCAACAGGCATAAGTGTCTG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEAEEEEEEEEEEEEEEEAEEEEE/<EE<EE<AEEEAEEEEAAAEEEEEE<<AAEAEEEEEEEEAEEEEEAAEEEAEAAAA<EA/EEAAAAEEEAEE<EEE6AAAAE
@ERR5069949.1132353 NS500628:121:HK3MMAFX2:2:21111:21744:6806/2
CAACAGGGCAACCTTACAAGCTATAGCCTCAGAGTTTAGTTCCCTTCCATCATATGCAGCTTTTGCTACTGCTCAAGAAGCTTATGAGCAGGCTGTTGCTAATGGTGATTCTGAAGTTGTTCTTAAAAAGTTGAAGAAGTCTTTGAATGTG
+
AAAAAEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEE<EEEEEEEEAAEEAAEEEEEEEEEEEEEAE<AAAAAAE/AEEAEEEEEEEEEEEEEAAAEAAEEA
@ERR5069949.1151736 NS500628:121:HK3MMAFX2:4:21406:11928:13664/2
TTTTGCTACTGCTCAAGAAGCTTATGAGCAGGCTGTTGCTAATGGTGATTCTGAAGTTGTTCTTAAAAAGTTGAAGAAGTCTTTGAATGTGGCTAAATCTGAATTTGACCGTGATGCAGCCATGCAACGTAAGTTGGAAAAGATGGCTGAT
+
AAAAAEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEEEEE<EEEEAEEEEEEEEEEEEEEEEAEEEEEAEEAAEEE<AEAEEE<A/AAEEEEEEEAAAAA<AAAE<EEEEAEEEAEEEEEEAEEAEA/A
@ERR5069949.479807 NS500628:121:HK3MMAFX2:3:11402:16906:16736/2
GTTTACAACAGTAGACAACATTAACCTCCACACGCAAGTTGTGGACATGTCAATGACATATGGACAACAGTTTGGTCCAACTTATTTGGATGGAGCTGATGTTACTAAAATAAAACCTCATAATTCACATGAAGGTAAAACATTTTATGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<AEEEEEEEEEE<EEE<AEE/EEEEEEEEEAEEE<AA/EAA<AEEEEEEEAEEAAA
@ERR5069949.2176303 NS500628:121:HK3MMAFX2:4:11608:21150:1680/2
ATAACACCCTTATAAAACATTTTAAAGCATTGAGCTGATTTGTCTTTATGTGCTTTAAGCTTATTATCATAAACCAAAGCACTCACAGTGTCAACAATTTCAGCAGGACAACGCCGACAAGTTCCGAGGAACATGTCTGGACCTATAGTT
+
AAAAAEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEAAEEEEEAEAEEAEAEAEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEAEEEEEEAEEEEEEEAAEEAAE/<A/EEAEE/A<AAAA<AAAEEEEEEAAAEAEAEEEAEAE
@ERR5069949.2772897 NS500628:121:HK3MMAFX2:1:11106:12629:15009/2
CTTTCGTTGCAATATGGCAGTTTTTGTACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGAACAAGACAAAAACACCCAAGAAGTTTTTGCACAAGTCAAACAAATTTACAAAACACCACCAATTAAAGATTTTGGTGGTTTTAAT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEA<EAEEEE<EEEEAEEAAEEEEEEEEEEE
@ERR5069949.1020777 NS500628:121:HK3MMAFX2:3:11408:13234:17983/2
CTATATGCCTGCTAGTTGGGTGATGCGTATTATGACATGGTTGGATATGGTTGATACTAGTTTGTCTGGTTTTAAGCTAAAAGACTGTGTTATGTATGCATCAGCTGTAGTGTTACTAATCC
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEAEEEEEEAEEEAAEEEEEEEEEAEEEEA
@ERR5069949.465452 NS500628:121:HK3MMAFX2:3:11503:20241:8941/2
GTTGTAAACACCTTAATAGTCCTCACTTCTCTCAAAGAAAGAAGTGTCTTAAGATTGTCAAAGGTGATAACTTCACCATCTAGGTGGAATGTGGTAGGATTACTAGTGTAATATACACTTTTATCACCTCTCTTAAGAAATTCTATACCT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEE/AEE/EEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEAE/AA<AE</AAEEEEEEEEEEEEAAA
@ERR5069949.1704586 NS500628:121:HK3MMAFX2:3:11408:18502:19140/2
CTTGGTTAGCATTAATACAGCCACCATCGTAACAATCAAAGTACTTATCAACAACTTCAACTACAAATAGTAGTTGTCTGATATCACACATTGTTGGTAGATTATAACGATAGTAGTCATAATCGCTGATAGCAGCATTACCATCCTGAG
+
AAA/AEEE<EEEEE/EEEEEE/EEEEEEEEEEEAEEEEEE/EEEEEEEEEEEEEE<EAEEEEEE/EEEAEEAEAEEEAEEAEEEE/EA<AEA<AAEAEEEE<EEEEEA//E<EA<<A<A//EE6AAA</<EEE6AAEA<AAA<EAEE//A
@ERR5069949.1258508 NS500628:121:HK3MMAFX2:2:21106:23201:10887/2
GTGTTCCCTTGAACATAATACCTCTTACAACAGCAGCCAAACTAATGGTTGTCATACCAGACTATAACACATATAAAAATACGTGTGATGGTACAACATTTACTTATGCATCAGCATTGTGGGAAATCCAACAGGTTGTAGATGCAGATAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEE/EEEEEEEEEAEEEEEEEEA/AEAEAAAEAEEEEEAEEEEE<<EEEEEEE<AEAEAAA<EEE
@ERR5069949.986441 NS500628:121:HK3MMAFX2:2:11310:5407:13956/2
TGTCATAATACGCATCACCCAACTAGCAGGCATATAGACCATATTAAAATAAGCTACAGTGGCAAGAGAAGGTAACAAAAACAAACAGAGAAATGCATGCTTATGTTTGACAAACATCATTGCAAAAGCAGACATAGCAATAATACCCAT
+
AAAAAEEEEEEEEAEEEEEEEEAEEEEEAEEEEEEAE/EEEEEAEAEEEEEEEAEAEEEEEEAE/AAAEA/EAEAE/EEEAEEEEEEE/EEEAEAAAE</AAEAEEEE/E/E/E<AEEAE/<AEAEEAA<AEAAEAE<E<EEEEEA<A6A
@ERR5069949.2674295 NS500628:121:HK3MMAFX2:1:21303:10381:8722/2
CCTAAAAAGTCTACTAATTTGGTTAAAAACAAATGTGTCAATTTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTACTGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACTACTGATGCTGTC
+
AAAAAEEEEEEEEEEAEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEE<EEEEEEAEEE/EEEEEEE<EEAEEAEEEEEAEEAEE<EEAEE<E/AAAAAAE<AEAAAEEEEAEEAEAEE/EEAAAEE
@ERR5069949.885966 NS500628:121:HK3MMAFX2:4:11610:19682:20132/2
CTTAGGTCTTAGGATTGGCTGTATCAACCTTAAGCTTAAGTACACAATTTTGCATAGAATGTCCAATAA
+
A//AA6EEAEEEEE6EEE/EEA/EA///AAE/EAEEEAE6AE/E/E/EEAAE/EAA/E/E/<EA//E/6
@ERR5069949.2342766 NS500628:121:HK3MMAFX2:4:21501:7762:9816/2
TCATAGATGTCAACTCAAAGCCATGTGCCCATAAGACAAATACGACTCTGTCAGAGAGATTTTTAAGTGTGTCACTTAACATTTGTACAATCTTTATACGCACTACATTCCAAGGAAGTCCTTTGTACATAAGTGGTATGAGGTGTTTAA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEAAAEEEEEEEEEEEAEEEEEAEEEAAAA<<AEEEEAEAEAE
@ERR5069949.3122970 NS500628:121:HK3MMAFX2:2:21304:20157:2460/2
ATCAAGGACCTGCCTAAAGAAATCACTGTTGCTACATCACGAACGCTTTCTTATTACAAATTGGGAGCTTCGCAGCGTGTAGCAGGTGACTCAGGTTTTGCTGCATACAGTCGCTACAGGATTGGC
+
AAAAAEE6EEEEEEEAEEEEEEEEEEEAEEEEEEEEEEEEEE/EEEEEAE<EEAEAEEEEEEEEEAAEEEEAEAEEE/AEEE<A<A/AAAAAE/E<A66AEEEEEEEEEEEAE<</6AA<A/6/EA
@ERR5069949.3279513 NS500628:121:HK3MMAFX2:1:21110:4328:5711/2
TCTTTGTTAGCACCATAGGGAAGTCCAGATTCTGGCCCAGGTCCTAGGTAGTATAAATACCATCTTTG
+
AAAA/AEEEEEE/EEAEEEEE/EEEEAE/EEEEAA/<EAE6EA//AEEA/A/</EE6<E//EE//E/E
@ERR5069949.309410 NS500628:121:HK3MMAFX2:1:11107:4644:2079/2
TTAGTAGCCGTATTTAAGGCTCCTGCAACACCTCCTCCATGTTTAAGGTAAACATTGGCTGCATTAACAACCACTGTTGGTTTTACCTTTTTAGCTTCTTCCACAATGTCTGCATTTTTAATGTATACATTGTCAGTAAGTTTTAAATAA
+
AAA/AEE/E/EE66E//EEEEEEEE/AE///EEEEEAEEEE/AAE/EEAAEE/EE/</<E//EE</EAEE6EEE/E</EEEEEEAEE/EEAEEEEEEAEEE<EAAEE/EA//<A</E/6</A/<AEAAAAEAAAA/EAAE<<AEAEE//E
@ERR5069949.532979 NS500628:121:HK3MMAFX2:2:21104:15575:19089/2
TGTTTATAGTGACCACACTGGTAATTACCAGTGTACTCACTAGCACAAGTAAATGTACCATGCTTAAGTTCATACTGAGCAGGTGGTGCTGACATCATAACAAAAGGTGACTCCTGTTGTACTAGATATTTTGTAGCTTGTTTACCACACG
+
AAAAAEEEEEEEEEEEEEEEEAEEEEAEEEEEEE/EEE6EAEEE/EEEEEEEEEEEAEE/EEEEEEEEEEE/EAEEEEEE/EEEEEEEE<EA<AEA/EE/EEEAEEA<EEEE</<AAAEA/EEAEA<AEAEEEE<AE<AE/AA/E</E/EA
@ERR5069949.2888794 NS500628:121:HK3MMAFX2:3:11604:17798:16811/2
TCCCTGCACAAGAAAAGAACTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAG
+
AAAAAEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEAEE<<<6AEE</AAAEEEEEEEAA<EEAAEA
@ERR5069949.2205229 NS500628:121:HK3MMAFX2:1:11212:26331:4199/2
CGTGTAAGGAATTCTCTTACCACGCCTATTTGTGGCCTGTTAATTGCAGATGAAACATCATGCGTGATAACACCCTTATAAAACATTTTAAAGCATTGAGCTGATTTGTCTTTATGTGCTTAAGCTTATTATCATAAACCAAAGCACTC
+
AAAAAEEEEAEEEEEEEAEEA/EEEEEEEEEE<EEEEEEA/EEEEEEE/EEEAEEEAEEEEEEEEAEEE/E/E/EAEEEAEEEEEEEEEEE/EEE/E<EEEAEE<<E<//<AAEEE<AEEAEEEAAAA/AEAEEAEE/EEE/EE<<A<A
@ERR5069949.786562 NS500628:121:HK3MMAFX2:2:11109:4461:9003/2
GCATTTCTTACCTAGAGTTTTTAGTGCAGTTGGTAACATCTGTTACACACCATCAAAACTTATAGAGTACACTGACTTTGCAACATCAGCTTGTGTTTTGGCTGCTGAATGTACAATTTTTAAAGATGCTTCTGGTAAGCCAGTACCATA
+
AAAAAEEEEEEEEAEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEAEEEEEEEEEEEEEEEAEEEEEEE<EEAEEEEE<EEEEEEEEEAEEEAEEEAEEAA6A<EEEEAAEEEEAA/AEEEEEE/EEEEEEE
@ERR5069949.919671 NS500628:121:HK3MMAFX2:4:21608:23884:15511/2
CCTTAATGGTTCATGTGGTAGTGTTGGTTTTAACATAGATTATGACTGTGTCTCTTTTTGTTACATGCACCATATGGAATTACCAACTGGAGTTCATGCTGGCACAGACTTAGAAGGTAACTTTTATGGACCTTTTGTTGACAGGCAAAC
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAE/EEEEEEAEEEEEEEEAEEEEEEEEEEEAEEEEEEEAEEEEAEEEEAEEEEE6EEEEEEEAAEAEEEEEEE<EEEEEEE6AAEEAEEEAA6AEEAAAAAEEAAEEEAEAEEE
@ERR5069949.1328186 NS500628:121:HK3MMAFX2:3:21510:25432:14327/2
GTACTATCTATACAGAACTGGAACCACCTTGTAGGTTTGTTACAGACACACCTAAAGGTCCTAAAGTGAAGTATTTATACTTTATTAAAGGATTAAACAACCTAAATAGAGGTATGGTACTTGGTAGTTTAGCTGCCACAGTACGTCTACA
+
AAAAAEEEEEEE/EEAEEEEAEEEEEAEEEEEEEEAEEEEEEEEEEEEEAE/EEEEEEAEE/EEEEEEEEEEEEEEEEEAAAEA/EEEEEEEAAEEEEE/EEEEAEEEEEAAEEEE/AAAE<A<EEEE6AEEAAA<<<<AA<AE/EEAEEA
@ERR5069949.870926 NS500628:121:HK3MMAFX2:4:11510:4100:9432/2
AGCTAACACTGAAAAAGTCTGTCCTGGTTGAATGCGAACAAACTTATACTTAGGTGTCTTAGGATTGGCTGTATCAACCTTAAGCTTAAGTACACAATTTTGCATAGAATGTCCAATAACCCTGAGTTGAACATTACCAGCCTGTACCAAG
+
AAAA6/EEEE6EEEEEEEEEEEE/EEEEEEEE/A/E/EEEEEEEEEEAEEEAEEEEEEE/AAE/AE<AE/<AEEE//AEEEEEEE<EEEE<<E<EEAEEE/E/<EEE/</</</<AAE/EA<AAAAEEEE/EE/</6AE/6<////EAAAA
@ERR5069949.2257580 NS500628:121:HK3MMAFX2:3:11512:13762:8305/2
TCTATAGGTCATGTCCTTAGGTATGCCAGGTATGTCAACACATAAACCTTCAGTTTTGAATTTAGTGTCAACACTGAGGTGTGTAGGTGCCTGTGTAGGATGTAACCCAGTGATTACCTTACTACAATCTTTAAAGAGTCCTGTTACATT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEAEEEAEAEEEEAEEEEEEAAAAEEEEAAEEAEEEEEE
@ERR5069949.3249622 NS500628:121:HK3MMAFX2:2:21101:6979:17698/2
ATCATGACGTTCGTGTTGTTTTAGATTTCATCGAAACGAACAAACAAAAATGTCTGATAATGGACCCCAAAATCATCGAAATGCACCCCGCATTACGGTTGGTGGACCCTCCGATT
+
AAA/AE//EEE/EE6AE/A</EE//6AE6EE//EE/AE//A/EE//EEEE<EAA/EE//<E/A/E/EE//E/A/E/E//EE/<A/A<EE/A//</EE//E/E//A/EEE///A//6
@ERR5069949.611123 NS500628:121:HK3MMAFX2:4:21402:10868:14846/2
ATTATACTTAAACCAGCAAATAATAGTTTAAAAATTACAGAAGAGGTTGGCCACACAGATCTAATGGCTGCTTATGTAGACAATTCTAGTCTTACTATTAAGAAACCTAATGAATTATCTAGAGT
+
AAAAAEEEEEA6EEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEEEEEEEEEEEEEEE<EEEEEEEAEEEEEEEEEEEEAEEEEEEEEEEE/EEEEEEEA/AAEAAEAAEAE
@ERR5069949.651338 NS500628:121:HK3MMAFX2:2:11307:9572:4021/2
ATTCTGTGCTGGTAGTACATTTATTAGTGATGAAGATGCGAGAGACTTGTCACTACAGTTTAAAAGACCAATAAATCCTACTGACCAGTCTTCTTACATCGTTGATAGTGTTACAGTGAAGAATGGTTCCATCCATCTTTACTTTGATA
+
AAAAAE/EAEEE/AEAEEE/EEEAAEEEEAEEEEE/EEEEAEEEEEEAEE/EEEE/EEE</EE/AEAE/<E/EEAEE<EEEE//AEEEEEE<EEAEE/EEE//E/<EE<A<A/EAA<AA/AEEA//A<A/A<A<6A6/AEE/AEEA<AE
@ERR5069949.169513 NS500628:121:HK3MMAFX2:2:21303:6012:2171/2
CATTTGGTGACGCAACTGGATAGACAGATCGAATTCTACCCATAAAGCCATCAAGCTTTTTCTTTTCAACCCTTGGTTGAATAGTCTTGATT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEE/EEEEEEEEEEEEEEEEEEEEEEE
@ERR5069949.155944 NS500628:121:HK3MMAFX2:2:21111:24075:19469/2
GTACACGGAACGTTCTGAAAAGAGCTATGAATTGCAGACACCTTTTGAAATTAAATTGGCAAAGAAATTTGACACCTTCAATGGGGAATGTCCAAATTTTGTATTTCCCTTAAATTCCATAATCAAGACTATTCAACCAAGGGTTGAAAA
+
AAAA/EEEEEEAEEEEEEEEEEEE/EEEEEEEEEE/EAEEEEEEEEEEEEEEEAEEEAEE/AEEEEEEAAEEEEEEAEAEEEE/AEE/<EAE/E<EEA<<<AAEEAEEE<AA<EE/EAAEEEE<<<EEEA/AEAEE6</EEA<AEEE<<E
@ERR5069949.2033605 NS500628:121:HK3MMAFX2:4:21508:23814:9228/2
GTACTGGTAAGAGTCATTTTGCTATTGGCCTAGCTCTCTACTACCCTTCTGCTCGCATAGTGTATACAGCTTGCTCTCATGCCGCTGTTGATGCACTATGTGAGAAGGCATTAAAATATTTGCCTATAGATAAATGTAGTAGAATTATA
+
AAAAAEAEEEEEEEEEEEEAEEEEEEEEEEEEE<EEEEEEEEEEE<EEEEEEEEAAEAEEEEEEEEEEEE/EAAEEEA/EEEEEEAE<EEEEEEEEE<AEEEEAAAEAE<EAEEEEEE//</A/AEAAAEA/<E<AEEEAEE<EEEEEE
@ERR5069949.2730382 NS500628:121:HK3MMAFX2:4:21605:26351:3903/2
ACTCATATGAGTGTGACATACCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGTGCAGAAAATTCAGT
+
AAAAAEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAE<EE/EEEEEEE/EEAEEEEEEEEEEEEEEEEEEAEEEEA<AEA<<EA<A<AEEEEEA<EAE<66A/AEEEEEEEAE<AAEA
@ERR5069949.2125592 NS500628:121:HK3MMAFX2:1:11307:14726:9430/2
TGTACACATAGTGCTTAGCACGTAATCTGGCATTGACAACACTCAAATCATAATTTGTGGCCATTGAAATTTCATCAAAGACAACTATATCTGCTGTCGTCTCAGGCAATGCATTTACAGTACAAAAGACATACTG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEAEE/EEE<EEEEEEEEEEEE//E<EE//A/<//6AA//</</</<EE//E//<//A
@ERR5069949.1062611 NS500628:121:HK3MMAFX2:1:11304:13814:5808/2
TGGTAATGCTTTAGATCAAGCCATTTCCATGTGGGCTCTTATAATCTCTGTTACTTCTAACTACTCAGGTGTAGTTACAACTGTCATGTTTTTGGCCAGAGGTATTGTTTTTATGTGTGTTGAGTATTGCCCTATTTTCTTCATAACTGGT
+
AAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAAEEE<AAEEEEEEEEAAEEAAA6AEEEEEEEEEEEEEEEEEA
@ERR5069949.1778133 NS500628:121:HK3MMAFX2:1:11203:21125:7007/2
TGCCACAACTGCTTATGCTAATAGTGTTTTTAACATTTGTCAAGCTGTCACGGCCAATGTTAATGCACTTTTATCTACTGATGGTAACAAAATTGCCGATAAGTATGTCCGCAATTTACAACACAGACTTTATGAGTGTCTCTATAGAAA
+
AAAAAEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAAEEEEEE<AEEEEEEE/AAAE<AAEEAAEEEA<EAAEEEA<AAEEEEEE/EEAAAEE/EAAAAEEEEEAEAEE
@ERR5069949.3057020 NS500628:121:HK3MMAFX2:2:21204:6342:14557/2
GCGTACAACCAAGCTAAAGTTACTGGCCATAACAGCCAGAGGAAAATTAACTTAATTATATACAAAAACCTATTCCTGTTGGCATAGGCAAATTG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
@ERR5069949.2972968 NS500628:121:HK3MMAFX2:4:21405:4877:14897/2
CTTTGAAGCAAGGTGAAATCAAGGATGCTACTCCTTCAGATTTTCTTCGCGCTACTGCAACGATACCGATACAAGCCTCACTCCCTTACGGATGGCTTATTGTAGGCGTTGCACTTCTAGCTGTTTTTCAGAGCGCTTCCAAAAACA
+
AAAAAEEEEEEA/E/EEEEEEE/EEEEEEEAEEEEE/EEE/E/E/<66<6/EEEE///EEE<<E/<AEAEEEE/EEEEE6A/EEA/E//AE<EEE</6E/E/E/A<AAEA/A//AE<A/E<EE//6A/A<AAA6<E<<A66</E/AA
@ERR5069949.2734474 NS500628:121:HK3MMAFX2:4:11507:10751:13427/2
CCCATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGTCACTTGGTGCAGAAAATTCAGTTGCTTACTCTAATAACTCTATTGCCA
+
AAAA/EEEEEEEEE/E/EE6EEEEAEEEEEEAEEEEE/EEEEEEEEEEEAE/EAEE/EEEEEAE/EE<EAEEEEEEA/E<EEEEAE/EA<EEEEAEE/E/EE<EEEEE</EE/E//<<<AA6A<A<A/<AE/AE/EEEA6<A6A/</A
@ERR5069949.856527 NS500628:121:HK3MMAFX2:2:11301:22893:2784/2
ATACTTAGGTGTCTTAGGATTGGCTGTATCAACCTTAAGCTTAAGTACACAATTTTGCATAGAATGTCCAATAACACTTAGTTGAACATTACCAGCCTGTACCAAGAAATTATGATTAGACTTACGAATGAGTAATCTTCATAATTAGGGT
+
AAAAAAAE/EEEEAEEEEEEEEAEEEEEE<E/<<EEEEEEAEEAAAEEEAE</EA<<EE/EAEEE6E//EE/EEE/6A/EEEEEEEEEAE<E/E<AAA/EEEEA/A<EEEEE<6EE<A/A<A<</6A<A<E<EEEE/AE//<6A/A6///A
@ERR5069949.2098070 NS500628:121:HK3MMAFX2:3:11406:20552:1667/2
CATAGTGCTTAGCACGTAATCTGGCATTGACAACACTCAAATCATAATTTGTGGCCATTGAAATTTCATCAAAGACAACTATATCTGCTGTCGTCTCAGGCAATGCATTTACAGTACAAAAGACATACTGTTCTAATGTTGAATTCACT
+
AAAAA/EEEEEEEEEEEEEEEEEEEEE/EEEEEEEAAEEEEAAEEEEA/E/E<<EEEEEEAEEEE<AE/AEEEEAA<EEEE/EE6A<AEAEEAEA/<E/AEEA/AAA6A/E<A/AEAAEEE/EE/AE<<//EAAEE6/</6EEE6/A6A
@ERR5069949.1552198 NS500628:121:HK3MMAFX2:1:11108:11797:17621/2
GGTCAAGGTTAATATAGGCATTAACAATGAATAATAAGAATCTACAACAGGAACTCCACTACCTGGCGTGGTTTGTATGAAATCACCGAAATCATACCAGTTACCATTGAGATCTTGATTATCTAATGTCAGTACACCAACAATACCAGCA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEA<AA/<EE//AEA/EEE</E/AEA/EE/EEAEEEEE/</EEA<AE/E/E<EAAA6AA<///<A/AAAEA<EAA/EA
@ERR5069949.2385514 NS500628:121:HK3MMAFX2:3:21611:13560:16508/2
GTGCATTACCATGGACTTGACAATACAGATCATGGTTGCTTTGTAGGTTACCTGTAAAACCCCATTGTTGAACATCAATCATAAACGGATTATAGACGTAATCAAATCCAATAGAATGATGCCAACAGGCATAAGTGTCTGAAGCAGTGG
+
A/AAAEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEAEEEEEEEAEEEEEEEEEAAEEEEAAEEEEEEEEEEAAEEEEAEAE/EEEEEAAEEEEAEEEEAEEEAEAEAEEEAA<<EEAAEEAA/EEAAEE<AA<EAAE<AA
@ERR5069949.2270078 NS500628:121:HK3MMAFX2:4:21510:16801:19554/2
CTTTATGACAAGTTGCAATTTACAAGTCTTGAAATTCCACGTAGGAATGTGGCAACTTTACAAGCTGAAAATGTAACAGGACTCTTTAAAGATTGTAGTAAGGTAATCACTGGGTTACATCCTACACAGGCACCTACACACCTCAGTGTTG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<EEEEAEEEEEEEEEEEAEEAAEEEEAEEEEEAEEAEEEAAEAEEEEEAEAEEAEA<EAA
@ERR5069949.114870 NS500628:121:HK3MMAFX2:4:11410:23953:14505/2
GCATGAAGCTTTACCAGCACGTGCTAGAAGGTCTTTAATGCACTCAAGAGGGTAGCCATCAGGGCCACAGAAGTTGTTATCGACATAGCGAGTGTATGCCCCTCCGTTAAGCTCACGCATGAGTTCACGGGTAACACCACTGCTATGTTT
+
AAAAAAEEEEEEEAEAEE/EEEEEEEEEEEEEEEEAEEEAAEEEEEEAAEAAEAEEEEEEEAEE<EEEEEEEEAE/EEEEAEAEEAEE/A/AEEEE<A<E/EEEA<AEE<EEAA<E/A<EA<EA/<<<<<<<<AA/E/EAAA<<<AAEEA
@ERR5069949.2668880 NS500628:121:HK3MMAFX2:1:21104:5191:15623/2
CTGTGGATCACGGACAGCATCAGTAGTGTCAGCAATGTCTCTGCCAAATTGTTGGAAAGGCAGAAACTTTTTGTTAGACTCAGTAAGAACACCTGTGCCTGTTAAACCATTGAAGTTGAAATTGACACATTTGTTTTTAACCAAATTAGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEEEEEEAEEAEEEEEEEEEEEEAEEEEEAEEEEEEEAEEEAAE<EEEEEE6A<AEEEEEEAEAEAE/EA
@ERR5069949.257821 NS500628:121:HK3MMAFX2:2:21307:14790:19018/2
GCCTATACAGTTGAACTCGGTACAGAAGTAAATGAGTTCGCCTGTGTTGTGGCAGATGCTGTCATAAAAACTTTGCAACCAGTATCTGAATTACTTACACCACTGGGCATTGATTTAGATGAGTGGAGTATGGCTACATA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEAEEEEEE
@ERR5069949.2243023 NS500628:121:HK3MMAFX2:2:21301:7521:3094/2
TGGTAAGAGAATTCCTTACACGTAACCCTGCTTGGAGAAAAGCTGTCTTTATTTCACCTTATAATTCACAGAATGCTGTAGCCTCAAAGATTTTGGGACTACCAACTCAAACTGTTGATTCATCACAGGGCTCAGAATATGACTATGTCAT
+
AAAAAEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEAEEEEEEEEEEEEEE/EEEEAAEEAEEA<EEEEEEEEEEEEEEAEEEEE<<AA6AAEEEAEE
@ERR5069949.2605155 NS500628:121:HK3MMAFX2:1:21311:18812:15592/2
CCAAAAATCCAGCCTCTTATTATGTTAGACTTCTCAGTGGAAGCAAAATAAACACCATCATTAAATGGTAGGACAGGGTTATCAAACCTCTTAGTACCATTGGTCCCAGAGACATGTATAGCATGGAACCAAGTAACATTGGAAAAGAAA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEAEEEEEAEEAEEEEEEAEAEAEEE/EEAEEEEEEAEEEAAAEEEAEEAEEEEEAEAEE/EEEE/A
@ERR5069949.1340552 NS500628:121:HK3MMAFX2:2:11309:7320:9079/2
GGTAATGCAACAGAAGTGCCTGCCAATTCAACTGTATTATCTTTCTGTGCTTTTGCTGTAGATGCTGCTAAAGCTTACAAAGATTATCTAGCTAGTGGGGGACAACCAATCACTAATTGTGTTAAGATGTTGTGTACACACACTGGTA
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEEEEEEAEAEEEEEEEEEE<EEEEEEEEEEEEEEAAA<AEEEEEEEEEEEEEE
@ERR5069949.1561137 NS500628:121:HK3MMAFX2:2:11303:23159:8428/2
GTTAAAAACAGTACAATTCTGTGATGCCATGCGAAATGCTGGTATTGTTGGTGTACTGACATTAGATAATCAAGATCTCAATGGTAACTGGTATGATTTCGGTGATTTCATACAAACCACGCCAGGTAGTGGAGTTCCTGTTGTAGATT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEEEEEEEEEEEEE<EAEEEAEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEE<EEEEAEEEE/EEEEAAAEEEA<AEEEAEEEEEAEAEEA/AA<A
@ERR5069949.2361683 NS500628:121:HK3MMAFX2:2:21103:8659:7427/2
ATAGACAACAGGTGCGCTCAGGTCCTATTTTCACAAAATACTTCATAGATGTCAACTCAAAGCCATGTGCCCATAAGACAAATACGACTCTGTCAGAGAGATTTTTAAGTGTGTCACTTAACATTTGTACAATCTTTATACGCACTAC
+
AAAAAAEEAEE/EEAEEEEEE/AEEEEEEAE<EEEEEEEEEEE/E/<EEEE<EEE/EEAA/EA/E<E/<<6AE<EE/EEE6/EAE/EEEEA/EEEEEEAE/</E/AA/AAE6EEAE/A<E//AAAAEEEE<EEA</AAEEA/<AE6<A
@ERR5069949.2521353 NS500628:121:HK3MMAFX2:3:11508:26680:5334/2
GTCCACACCCAAATTATTGAGTATTTTCACCTCTGGTACTGGTTTAATGTTGCGCTTAGCCCAAAGCACAAAAGCTACATTAACAGGTAATGTTGTTTTATTTTCAAACAATTCTACATCAACACCATCAACTTTTGTGAAAACAGTGAT
+
AAAAAEEEEEE/EEEE6EEEEEAE/EE<EEE<EEA/EEE/AAE/E//EEEE/A/AEEE/EAEEA/<//EEA//AEE/<EAEE6AA/<//AEE/AE<<//A/<AAA/EEEEEAE6<///A<</A<E/EEE<E//AEEA<A/EE/</<A//A
@ERR5069949.1261808 NS500628:121:HK3MMAFX2:3:11601:6846:14627/2
TTGTCATCAGTGCAAGCAGTTTGTGTAGTACCGGCAGCACAAGACATCTGTCGTAGTGCAACAGGACTAAGCTCATTATTCTGTAATTTGACAGCAGAATTGGCC
+
AA//AEEEA6EAE/EAEE/EAEEEEEEEA//E/EE/EEEEEE/EAEE/A/AEEEEAEA//EEEE/E<EAE/E/EE////6E</EAEA<A/E<EE<</EEE/<//<
@ERR5069949.2734873 NS500628:121:HK3MMAFX2:4:21611:11682:9300/2
CATTGGTGCAGGTATATGCGCTAGTTATCAGACTCAGACTAATTCTCCTCGGCGGGCACGTAGTGTAGCTAGTCAATCCATCATTGCCTACACTATGT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
@ERR5069949.3017828 NS500628:121:HK3MMAFX2:1:21111:18284:17510/2
ATTAACTATTAACGTACCTGTCTCTTCCGAAACGAATGAGTACATAAGTTCGTACTCATCAGCTTGTGCTTACAAAGGCACGCTAGTAGTCGTCGTCGGTTCATCA
+
AAAAAEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEE<EEEEEEEEEEEE<E/EE<EAEEEEEE<EAEEEEEEEEE/<E<EAEEAEEEAAE/A
@ERR5069949.573706 NS500628:121:HK3MMAFX2:3:21407:23793:9689/2
TTTCTGTACAAACAACACCATCCAATTTATAAGTAACTGGTTTTATGGTTGTTGTGTAACTGTTTTCTTTGTAGAAAACATCCGTAATAGGACCTTTGTATTCTGAGGACTTTGTAAGTAAAGCACCGTCTATGCAATACAAAGTTTCT
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEAEEEEEEAEAEAAAAEAEEEEEEA<EEE<<AAEEAEEEA<AEEEEEEEE<E<AA
@ERR5069949.1980512 NS500628:121:HK3MMAFX2:1:21303:8321:13259/2
GTAAAGTACAAATAGGAGAGTACACCTTTGAAAAAGGTGACTATGGTGATGCTGTTGTTTACCGAGGTACAACAACTTACAAATTAAATGTTGGTGATTATTTTGTGCTGACATCACATACAGTAATGCCATTAAGTGCACCTACACTAG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEAEEEEEEEEEA<EEEEEEAEEEEAAAEEAAE<EEEAAAA<AA<EEEE/AE
@ERR5069949.1014693 NS500628:121:HK3MMAFX2:1:11109:13494:20222/2
ATCATACACAGTTCTTGCTGTCATAAGGATTAGTAACACTACAGCTGATGCATACATAACACAGTCTTTTAGCTTAAAACCAGACAAACTAGTATCAACCATATCCAACCATGTCATAATACGCATCACCCAACTAGCAGGCATATAGCC
+
AAAAAEEEEAE/EEAEEEEEEEE/EEEEEEEEE/EEEEEEEEEEAAEEEAEAEAAEEEEEEAEEE<EEEEEAA<6EEEEEEEA<EEEAEAEA/EE/E/EEEEE/6AE/AAEAA<EEEAE///<AE<AA<A<6<EAEA<AA<<AAEEE</A
@ERR5069949.3184655 NS500628:121:HK3MMAFX2:3:21606:7576:13093/2
TTTATCTAAGTCACTAACTGAGAATAAATATTCTCAATTAGATGAAGAGCAACCAATGGAGATTGATTAAACGAACATGAAAATTATTCTTTTCTTGGCACTGATAACACTCGCTACTTGTGAGCTTTATCACTACCAAGAGTGTGTTAG
+
AAAAAEEEEEEEEEEEEEEEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEE<EEEEE/EEEEEAEAEEEEE/EEEAEEE<EEEEEE<EEAAEEAEEEEEAAAEEE/E<AAEEAAAE6A/A<<A<AAAEE/AA6AE/A
@ERR5069949.29668 NS500628:121:HK3MMAFX2:2:21202:17958:8710/2
TATAATTAATAACTAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCTTCCGTGTTGCAGCCGATCATCAGCACATCTAGGTTTTGTCCGGGTGTGACCGAAAGGTAAGATGGAGAGCCTT
+
AAA/E/EEEEEEEEEAEEEEEEEEE/</E/E/EE<E/EEAAEA/E/EE//EA/EEEEEA/AEEE/EEEEE/E/EA/EE/EEE<E/E///E<AEE<<EEE/<EEEAA///AE/6A///A/AE/EAEE</EAEAE///AA/EEAEE/AAEAA
@ERR5069949.3258358 NS500628:121:HK3MMAFX2:3:21508:15641:1056/2
ATACTGCGTCAAGGTTCACCGCACTCACTCAACATGCCAAGGAAGACATAAAA
+
AAAAAA/A/////EE/EEE/A</EEEEEE/EAEEE//AEEEAEEEEA///6E6
@ERR5069949.1476386 NS500628:121:HK3MMAFX2:2:21303:26270:9400/2
GTATACGACATCAGTACTAGTGCCTGTGCCGCACGGTGTAAGACGGGCTGCACTTACACCGCAAACCCGTTTAAAAACGATTGTGCATCAGCTGACTGAAGCATGGGTTCGCGGAGTTGATCACAACTACAGCCATAACCTTTCCACA
+
AA6AAEE6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAEEAE//AAEEEEE/AEEEEEEEEEEEEEEEEEEEEE<<EEAAEEEEEEEEAEEE<EEE/EAE/EA6E/EEA/E/EEEAAA/AEA<AEEEAA
@ERR5069949.2415814 NS500628:121:HK3MMAFX2:1:11107:11754:7444/2
CAATAGTCCAGTCAACACGCTTAACAAAGCACTCGTGGACAGCTAGACACCTAGTCATGATTGCATCACAACTAGCTACATGTGCATTACCATGGACTTGACAATACAGATCATGGTTGCTTTGTAGGTTACCTGTAAAACCCCATTGTTG
+
AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEAAEAEAEEEEEEEEEEEEAEEEE/EEEEE<AEEEA

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
9372274 2 4
20895 1 Y
142347 1 R
4707032 1 Y
4828484 1 R

View file

@ -0,0 +1,5 @@
9372274 2 11
0 rgi|170079663|ref|NC_010473.1| Escherichia coli str. K-12 substr. DH10B, complete genome
0 4686137 2
0 fgi|170079663|ref|NC_010473.1| Escherichia coli str. K-12 substr. DH10B, complete genome
4686137 4686137 2

View file

@ -0,0 +1,11 @@
lcl|MT192765.1_cds_QIK50426.1_1 21291 1 21289 + lcl|MT192765.1_cds_QIK50426.1_1 21291 1 21289 21288 21288 60 tp:A:P cm:i:3984 s1:i:21288 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50427.1_2 3822 8 3821 + lcl|MT192765.1_cds_QIK50427.1_2 3822 8 3821 3813 3813 60 tp:A:P cm:i:722 s1:i:3813 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50428.1_3 828 4 819 + lcl|MT192765.1_cds_QIK50428.1_3 828 4 819 815 815 60 tp:A:P cm:i:148 s1:i:815 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50429.1_4 228 6 226 + lcl|MT192765.1_cds_QIK50429.1_4 228 6 226 220 220 60 tp:A:P cm:i:42 s1:i:220 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50430.1_5 669 6 663 + lcl|MT192765.1_cds_QIK50430.1_5 669 6 663 657 657 60 tp:A:P cm:i:115 s1:i:657 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50431.1_6 186 0 185 + lcl|MT192765.1_cds_QIK50431.1_6 186 0 185 185 185 60 tp:A:P cm:i:33 s1:i:185 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50432.1_7 366 1 358 + lcl|MT192765.1_cds_QIK50432.1_7 366 1 358 357 357 60 tp:A:P cm:i:64 s1:i:357 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50433.1_8 132 6 124 + lcl|MT192765.1_cds_QIK50433.1_8 132 6 124 118 118 60 tp:A:P cm:i:20 s1:i:118 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50434.1_9 366 6 357 + lcl|MT192765.1_cds_QIK50434.1_9 366 6 357 351 351 60 tp:A:P cm:i:68 s1:i:351 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50435.1_10 1260 4 1255 + lcl|MT192765.1_cds_QIK50435.1_10 1260 4 1255 1251 1251 60 tp:A:P cm:i:231 s1:i:1251 s2:i:0 dv:f:0 rl:i:0
lcl|MT192765.1_cds_QIK50436.1_11 117 0 116 + lcl|MT192765.1_cds_QIK50436.1_11 117 0 116 116 116 60 tp:A:P cm:i:19 s1:i:116 s2:i:0 dv:f:0 rl:i:0

View file

@ -5,4 +5,4 @@
- tool_subtool
files:
- path: output/tool/test.bam
md5sum: a41bfadacd2eeef1d31e05c135cc4f4e
md5sum: e667c7caad0bc4b7ac383fd023c654fc

View file

@ -0,0 +1,17 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { BCFTOOLS_MPILEUP } from '../../../../software/bcftools/mpileup/main.nf' addParams( options: ['args2': '--no-version --ploidy 1 --multiallelic-caller',
'args3': '--no-version' ] )
workflow test_bcftools_mpileup {
def input = []
input = [ [ id:'test' ], // meta map
[ file("${launchDir}/tests/data/bam/test-sc2-artic-v3.bam", checkIfExists: true) ]]
fasta = [ file("${launchDir}/tests/data/fasta/sarscov2/MN908947.3.fa", checkIfExists: true) ]
BCFTOOLS_MPILEUP ( input, fasta )
}

View file

@ -0,0 +1,13 @@
- name: bcftools mpileup
command: nextflow run ./tests/software/bcftools/mpileup -entry test_bcftools_mpileup -c tests/config/nextflow.config
tags:
- bcftools
- bcftools_mpileup
files:
- path: output/bcftools/test.vcf.gz
md5sum: f25141161cb935ef7719cfb41563ffb0
- path: output/bcftools/test.vcf.gz.tbi
md5sum: 4423be9f13fa07e5eadb13b1cbe8baf7
- path: output/bcftools/test.bcftools_stats.txt
md5sum: b8d6b6927f7bf024acf11ba438b54fa0

View file

@ -0,0 +1,14 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { BISMARK_DEDUPLICATE } from '../../../../software/bismark/deduplicate/main.nf' addParams( options: [:] )
workflow test_bismark_deduplicate {
def input = []
input = [ [ id:'test', single_end:false ], // meta map
[ file("${launchDir}/tests/data/bismark/Ecoli_10K_methylated_R1_bismark_bt2_pe.bam", checkIfExists: true) ] ]
BISMARK_DEDUPLICATE ( input )
}

View file

@ -0,0 +1,10 @@
- name: Run bismark deduplicate test workflow
command: nextflow run ./tests/software/bismark/deduplicate -entry test_bismark_deduplicate -c tests/config/nextflow.config
tags:
- bismark
- bismark_deduplicate
files:
- path: output/bismark/Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplicated.bam
md5sum: 35794f413740d9097010e8411f03b785
- path: output/bismark/Ecoli_10K_methylated_R1_bismark_bt2_pe.deduplication_report.txt
md5sum: 125b01ad4f1784a77b7802667d4bfee7

View file

@ -0,0 +1,10 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { BISMARK_GENOME_PREPARATION } from '../../../../software/bismark/genome_preparation/main.nf' addParams( options: [:] )
workflow test_bismark_genome_preparation {
BISMARK_GENOME_PREPARATION ( file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) )
}

View file

@ -0,0 +1,36 @@
- name: Run bismark_genome_preparation test workflow
command: nextflow run ./tests/software/bismark/genome_preparation -entry test_bismark_genome_preparation -c tests/config/nextflow.config
tags:
- bismark
- bismark_genome_preparation
files:
- path: output/bismark/BismarkIndex/NC_010473.fa
md5sum: ad277e6b3da5dcf9fccfcd3a55fcec8e
- path: output/bismark/BismarkIndex/Bisulfite_Genome/CT_conversion/genome_mfa.CT_conversion.fa
md5sum: f878bc2c1d6d1404157ebf931e971f02
- path: output/bismark/BismarkIndex/Bisulfite_Genome/CT_conversion/BS_CT.1.bt2
md5sum: d865be3bfe02a3d5e277128fe7902b47
- path: output/bismark/BismarkIndex/Bisulfite_Genome/CT_conversion/BS_CT.2.bt2
md5sum: 486dfea5dde17f126cf498ead0e91421
- path: output/bismark/BismarkIndex/Bisulfite_Genome/CT_conversion/BS_CT.3.bt2
md5sum: cd201e81724f3099131aec16ef2cc53b
- path: output/bismark/BismarkIndex/Bisulfite_Genome/CT_conversion/BS_CT.4.bt2
md5sum: 4c81a7364a80bf3151a5464108593497
- path: output/bismark/BismarkIndex/Bisulfite_Genome/GA_conversion/genome_mfa.GA_conversion.fa
md5sum: 8cb16ceaf0543061151d8c1b7d1f85b4
- path: output/bismark/BismarkIndex/Bisulfite_Genome/GA_conversion/BS_GA.1.bt2
md5sum: fe77e5d17a7aa30c3a788bb90b396842
- path: output/bismark/BismarkIndex/Bisulfite_Genome/GA_conversion/BS_GA.2.bt2
md5sum: 3c6e4a48ad05f8af5f4015db7571d253
- path: output/bismark/BismarkIndex/Bisulfite_Genome/GA_conversion/BS_GA.3.bt2
md5sum: cd201e81724f3099131aec16ef2cc53b
- path: output/bismark/BismarkIndex/Bisulfite_Genome/GA_conversion/BS_GA.4.bt2
md5sum: f651bcfb9713f6ee1ce648b7c244b50e
- path: output/bismark/BismarkIndex/Bisulfite_Genome/CT_conversion/BS_CT.rev.1.bt2
md5sum: 2261afbed214da6f59f1bf648c20fb6b
- path: output/bismark/BismarkIndex/Bisulfite_Genome/CT_conversion/BS_CT.rev.2.bt2
md5sum: 622991847ea56f3c4f8583bb23ceee7a
- path: output/bismark/BismarkIndex/Bisulfite_Genome/GA_conversion/BS_GA.rev.1.bt2
md5sum: 32220350073a71a9cd69677f3aa4e577
- path: output/bismark/BismarkIndex/Bisulfite_Genome/GA_conversion/BS_GA.rev.2.bt2
md5sum: f7467830c4f33497c54c9e7e502a5def

View file

@ -6,7 +6,7 @@
- bwa_mem_single_end
files:
- path: output/bwa/test.bam
md5sum: 52e81e5bd523d0b27fe533b21a0d80f5
md5sum: 2bea94a4458cd1216214874b11c2e394
- name: bwa mem paired-end
command: nextflow run ./tests/software/bwa/mem -entry test_bwa_mem_paired_end -c tests/config/nextflow.config
@ -16,4 +16,4 @@
- bwa_mem_paired_end
files:
- path: output/bwa/test.bam
md5sum: 86d82fdb68ed384c656cfc62a253052f
md5sum: 2d952be81c7d2856712391b5d8556039

View file

@ -6,7 +6,7 @@
- bwamem2_mem_single_end
files:
- path: output/bwamem2/test.bam
md5sum: 354acd3b7033a2d4ee69452df18c0a4d
md5sum: b8fceee111b3e23372c95ed765ac4401
- name: bwamem2 mem paired-end
command: nextflow run ./tests/software/bwamem2/mem -entry test_bwamem2_mem_paired_end -c tests/config/nextflow.config
@ -16,4 +16,4 @@
- bwamem2_mem_paired_end
files:
- path: output/bwamem2/test.bam
md5sum: 26187528a7bde13a2a9e9dd549b9bcd0
md5sum: 4b05c7e1b28e0835c647e890854897e4

View file

@ -0,0 +1,37 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { BWAMETH_ALIGN as BWAMETH_ALIGN_SE } from '../../../../software/bwameth/align/main.nf' addParams( options: [ publish_dir:'test_single_end' ] )
include { BWAMETH_ALIGN as BWAMETH_ALIGN_PE } from '../../../../software/bwameth/align/main.nf' addParams( options: [ publish_dir:'test_paired_end' ] )
/*
* Test with single-end data
*/
workflow test_bwameth_align_single_end {
def input = []
input = [ [ id:'test', single_end:true ], // meta map
[ file("${launchDir}/tests/data/fastq/methylated_dna/Ecoli_10K_methylated_R1.fastq.gz", checkIfExists: true) ] ]
BWAMETH_ALIGN_SE (
input,
file("${launchDir}/tests/data/index/E_coli/bwameth", checkIfExists: true)
)
}
/*
* Test with paired-end data
*/
workflow test_bwameth_align_paired_end {
def input = []
input = [ [ id:'test', single_end:false ], // meta map
[ file("${launchDir}/tests/data/fastq/methylated_dna/Ecoli_10K_methylated_R1.fastq.gz", checkIfExists: true),
file("${launchDir}/tests/data/fastq/methylated_dna/Ecoli_10K_methylated_R2.fastq.gz", checkIfExists: true) ] ]
BWAMETH_ALIGN_PE (
input,
file("${launchDir}/tests/data/index/E_coli/bwameth", checkIfExists: true)
)
}

View file

@ -0,0 +1,17 @@
- name: Run bwameth single-end test workflow
command: nextflow run ./tests/software/bwameth/align -entry test_bwameth_align_single_end -c tests/config/nextflow.config
tags:
- bwameth
- bwameth_align
files:
- path: output/test_single_end/test.bam
md5sum: 48dde56f7b74de3a3e0b1914c45150de
- name: Run bwameth paired-end test workflow
command: nextflow run ./tests/software/bwameth/align -entry test_bwameth_align_paired_end -c tests/config/nextflow.config
tags:
- bwameth
- bwameth_align
files:
- path: output/test_paired_end/test.bam
md5sum: b473343b32b7cfc677bfad1ab0e6bb5a

View file

@ -0,0 +1,10 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { BWAMETH_INDEX } from '../../../../software/bwameth/index/main.nf' addParams( options: [:] )
workflow test_bwameth_index {
BWAMETH_INDEX ( file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true) )
}

View file

@ -0,0 +1,18 @@
- name: Run bwameth index test workflow
command: nextflow run ./tests/software/bwameth/index -entry test_bwameth_index -c tests/config/nextflow.config
tags:
- bwameth
- bwameth_index
files:
- path: ./output/bwameth/bwameth/NC_010473.fa.bwameth.c2t.pac
md5sum: 7586c6a3be45c4dea15376a5c7bb9bf0
- path: ./output/bwameth/bwameth/NC_010473.fa.bwameth.c2t.amb
md5sum: 87e019665cbb66bdee2bacccb26845c9
- path: ./output/bwameth/bwameth/NC_010473.fa.bwameth.c2t.ann
md5sum: a4659a63572b6998c67457bd8e95790d
- path: ./output/bwameth/bwameth/NC_010473.fa.bwameth.c2t.bwt
md5sum: 582854008bcbe99d5b51290773a7db5f
- path: ./output/bwameth/bwameth/NC_010473.fa.bwameth.c2t
md5sum: db670853725f4a31080c991e9df6b330
- path: ./output/bwameth/bwameth/NC_010473.fa.bwameth.c2t.sa
md5sum: 020db07e7e1544dc961c30c9936f3213

View file

@ -5,9 +5,9 @@
- fastp_single_end
files:
- path: ./output/fastp/test.fastp.json
md5sum: b81d53bfa5c1553bed89f6475edcf437
md5sum: 8740a96898a850a3c2ce0081d9a259fb
- path: ./output/fastp/test.trim.fastq.gz
md5sum: 2f5516df477b123e3f78adb67effa3bc
md5sum: 63fea84c6907d2716aeb53fe890b288d
- path: ./output/fastp/test.fastp.log
- path: ./output/fastp/test.fastp.html
@ -19,7 +19,7 @@
files:
- path: ./output/fastp/test.fastp.html
- path: ./output/fastp/test.fastp.json
md5sum: 40db7fcbed478b0a96a1c5c1bb5f737b
md5sum: 7afba66526b1dd4cd3b1012809ba0327
- path: ./output/fastp/test.fastp.log
- path: ./output/fastp/test_1.trim.fastq.gz
md5sum: c8844c05194b50ae368e6825e997aa7f

View file

@ -0,0 +1,16 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { GATK4_BEDTOINTERVALLIST } from '../../../../software/gatk4/bedtointervallist/main.nf' addParams( options: [:] )
workflow test_gatk4_bedtointervallist {
def input = []
input = [ [ id:'test' ], // meta map
[ file("${launchDir}/tests/data/bed/sarscov2.bed", checkIfExists: true)] ]
sd = file("${launchDir}/tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.dict", checkIfExists: true)
GATK4_BEDTOINTERVALLIST ( input, sd )
}

View file

@ -0,0 +1,8 @@
- name: gatk4 bedtointervallist
command: nextflow run ./tests/software/gatk4/bedtointervallist -entry test_gatk4_bedtointervallist -c tests/config/nextflow.config
tags:
- gatk4
- gatk4_bedtointervallist
files:
- path: output/gatk4/test.interval_list
md5sum: e51101c9357fb2d59fd30e370eefa39c

View file

@ -0,0 +1,31 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { GATK4_MERGEVCFS } from '../../../../software/gatk4/mergevcfs/main.nf' addParams( options: [:] )
workflow test_gatk4_mergevcfs {
def input = []
input = [ [ id:'test' ], // meta map
[ file("${launchDir}/tests/data/vcf/test.vcf", checkIfExists: true),
file("${launchDir}/tests/data/vcf/test2.vcf.gz", checkIfExists: true),
file("${launchDir}/tests/data/vcf/test3.vcf.gz", checkIfExists: true) ] ]
ref_dict = file("tests/data/fasta/test.consensus.for_vcf.dict", checkIfExists: true)
GATK4_MERGEVCFS ( input, ref_dict, false )
}
workflow test_gatk4_mergevcfs_refdict {
def input = []
input = [ [ id:'test' ], // meta map
[ file("${launchDir}/tests/data/vcf/test.vcf", checkIfExists: true),
file("${launchDir}/tests/data/vcf/test2.vcf.gz", checkIfExists: true),
file("${launchDir}/tests/data/vcf/test3.vcf.gz", checkIfExists: true) ] ]
ref_dict = file("tests/data/fasta/test.consensus.for_vcf.dict", checkIfExists: true)
GATK4_MERGEVCFS ( input, ref_dict, true )
}

View file

@ -0,0 +1,17 @@
- name: gatk4 mergevcfs
command: nextflow run ./tests/software/gatk4/mergevcfs -entry test_gatk4_mergevcfs -c tests/config/nextflow.config
tags:
- gatk4
- gatk4_mergevcfs
files:
- path: output/gatk4/test.merged.vcf.gz
md5sum: f25850b7bd4d362b5ea67d4453e9df55
- name: gatk4 mergevcfs refdict
command: nextflow run ./tests/software/gatk4/mergevcfs -entry test_gatk4_mergevcfs_refdict -c tests/config/nextflow.config
tags:
- gatk4
- gatk4_mergevcfs
files:
- path: output/gatk4/test.merged.vcf.gz
md5sum: f25850b7bd4d362b5ea67d4453e9df55

View file

@ -0,0 +1,14 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { GATK4_REVERTSAM } from '../../../../software/gatk4/revertsam/main.nf' addParams( options: [:] )
workflow test_gatk4_revertsam {
def input = []
input = [ [ id:'test' ], // meta map
file("${launchDir}/tests/data/bam/sarscov2_aln.bam", checkIfExists: true) ]
GATK4_REVERTSAM( input )
}

View file

@ -0,0 +1,8 @@
- name: gatk4 revertsam
command: nextflow run ./tests/software/gatk4/revertsam -entry test_gatk4_revertsam -c tests/config/nextflow.config
tags:
- gatk4
- gatk4_revertsam
files:
- path: output/gatk4/test.reverted.bam
md5sum: 6de199f7a0577e2a3fe7b3a9cb4ae25d

View file

@ -0,0 +1,23 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { GATK4_SAMTOFASTQ } from '../../../../software/gatk4/samtofastq/main.nf' addParams( options: [:] )
workflow test_gatk4_samtofastq_single_end {
def input = []
input = [ [ id:'test', single_end: true ], // meta map
[ file("${launchDir}/tests/data/bam/test.single_end.sorted.bam", checkIfExists: true)] ]
GATK4_SAMTOFASTQ ( input )
}
workflow test_gatk4_samtofastq_paired_end {
def input = []
input = [ [ id:'test', single_end: false ], // meta map
[ file("${launchDir}/tests/data/bam/test.single_end.sorted.bam", checkIfExists: true)] ]
GATK4_SAMTOFASTQ ( input )
}

View file

@ -0,0 +1,21 @@
- name: gatk4 samtofastq single-end
command: nextflow run ./tests/software/gatk4/samtofastq -entry test_gatk4_samtofastq_single_end -c tests/config/nextflow.config
tags:
- gatk4
- gatk4_samtofastq
- gatk4_samtofastq_single_end
files:
- path: output/gatk4/test.fastq.gz
md5sum: 61c6d3556ac6e0d09d800415b9a48508
- name: gatk4 samtofastq paired-end
command: nextflow run ./tests/software/gatk4/samtofastq -entry test_gatk4_samtofastq_paired_end -c tests/config/nextflow.config
tags:
- gatk4
- gatk4_samtofastq
- gatk4_samtofastq_paired_end
files:
- path: output/gatk4/test_1.fastq.gz
md5sum: 61c6d3556ac6e0d09d800415b9a48508
- path: output/gatk4/test_2.fastq.gz
md5sum: d0e74ab8dccca91c0ccd7125e588d5cd

View file

@ -0,0 +1,18 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { GATK4_SPLITNCIGARREADS } from '../../../../software/gatk4/splitncigarreads/main.nf' addParams( options: [:] )
workflow test_gatk4_splitncigarreads {
def input = []
input = [ [ id:'test' ], // meta map
[ file("${launchDir}/tests/data/bam/sarscov2_aln.bam", checkIfExists: true)] ]
fasta = [ file("tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.fna", checkIfExists: true),
file("tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.fna.fai", checkIfExists: true),
file("tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.dict", checkIfExists: true)]
GATK4_SPLITNCIGARREADS ( input, fasta )
}

View file

@ -0,0 +1,8 @@
- name: gatk4 splitncigarreads
command: nextflow run ./tests/software/gatk4/splitncigarreads -entry test_gatk4_splitncigarreads -c tests/config/nextflow.config
tags:
- gatk4
- gatk4_splitncigarreads
files:
- path: output/gatk4/test.split_cigar.bam
md5sum: 9228ac79882a4929c797c891b1bd9f6d

View file

@ -0,0 +1,18 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { METHYLDACKEL_EXTRACT } from '../../../../software/methyldackel/extract/main.nf' addParams( options: [:] )
workflow test_methyldackel_extract {
def input = []
def fasta = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true)
def fai = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa.fai", checkIfExists: true)
input = [ [ id:'test', single_end:false ], // meta map
file("${launchDir}/tests/data/bam/test.paired_end_methylated.sorted.bam", checkIfExists: true),
file("${launchDir}/tests/data/bam/test.paired_end_methylated.sorted.bam.bai", checkIfExists: true) ]
METHYLDACKEL_EXTRACT ( input, fasta, fai )
}

View file

@ -0,0 +1,8 @@
- name: Run methyldackel extract test workflow
command: nextflow run ./tests/software/methyldackel/extract -entry test_methyldackel_extract -c tests/config/nextflow.config
tags:
- methyldackel
- methyldackel_extract
files:
- path: output/methyldackel/test.paired_end_methylated.sorted_CpG.bedGraph
md5sum: a83c1c9abe632e1996402185ddc4d2b6

View file

@ -0,0 +1,18 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { METHYLDACKEL_MBIAS } from '../../../../software/methyldackel/mbias/main.nf' addParams( options: [:] )
workflow test_methyldackel_mbias {
def input = []
def fasta = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa", checkIfExists: true)
def fai = file("${launchDir}/tests/data/fasta/E_coli/NC_010473.fa.fai", checkIfExists: true)
input = [ [ id:'test', single_end:false ], // meta map
file("${launchDir}/tests/data/bam/test.paired_end_methylated.sorted.bam", checkIfExists: true),
file("${launchDir}/tests/data/bam/test.paired_end_methylated.sorted.bam.bai", checkIfExists: true) ]
METHYLDACKEL_MBIAS ( input, fasta, fai )
}

View file

@ -0,0 +1,8 @@
- name: Run methyldackel mbias test workflow
command: nextflow run ./tests/software/methyldackel/mbias -entry test_methyldackel_mbias -c tests/config/nextflow.config
tags:
- methyldackel
- methyldackel_mbias
files:
- path: ./output/methyldackel/test.txt
md5sum: 4a8f76da62eaa169576c8e6d509c5066

View file

@ -4,4 +4,4 @@
- pangolin
files:
- path: ./output/pangolin/test.pangolin.csv
md5sum: 097669de1843e27f4529d6db8bbed97b
md5sum: 43edd267815f6408b66961a0abf9ddd6

View file

@ -0,0 +1,16 @@
#!/usr/bin/env nextflow
nextflow.enable.dsl = 2
include { QUALIMAP_BAMQC } from '../../../../software/qualimap/bamqc/main.nf' addParams( options: [:] )
workflow test_qualimap_bamqc {
def input = []
input = [ [ id:'test', single_end:false ], // meta map
file("${launchDir}/tests/data/bam/test.paired_end.sorted.bam", checkIfExists: true) ]
def gff = file("dummy_file.txt")
def use_gff = false
QUALIMAP_BAMQC ( input, gff, use_gff )
}

View file

@ -0,0 +1,26 @@
- name: Run qualimap bamqc test workflow
command: nextflow run ./tests/software/qualimap/bamqc -entry test_qualimap_bamqc -c tests/config/nextflow.config
tags:
- qualimap
- qualimap_bamqc
files:
- path: output/qualimap/test/raw_data_qualimapReport/coverage_across_reference.txt
md5sum: 0e2ae3deae8adbe6c66db4dadb260c76
- path: output/qualimap/test/raw_data_qualimapReport/coverage_histogram.txt
md5sum: 0e9f37aabb761969526f445ed8d3173b
- path: output/qualimap/test/raw_data_qualimapReport/duplication_rate_histogram.txt
md5sum: 2299c92a3049270b9d7b1f521cafbb86
- path: output/qualimap/test/raw_data_qualimapReport/genome_fraction_coverage.txt
md5sum: 89c8c882c9423fafe03b4fc98e2bfb5a
- path: output/qualimap/test/raw_data_qualimapReport/insert_size_across_reference.txt
md5sum: 966230f2bbe796788beac30678597e79
- path: output/qualimap/test/raw_data_qualimapReport/insert_size_histogram.txt
md5sum: b3049afc6c3c57c3b278abd66a66a690
- path: output/qualimap/test/raw_data_qualimapReport/mapped_reads_gc-content_distribution.txt
md5sum: e9e0189463430b5565ea6da1d5976e40
- path: output/qualimap/test/raw_data_qualimapReport/mapped_reads_nucleotide_content.txt
md5sum: fa1566299e1bcd2d65c95b32ae2ca3d1
- path: output/qualimap/test/raw_data_qualimapReport/mapping_quality_across_reference.txt
md5sum: 40b6951739a602da545e38a00b698fde
- path: output/qualimap/test/raw_data_qualimapReport/mapping_quality_histogram.txt
md5sum: c66579f0114a9aedc70820fa609fb1ec

Some files were not shown because too many files have changed in this diff Show more