Skip to content

Commit

Permalink
Commit of local copy
Browse files Browse the repository at this point in the history
  • Loading branch information
emmarousseau committed Mar 27, 2024
1 parent fa9a9ca commit 9465e3f
Show file tree
Hide file tree
Showing 11 changed files with 130 additions and 0 deletions.
50 changes: 50 additions & 0 deletions src/idxstats/config.vsh.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: samtools_idxstats
namespace: samtools
description: Reports alignment summary statistics for a BAM file
keywords: [stats, mapping, counts, chromosome, bam, sam, cram]
links:
homepage: https://www.htslib.org/
documentation: https://www.htslib.org/doc/samtools-idxstats.html
repository: https://github.com/samtools/samtools.git
references:
doi: 10.1093/bioinformatics/btp352, 10.1093/gigascience/giab008
license: MIT/Expat

argument_groups:
- name: Inputs
arguments:
- name: "--bam"
type: file
description: BAM input file.
- name: "--bai"
type: file
description: BAM index file.
- name: "--fasta"
type: file
description: Reference file the CRAM was created with (optional).
- name: Outputs
arguments:
- name: "--output"
type: file
description: File containing samtools stats output in tab-delimited format.
required: true
example: output.idxstats

resources:
- type: bash_script
path: script.sh
test_resources:
- type: bash_script
path: test.sh
- type: file
path: test_data
engines:
- type: docker
image: quay.io/biocontainers/samtools:1.3.1--h9071d68_10
setup:
- type: docker
run: |
echo "$(samtools --version 2>&1)" > /var/software_versions.txt
runners:
- type: executable
- type: nextflow
5 changes: 5 additions & 0 deletions src/idxstats/help.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
```
samtools idxstats
```

Usage: samtools idxstats <in.bam>
12 changes: 12 additions & 0 deletions src/idxstats/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

## VIASH START
## VIASH END

set -e

output_file="$par_output"

samtools idxstats \
"$par_bam" \
> "$output_file"
45 changes: 45 additions & 0 deletions src/idxstats/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#!/bin/bash

echo ">>> Testing $meta_functionality_name"

"$meta_executable" \
--bam "$meta_resources_dir/test_data/a.sorted.bam" \
--bai "$meta_resources_dir/test_data/a.sorted.bam.bai" \
--output "$meta_resources_dir/test_data/a.sorted.idxstats"

echo ">>> Checking whether output exists"
[ ! -f "$meta_resources_dir/test_data/a.sorted.idxstats" ] && echo "File 'a.sorted.idxstats' does not exist!" && exit 1

echo ">>> Checking whether output is non-empty"
[ ! -s "$meta_resources_dir/test_data/a.sorted.idxstats" ] && echo "File 'a.sorted.idxstats' is empty!" && exit 1

echo ">>> Checking whether output is correct"
diff "$meta_resources_dir/test_data/a.sorted.idxstats" "$meta_resources_dir/test_data/a_ref.sorted.idxstats" || \
(echo "Output file a.sorted.idxstats does not match expected output" && exit 1)

rm "$meta_resources_dir/test_data/a.sorted.idxstats"

############################################################################################

echo ">>> Testing $meta_functionality_name with singletons in the input"

"$meta_executable" \
--bam "$meta_resources_dir/test_data/test.paired_end.sorted.bam" \
--bai "$meta_resources_dir/test_data/test.paired_end.sorted.bam.bai" \
--output "$meta_resources_dir/test_data/test.paired_end.sorted.idxstats"

echo ">>> Checking whether output exists"
[ ! -f "$meta_resources_dir/test_data/test.paired_end.sorted.flagidxstatsstat" ] && echo "File 'test.paired_end.sorted.idxstats' does not exist!" && exit 1

echo ">>> Checking whether output is non-empty"
[ ! -s "$meta_resources_dir/test_data/test.paired_end.sorted.idxstats" ] && echo "File 'test.paired_end.sorted.idxstats' is empty!" && exit 1

echo ">>> Checking whether output is correct"
diff "$meta_resources_dir/test_data/test.paired_end.sorted.idxstats" "$meta_resources_dir/test_data/test_ref.paired_end.sorted.idxstats" || \
(echo "Output file test.paired_end.sorted.idxstats does not match expected output" && exit 1)

rm "$meta_resources_dir/test_data/test.paired_end.sorted.idxstats"


echo "All tests succeeded!"
exit 0
Binary file added src/idxstats/test_data/a.sorted.bam
Binary file not shown.
Binary file added src/idxstats/test_data/a.sorted.bam.bai
Binary file not shown.
2 changes: 2 additions & 0 deletions src/idxstats/test_data/a.sorted.idxstats
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
xx 20 6 0
* 0 0 0
14 changes: 14 additions & 0 deletions src/idxstats/test_data/script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash

# dowload test data from snakemake wrapper
if [ ! -d /tmp/idxstats_source ]; then
git clone --depth 1 --single-branch --branch master https://github.com/snakemake/snakemake-wrappers.git /tmp/idxstats_source
fi

cp -r /tmp/idxstats_source/bio/samtools/idxstats/test/mapped/* src/samtools/idxstats/test_data
# samtools idxstats a.sorted.bam > a.sorted.idxstats

# dowload test data from nf-core module
wget https://github.com/nf-core/test-datasets/raw/modules/data/genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam
wget https://github.com/nf-core/test-datasets/raw/modules/data/genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai
# samtools idxstats test.paired_end.sorted.bam > test_ref.paired_end.sorted.idxstats
Binary file added src/idxstats/test_data/test.paired_end.sorted.bam
Binary file not shown.
Binary file not shown.
2 changes: 2 additions & 0 deletions src/idxstats/test_data/test_ref.paired_end.sorted.idxstats
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
MT192765.1 29829 197 3
* 0 0 0

0 comments on commit 9465e3f

Please sign in to comment.