Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adding longshot version 0.4.5 #721

Merged
merged 2 commits into from
Nov 2, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Program_Licenses.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ The licenses of the open-source software that is contained in these Docker image
| kSNP4 | BSD | available in zipped kSNP archive on sourceforge or in docker image under `/opt/kSNP4 Linux package/Documentation/THE BSD OPENSOURCE LICENSE.pdf` |
| legsta | GNU GPLv3 | https://github.com/tseemann/legsta/blob/master/LICENSE |
| liftoff | GNU GPLv3 | https://github.com/agshumate/Liftoff/blob/master/LICENSE.md |
| longshot | MIT | https://github.com/pjedge/longshot/blob/master/LICENSE |
| Lyve-SET | MIT | https://github.com/lskatz/lyve-SET/blob/master/LICENSE |
| Mafft | BSD | https://mafft.cbrc.jp/alignment/software/license.txt |
| Mash | non-standard license (see link) | https://github.com/marbl/Mash/blob/master/LICENSE.txt |
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ To learn more about the docker pull rate limits and the open source software pro
| [kSNP4](https://hub.docker.com/r/staphb/ksnp4/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/ksnp4)](https://hub.docker.com/r/staphb/ksnp4)| <ul><li>4.0</li></ul> | https://sourceforge.net/projects/ksnp/ |
| [legsta](https://hub.docker.com/r/staphb/legsta/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/legsta)](https://hub.docker.com/r/staphb/legsta)| <ul><li>0.3.7</li><li>0.5.1</li></ul> | https://github.com/tseemann/legsta |
| [liftoff](https://hub.docker.com/r/staphb/liftoff/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/liftoff)](https://hub.docker.com/r/staphb/liftoff)| <ul><li>1.6.3</li></ul> | https://github.com/agshumate/Liftoff |
| [longshot](https://hub.docker.com/r/staphb/longshot/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/longshot)](https://hub.docker.com/r/staphb/longshot)| <ul><li>[0.4.5](longshot/0.4.5)</li></ul> | https://github.com/pjedge/longshot |
| [Lyve-SET (includes CG-Pipeline scripts and raxml)](https://hub.docker.com/r/staphb/lyveset/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/lyveset)](https://hub.docker.com/r/staphb/lyveset) | <ul><li>1.1.4f</li><li>2.0.1</li></ul> | https://github.com/lskatz/lyve-SET https://github.com/lskatz/CG-Pipeline |
| [MAFFT](https://hub.docker.com/r/staphb/mafft/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/mafft)](https://hub.docker.com/r/staphb/mafft) | <ul><li>7.450</li><li>7.475</li><li>7.505</li></ul> | https://mafft.cbrc.jp/alignment/software/ |
| [Mash](https://hub.docker.com/r/staphb/mash/) <br/> [![docker pulls](https://badgen.net/docker/pulls/staphb/mash)](https://hub.docker.com/r/staphb/mash) | <ul><li>2.1</li><li>2.2</li><li>2.3</li></ul> | https://github.com/marbl/Mash |
Expand Down
78 changes: 78 additions & 0 deletions longshot/0.4.5/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
FROM mambaorg/micromamba:1.4.9 as app

# List all software versions are ARGs near the top of the dockerfile
# 'ARG' sets environment variables during the build stage
# 'ARG' variables are ONLY available during image build, they do not persist in the final image
ARG LONGSHOT_VERSION="0.4.5"

# build and run as root users since micromamba image has 'mambauser' set as the $USER
USER root
# set workdir to default for building; set to /data at the end
WORKDIR /

# 'LABEL' instructions tag the image with metadata that might be important to the user
LABEL base.image="mambaorg/micromamba:1.4.9"
LABEL dockerfile.version="1"
LABEL software="longshot"
LABEL software.version="${LONGSHOT_VERSION}"
LABEL description="A variant calling tool for noisy reads"
LABEL website="https://github.com/pjedge/longshot"
LABEL license="https://github.com/pjedge/longshot/blob/master/LICENSE"
LABEL maintainer="Erin Young"
LABEL maintainer.email="[email protected]"

# Example apt-get command for commonly-missing dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
ca-certificates \
procps && \
apt-get autoclean && rm -rf /var/lib/apt/lists/*

# Install your desired software into the base conda/micromamba environment, pinning the version
# clean up conda garbage
# make /data to use as a working directory
RUN micromamba install --name base -c conda-forge -c bioconda -c defaults longshot=${LONGSHOT_VERSION} && \
micromamba clean -a -y && \
mkdir /data

# 'ENV' instructions set environment variables that persist from the build into the resulting image
# set the environment, add base conda/micromamba bin directory into path
# set locale settings to UTF-8
ENV PATH="/opt/conda/bin/:${PATH}" \
LC_ALL=C.UTF-8

# 'CMD' instructions set a default command when the container is run. This is typically 'tool --help.'
CMD longshot --help

# set final working directory to /data
WORKDIR /data

##### ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- #####
##### Step 2. Set up the testing stage. #####
##### The docker image is built to the 'test' stage before merging, but #####
##### the test stage (or any stage after 'app') will be lost. #####
##### ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- #####

# A second FROM insruction creates a new stage
# new base for testing
FROM app as test

# so that conda/micromamba env is active when running below commands
ENV ENV_NAME="base"
ARG MAMBA_DOCKERFILE_ACTIVATE=1

# set working directory so that all test inputs & outputs are kept in /test
WORKDIR /test

# print help and version info; check dependencies (not all software has these options available)
# Mostly this ensures the tool of choice is in path and is executable
RUN longshot --help && \
longshot --version

RUN wget -q https://raw.githubusercontent.com/pjedge/longshot/master/example_data/genome.fa && \
wget -q https://raw.githubusercontent.com/pjedge/longshot/master/example_data/genome.fa.fai && \
wget -q https://raw.githubusercontent.com/pjedge/longshot/master/example_data/ground_truth_variants.vcf && \
wget -q https://raw.githubusercontent.com/pjedge/longshot/master/example_data/pacbio_reads_30x.bam && \
wget -q https://raw.githubusercontent.com/pjedge/longshot/master/example_data/pacbio_reads_30x.bam.bai && \
longshot --bam pacbio_reads_30x.bam --ref genome.fa --out longshot_output.vcf && \
head *vcf
23 changes: 23 additions & 0 deletions longshot/0.4.5/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# longshot container

Main tool : [longshot](https://github.com/pjedge/longshot)

Code repository: https://github.com/pjedge/longshot
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I modified Read Me to comply with new templates and trigger checks.


Basic information on how to use this tool:
- executable: longshot
- help: <--help>
- version: <--version>
- description: Longshot is a variant calling tool for diploid genomes using long error-prone reads such as Pacific Biosciences (PacBio) SMRT and Oxford Nanopore Technologies (ONT).

Additional information:

Longshot takes as input an aligned BAM/CRAM file and outputs a phased VCF file with variants and haplotype information. It can also genotype and phase input VCF files. It can output haplotype-separated BAM files that can be used for downstream analysis. Currently, it only calls single nucleotide variants (SNVs), but it can genotype indels if they are given in an input VCF.

Full documentation: [https://github.com/artic-network/fieldbioinformatics](https://github.com/artic-network/fieldbioinformatics)

## Example Usage

```bash
longshot --bam example_data/pacbio_reads_30x.bam --ref example_data/genome.fa --out example_data/longshot_output.vcf
```