diff --git a/Program_Licenses.md b/Program_Licenses.md index 8d5c3281b..65cff0a66 100644 --- a/Program_Licenses.md +++ b/Program_Licenses.md @@ -16,6 +16,7 @@ The licenses of the open-source software that is contained in these Docker image | assembly_snptyper | MIT | https://github.com/boasvdp/assembly_snptyper/blob/main/LICENSE | | Augur | GNU Affero GPLv3 | https://github.com/nextstrain/augur/blob/master/LICENSE.txt | | Auspice | GNU Affero GPLv3 | https://github.com/nextstrain/auspice/blob/master/LICENSE.txt | +| Autocycler | GNU General Public License v3.0 | https://github.com/rrwick/Autocycler/blob/main/LICENSE | | Bakta | GNU GPLv3 | https://github.com/oschwengers/bakta/blob/main/LICENSE | | Bandage | GNU GPLv3 | https://github.com/rrwick/Bandage?tab=GPL-3.0-1-ov-file#readme | | BBTools | non-standard - see `licence.txt` and `legal.txt` that is included in docker image under `/bbmap/docs/`; Also on sourceforge repo for BBTools | https://jgi.doe.gov/disclaimer/ | diff --git a/README.md b/README.md index 9ce8b69cc..95315593c 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,7 @@ To learn more about the docker pull rate limits and the open source software pro | [assembly_snptyper](https://hub.docker.com/r/staphb/assembly_snptyperh)
[![docker pulls](https://badgen.net/docker/pulls/staphb/assembly_snptyper)](https://hub.docker.com/r/staphb/assembly_snptyper) | | https://github.com/boasvdp/assembly_snptyper | | [Augur](https://hub.docker.com/r/staphb/augur)
[![docker pulls](https://badgen.net/docker/pulls/staphb/augur)](https://hub.docker.com/r/staphb/augur) | | https://github.com/nextstrain/augur | | [Auspice](https://hub.docker.com/r/staphb/auspice)
[![docker pulls](https://badgen.net/docker/pulls/staphb/auspice)](https://hub.docker.com/r/staphb/auspice) | | https://github.com/nextstrain/auspice | +| [Autocycler](https://hub.docker.com/r/staphb/autocycler)
[![docker pulls](https://badgen.net/docker/pulls/staphb/autocycler)](https://hub.docker.com/r/staphb/autocycler) | | https://github.com/rrwick/Autocycler/ | | [bakta](https://hub.docker.com/r/staphb/bakta)
[![docker pulls](https://badgen.net/docker/pulls/staphb/bakta)](https://hub.docker.com/r/staphb/bakta) | | https://github.com/oschwengers/bakta | | [bandage](https://hub.docker.com/r/staphb/bandage)
[![docker pulls](https://badgen.net/docker/pulls/staphb/bandage)](https://hub.docker.com/r/staphb/bandage) | | https://rrwick.github.io/Bandage/ | | [BBTools](https://hub.docker.com/r/staphb/bbtools/)
[![docker pulls](https://badgen.net/docker/pulls/staphb/bbtools)](https://hub.docker.com/r/staphb/bbtools) | | https://jgi.doe.gov/data-and-tools/bbtools/ | diff --git a/build-files/autocycler/0.2.1-tutorial/Dockerfile b/build-files/autocycler/0.2.1-tutorial/Dockerfile new file mode 100644 index 000000000..88fea4da1 --- /dev/null +++ b/build-files/autocycler/0.2.1-tutorial/Dockerfile @@ -0,0 +1,64 @@ +FROM mambaorg/micromamba:2.0.5-ubuntu22.04 AS app + +ARG AUTOCYCLER_VER="0.2.1" + +USER root +WORKDIR / + +LABEL base.image="mambaorg/micromamba:2.0.5-ubuntu22.04" +LABEL dockerfile.version="1" +LABEL software="Autocycler" +LABEL software.version="${AUTOCYCLER_VER}" +LABEL description="generating consensus long-read assemblies for bacterial genomes" +LABEL website="https://github.com/rrwick/Autocycler" +LABEL license="https://github.com/rrwick/Autocycler/blob/main/LICENSE" +LABEL maintainer="Erin Young" +LABEL maintainer.email="eriny@utah.gov" + +RUN apt-get update && apt-get install -y --no-install-recommends \ + wget \ + ca-certificates \ + procps && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +# get conda environment file for extra tools +RUN wget -q https://github.com/rrwick/Autocycler/archive/refs/tags/v${AUTOCYCLER_VER}.tar.gz && \ + tar -xvf v${AUTOCYCLER_VER}.tar.gz && \ + rm v${AUTOCYCLER_VER}.tar.gz && \ + micromamba env create --file /Autocycler-${AUTOCYCLER_VER}/scripts/environment.yml --name autocycler && \ + micromamba clean -a -f -y && \ + rm -rf /Autocycler-${AUTOCYCLER_VER} && \ + mkdir /data + +# install autocycler and helper scripts +WORKDIR /usr/local/bin + +RUN wget https://github.com/rrwick/Autocycler/releases/download/v${AUTOCYCLER_VER}/autocycler-linux-x86_64-musl-v${AUTOCYCLER_VER}.tar.gz && \ + tar -vxf autocycler-linux-x86_64-musl-v${AUTOCYCLER_VER}.tar.gz && \ + rm autocycler-linux-x86_64-musl-v${AUTOCYCLER_VER}.tar.gz && \ + wget https://github.com/rrwick/Autocycler/releases/download/v${AUTOCYCLER_VER}/autocycler-helper-scripts-v${AUTOCYCLER_VER}.tar.gz && \ + tar -vxf autocycler-helper-scripts-v${AUTOCYCLER_VER}.tar.gz && \ + rm autocycler-helper-scripts-v${AUTOCYCLER_VER}.tar.gz + +ENV PATH="/opt/conda/envs/autocycler/bin/:/opt/conda/bin/:${PATH}" \ + LC_ALL=C.UTF-8 + +CMD [ "autocycler", "--help" ] + +WORKDIR /data + +FROM app AS test + +WORKDIR /test + +RUN autocycler --help && \ + autocycler --version + +COPY test.sh . + +RUN wget https://github.com/rrwick/Autocycler/releases/download/v0.1.0/autocycler-demo-dataset.tar && \ + tar -vxf autocycler-demo-dataset.tar && \ + bash test.sh && \ + head autocycler_out/consensus_assembly.fasta + +RUN micromamba list -n autocycler \ No newline at end of file diff --git a/build-files/autocycler/0.2.1-tutorial/README.md b/build-files/autocycler/0.2.1-tutorial/README.md new file mode 100644 index 000000000..b3afc1083 --- /dev/null +++ b/build-files/autocycler/0.2.1-tutorial/README.md @@ -0,0 +1,229 @@ +# autocycler container + +Main tool: [autocycler](https://github.com/rrwick/Autocycler/) + +Code repository: https://github.com/rrwick/Autocycler/ + +Additional tools installed with micromamba: +``` + Name Version Build Channel +──────────────────────────────────────────────────────────────────────────────────── + _libgcc_mutex 0.1 conda_forge conda-forge + _openmp_mutex 4.5 2_gnu conda-forge + alsa-lib 1.2.11 hd590300_1 conda-forge + any2fasta 0.4.2 hdfd78af_3 bioconda + attr 2.5.1 h166bdaf_1 conda-forge + bwa 0.7.18 he4a0461_1 bioconda + bzip2 1.0.8 h4bc722e_7 conda-forge + c-ares 1.34.4 hb9d3cd8_0 conda-forge + ca-certificates 2025.1.31 hbcca054_0 conda-forge + cairo 1.18.0 h3faef2a_0 conda-forge + canu 2.2 ha47f30e_0 bioconda + dbus 1.13.6 h5008d03_3 conda-forge + expat 2.6.4 h5888daf_0 conda-forge + flye 2.9.5 py312ha1f7cf2_1 bioconda + font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge + font-ttf-inconsolata 3.000 h77eed37_0 conda-forge + font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge + font-ttf-ubuntu 0.83 h77eed37_3 conda-forge + fontconfig 2.14.2 h14ed4e7_0 conda-forge + fonts-conda-ecosystem 1 0 conda-forge + fonts-conda-forge 1 0 conda-forge + freetype 2.12.1 h267a509_2 conda-forge + fribidi 1.0.10 h36c2ea0_0 conda-forge + gettext 0.23.1 h5888daf_0 conda-forge + gettext-tools 0.23.1 h5888daf_0 conda-forge + giflib 5.2.2 hd590300_0 conda-forge + glib 2.80.2 hf974151_0 conda-forge + glib-tools 2.80.2 hb6ce0ca_0 conda-forge + gnuplot 5.4.10 hb1719d7_0 conda-forge + graphite2 1.3.13 h59595ed_1003 conda-forge + gst-plugins-base 1.24.4 h9ad1361_0 conda-forge + gstreamer 1.24.4 haf2f30d_0 conda-forge + harfbuzz 8.5.0 hfac3d4d_0 conda-forge + htslib 1.21 h5efdd21_0 bioconda + icu 73.2 h59595ed_0 conda-forge + k8 1.2 h6618dc6_3 bioconda + kernel-headers_linux-64 3.10.0 he073ed8_18 conda-forge + keyutils 1.6.1 h166bdaf_0 conda-forge + krb5 1.21.3 h659f571_0 conda-forge + lame 3.100 h166bdaf_1003 conda-forge + lcms2 2.16 hb7c19ff_0 conda-forge + ld_impl_linux-64 2.43 h712a8e2_4 conda-forge + lerc 4.0.0 h27087fc_0 conda-forge + libasprintf 0.23.1 h8e693c7_0 conda-forge + libasprintf-devel 0.23.1 h8e693c7_0 conda-forge + libcap 2.71 h39aace5_0 conda-forge + libclang-cpp15 15.0.7 default_h127d8a8_5 conda-forge + libclang13 18.1.7 default_h087397f_0 conda-forge + libcups 2.3.3 h4637d8d_4 conda-forge + libcurl 8.8.0 hca28451_1 conda-forge + libdeflate 1.20 hd590300_0 conda-forge + libedit 3.1.20250104 pl5321h7949ede_0 conda-forge + libev 4.33 hd590300_2 conda-forge + libevent 2.1.12 hf998b51_1 conda-forge + libexpat 2.6.4 h5888daf_0 conda-forge + libffi 3.4.6 h2dba641_0 conda-forge + libflac 1.4.3 h59595ed_0 conda-forge + libgcc 14.2.0 h767d61c_2 conda-forge + libgcc-ng 14.2.0 h69a702a_2 conda-forge + libgcrypt-lib 1.11.0 hb9d3cd8_2 conda-forge + libgd 2.3.3 h119a65a_9 conda-forge + libgettextpo 0.23.1 h5888daf_0 conda-forge + libgettextpo-devel 0.23.1 h5888daf_0 conda-forge + libglib 2.80.2 hf974151_0 conda-forge + libgomp 14.2.0 h767d61c_2 conda-forge + libgpg-error 1.51 hbd13f7d_1 conda-forge + libiconv 1.18 h4ce23a2_1 conda-forge + libjpeg-turbo 3.0.0 hd590300_1 conda-forge + libllvm15 15.0.7 hb3ce162_4 conda-forge + libllvm18 18.1.7 hb77312f_0 conda-forge + liblzma 5.6.4 hb9d3cd8_0 conda-forge + liblzma-devel 5.6.4 hb9d3cd8_0 conda-forge + libnghttp2 1.58.0 h47da74e_1 conda-forge + libnsl 2.0.1 hd590300_0 conda-forge + libogg 1.3.5 h4ab18f5_0 conda-forge + libopus 1.3.1 h7f98852_1 conda-forge + libpng 1.6.43 h2797004_0 conda-forge + libpq 16.8 h87c4ccc_0 conda-forge + libsndfile 1.2.2 hc60ed4a_1 conda-forge + libsqlite 3.46.0 hde9e2c9_0 conda-forge + libssh2 1.11.0 h0841786_0 conda-forge + libstdcxx 14.2.0 h8f9b012_2 conda-forge + libstdcxx-ng 14.2.0 h4852527_2 conda-forge + libsystemd0 257.3 h3dc2cb9_0 conda-forge + libtiff 4.6.0 h1dd3fc0_3 conda-forge + libuuid 2.38.1 h0b41bf4_0 conda-forge + libvorbis 1.3.7 h9c3ff4c_0 conda-forge + libwebp 1.4.0 h2c329e2_0 conda-forge + libwebp-base 1.4.0 hd590300_0 conda-forge + libxcb 1.15 h0b41bf4_0 conda-forge + libxcrypt 4.4.36 hd590300_1 conda-forge + libxkbcommon 1.7.0 h662e7e4_0 conda-forge + libxml2 2.12.7 hc051c1a_1 conda-forge + libzlib 1.2.13 h4ab18f5_6 conda-forge + lja 0.2 h5b5514e_2 bioconda + lz4-c 1.10.0 h5888daf_1 conda-forge + metamdbg 1.0 hdcf5f25_1 bioconda + miniasm 0.3 he4a0461_3 bioconda + minimap2 2.28 he4a0461_3 bioconda + minipolish 0.1.3 pyhdfd78af_0 bioconda + mpg123 1.32.9 hc50e24c_0 conda-forge + mysql-common 8.3.0 hf1915f5_4 conda-forge + mysql-libs 8.3.0 hca2cd23_4 conda-forge + ncurses 6.5 h2d0b736_3 conda-forge + necat 0.0.1_update20200803 h43eeafb_5 bioconda + nextdenovo 2.5.2 py312ha5a3fb2_5 bioconda + nextpolish 1.4.1 py312ha5a3fb2_3 bioconda + nspr 4.36 h5888daf_0 conda-forge + nss 3.100 hca3bf56_0 conda-forge + openjdk 22.0.1 hb622114_0 conda-forge + openssl 3.4.1 h7b32b05_0 conda-forge + pango 1.54.0 h84a9a3c_0 conda-forge + paralleltask 0.1.1 pyhd8ed1ab_0 conda-forge + pcre2 10.43 hcad00b1_0 conda-forge + perl 5.32.1 7_hd590300_perl5 conda-forge + perl-env 1.04 pl5321hd8ed1ab_0 conda-forge + perl-filesys-df 0.92 pl5321h7b50bb2_9 bioconda + pip 25.0.1 pyh8b19718_0 conda-forge + pixman 0.44.2 h29eaf8c_0 conda-forge + psutil 6.1.1 py312h66e93f0_0 conda-forge + pthread-stubs 0.4 hb9d3cd8_1002 conda-forge + pulseaudio-client 17.0 hb77b528_0 conda-forge + python 3.12.3 hab00c5b_0_cpython conda-forge + python-edlib 1.3.9.post1 py312hf731ba3_1 bioconda + python_abi 3.12 5_cp312 conda-forge + qt-main 5.15.8 hc9dc06e_21 conda-forge + racon 1.5.0 hdcf5f25_5 bioconda + raven-assembler 1.8.3 h43eeafb_1 bioconda + readline 8.2 h8c095d6_2 conda-forge + samtools 1.21 h50ea8bc_0 bioconda + seqtk 1.4 he4a0461_2 bioconda + setuptools 75.8.0 pyhff2d567_0 conda-forge + sysroot_linux-64 2.17 h0157908_18 conda-forge + time 1.8 hd590300_0 conda-forge + tk 8.6.13 noxft_h4845f30_101 conda-forge + tzdata 2025a h78e105d_0 conda-forge + wheel 0.45.1 pyhd8ed1ab_1 conda-forge + wtdbg 2.5 h43eeafb_4 bioconda + xcb-util 0.4.0 hd590300_1 conda-forge + xcb-util-image 0.4.0 h8ee46fc_1 conda-forge + xcb-util-keysyms 0.4.0 h8ee46fc_1 conda-forge + xcb-util-renderutil 0.3.9 hd590300_1 conda-forge + xcb-util-wm 0.4.1 h8ee46fc_1 conda-forge + xkeyboard-config 2.42 h4ab18f5_0 conda-forge + xorg-fixesproto 5.0 hb9d3cd8_1003 conda-forge + xorg-inputproto 2.3.2 hb9d3cd8_1003 conda-forge + xorg-kbproto 1.0.7 hb9d3cd8_1003 conda-forge + xorg-libice 1.1.2 hb9d3cd8_0 conda-forge + xorg-libsm 1.2.5 he73a12e_0 conda-forge + xorg-libx11 1.8.9 h8ee46fc_0 conda-forge + xorg-libxau 1.0.12 hb9d3cd8_0 conda-forge + xorg-libxdmcp 1.1.5 hb9d3cd8_0 conda-forge + xorg-libxext 1.3.4 h0b41bf4_2 conda-forge + xorg-libxfixes 5.0.3 h7f98852_1004 conda-forge + xorg-libxi 1.7.10 h4bc722e_1 conda-forge + xorg-libxrender 0.9.11 hd590300_0 conda-forge + xorg-libxt 1.3.0 hd590300_1 conda-forge + xorg-libxtst 1.2.5 h4bc722e_0 conda-forge + xorg-recordproto 1.14.2 hb9d3cd8_1003 conda-forge + xorg-renderproto 0.11.1 hb9d3cd8_1003 conda-forge + xorg-xextproto 7.3.0 hb9d3cd8_1004 conda-forge + xorg-xf86vidmodeproto 2.3.1 hb9d3cd8_1005 conda-forge + xorg-xproto 7.0.31 hb9d3cd8_1008 conda-forge + xz 5.6.4 hbcc6ac9_0 conda-forge + xz-gpl-tools 5.6.4 hbcc6ac9_0 conda-forge + xz-tools 5.6.4 hb9d3cd8_0 conda-forge + zlib 1.2.13 h4ab18f5_6 conda-forge + zstd 1.5.6 ha6fb4c9_0 conda-forge +``` + +Basic information on how to use this tool: +- executable: autocycler +- help: --help +- version: --version +- description: | +> Autocycler is a tool for generating consensus long-read assemblies for bacterial genomes. + +Additional information: + +This image contains all additional tools listed in the environmental.yml file. + +Full documentation: [https://github.com/rrwick/Autocycler/wiki](https://github.com/rrwick/Autocycler/wiki) + +## Example Usage + +```bash +reads=ont.fastq.gz # your read set goes here +threads=16 # set as appropriate for your system +genome_size=$(genome_size_raven.sh "$reads" "$threads") # can set this manually if you know the value + +# Step 1: subsample the long-read set into multiple files +autocycler subsample --reads "$reads" --out_dir subsampled_reads --genome_size "$genome_size" + +# Step 2: assemble each subsampled file +mkdir assemblies +for assembler in canu flye miniasm necat nextdenovo raven; do + for i in 01 02 03 04; do + "$assembler".sh subsampled_reads/sample_"$i".fastq assemblies/"$assembler"_"$i" "$threads" "$genome_size" + done +done + +# Optional step: remove the subsampled reads to save space +rm subsampled_reads/*.fastq + +# Step 3: compress the input assemblies into a unitig graph +autocycler compress -i assemblies -a autocycler_out + +# Step 4: cluster the input contigs into putative genomic sequences +autocycler cluster -a autocycler_out + +# Steps 5 and 6: trim and resolve each QC-pass cluster +for c in autocycler_out/clustering/qc_pass/cluster_*; do + autocycler trim -c "$c" + autocycler resolve -c "$c" +done + +# Step 7: combine resolved clusters into a final assembly +autocycler combine -a autocycler_out -i autocycler_out/clustering/qc_pass/cluster_*/5_final.gfa +``` \ No newline at end of file diff --git a/build-files/autocycler/0.2.1-tutorial/test.sh b/build-files/autocycler/0.2.1-tutorial/test.sh new file mode 100644 index 000000000..2816f2d1e --- /dev/null +++ b/build-files/autocycler/0.2.1-tutorial/test.sh @@ -0,0 +1,24 @@ +# stolen from https://github.com/rrwick/Autocycler/wiki/Demo-dataset +threads="4" +genome_size="242000" + +autocycler subsample --reads reads.fastq.gz --out_dir subsampled_reads --genome_size "$genome_size" + +mkdir assemblies +for assembler in flye miniasm raven; do + for i in 01 02 03 04; do + "$assembler".sh subsampled_reads/sample_"$i".fastq assemblies/"$assembler"_"$i" "$threads" "$genome_size" + done +done +rm subsampled_reads/*.fastq + +autocycler compress -i assemblies -a autocycler_out + +autocycler cluster -a autocycler_out + +for c in autocycler_out/clustering/qc_pass/cluster_*; do + autocycler trim -c "$c" + autocycler resolve -c "$c" +done + +autocycler combine -a autocycler_out -i autocycler_out/clustering/qc_pass/cluster_*/5_final.gfa \ No newline at end of file diff --git a/build-files/autocycler/0.2.1/Dockerfile b/build-files/autocycler/0.2.1/Dockerfile new file mode 100644 index 000000000..ff25459e8 --- /dev/null +++ b/build-files/autocycler/0.2.1/Dockerfile @@ -0,0 +1,51 @@ +ARG AUTOCYCLER_VER="0.2.1" + +FROM ubuntu:jammy AS app + +ARG AUTOCYCLER_VER + +LABEL base.image="ubuntu:jammy" +LABEL dockerfile.version="1" +LABEL software="Autocycler" +LABEL software.version="${AUTOCYCLER_VER}" +LABEL description="generating consensus long-read assemblies for bacterial genomes" +LABEL website="https://github.com/rrwick/Autocycler" +LABEL license="https://github.com/rrwick/Autocycler/blob/main/LICENSE" +LABEL maintainer="Erin Young" +LABEL maintainer.email="eriny@utah.gov" + +RUN apt-get update && apt-get install -y --no-install-recommends \ + wget \ + ca-certificates \ + procps && \ + apt-get autoclean && rm -rf /var/lib/apt/lists/* + +WORKDIR /usr/local/bin + +# install autocycler and helper scripts +RUN wget https://github.com/rrwick/Autocycler/releases/download/v${AUTOCYCLER_VER}/autocycler-linux-x86_64-musl-v${AUTOCYCLER_VER}.tar.gz && \ + tar -vxf autocycler-linux-x86_64-musl-v${AUTOCYCLER_VER}.tar.gz && \ + rm autocycler-linux-x86_64-musl-v${AUTOCYCLER_VER}.tar.gz && \ + wget https://github.com/rrwick/Autocycler/releases/download/v${AUTOCYCLER_VER}/autocycler-helper-scripts-v${AUTOCYCLER_VER}.tar.gz && \ + tar -vxf autocycler-helper-scripts-v${AUTOCYCLER_VER}.tar.gz && \ + rm autocycler-helper-scripts-v${AUTOCYCLER_VER}.tar.gz + +ENV PATH=$PATH LC_ALL=C + +CMD [ "autocycler", "--help" ] + +WORKDIR /data + +FROM app AS test + +ARG AUTOCYCLER_VER + +WORKDIR /test + +RUN autocycler --help && \ + autocycler --version + +# demo dataset does not change with version +RUN wget https://github.com/rrwick/Autocycler/releases/download/v0.1.0/autocycler-demo-dataset.tar && \ + tar -vxf autocycler-demo-dataset.tar && \ + autocycler subsample --reads reads.fastq.gz --out_dir subsampled_reads --genome_size "242000" \ No newline at end of file diff --git a/build-files/autocycler/0.2.1/README.md b/build-files/autocycler/0.2.1/README.md new file mode 100644 index 000000000..97a0f0de8 --- /dev/null +++ b/build-files/autocycler/0.2.1/README.md @@ -0,0 +1,49 @@ +# autocycler container + +Main tool: [autocycler](https://github.com/rrwick/Autocycler/) + +Code repository: https://github.com/rrwick/Autocycler/ + +Basic information on how to use this tool: +- executable: autocycler +- help: --help +- version: --version +- description: | +> Autocycler is a tool for generating consensus long-read assemblies for bacterial genomes. + +Additional information: + +This image does not contain any of the assemblers listed in the wikis or tutorials. All helper scripts should be in path and are located at /usr/local/bin. + +Full documentation: [https://github.com/rrwick/Autocycler/wiki](https://github.com/rrwick/Autocycler/wiki) + +## Example Usage + +```bash +reads=ont.fastq.gz # your read set goes here +threads=16 # set as appropriate for your system +genome_size=$(genome_size_raven.sh "$reads" "$threads") # can set this manually if you know the value + +# Step 1: subsample the long-read set into multiple files +autocycler subsample --reads "$reads" --out_dir subsampled_reads --genome_size "$genome_size" + +# Step 2: assemble each subsampled fastq file using different container + +# Optional step: remove the subsampled reads to save space +rm subsampled_reads/*.fastq + +# Step 3: compress the input assemblies into a unitig graph +autocycler compress -i assemblies -a autocycler_out + +# Step 4: cluster the input contigs into putative genomic sequences +autocycler cluster -a autocycler_out + +# Steps 5 and 6: trim and resolve each QC-pass cluster +for c in autocycler_out/clustering/qc_pass/cluster_*; do + autocycler trim -c "$c" + autocycler resolve -c "$c" +done + +# Step 7: combine resolved clusters into a final assembly +autocycler combine -a autocycler_out -i autocycler_out/clustering/qc_pass/cluster_*/5_final.gfa +``` \ No newline at end of file