Releases: vgteam/vg
vg 1.17.0 - Candida
Don't forget to mark the static binary executable:
chmod +x vg
Docker Image: quay.io/vgteam/vg:v1.17.0
Buildable Source Tarball: vg-v1.17.0.tar.gz
Includes source for vg and all submodules. Use this instead of Github's "Source Code" downloads; those will not build as they do not include code for bundled dependencies that the vg
build process needs.
This release includes:
-
VG annotate edited to search further for path hits.
-
Single-ended Dijkstra algorithm factored out into its own HandleGraph algorithm.
-
HandleGraphs can be loaded from files with dynamic implementation selection
-
Fixed bugs in minimum distance clustering
-
Fixed bugs in AlignmentEmitter
-
vg gaffe
improved speed and memory -
GBWT manipulation tools in
vg gbwt
-
vg mod -i
deprecated, replaced byvg augment -i
-
vg edit
mostly refactored into augment.cpp, except for the interface with lists of paths. -
'vg find -E' extracts nodes with an id range defined by a path interval.
-
vg convert
allows graph type conversion between graph implementations. -
vg gbwt
now considers unphased homozygous variants as phased to prevent phase breaks. This can be disabled with option-z
. -
Improved vg compilation on MacOS with gcc 9
-
pack -q
allows weighting support by mapping quality. -
Bug fixed in split strand overlay
-
Bug fixes with compilation errors using G++ 9.1.0.
-
Bug fix in tcmalloc.
-
Speed up
vg filter
-
vg call
now supports pack graph format. -
xg moved into vg namespace.
-
vg call
can now call sites in parallel. -
Names added to transcripts written to the gbwt index. Transcript naming has been simplified.
-
gam output option from gbwt is removed. Gam files can be generated from gbwt transcript index using
vg paths
. -
Small speed-up for merging packer objects in
vg pack
. -
Options added for adding either reference paths or non-reference paths as embedded paths in a graph.
-
vg deconstruct
now works with more input graphs. -
PackedGraph and HashGraph now moved to sglib.
-
vg paths -F
now writes embedded paths in FASTA format. -
Factored out path-to-component index from XG
-
Bug fix in rewrite_segment.
vg 1.16.0 - Rotondi
Don't forget to mark the static binary executable:
chmod +x vg
Docker Image: quay.io/vgteam/vg:v1.16.0
Buildable Source Tarball: vg-v1.16.0.tar.gz
Includes source for vg and all submodules. Use this instead of Github's "Source Code" downloads; those will not build as they do not include code for bundled dependencies that the vg
build process needs.
This release includes:
- Improvements to the snarl-based clusterer
- Support for thread names stored in the GBWT, and removal of xg thread name storage
- Removal of gPBWT construction from
vg index
- GBWT maniputaltion tools in
vg gbwt
- VCF-based snarl traversal finding, for re-calling VCF variants
- Recall option for
vg call
GaplessExtension
support in theGaplessExtender
and invg gaffe
- Restored support for loading empty files, most obvious when working with snarls files
- "Funnel" statistics in
vg gaffe
- Additional
vg gaffe
heuristics - A graph equivalence check algorithm
- A random handle graph construction algorithm
- Bugfixes for
PackedGraph
- Serialization support in
PackedGraph
andHashGraph
- Improved GBWT thread name syntax
- Disjoint splice graph support and other improvements in
vg rna
- An updated internal handle graph interface with circular path support, path editing, serialization, and subsequence access
- Refactoring of IO functionality to go through the new
libvgio
. - Removal of vg.proto, now provided by
libvgio
. - Ability to trim softclips/tips when embedding paths into the graph
- Distance index improvements
- properly defined numerical class constants to fix unoptimized builds
- Giraffe Facts script for evaluating
vg gaffe
performance - Snarl depth in
SnarlManager
- Multiple GAM support in
vg chunk
- Hash-based minimizer index
- Activation of compiler optimization in libstructures
- Bugfixes for
vg call -f
- Bugfixes for
vg snarls -m
- Fix for a crash caused by inconsistent handling of Ns.
- Single-orientation minimizers
- Fixed multipath alignment validation with self loops
- Xdrop aligner refactoring and documentation
- Xdrop support in
vg gaffe
- Permit empty GBWT in vg paths, with a warning
- Building the maximum distance index is now optional
- Case-insensitive variant ids
- Improved
PackedGraph
storage backend with greater compression - Bugfixes to and visualizations for
MEMChainModel
- Bugfixes to chunked alignment
- Long read mapping preset in
vg map
- Bugfixes to vg construct SV handling and alt path generation
- Bugfixes to Eades Algorithm sort
New System Dependencies
None
New and Updated Submodules
The libvgio
submodule has been added.
The gbwt
, gcsa2
, libhandlegraph
, protobuf
, sonLib
, structures
, and vcflib
submodules have been updated.
Make sure to git submodule update --init --recursive
if building from source.
vg 1.15.0 - Tufo
Don't forget to mark the static binary executable:
chmod +x vg
Docker Image: quay.io/vgteam/vg:v1.15.0
Buildable Source Tarball: vg-v1.15.0.tar.gz
Includes source for vg and all submodules. Use this instead of Github's "Source Code" downloads; those will not build as they do not include code for bundled dependencies that the vg
build process needs.
This release includes:
- Bugfixes for mpmap's clusterer
- Usage of libhandlegraph to provide the HandleGraph API
- Removal of broken MAF importer
- Fixes to VPKG backward compatibility, for reading files created with older versions of vg
- Fixes to SAM flag generation
vg rna
improvements- A new functioin for converting handle graphs between implementations
- A
GBWTGraph
for "haplotype-consistent traversal" - Fixes to unmapped read placement in
vg surject
BAMs - More robust macOS builds with more include directories
- A snarl-based seed clusterer for the vg minimizer mapper
- A fixed
vg::VG
move constructor that actually works - Improved inversion SV calling
- Support for Windows line endings in FASTA
- An
AlignerClient
base class for everything that usesAligner
s - Unified, multithreaded read output logic via
AlignmentEmitter
- Distance index bugfixes and VPKG loading/saving
- TLEN support in SAM/BAM output and proper pairing computation.
- Handling of
.
ALTs in input VCF - A prototype minimizer-based mapper,
vg gaffe
- New default mpmap parameters
- Fix to Eades' Algorithm segfault bug
- Preliminary work on graph annotations
New System Dependencies
None
New and Updated Submodules
The libhandlegraph
submodule has been added.
The fastahack
, gbwt
, and gssw
submodules have been updated.
Make sure to git submodule update --init --recursive
if building from source.
vg 1.14.0 - Quadrelle
Don't forget to mark the static binary executable:
chmod +x vg
Docker Image: quay.io/vgteam/vg:v1.14.0
Buildable Source Tarball: vg-v1.14.0.tar.gz
Includes source for vg and all submodules. Use this instead of Github's "Source Code" downloads; those will not build as they do not include code for bundled dependencies that the vg
build process needs.
This release includes:
- A minimizer index can now be build with
vg minimizer
. vg surject
now performs forced full-length alignments by default instead of with a command line flag.- Better logic for marking properly paired reads in
vg surject
. - Bug fix in VCF parsing for graph construction
- Improved accuracy of
vg call
on deletions. - Fix a bug in
vg call
that caused crashes on some graph topologies. - Fix a bug in
vg chunk
that would produce graph chunks that were inappropriate for variant calling. - Improved selection of sites where
vg call
should call variants. - Improved serialization that can encapsulate multiple indexes and recognize mismatched Protobuf file types.
- Fix help documentation error in
vg index
. - Lighter weight graph implementations for improved memory efficiency.
- Improved speed in
vg mpmap
on graphs with tight cycles. - Improved alignment performance in
vg mpmap
's anchoring heuristics. - Improved speed on some embedded path manipulations.
- Additional GAM filtering options in
vg filter
. - More semantically consistent behavior when trying to use haplotypes to score mappings with unphased variants.
vg msga
can be directed to align specific regions.- Bug fixes in
vg validate
andvg mod
- Source tar balls now properly document the VG version used.
New System Dependencies
None
New and Updated Submodules
The structures
submodule has been updated. Make sure to git submodule update
to get it if building from source.
vg 1.13.0 - Moschiano
Don't forget to mark the static binary executable:
chmod +x vg
Docker Image: quay.io/vgteam/vg:v1.13.0
Buildable Source Tarball: vg-v1.13.0.tar.gz
Includes source for vg and all submodules. Use this instead of Github's "Source Code" downloads; those will not build as they do not include code for bundled dependencies that the vg
build process needs.
This release includes:
- Reduction of default node size for constructed graphs from 1000 to 32
- Some functionality moved from
vg mod
tovg augment
- GBWT improvements, including metadata
- Haplotype count override for haplotype scoring
- More permissive haplotype-based population scoring of read alignments in mpmap
- vg annotate now reports correct positions for the reverse strands of nodes
- MAPQ now reported for second multipath alignment when outputting paired multipath alignments from mpmap
- vg validate can validate GAM
- RDF improvements
New System Dependencies
None
New and Updated Submodules
The dozeu
and gbwt
submodules have been updated. Make sure to git submodule update
to get them if building from source.
vg 1.12.1 - Parolise
vg 1.12.0 - Parolise
Docker image: quay.io/vgteam/vg:v1.12.0
This release includes:
- Ability to delay population scoring until after rescue in
vg mpmap
- Improvements to Doxygen documentation generation
- Correct parsing of SVLEN and END fields for structural variants in VCF files
- Snarl-based distance indexing for clustering MEMs
- An initial Target Value Search implementation for distance computation in DAGs, with an A* implementation
- Improved mpmap stability
- Support for lower-case characters in the reference given to
vg construct
- Ability for
vg filter
to defray away entire reads - Ability to index an XG to GCSA without going through a VG file
- Much faster path insertion in
VG::edit
- Checks for cyclic VCF reference paths in variant calling
- Ability to simplify out rare variants with
vg simplify
- More efficient Clang build process for repeat builds
- Ability to suppress missing variant warnings when building a GCSA index
- Bugfix for calling long indels with multi-node alleles
- Fix for a bug that corrupted alt paths split across chunks when building the xg
- Improved Basic Operations tutorial
- Support for calling inversions and some other well-behaved non-ultrabubbles
- Ability to run
vg call
without passing the base graph - SV recall improvements in vg call
- A watchdog to find slow reads in
vg mpmap
- Simplifications to the Mac Travis build process
- Suppression of empty calls
- Refactored indexing code that can work on GAM and VG files.
New System Dependencies
None
New and Updated Submodules
The following submodules have been updated: vcflib
,
vg v1.11.0 - Cairano
Docker image quay.io/vgteam/vg:v1.11.0-0-gea4aaded-t238-run
This release includes:
- Added functionality in
vg surject
to preserve long insertions or deletions. - Added parsing of symbolic variant representation from VCF (INV, CNV, etc.) in
vg construct
. - Added population-based MAPQ adjustment in
vg mpmap
. - Improvements to the robustness of
vg add
. - Added an index into
vg index
for computing distances. - Corrections to the online documentation.
- Support for
clang
compilation. - Bugfixes in
vg construct
that led to invalid GBWT indexes. - Bugfix in
make clean
's cleaning of some dependencies. - Bugfix in
vg genotype
on low-coverage samples. - Harmonized the BGZF usage in GAM files across the code base.
- Improved the functionality of graph normalization.
- Speed up deserialization of snarls.
- Stabilize the representation of snarls and chains with respect to orientation.
- Optimized GBWT construction for massive VCFs.
New System Dependencies
None
New and Updated Submodules
The following submodules have been updated: gfakluge
, vcflib
, gbwt
, and gcsa2
.
vg 1.10.0 - Rionero
Docker image: quay.io/vgteam/vg:v1.10.0-0-ga4811915-t226-run
This release includes:
- A new backwards-compatible file format. Most files, including
.vg
and.gam
, are now blocked-gzip compressed to permit random access. - GAM sorting and indexing (with
vg gamsort
) for efficient random access to reads in GAM files. - A new "xdrop" aligner backend.
- Support for repeated read annotations.
- Improvements to the
vg mpmap
aligner and its MAPQ computation. - Fixes to
vg paths
so paths extracted from a GBWT are now valid. - Thread name listing support in
vg paths
. - An improved
vg augment
interface. - Faster VCF parsing during graph construction and GBWT indexing.
- Correct semantics for
vg snarls --max_nodes
. - Ability to get edge counts via the
xg::XG
public interface.
Breaking Changes
vg find
no longer has a-i
/--alns-in
option. You should use--alns-on
instead; it's much simpler to think about.vg msga
behavior has changed.
New System Dependencies
None
New and Updated Submodules
The vcflib
and htslib
submodules have been updated.
The dozeu
and libdeflate
submodules are new.
The htslib
submodule has moved to https://github.com/vgteam/htslib. Developers will need to do a git submodule sync
.
vg 1.9.0 - Miglionico
Docker image: quay.io/vgteam/vg:v1.9.0-0-g3286e131-t206-run
This release includes:
- No more CLI tests for
vg deconstruct
(as the command is still under development) - GFA output streaming, and a new GFA importer
- A new, as-yet-unused distance estimator intended for paired-end mapping
- mpmap tuning improvements and new options
- Functional support for building graphs from structural-variants in VCFs (
vg construct -S
) - An increased Protobuf message size limit, and improved constructed graph chunking, which should solve most message-too-big-related errors
- Mitigations for strand and position bias when choosing between equivalent alignments
- Faster and more accurate haplotype thread generation for GBWT construction
- Random, samtools-compatible downsampling of alignments with
vg filter -d
- Support for circular paths in the xg format and tools
- Better error detection for invalid option arguments
- More version and build metadata in
vg version
- Bugfixes and improvements to the build process:
- More correct net graph traversals
- Addition of missing return statements to alleviate many potential crashes
- Correct pairing of reads dumped from the buffer in mpmap
Breaking Changes
- This release generates XG version 10. It can read previous versions, but new indexes cannot be read by previous versions.
- The behavior of the new GFA importer differs form previous versions. Also, it validates GFA input more aggressively, and overlaps that are longer than sequences are no longer permitted.
- Previously, all whitespace was accepted as a GFF file separator. Now only tabs (which the spec requires) are accepted.
- vg is more conservative about its argument parsing. Numbers with trailing garbage after them, or decimals on integer parameters, will now generally be rejected with an error message, instead of being silently accepted.
- The
vg version
output looks different. Anyone who may be parsing it will need to adapt their code.
New Dependencies
None
New and Updated Submodules
The fastahack
, gbwt
, gcsa2
, gfakluge
, and vcflib
submodules have all been updated.
The fastahack
submodule has also moved to https://github.com/vgteam/fastahack. Developers will need to do a git submodule sync
.