-
Notifications
You must be signed in to change notification settings - Fork 119
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
adds SeqFu #1047
Merged
Merged
adds SeqFu #1047
Changes from 14 commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
d8de6ac
Create main.yml
taylorpaisie d345f7a
adding my seqfu docker container to branch
taylorpaisie 91f0366
editing seqfu readme
taylorpaisie fdf1a33
updated seqfu readme
taylorpaisie d0f59ae
removed extra 1.20.3 seqfu dir in wrong spot
taylorpaisie 1f8ce15
restored files for seqfu
taylorpaisie 9ea00af
cleaning up dockerfile
taylorpaisie d06fe74
updated readme and program licenses with seqfu
taylorpaisie a042be4
Merge branch 'master' into tkp-seqfu
erinyoung ecbc8b8
Update README.md
erinyoung d42f0e8
removed main.yml and edited dockerfile to removing test data from seq…
taylorpaisie 03040ca
Merge branch 'tkp-seqfu' of github.com:taylorpaisie/docker-builds int…
taylorpaisie 7996814
cleaning and fixing up seqfu dockerfile
taylorpaisie df9da92
cleaning up seqfu dockerfile
taylorpaisie a85d15d
adding tests data for seqfu in dockerfile
taylorpaisie 1832275
updating test data in seqfu dockerfile
taylorpaisie 8d84645
updating seqfu tests in dockerfile
taylorpaisie 1581984
fixing seqfu dockerfile labels for staph-b template
taylorpaisie d982925
making edits to seqfu test in dockerfile
taylorpaisie a63df03
updating seqfu docker container readme
taylorpaisie 43978a7
cleaning up seqfu dockerfile
taylorpaisie 6f0ef56
Moving labels to app stage from builder
erinyoung ecd7ea9
Add CMD layer and more tests
erinyoung 62e2ec0
add curl to apt-get layer
erinyoung cc9f01e
Update Dockerfile
erinyoung File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# Set global variables | ||
ARG SEQFU_VER="1.20.3" | ||
|
||
# Stage 1: Build Dockerfile | ||
FROM ubuntu:focal AS builder | ||
ARG SEQFU_VER | ||
|
||
# Metadata | ||
LABEL base.image="ubuntu:focal" \ | ||
dockerfile.version="1" \ | ||
software="SeqFu" \ | ||
software.version="${SEQFU_VER}" \ | ||
description="A general-purpose program to manipulate and parse information from FASTA/FASTQ files, supporting gzipped input files." \ | ||
website="https://github.com/telatin/seqfu2" \ | ||
license.url="https://github.com/telatin/seqfu2?tab=GPL-3.0-1-ov-file#readme" \ | ||
maintainer="Taylor K. Paisie" \ | ||
maintainer.email="[email protected]" | ||
|
||
# Set non-interactive frontend and update PATH | ||
ENV DEBIAN_FRONTEND=noninteractive \ | ||
PATH="/root/.nimble/bin:${PATH}" | ||
|
||
# Install required dependencies | ||
RUN apt-get update && apt-get install -y --no-install-recommends \ | ||
wget \ | ||
unzip \ | ||
build-essential \ | ||
zlib1g-dev \ | ||
curl \ | ||
python3 \ | ||
python3-pip \ | ||
git \ | ||
ca-certificates && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Set the working directory | ||
WORKDIR /root | ||
|
||
# Install Nim and SeqFu | ||
RUN curl https://nim-lang.org/choosenim/init.sh -sSf | sh -s -- -y --ver 1.22.2 && \ | ||
wget https://github.com/telatin/seqfu2/archive/refs/tags/v${SEQFU_VER}.tar.gz && \ | ||
tar -xzf v${SEQFU_VER}.tar.gz && \ | ||
rm v${SEQFU_VER}.tar.gz && \ | ||
cd seqfu2-${SEQFU_VER} && \ | ||
make | ||
|
||
# Copy the built binary to a location in the PATH | ||
RUN ls -l /root/seqfu2-${SEQFU_VER}/bin && \ | ||
cp -R /root/seqfu2-${SEQFU_VER}/bin/* /usr/local/bin/ && \ | ||
chmod +x /usr/local/bin/seqfu | ||
|
||
# Stage 2: Create the final image | ||
FROM ubuntu:focal AS app | ||
ARG SEQFU_VER | ||
|
||
# Copy the necessary files from the builder | ||
COPY --from=builder /usr/local/bin /usr/local/bin | ||
|
||
# Install minimal runtime dependencies | ||
RUN apt-get update && apt-get install -y --no-install-recommends \ | ||
curl \ | ||
wget && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Set working directory | ||
WORKDIR /data | ||
|
||
# Verify installation | ||
RUN ls -l /usr/local/bin && \ | ||
seqfu --version && seqfu --help | ||
|
||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# SeqFu | ||
|
||
Main tool: [SeqFu](https://github.com/telatin/seqfu2) | ||
|
||
Code repository: https://github.com/telatin/seqfu2 | ||
|
||
Basic information on how to use this tool: | ||
- executable: | | ||
``` | ||
· count [cnt] : count FASTA/FASTQ reads, pair-end aware | ||
· deinterleave [dei] : deinterleave FASTQ | ||
· derep [der] : feature-rich dereplication of FASTA/FASTQ files | ||
· interleave [ilv] : interleave FASTQ pair ends | ||
· lanes [mrl] : merge Illumina lanes | ||
· list [lst] : print sequences from a list of names | ||
· metadata [met] : print a table of FASTQ reads (mapping files) | ||
· sort [srt] : sort sequences by size (uniques) | ||
· stats [st] : statistics on sequence lengths | ||
|
||
· cat : concatenate FASTA/FASTQ files | ||
· grep : select sequences with patterns | ||
· head : print first sequences | ||
· rc : reverse complement strings or files | ||
· tab : tabulate reads to TSV (and viceversa) | ||
· tail : view last sequences | ||
· view : view sequences with colored quality and oligo matches | ||
``` | ||
|
||
- help: `seqfu --help` | ||
- version: `seqfu --version` | ||
- description: | | ||
> A general-purpose program to manipulate and parse information from FASTA/FASTQ files, supporting gzipped input files. | ||
|
||
|
||
Full documentation: https://telatin.github.io/seqfu2/ | ||
|
||
|
||
# Testing SeqFU analysis | ||
``` | ||
seqfu check \ | ||
--deep \ | ||
--verbose \ | ||
/root/seqfu2-1.20.3/data/tests/sample1_R1.fq \ | ||
/root/seqfu2-1.20.3/data/tests/sample1_R2.fq | ||
``` | ||
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking great!
If you're looking for assistance with creating tests, seqtk uses some fastq files from this repository in its tests
I imagine for seqfu it'd be someting like
SeqFu also looks like it comes with its own tests and files which may be useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, so i originally had all the test files in the container but you mentioned it wasn't necessary, so maybe i'll just put in the seqfu test fastq files you suggested in the comment for the seqfu test in the dockerfile. Also thank you for your help and suggestions!!!