Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

autocycler container

Main tool: autocycler

Code repository: https://github.com/rrwick/Autocycler/

Additional tools installed via micromamba:
  Name                       Version               Build                 Channel      
──────────────────────────────────────────────────────────────────────────────────────
  _openmp_mutex              4.5                   20_gnu                conda-forge
  about-time                 4.2.1                 pyhd8ed1ab_1          conda-forge
  alive-progress             3.2.0                 pyhd8ed1ab_0          conda-forge
  alsa-lib                   1.2.15.3              hb03c661_0            conda-forge
  archspec                   0.2.5                 pyhd8ed1ab_0          conda-forge
  aria2                      1.37.0                h4e1c2bf_3            conda-forge
  attr                       2.5.2                 h39aace5_0            conda-forge
  backports.zstd             1.3.0                 py312h90b7ffd_0       conda-forge
  binutils_impl_linux-64     2.45.1                default_hfdba357_101  conda-forge
  biopython                  1.86                  py312h4c3975b_1       conda-forge
  blast                      2.17.0                h66d330f_0            bioconda
  boost-cpp                  1.85.0                h3c6214e_4            conda-forge
  brotli-python              1.2.0                 py312hdb49522_1       conda-forge
  bwa                        0.7.19                h577a1d6_1            bioconda
  bzip2                      1.0.8                 hda65f42_9            conda-forge
  c-ares                     1.34.6                hb03c661_0            conda-forge
  ca-certificates            2026.2.25             hbd8a1cb_0            conda-forge
  cairo                      1.18.4                h3394656_0            conda-forge
  canu                       2.3                   h3fb4750_2            bioconda
  capnproto                  1.0.2                 h766bdaa_3            conda-forge
  certifi                    2026.2.25             pyhd8ed1ab_0          conda-forge
  charset-normalizer         3.4.4                 pyhd8ed1ab_0          conda-forge
  chopper                    0.12.0                hcdda2d0_0            bioconda
  clang                      21.1.0                default_h36abe19_1    conda-forge
  clang-21                   21.1.0                default_h99862b1_1    conda-forge
  click                      8.3.1                 pyh8f84b5b_1          conda-forge
  curl                       8.18.0                h4e3cde8_0            conda-forge
  cyrus-sasl                 2.1.28                hd9c7081_0            conda-forge
  dbus                       1.16.2                h24cb091_1            conda-forge
  dnaapler                   1.3.0                 pyhdfd78af_0          bioconda
  entrez-direct              24.0                  he881be0_0            bioconda
  fastp                      1.1.0                 heae3180_0            bioconda
  flye                       2.9.6                 py312h5e9d817_0       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.17.1                h27c8c51_0            conda-forge
  fonts-conda-ecosystem      1                     0                     conda-forge
  fonts-conda-forge          1                     hc364b38_1            conda-forge
  freetype                   2.14.1                ha770c72_0            conda-forge
  fribidi                    1.0.16                hb03c661_0            conda-forge
  gawk                       5.3.1                 hcd3d067_0            conda-forge
  giflib                     5.2.2                 hd590300_0            conda-forge
  glib                       2.86.4                h5192d8d_1            conda-forge
  glib-tools                 2.86.4                hf516916_1            conda-forge
  gmp                        6.3.0                 hac33072_2            conda-forge
  gnuplot                    5.4.10                hb1719d7_0            conda-forge
  grapheme                   0.6.0                 pyhd8ed1ab_1          conda-forge
  graphite2                  1.3.14                hecca717_2            conda-forge
  gsl                        2.8                   hbf7d49c_1            conda-forge
  gst-plugins-base           1.24.11               h651a532_0            conda-forge
  gstreamer                  1.24.11               hc37bda9_0            conda-forge
  h2                         4.3.0                 pyhcf101f3_0          conda-forge
  harfbuzz                   12.2.0                h15599e2_0            conda-forge
  hpack                      4.1.0                 pyhd8ed1ab_0          conda-forge
  htslib                     1.23                  h566b1c6_0            bioconda
  hyperframe                 6.1.0                 pyhd8ed1ab_0          conda-forge
  icu                        75.1                  he02047a_0            conda-forge
  idna                       3.11                  pyhd8ed1ab_0          conda-forge
  isa-l                      2.31.1                hb9d3cd8_1            conda-forge
  k8                         1.2                   he8db53b_6            bioconda
  kernel-headers_linux-64    6.12.0                he073ed8_6            conda-forge
  keyutils                   1.6.3                 hb9d3cd8_0            conda-forge
  krb5                       1.21.3                h659f571_0            conda-forge
  lame                       3.100                 h166bdaf_1003         conda-forge
  lcms2                      2.17                  h717163a_0            conda-forge
  ld_impl_linux-64           2.45.1                default_hbd61a6d_101  conda-forge
  lerc                       4.0.0                 h0aef613_1            conda-forge
  libasprintf                0.25.1                h3f43e3d_1            conda-forge
  libblas                    3.11.0                5_h4a7cf45_openblas   conda-forge
  libboost                   1.85.0                h0ccab89_4            conda-forge
  libboost-devel             1.85.0                h00ab1b0_4            conda-forge
  libboost-headers           1.85.0                ha770c72_4            conda-forge
  libcap                     2.77                  h3ff7636_0            conda-forge
  libcblas                   3.11.0                5_h0358290_openblas   conda-forge
  libclang-cpp20.1           20.1.8                default_h99862b1_13   conda-forge
  libclang-cpp21.1           21.1.0                default_h99862b1_1    conda-forge
  libclang13                 21.1.0                default_h746c552_1    conda-forge
  libcups                    2.3.3                 hb8b1518_5            conda-forge
  libcurl                    8.18.0                h4e3cde8_0            conda-forge
  libdeflate                 1.22                  hb9d3cd8_0            conda-forge
  libdrm                     2.4.125               hb03c661_1            conda-forge
  libedit                    3.1.20250104          pl5321h7949ede_0      conda-forge
  libegl                     1.7.0                 ha4b6fd6_2            conda-forge
  libev                      4.33                  hd590300_2            conda-forge
  libevent                   2.1.12                hf998b51_1            conda-forge
  libexpat                   2.7.4                 hecca717_0            conda-forge
  libffi                     3.5.2                 h3435931_0            conda-forge
  libflac                    1.5.0                 he200343_1            conda-forge
  libfreetype                2.14.1                ha770c72_0            conda-forge
  libfreetype6               2.14.1                h73754d4_0            conda-forge
  libgcc                     15.2.0                he0feb66_18           conda-forge
  libgcc-devel_linux-64      15.2.0                hcc6f6b0_118          conda-forge
  libgcc-ng                  15.2.0                h69a702a_18           conda-forge
  libgd                      2.3.3                 h6f5c62b_11           conda-forge
  libgettextpo               0.25.1                h3f43e3d_1            conda-forge
  libgfortran                15.2.0                h69a702a_18           conda-forge
  libgfortran-ng             15.2.0                h69a702a_18           conda-forge
  libgfortran5               15.2.0                h68bc16d_18           conda-forge
  libgl                      1.7.0                 ha4b6fd6_2            conda-forge
  libglib                    2.86.4                h6548e54_1            conda-forge
  libglvnd                   1.7.0                 ha4b6fd6_2            conda-forge
  libglx                     1.7.0                 ha4b6fd6_2            conda-forge
  libgomp                    15.2.0                he0feb66_18           conda-forge
  libiconv                   1.18                  h3b78370_2            conda-forge
  libidn2                    2.3.8                 hfac485b_1            conda-forge
  libjpeg-turbo              3.1.2                 hb03c661_0            conda-forge
  liblapack                  3.11.0                5_h47877c9_openblas   conda-forge
  libllvm20                  20.1.8                hecd9e04_0            conda-forge
  libllvm21                  21.1.0                hecd9e04_0            conda-forge
  liblzma                    5.8.2                 hb03c661_0            conda-forge
  liblzma-devel              5.8.2                 hb03c661_0            conda-forge
  libnghttp2                 1.67.0                had1ee68_0            conda-forge
  libnsl                     2.0.1                 hb9d3cd8_1            conda-forge
  libntlm                    1.8                   hb9d3cd8_0            conda-forge
  libogg                     1.3.5                 hd0c01bc_1            conda-forge
  libopenblas                0.3.30                pthreads_h94d23a6_4   conda-forge
  libopus                    1.6.1                 h280c20c_0            conda-forge
  libpciaccess               0.18                  hb9d3cd8_0            conda-forge
  libpng                     1.6.55                h421ea60_0            conda-forge
  libpq                      17.7                  h5c52fec_1            conda-forge
  libsndfile                 1.2.2                 hc7d488a_2            conda-forge
  libsqlite                  3.51.2                h0c1763c_0            conda-forge
  libssh2                    1.11.1                hcf80075_0            conda-forge
  libstdcxx                  15.2.0                h934c35e_18           conda-forge
  libstdcxx-ng               15.2.0                hdf11a46_18           conda-forge
  libsystemd0                259.3                 h6569c3e_0            conda-forge
  libtiff                    4.7.0                 hc4654cb_2            conda-forge
  libunistring               0.9.10                h7f98852_0            conda-forge
  libuuid                    2.41.3                h5347b49_0            conda-forge
  libvorbis                  1.3.7                 h54a6638_2            conda-forge
  libwebp-base               1.6.0                 hd42ef1d_0            conda-forge
  libxcb                     1.17.0                h8a09558_0            conda-forge
  libxcrypt                  4.4.36                hd590300_1            conda-forge
  libxkbcommon               1.11.0                he8b52b9_0            conda-forge
  libxml2                    2.13.9                h04c0eec_0            conda-forge
  libzlib                    1.3.1                 hb9d3cd8_2            conda-forge
  loguru                     0.7.3                 pyh707e725_0          conda-forge
  mash                       2.3                   hb105d93_10           bioconda
  metamdbg                   1.3.1                 hf426362_0            bioconda
  miniasm                    0.3                   h577a1d6_5            bioconda
  minimap2                   2.28                  h577a1d6_4            bioconda
  minipolish                 0.2.0                 pyhdfd78af_0          bioconda
  mmseqs2                    18.8cc5c              hd6d6fdc_0            bioconda
  mpfr                       4.2.1                 h90cbb55_3            conda-forge
  mpg123                     1.32.9                hc50e24c_0            conda-forge
  mpi                        1.0                   openmpi               conda-forge
  myloasm                    0.4.0                 ha6fb395_0            bioconda
  ncbi-vdb                   3.3.0                 h9948957_0            bioconda
  ncurses                    6.5                   h2d0b736_3            conda-forge
  necat                      0.0.1_update20200803  h5ca1c30_6            bioconda
  nextdenovo                 2.5.2                 py312h4e9d295_6       bioconda
  nextpolish                 1.4.1                 heebf65f_5            bioconda
  nspr                       4.38                  h29cc59b_0            conda-forge
  nss                        3.118                 h445c969_0            conda-forge
  numpy                      2.4.2                 py312h33ff503_1       conda-forge
  openjdk                    25.0.1                h5755bd7_0            conda-forge
  openldap                   2.6.10                he970967_0            conda-forge
  openmpi                    4.1.6                 hc5af2df_101          conda-forge
  openssl                    3.6.1                 h35e630c_1            conda-forge
  packaging                  26.0                  pyhcf101f3_0          conda-forge
  pandas                     3.0.1                 py312h8ecdadd_0       conda-forge
  pango                      1.56.4                hadf4263_0            conda-forge
  paralleltask               0.1.1                 pyhd8ed1ab_0          conda-forge
  pcre2                      10.47                 haa7fec5_0            conda-forge
  perl                       5.32.1                7_hd590300_perl5      conda-forge
  perl-archive-tar           3.04                  pl5321hdfd78af_0      bioconda
  perl-carp                  1.50                  pl5321hd8ed1ab_0      conda-forge
  perl-common-sense          3.75                  pl5321hd8ed1ab_0      conda-forge
  perl-compress-raw-bzip2    2.214                 pl5321hda65f42_0      conda-forge
  perl-compress-raw-zlib     2.214                 pl5321h4dac143_0      conda-forge
  perl-encode                3.21                  pl5321hb9d3cd8_1      conda-forge
  perl-env                   1.04                  pl5321hd8ed1ab_0      conda-forge
  perl-exporter              5.74                  pl5321hd8ed1ab_0      conda-forge
  perl-exporter-tiny         1.002002              pl5321hd8ed1ab_0      conda-forge
  perl-extutils-makemaker    7.70                  pl5321hd8ed1ab_0      conda-forge
  perl-filesys-df            0.92                  pl5321h7b50bb2_9      bioconda
  perl-io-compress           2.216                 pl5321h503566f_0      bioconda
  perl-io-zlib               1.15                  pl5321hdfd78af_1      bioconda
  perl-json                  4.10                  pl5321hdfd78af_1      bioconda
  perl-json-xs               4.04                  pl5321h9948957_0      bioconda
  perl-list-moreutils        0.430                 pl5321hdfd78af_0      bioconda
  perl-list-moreutils-xs     0.430                 pl5321h7b50bb2_5      bioconda
  perl-parent                0.243                 pl5321hd8ed1ab_0      conda-forge
  perl-pathtools             3.75                  pl5321hb9d3cd8_2      conda-forge
  perl-scalar-list-utils     1.70                  pl5321hb03c661_0      conda-forge
  perl-storable              3.15                  pl5321hb9d3cd8_2      conda-forge
  perl-types-serialiser      1.01                  pl5321hdfd78af_0      bioconda
  pip                        26.0.1                pyh8b19718_0          conda-forge
  pixman                     0.46.4                h54a6638_1            conda-forge
  plassembler                1.8.2                 pyhdfd78af_0          bioconda
  psutil                     7.2.2                 py312h5253ce2_0       conda-forge
  pthread-stubs              0.4                   hb9d3cd8_1002         conda-forge
  pulseaudio-client          17.0                  h9a6aba3_3            conda-forge
  pyrodigal                  3.7.0                 py312h247cb63_1       bioconda
  pysam                      0.23.3                py312h47d5410_1       bioconda
  pysocks                    1.7.1                 pyha55dd90_7          conda-forge
  python                     3.12.13               hd63d673_0_cpython    conda-forge
  python-dateutil            2.9.0.post0           pyhe01879c_2          conda-forge
  python-edlib               1.3.9.post1           py312h248b54c_3       bioconda
  python_abi                 3.12                  8_cp312               conda-forge
  pyyaml                     6.0.3                 py312h8a5da7c_1       conda-forge
  qt-main                    5.15.15               h3a7ef08_5            conda-forge
  racon                      1.5.0                 h077b44d_8            bioconda
  raven-assembler            1.8.3                 h5ca1c30_3            bioconda
  readline                   8.3                   h853b02a_0            conda-forge
  requests                   2.32.5                pyhcf101f3_1          conda-forge
  samtools                   1.23                  h96c455f_0            bioconda
  setuptools                 82.0.0                pyh332efcf_0          conda-forge
  six                        1.17.0                pyhe01879c_1          conda-forge
  spades                     4.2.0                 h8d6e82b_2            bioconda
  sysroot_linux-64           2.39                  hc4b9eeb_6            conda-forge
  time                       1.8                   hd590300_0            conda-forge
  tk                         8.6.13                noxft_h366c992_103    conda-forge
  tzdata                     2025c                 hc9c84f9_1            conda-forge
  unicycler                  0.5.1                 py312hdcc493e_5       bioconda
  urllib3                    2.6.3                 pyhd8ed1ab_0          conda-forge
  wget                       1.25.0                h653f8fd_1            conda-forge
  wheel                      0.46.3                pyhd8ed1ab_0          conda-forge
  wtdbg                      2.5                   h577a1d6_6            bioconda
  xcb-util                   0.4.1                 h4f16b4b_2            conda-forge
  xcb-util-image             0.4.0                 hb711507_2            conda-forge
  xcb-util-keysyms           0.4.1                 hb711507_0            conda-forge
  xcb-util-renderutil        0.3.10                hb711507_0            conda-forge
  xcb-util-wm                0.4.2                 hb711507_0            conda-forge
  xkeyboard-config           2.47                  hb03c661_0            conda-forge
  xorg-libice                1.1.2                 hb9d3cd8_0            conda-forge
  xorg-libsm                 1.2.6                 he73a12e_0            conda-forge
  xorg-libx11                1.8.13                he1eb515_0            conda-forge
  xorg-libxau                1.0.12                hb03c661_1            conda-forge
  xorg-libxdamage            1.1.6                 hb9d3cd8_0            conda-forge
  xorg-libxdmcp              1.1.5                 hb03c661_1            conda-forge
  xorg-libxext               1.3.7                 hb03c661_0            conda-forge
  xorg-libxfixes             6.0.2                 hb03c661_0            conda-forge
  xorg-libxi                 1.8.2                 hb9d3cd8_0            conda-forge
  xorg-libxrandr             1.5.5                 hb03c661_0            conda-forge
  xorg-libxrender            0.9.12                hb9d3cd8_0            conda-forge
  xorg-libxshmfence          1.3.3                 hb9d3cd8_0            conda-forge
  xorg-libxt                 1.3.1                 hb9d3cd8_0            conda-forge
  xorg-libxtst               1.2.5                 hb9d3cd8_3            conda-forge
  xorg-libxxf86vm            1.1.7                 hb03c661_0            conda-forge
  xz                         5.8.2                 ha02ee65_0            conda-forge
  xz-gpl-tools               5.8.2                 ha02ee65_0            conda-forge
  xz-tools                   5.8.2                 hb03c661_0            conda-forge
  yaml                       0.2.5                 h280c20c_3            conda-forge
  zlib                       1.3.1                 hb9d3cd8_2            conda-forge
  zstd                       1.5.7                 hb78ec9c_6            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 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

Official Steps

  • Step 1: Autocycler subsample

    • "Creates multiple read subsets from a single long-read dataset, minimising overlap to ensure each subset is as independent as possible."
  • Step 2: Generating input assemblies

    • "Each of the read subsets made by Autocycler subsample can now be assembled, producing multiple alternative assemblies of the same genome."
  • Step 3: Autocycler compress

    • "The autocycler compress command uses your input assemblies to build a compacted De Bruijn graph (a.k.a. a unitig graph)."
  • Step 4: Autocycler cluster

    • "The autocycler cluster command groups input contigs into clusters. A cluster is a group of contigs which represent the same genomic sequence. It also decides which of these clusters should be included in the final assembly (QC-pass) and which should not (QC-fail)."
  • Step 5: Autocycler trim

    • "Long-read contigs sometimes contain excess sequence which needs to be trimmed off."
    • "This step is performed on a per-cluster basis. For each contig, Autocycler looks for two types of excess sequence: start-end circular overlap and hairpin overlap. Contigs are trimmed as necessary. After trimming, Autocycler discards any contigs with outlier lengths, so the remaining contigs in the cluster will all be in close agreement with each other."
  • Step 6: Autocycler resolve
    "Aims to resolve repeats and ambiguities in the cluster by following these steps:

    • Identifying anchors: unitigs which occur exactly once in each of the cluster's contigs.
    • Creating bridges: connections between anchors that follow the most supported path.
    • Applying bridges: first unique bridges (those with no conflicts) and then the most supported conflicting bridges.
    • Merging linear sequences into 'consentigs'."
  • Step 7: Autocycler combine

    • "This is the final step in an Autocycler assembly, where the resolved sequences for each cluster are combined into a single assembly."

Quick Start step with helper script.

autocycler_full.sh reads.fastq.gz 16 4

Fully automated assembly

reads=ont.fastq.gz  # your read set goes here
threads=16  # set as appropriate for your system (no more than 128)
genome_size=$(autocycler helper genome_size --reads "$reads" --threads "$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 metamdbg miniasm necat nextdenovo plassembler raven; do
    for i in 01 02 03 04; do
        autocycler helper "$assembler" --reads subsampled_reads/sample_"$i".fastq --out_prefix assemblies/"$assembler"_"$i" --threads "$threads" --genome_size "$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

Information about manually curating your own assembly

According to the author, Ryan Wick, certain steps in the aforementioned fully automated assembly can be manually curated.

  • After Steps 1 & 2, you can curate input assemblies.
  • After Steps 3 & 4, you can curate your clusters.
  • After Steps 5 & 6, you can examine dot plots and the autocycler bridging.
    • See the Autocycler dotplot page for more information.
    • "In particular, it can be helpful to examine each cluster's 4_merged.gfa file to see if there is structural heterogeneity or conflicts between assemblies."
  • A manual step of removing any extraneous sequences can be done after Step 7.
    • See Bandage, a tool by Ryan Wick.
    • Autocycler clean can be used to "remove unwanted tigs to allow for a fully resolved assembly."