Releases: ablab/spades
Continuous build
SPAdes 4.0.0
Dear SPAdes community,
Since its birth in 2012 SPAdes has always been a free and open-source software, mainly supported by various academic and non-profit organization grants. However, since 2022 SPAdes is not developed within a certain academic institution anymore. SPAdes is currently maintained and supported by an international group of volunteering contributors, namely, a SPAdes team.
Our old website is not active anymore. We also do not have a dedicated support email. From now on we are relying only on our GitHub repo. Please, download releases and report issues there. SPAdes has revamped documentation available at ablab.github.io/spades/.
SPAdes 4.0 will most likely be the last major release introducing new features and significant changes. No further development is currently planned. Nonetheless, we strongly intend to continue making bug-fix releases and supporting our users. And as always — patches are welcome!
With love and happy assembling
SPAdes team
Full changelog for SPAdes 4.0.0:
- SPAdes now supports NCBI SRA files as input;
- Reworked and improved documentation: ablab.github.io;
- PathRacer - a tool for mapping HMMs to assembly grpah - is now released as a part of SPAdes package;
- BinSPreader (metagenomic binning refiner) is also released inside SPAdes package;
- New gfa-split tool for splitting assembly graph into components;
- New wasterwaterSPAdes mode for quantitative assessment of
SARS-CoV-2 strains in waste water samples; - Python3.8 is now a minimal required version, python2 is deprecated;
- Native support for running on Apple Silicon processors;
- Native support for running on aarch64/linux;
- Binaries are now built using ManyLinux 2.28.
SPAdes binaries should be compatible with systems using glibc 2.28 and newer including
ALT Linux 10+, RHEL 9+, Debian 11+, Fedora 34+, Mageia 8+, Photon OS 3.0 with updates, Ubuntu 21.04+.
In case of any problems we recommend building from sources. - Allow external projects integration with SPAdes.
Projects could be integrated directly with SPAdes codebase or use SPAdes libraries.
Contact us for technical details. - SPAdes outputs assembly graph in GFA v1.2 format by default, older v1.1 format is also available;
- SPAdes tags circular paths in assembly graph with
TP:Z:circular
flag; - SPAdes internally supports 0 bp overlap graph and graphs with variable overlaps in vertices
(e.g. multiplex de Bruijn graphs). Some SPAdes standalone tools allow use of such graphs as input. - SPAdes now uses
zlib-ng
for faster gzip decompression of input files; - Fixed compilation with gcc 13;
- Use SPOA for long reads consensus;
- Parallel & improved GapCloser algorithm;
- Faster graph simplification;
- Removed deprecated truSPAdes functionality;
- Lots of other fixes and improvements.
cloudSPAdes: early access version
Description
cloudSPAdes is a module of the SPAdes assembler aimed at genome assembly from the data generated using Synthetic Long Read (SLR) technologies, such as 10X Genomics Chromium or UST TELL-Seq.
Availability
cloudSPAdes will be available soon as a part of SPAdes package. For now one can download, build, and try pre-release version of SPAdes package included in this repository.
rnacloudSPAdes: paper version
cloudrnaSPAdes is a SPAdes-based tool for assembling full-length isoforms from barcoded RNA-seq linked-read data in a reference-free fashion. cloudrnaSPAdes accurately assembles isoforms, even for genes with high isoform diversity.
This is a version of cloudrnaSPAdes used during paper preparation.
SpLitteR: early access version
Description
SpLitteR is a tool that uses linked reads to improve the contiguity of HiFi assemblies. Given a linked-read library and a HiFi assembly graph in the GFA format, SpLitteR resolves repeats in the assembly graph using linked-reads and generates a simplified (more contiguous) assembly graph with corresponding scaffolds.
This is an early preview version of SpLitteR to supplement the publication.
Availability
SpLitteR is implemented on top of SPAdes and will be available as a part of SPAdes package. For now one can download, build, and try pre-release version of SpLitteR included in this package.
Contact
In case of any questions, suggestions, bug reports, please write to spades.support@cab.spbu.ru or directly to Ivan Tolstoganov.
Support
If you have a problem running SpLitteR you can look for a similar issue on our GitHub repository, create a new one or write us via e-mail: [spades.support@cab.spbu.ru].
SPAdes 3.15.5
NEW: Support DNA HMMs.
FIX: use-after-free in PB aligner.
FIX: duplicated sequences in metaplasmid / metaviral mode.
BinSPreader: early access version
Description
BinSPreader is a novel tool that attempts to refine metagenome-assembled genomes (MAGs) obtained from existing tools. BinSPreader exploits the assembly graph topology and other connectivity information, such as paired-end and Hi-C reads, to refine the existing binning, correct binning errors, propagate binning from longer contigs to shorter contigs and infer contigs belonging to multiple bins.
Availability
BinSPreader is implemented on top of SPAdes and will be available soon as a part of SPAdes package.
For more instructions on BinSPreader usage please go to README.md in the downloaded zip archive and consult the main SPAdes page for system requirements and build instructions.
Alternatively, one can install BinSPreader via bioconda.
Input
The tool requires initial binning to refine, as well as assembly graph as a source of information for refining. Optionally, BinSPreader can be provided with multiple Hi-C and/or paired-end libraries.
Required positional arguments:
- Assembly graph file in GFA 1.0 format, with scaffolds included as path lines. Alternatively, scaffold paths can be provided separately using
--path
option in the.paths
format accepted by Bandage (see Bandage wiki) for details). - Binning output from an existing tool (in
.tsv
format). Every line should contain<contig_id>\t<bin_id>
, where<contig_id>
corresponds to one of the scaffolds from the input assembly graph. The example is given below.
Synopsis: bin-refine <graph (in GFA)> <binning (in .tsv)> <output directory> [OPTION...]
Let GFA file with the input assembly graph consist of the following lines:
S edge_1 <sequence_1>
S edge_2 <sequence_2>
S edge_3 <sequence_3>
S edge_4 <sequence_4>
S edge_5 <sequence_5>
L edge_1 + edge_5 + 55M
L edge_3 + edge_5 + 55M
L edge_5 + edge_2 + 55M
L edge_5 + edge_4 + 55M
P contig_1 edge_1+,edge_5+,edge_2+ *
P contig_2 edge_3+ *
P contig_3 edge_4+ *
Then this would be an acceptable initial binning file:
> contig_1 bin_1
> contig_2 bin_2
> contig_3 bin_2
Paired-end\Hi-C libraries
BinSPreader currently supports multiple paired-end or Hi-C libraries described in a YAML file. YAML file can be provided using –dataset
option. For example, if you have one paired-end library split into two sets of files
lib_pe1_left_1.fastq
lib_pe1_right_1.fastq
lib_pe1_left_2.fastq
lib_pe1_right_2.fastq
and one Hi-C library
lib_hic1_left.fastq
lib_hic1_right.fastq
YAML file should look like this:
[
{
orientation: "fr",
type: "paired-end",
right reads: [
"/FULL_PATH_TO_DATASET/lib_pe1_right_1.fastq",
"/FULL_PATH_TO_DATASET/lib_pe1_right_2.fastq"
],
left reads: [
"/FULL_PATH_TO_DATASET/lib_pe1_left_1.fastq",
"/FULL_PATH_TO_DATASET/lib_pe1_left_2.fastq"
]
},
{
orientation: "fr",
type: "paired-end",
right reads: [
"/FULL_PATH_TO_DATASET/lib_hic1_right.fastq"
],
left reads: [
"/FULL_PATH_TO_DATASET/lib_hic1_left.fastq"
]
}
]
BinSPreader output
BinSPreader stores all output files in output directory <output_dir>
, which is set by the user.
<output_dir>/binning.tsv
contains refined binning in.tsv
format<output_dir>/bin_stats.tsv
contains various per-bin statistics<output_dir>/bin_weights.tsv
contains soft bin weights per contig<output_dir>/edge_weights.tsv
contains soft bin weights per edge
In addition
<output_dir>/bin_dist.tsv
contains refined bin distance matrix (if--bin-dist
was used)<output_dir>/bin_label_1.fastq, <output_dir>/bin_label_2.fastq
read set for bin labeled bybin_label
(if--reads
was used)<output_dir>/pe_links.tsv
list of paired-end links between assembly graph edges with weights (if--debug
was used)<output_dir>/graph_links.tsv
list of graph links between assembly graph edges with weights (if--debug
was used)
BinSPreader modes
Correction/Propagation modes
BinSPreader can either propagate input binning to unbinned edges of the assembly graph, leaving the initially binned edges unchanged (propagation mode), or correct initial binning (aggressiveness of the correction depends on the -la
option). Propagation and correction modes are toggled by mutual exclusive options -Rprop
and -Rcorr
, respectively.
Multiple binning mode
To output BinSPreader results in multiple assignment mode, where several bin labels may be assigned to a single contig, please use -m
option.
Sparse mode
BinSPreader uses a special working mode of the binning refining algorithm for sparse binnings, where the
total length of initially binned contigs is significantly lower than the total assembly length. In this mode, binning propagation from initially binned edges is limited by constant graph distance threshold. Please use --sparse-propagation
option to toggle sparse mode.
Contact
In case of any questions, suggestions, bug reports, please write to spades.support@cab.spbu.ru or directly to Anton Korobeynikov.
Support
If you have a problem running BinSPreader you can look for a similar issue on our GitHub repository, create a new one or write us via e-mail: spades.support@cab.spbu.ru.
SPAdes 3.15.4
FIX: MacOS Monterey memory limit failure.
FIX: upgrade pyyaml to run correctly with Python 3.10.
FIX: WSL for py2 check.
FIX: A few stability fixes.
SPAdes 3.15.3
FIX: trusted contigs failure.
FIX: clarification & refining the output of bgcSPAdes and coronaSPAdes.
FIX: usage of >9 libraries in a single SPAdes run.
FIX: improvements in spades-read-filter tool.
SPAdes 3.15.2
FIX: meta-viral pipeline bugs.
FIX: coronaspades.py wrapper, copy proper files to the output folder.
FIX: coronaSPAdes instability