Releases: vgteam/vg
vg 1.19.0 - Tramutola
Don't forget to mark the static binary executable:
chmod +x vg
Docker Image: quay.io/vgteam/vg:v1.19.0
Buildable Source Tarball: vg-v1.19.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:
-
The experimental
vg mcmc
command, a Markov-chain-Monte-Carlo genotyper prototype -
Improved clustering and intermediate scoring logic in
vg gaffe
, and the elimination of MultipathAlignments from that pipeline -
vg gaffe
now emits MAPQ 0 for unmapped reads -
Handle-graph-ification of
vg map
, phase unfolding,vg vectorize,
vg find,
vg chunk,
vg call`, and other operations using the xg index. Many commands now support more file types as arguments. -
Phase unfolder path verification no longer runs in parallel
-
A new and improved XG index implementation. Note that backward compatibility is available only for XG indexes created with vg 1.18 or newer
-
Giraffe Wrangler script now counts only mapped reads for identity computation, can take its inputs from Amazon S3, and binds BWA to a single NUMA node
-
GBWT accesses now cached
-
Giraffe Facts now reports statistics by filter instead of by mapping stage
-
Vendored Protobuf submodule has been removed.
vg
can now build with (and indeed now requires) system-installed Protobuf 3 from a package manager -
vg call
algorithm has been revised to use the much more efficient "pack" format, allowing much larger single calling operations -
A paired-end clustering algorithm for use in
vg gaffe
has been added, but not yet used -
Warnings about deprecated pointer types in
lru_cache
eliminated -
A new Dockerfile for a multi-stage build has been integrated directly into the
vgteam/vg
repository. Thevgteam/vg_docker
repository should no longer be required. -
The
GBWTGraph
has been moved to a submodule -
Added a magic number system to identify bare XG files as XG files
-
Testing of builds of vg on Mac with GNU GCC has been discontinued. It is very difficult to get GNU GCC to build with the libc++ standard library, which packaged Protobuf builds for Mac use. GNU GCC should still work with Protobuf built with GNU GCC against its default libstdc++.
-
vg version
now reports the C++ standard library used in the build -
CFLAGS and CXXFLAGS are now honored by submodule dependencies in more (but not all) places. Some dependencies still ignore them.
-
There is now a
make static-docker
target which quickly builds a staticvg
binary in the checked-out source tree and dumps it into a Docker container -
The build system now has its own opinion about whether the current vg binary is statically linked, as recorded by a marker file in
lib/
. -
User support for
vg
now ought to happen on Biostars: https://www.biostars.org/t/vg/ -
Crash bug in
optimal_score_on_genome
has been fixed -
Memory leaks in
vg map
have been plugged
New System Dependencies
Protobuf 3.0 or greater, including libraries and compiler.
New and Updated Submodules
The protobuf
submodule has been removed.
The DYNAMIC
, gbwt
, gcsa2
, gfakluge
, libbdsg
, libhandlegraph
, libvgio
, lru_cache
, and sdsl-lite
submodules have been updated.
The gbwtgraph
, ips4o
, mmmultimap
, and xg
submodules have been added.
Make sure to git submodule update --init --recursive
if building from source.
vg 1.18.0 - Zungoli
Don't forget to mark the static binary executable:
chmod +x vg
Docker Image: quay.io/vgteam/vg:v1.18.0
Buildable Source Tarball: vg-v1.18.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:
- Completely removed support for gPBWT's stored in
XG
indexes. Must now usevg gbwt
. vg mod -g
now preserves embedded paths.vg call
andvg snarls
can now use anyHandleGraph
implementation, which can significantly reduce memory usage.- Fixed a bug that made it impossible to make distance indexes using
XG
files. - Output files are now produced in uncompressed form, but bgzipped files can still be read.
- Improved speed in experimental
gaffe
mapper through caching and altered alignment algorithms. - Introduced serialization for
GBWTGraphs
that can replace theXG
usedgaffe
, significantly lowering memory usage. - Transitioned to generic interface for
XG
to facilitate alternate backend data structures. - Improved input checking in
vg gamcompare
. - Fixed a bug that made invalid alignments in
vg mpmap
. - Fixed a bug in path editing for
VG
graphs. - Improved logic in
vg deconstruct
. - Various build system improvements.
New System Dependencies
None
New and Updated Submodules
The FlameGraph
submodule has been added.
The sglib
submodule has been replaced by libbdsg
.
The libvgio
submodule has been updated.
Make sure to git submodule update --init --recursive
if building from source.
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
.