Skip to content
Commits on Source (6)
SPADES: SAINT-PETERSBURG GENOME ASSEMBLER
Copyright (c) 2015-2017 Saint Petersburg State University
Copyright (c) 2015-2018 Saint Petersburg State University
Copyright (c) 2011-2014 Saint Petersburg Academic University
SPAdes is free software; you can redistribute it and/or modify
......
......@@ -3,6 +3,36 @@
<h2>SPAdes Genome Assembler changelog</h2>
<h3>SPAdes 3.12.0, 14 May 2018</h3>
<p>NEW: Support for merged paired-end reads.</p>
<p>NEW: Experimental pipeline for metagenome hybrid assemblies.</p>
<p>NEW: Standalone graph builder application.</p>
<p>NEW: Standalone k-mer counting application.</p>
<p>NEW: Standalone long read to graph aligner.</p>
<p>CHANGE: Significant improvements in hybrid assembly pipeline.</p>
<p>CHANGE: Faster read alignment using BWA.</p>
<p>CHANGE: Improvements in metaSPAdes results.</p>
<p>CHANGE: More sensitive results for rnaSPAdes.</p>
<p>CHANGE: All binaries for SPAdes pipeline steps now have <code>spades-</code> prefix in its name.</p>
<p>CHANGE: Better running time and RAM consumption for graph construction stage.</p>
<p>CHANGE: Overall performance improvements.</p>
<p>FIX: K value estimation for rnaSPAdes.</p>
<p>DEPRECATED: dipSPAdes pipeline for highly polymorphic diploid genomes (still present in the release but no longer supported).</p>
<h3>SPAdes 3.11.1, 1 October 2017</h3>
<p>FIX: Handling spaces in path during mismatch correction.</p>
......
......@@ -3,6 +3,7 @@ simp
; bulge remover:
br
{
enabled true
max_relative_coverage 1.1 ; bulge_cov < this * not_bulge_cov
}
......
......@@ -3,6 +3,7 @@ simp
; bulge remover:
br
{
enabled true
max_relative_coverage 0.5 ; bulge_cov < this * not_bulge_cov
; parallel false
}
......
......@@ -78,10 +78,6 @@ paired_info_statistics false
; set it true to get statistics for pair information (over gaps), such as false positive/negative, perfect match, etc.
paired_info_scaffolder false
;FIXME is it always simple?
estimation_mode simple
; simple, weighted, extensive, smoothing
;the only option left from repeat resolving
max_repeat_length 8000
......@@ -123,8 +119,10 @@ gap_closer_enable true
gap_closer
{
minimal_intersection 10
before_simplify true
in_simplify false
;before_raw_simplify and before_simplify are mutually exclusive
before_raw_simplify true
before_simplify false
after_simplify true
weight_threshold 2.0
}
......@@ -145,14 +143,11 @@ lcer
pacbio_processor
{
bwa_length_cutoff 200
;align and traverse.
pacbio_k 13
additional_debug_info false
compression_cutoff 0.6
domination_cutoff 1.5
path_limit_stretching 1.3
path_limit_pressing 0.7
ignore_middle_alignment true
max_path_in_dijkstra 15000
max_vertex_in_dijkstra 2000
;gap_closer
......@@ -172,10 +167,7 @@ graph_read_corr
bwa_aligner
{
;stupid naming since spades.py cannot change config normally
bwa_enable false
debug false
path_to_bwa ./bin/bwa-spades
min_contig_len 0
}
......
......@@ -10,7 +10,10 @@ construction
; size of buffer for each thread in MB, 0 for autodetection
read_buffer_size 0
; read median coverage threshold
read_cov_threshold 0
early_tip_clipper
{
; tip clipper can be enabled only in extension mode
......
......@@ -2,8 +2,6 @@ mode diploid
simp
{
post_simplif_enabled false
; bulge remover:
br
{
......
......@@ -40,7 +40,3 @@ amb_de {
relative_length_threshold 0.8
relative_seq_threshold 0.5
}
sensitive_mapper {
k 19
}
;FIXME do we still need this mode?
mode large_genome
pe {
debug_output false
......@@ -9,14 +9,3 @@ params {
scaffolding_mode old_pe_2015
}
}
bwa_aligner
{
bwa_enable true
debug false
path_to_bwa ./bin/bwa-spades
min_contig_len 0
}
......@@ -37,9 +37,10 @@ default=INFO
#PathExtender=DEBUG
#BidirectionalPath=DEBUG
#NextPathSearcher=DEBUG
#ExtensionChooser=DEBUG
#WeightCounter=DEBUG
#ExcludingExtensionChooser=DEBUG
#SimpleExtensionChooser=DEBUG
#WeightCounter=TRACE
#PathExtendIO=DEBUG
#PathExtendPI=DEBUG
#LoopTraverser=DEBUG
......@@ -52,6 +53,7 @@ default=INFO
#ScaffoldingPathExtender=DEBUG
#CoordCoverageExtensionChooser=DEBUG
#SimpleCoverageExtensionChooser=DEBUG
#IdealInfoProvider=TRACE
#BWAPairInfo=TRACE
#LongReadMapper=TRACE
......
......@@ -47,29 +47,6 @@ simp
max_coverage_coeff 5.0
}
tec
{
max_ec_length_coefficient 55 ; max_ec_length = k + max_ec_length_coefficient
uniqueness_length 1500
plausibility_length 200
}
; topology and reliability based erroneous connection remover
trec
{
max_ec_length_coefficient 100 ; max_ec_length = k + max_ec_length_coefficient
uniqueness_length 1500
unreliable_coverage 2.5
}
; topology tip clipper:
ttc
{
length_coeff 3.5
plausibility_length 250
uniqueness_length 1500
}
; complex bulge remover
cbr
{
......@@ -82,7 +59,7 @@ simp
enabled true
uniqueness_length 1500
unreliability_threshold 0.2
relative_threshold 5
relative_threshold 5
}
init_clean
......@@ -114,8 +91,7 @@ params {
; extension selection
extension_options
{
use_default_single_threshold false
single_threshold 0.001
single_threshold 0.3
weight_threshold 0.6
max_repeat_length 8000
}
......
......@@ -5,9 +5,6 @@ two_step_rr true
; enables/disables usage of intermediate contigs in two-step pipeline
use_intermediate_contigs true
;if true simple mismatches are corrected
correct_mismatches false
;flanking coverage range
flanking_range 30
......@@ -32,7 +29,7 @@ simp
{
; rctc: tip_cov < rctc * not_tip_cov
; tc_lb: max_tip_length = max((min(k, read_length / 2) * tc_lb), read_length);
condition "{ tc_lb 3.5, cb 1000000, rctc 2.0 } { tc_lb 6., cb 2.5, rctc 1.0 }"
condition "{ rl 0.2 } { rlmk 2., rctc 2.0 }"
}
; relative coverage erroneous component remover:
......@@ -54,29 +51,29 @@ simp
}
; relative edge disconnector:
relative_ed
red
{
enabled true
diff_mult 5.
unconditional_diff_mult 50.
}
; bulge remover:
br
{
max_coverage 1000000.0
max_relative_coverage 5. ; bulge_cov < this * not_bulge_cov
max_delta 10
max_relative_delta 0.1
; bulge remover:
br
{
enabled true
max_coverage 1000000.0
max_relative_coverage 5. ; bulge_cov < this * not_bulge_cov
max_delta 10
max_relative_delta 0.1
dijkstra_vertex_limit 3000
parallel true
}
}
; final tip clipper:
final_tc
{
; rctc: tip_cov < rctc * not_tip_cov
; tc_lb: max_tip_length = max((min(k, read_length / 2) * tc_lb), read_length);
condition "{ lb 500, cb 3., rctc 0.7 } { lb 1500, cb 20., rctc 0.2 }"
condition "{ lb 500, rctc 0.4 } { lb 850, rctc 0.2 }"
}
; final bulge remover:
......@@ -84,17 +81,24 @@ simp
{
enabled true
main_iteration_only true
max_bulge_length_coefficient 50. ; max_bulge_length = max_bulge_length_coefficient * k
max_bulge_length_coefficient 30. ; max_bulge_length = max_bulge_length_coefficient * k
max_coverage 1000000.0
max_relative_coverage 0.5 ; bulge_cov < this * not_bulge_cov
max_delta 50
max_delta 45
max_relative_delta 0.1
}
; complex bulge remover
cbr
{
enabled true
}
; hidden ec remover
her
{
enabled true
; TODO NB config used in special meta mode version (always enabled)
enabled false
uniqueness_length 1500
unreliability_threshold -1.
relative_threshold 3.
......@@ -102,43 +106,49 @@ simp
init_clean
{
early_it_only true
ier {
enabled true
}
tip_condition "{ tc_lb 3.5, cb 2.0 }"
ec_condition "{ ec_lb 10, cb 0.5 }"
activation_cov -1.
early_it_only false
ier
{
enabled true
}
;Disable if it does not help the br performance much!
tip_condition "{ tc_lb 3.5, cb 2.1 }"
;ec_condition is here only to speed-up future br on early iterations
ec_condition "{ ec_lb 10, cb 1.5 }"
disconnect_flank_cov -1.
}
}
;FIXME rename
;TODO rename
preliminary_simp
{
init_clean
{
self_conj_condition "{ ec_lb 100, cb 20.0 }"
early_it_only false
ier
{
enabled true
}
tip_condition "{ rlmk, cb 1.2, mmm 2 }"
tip_condition "loop 2 { rlmk 1., cb 1.2, mmm 2 } { rlmk 1., cb 1.2, mmm 0.05 } { rl 0.2, cb 1.2 }"
ec_condition "{ ec_lb 0, cb 0.9 }"
disconnect_flank_cov 0.8
}
post_simplif_enabled false
; bulge remover:
br
{
enabled true
max_coverage 1000000.0
max_relative_coverage 0.5 ; bulge_cov < this * not_bulge_cov
max_delta 10
max_relative_delta 0.1
}
; bulge remover:
br
{
max_coverage 1000000.0
max_relative_coverage 0.5 ; bulge_cov < this * not_bulge_cov
max_delta 10
max_relative_delta 0.1
}
; Currently will not work even if enabled. Left for experiments.
; relative edge disconnector
red
{
enabled false
diff_mult 10.
unconditional_diff_mult 100.
}
}
; undo single cell config changes, enforce filtering
......@@ -174,7 +184,6 @@ params {
; extension selection
extension_options
{
use_default_single_threshold true
single_threshold 0.3
weight_threshold 0.6
priority_coeff 1.5
......
......@@ -16,6 +16,7 @@ simp
; bulge remover:
br
{
enabled true
max_coverage 3
max_relative_coverage 100000. ; bulge_cov < this * not_bulge_cov
}
......@@ -41,29 +42,6 @@ simp
max_coverage_coeff 5.0
}
tec
{
max_ec_length_coefficient 55 ; max_ec_length = k + max_ec_length_coefficient
uniqueness_length 1500
plausibility_length 200
}
; topology and reliability based erroneous connection remover
trec
{
max_ec_length_coefficient 100 ; max_ec_length = k + max_ec_length_coefficient
uniqueness_length 1500
unreliable_coverage 2.5
}
; topology tip clipper:
ttc
{
length_coeff 3.5
plausibility_length 250
uniqueness_length 1500
}
; complex bulge remover
cbr
{
......@@ -85,8 +63,6 @@ simp
init_clean
{
early_it_only true
activation_cov -1.
ier
{
......@@ -112,8 +88,7 @@ params {
; extension selection
extension_options
{
use_default_single_threshold false
single_threshold 0.001
single_threshold 0.3
weight_threshold 0.6
}
......
......@@ -25,13 +25,11 @@ params {
cut_all false
}
split_edge_length 99
normalize_weight true
; extension selection
extension_options
{
use_default_single_threshold true
single_threshold 0.1
weight_threshold 0.5
priority_coeff 1.5
......@@ -41,7 +39,6 @@ params {
mate_pair_options
{
use_default_single_threshold true
single_threshold 30
weight_threshold 0.5
priority_coeff 1.5
......
......@@ -8,7 +8,6 @@ strand_specificity {
antisense false
}
contig_output {
scaffolds_name transcripts
; none --- do not output broken scaffolds | break_gaps --- break only by N steches | break_all --- break all with overlap < k
......@@ -17,24 +16,26 @@ contig_output {
simp
{
; enable advanced ec removal algo
;all topology based erroneous connection removers are off
topology_simplif_enabled false
tc
{
; rctc: tip_cov < rctc * not_tip_cov
; tc_lb: max_tip_length = max((min(k, read_length / 2) * tc_lb), read_length);
condition "{ mmm 3 tc_lb 3.5, cb 100000, rctc 0.1 } { tc_lb 3.5, cb 4, rctc 10000 } { tc_lb 0.1, cb 20, rctc 10000 }"
condition "{ mmm 3 tc_lb 4, cb 100000, rctc 0.5 } { tc_lb 2, cb 1, rctc 10000 }"
}
dead_end
{
condition "{ tc_lb 3.5, cb 2 }"
enabled true
condition "{ tc_lb 3.5, cb 2 }"
}
; bulge remover:
br
{
enabled true
max_additive_length_coefficient 100
max_coverage 1000000.0
max_relative_coverage 100000.0 ; bulge_cov < this * not_bulge_cov
......@@ -54,47 +55,28 @@ simp
; relative coverage erroneous connections remover:
rcec
{
enabled true
rcec_lb 30
rcec_cb 0.5
enabled true
}
rcc
{
enabled true
coverage_gap 20.
max_length_coeff 2.0
max_length_with_tips_coeff 3.0
max_vertex_cnt 30
max_ec_length_coefficient 30
max_coverage_coeff 5.0
}
;all topology based erroneous connection removers are off
ier
{
enabled false
}
; hidden ec remover
her
{
enabled true
; TODO NB config also used in special rna mode version (always enabled)
enabled false
uniqueness_length 1500
unreliability_threshold 0.2
relative_threshold 5
}
init_clean
ier
{
activation_cov -1.
ier
{
enabled false
}
tip_condition ""
ec_condition ""
enabled false
}
}
......@@ -121,15 +103,14 @@ params {
extension_options
{
use_default_single_threshold true
single_threshold 0.05
}
scaffolder {
cutoff 1
hard_cutoff 10
hard_cutoff 5
cluster_info false
min_overlap_for_rna_scaffolding 10
min_overlap_for_rna_scaffolding 8
}
path_cleaning_presets "default soft hard"
......
......@@ -2,15 +2,39 @@
simp
{
; ==== RAW SIMPLIFICATION ====
init_clean
{
self_conj_condition "{ ec_lb 100, cb 1.0 }"
early_it_only false
; will be enabled only if average coverage >= activate_cov
; if value < 0 check not performed
activation_cov 10.
; isolated edges remover
ier
{
enabled true
use_rl_for_max_length false ; max_length will be taken max with read_length
use_rl_for_max_length_any_cov true ; use_rl_for_max_length_any_cov will be taken max with read_length
max_length 0 ; will be taken max with read_length if option above is set
max_coverage 0
max_length_any_cov 0 ; will be taken max with read_length if option above is set
}
tip_condition "{ tc_lb 3.5, cb auto }"
ec_condition "{ ec_lb 10, cb 2.0 }"
; edges with flank cov around alternative less than value will be disconnected
; negative value to disable
disconnect_flank_cov -1.0
}
; ==== SIMPLIFICATION CYCLE ====
; number of iterations in basic simplification cycle
cycle_iter_count 10
; enable advanced simplification algo
post_simplif_enabled true
; enable advanced ec removal algo
topology_simplif_enabled false
; tip clipper:
tc
{
......@@ -49,13 +73,20 @@ simp
; condition "{ ec_lb 9, icb 40.0 }"
}
dead_end {
enabled false
condition ""
}
; ==== POST-SIMPLIFICATION ====
; relative coverage erroneous connections remover:
rcec
{
enabled false
rcec_lb 30
rcec_cb 0.5
}
{
enabled false
rcec_lb 30
rcec_cb 0.5
}
; relative coverage erroneous component remover:
rcc
......@@ -70,11 +101,12 @@ simp
}
; relative edge disconnector:
relative_ed
red
{
enabled false
diff_mult 20.
edge_sum 10000
unconditional_diff_mult 0. ; 0. to disable
}
; final tip clipper:
......@@ -101,12 +133,53 @@ simp
buff_cov_diff 2.
buff_cov_rel_diff 0.2
}
; complex tip clipper
complex_tc
{
enabled false
max_relative_coverage -1
max_edge_len 100
condition "{ tc_lb 3.5 }"
}
; complex bulge remover
cbr
{
enabled false
max_relative_length 5.
max_length_difference 5
}
; isolated edges remover
ier
{
enabled true
use_rl_for_max_length false ; max_length will be taken max with read_length
use_rl_for_max_length_any_cov true ; use_rl_for_max_length_any_cov will be taken max with read_length
max_length 0 ; will be taken max with read_length if option above is set
max_coverage 2
max_length_any_cov 150 ; will be taken max with read_length if option above is set
}
; hidden ec remover
her
{
enabled false
uniqueness_length 1500
unreliability_threshold 4
relative_threshold 5
}
; ==== ADVANCED EC REMOVAL ALGO ====
; enable advanced ec removal algo
topology_simplif_enabled false
; topology based erroneous connection remover
tec
{
max_ec_length_coefficient 55 ; max_ec_length = k + max_ec_length_coefficient
uniqueness_length 5000
uniqueness_length 1500
plausibility_length 200
}
......@@ -134,24 +207,7 @@ simp
uniqueness_length 1500
plausibility_length 200
}
piec
{
max_ec_length_coefficient 30 ; max_ec_length = k + max_ec_length_coefficient
min_neighbour_length 100
}
; isolated edges remover
ier
{
enabled true
use_rl_for_max_length false ; max_length will be taken max with read_length
use_rl_for_max_length_any_cov true ; use_rl_for_max_length_any_cov will be taken max with read_length
max_length 0 ; will be taken max with read_length if option above is set
max_coverage 2
max_length_any_cov 150 ; will be taken max with read_length if option above is set
}
; topology tip clipper:
ttc
{
......@@ -160,60 +216,4 @@ simp
uniqueness_length 1500
}
; complex tip clipper
complex_tc
{
enabled false
max_relative_coverage -1
max_edge_len 100
condition "{ tc_lb 3.5 }"
}
; complex bulge remover
cbr
{
enabled false
max_relative_length 5.
max_length_difference 5
}
; hidden ec remover
her
{
enabled false
uniqueness_length 1500
unreliability_threshold 4
relative_threshold 5
}
init_clean
{
self_conj_condition "{ ec_lb 100, cb 1.0 }"
early_it_only false
; will be enabled only if average coverage \leq activate_cov
activation_cov 10.
; isolated edges remover
ier
{
enabled true
use_rl_for_max_length false ; max_length will be taken max with read_length
use_rl_for_max_length_any_cov true ; use_rl_for_max_length_any_cov will be taken max with read_length
max_length 0 ; will be taken max with read_length if option above is set
max_coverage 0
max_length_any_cov 0 ; will be taken max with read_length if option above is set
}
tip_condition "{ tc_lb 3.5, cb auto }"
ec_condition "{ ec_lb 10, cb 2.0 }"
; edges with flank cov around alternative less than value will be disconnected
; negative value to disable
disconnect_flank_cov -1.0
}
dead_end {
enabled false
condition ""
}
}
spades (3.12.0+dfsg-1) UNRELEASED; urgency=medium
* New upstream version
* Fix watch file
* Standards-Version: 4.1.5
-- Andreas Tille <tille@debian.org> Wed, 18 Jul 2018 07:49:49 +0200
spades (3.11.1+dfsg-2) unstable; urgency=medium
* Build-Depends: libnlopt-cxx-dev
......
......@@ -26,7 +26,7 @@ Build-Depends: debhelper (>= 11~),
bwa,
libbwa-dev,
lynx
Standards-Version: 4.1.4
Standards-Version: 4.1.5
Vcs-Browser: https://salsa.debian.org/med-team/spades
Vcs-Git: https://salsa.debian.org/med-team/spades.git
Homepage: http://cab.spbu.ru/software/spades/
......
......@@ -9,7 +9,7 @@ Description: We are using Debian packaged python-joblib
--- a/src/spades_pipeline/hammer_logic.py
+++ b/src/spades_pipeline/hammer_logic.py
@@ -42,10 +42,13 @@
@@ -46,10 +46,13 @@ def compress_dataset_files(dataset_data,
support.sys_call([pigz_path, '-f', '-7', '-p', str(max_threads), reads_file], log)
else:
addsitedir(ext_python_modules_home)
......@@ -29,7 +29,7 @@ Description: We are using Debian packaged python-joblib
for output in outputs:
--- a/src/spades_pipeline/lucigen_nxmate.py
+++ b/src/spades_pipeline/lucigen_nxmate.py
@@ -43,12 +43,14 @@
@@ -43,12 +43,14 @@ except ImportError:
support.error("Can't process Lucigen NxMate reads! Python module regex is not installed!")
addsitedir(spades_init.ext_python_modules_home)
......