Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drop in xg0 (take two) #2402

Closed
wants to merge 85 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
760e65a
Do each extension as its own Alignment with no multipath logic
adamnovak Aug 2, 2019
0153dc8
Merge remote-tracking branch 'upstream/master' into best-first
adamnovak Aug 12, 2019
77ca6a7
Do the already existing extension score threshold through the unified…
adamnovak Aug 12, 2019
b9fb9eb
Adopt a default extension score threshold of 1
adamnovak Aug 12, 2019
c8f9353
Merge branch 'best-first' into HEAD
adamnovak Aug 14, 2019
3fc7fe1
Do path concatenation lazily for only the best path
adamnovak Aug 14, 2019
f8eda12
Merge remote-tracking branch 'upstream/stable-giraffe' into remove-mu…
adamnovak Aug 14, 2019
4c07b35
Update README.md
Aug 14, 2019
b2921ea
drop in xg0
glennhickey Aug 16, 2019
ba0d4f6
Merge remote-tracking branch 'upstream/master' into remove-multipath
adamnovak Aug 16, 2019
90fd470
fix link error
glennhickey Aug 16, 2019
bc9766f
update xg submodule
glennhickey Aug 16, 2019
b2db425
dont handle alts in vg_set
glennhickey Aug 16, 2019
7b31d42
check missing input in vg_set
glennhickey Aug 16, 2019
d016744
Add a notion of filters to the funnel
adamnovak Aug 16, 2019
3a0a4ce
keep alt_paths separate from contigs
glennhickey Aug 19, 2019
c05bdcc
Use actual const char*s instead of thinking std::strings will stay alive
adamnovak Aug 19, 2019
4a3e464
switch to empty path-supporting xg
glennhickey Aug 19, 2019
17fe174
Remove times from Giraffe Facts
adamnovak Aug 19, 2019
f91857c
Make Giraffe Facts say things about filters
adamnovak Aug 19, 2019
b6093db
fix vg prune
glennhickey Aug 19, 2019
db3ae9d
keep paths in xg
glennhickey Aug 19, 2019
154596e
remove vg xg test
glennhickey Aug 19, 2019
0dbd75e
Start separating count and score filters
adamnovak Aug 19, 2019
810acbd
Merge pull request #2403 from adamnovak/remove-multipath
adamnovak Aug 19, 2019
0d9eacc
ignore alt_paths in xg in some tests
glennhickey Aug 19, 2019
280285d
Merge remote-tracking branch 'upstream/master' into track-filters
adamnovak Aug 19, 2019
a2235f6
fix edge pack
glennhickey Aug 19, 2019
74da5e7
dont index alt paths as threads
glennhickey Aug 19, 2019
4715343
make sure to load xgs using paths in unit tests
glennhickey Aug 19, 2019
7c8907f
Report filters in a way that looks more like command line options tha…
adamnovak Aug 19, 2019
f8246c2
Account for some filters not yet knowing the correct items
adamnovak Aug 19, 2019
4a22f10
Add tracking of filter test statistics and attempt to plot them
adamnovak Aug 19, 2019
341d79c
Actually spit out some statistic values when passing/failing some things
adamnovak Aug 19, 2019
def2d0a
Fix plotting to use variables that are actually defined
adamnovak Aug 19, 2019
2a11a15
circular path support
glennhickey Aug 20, 2019
573595f
fix circularize test to use convert instead of xg
glennhickey Aug 20, 2019
79cf46f
Make plots for non-correctness-tagged statistics better
adamnovak Aug 20, 2019
9f07c07
update xg to fix file descriptor issues
glennhickey Aug 20, 2019
1d546f3
fix last of the unit tests
glennhickey Aug 20, 2019
e14f014
Add precision and recall to Giraffe Facts
adamnovak Aug 20, 2019
72ce8fb
Add mapping parameters to the Giraffe Facts report when available
adamnovak Aug 20, 2019
5bb8e1a
dont xg index alt paths by default. put behind option
glennhickey Aug 20, 2019
d5c634b
xg output option for vg convert
glennhickey Aug 20, 2019
cb104b2
dont allocate unused ranks
glennhickey Aug 20, 2019
055861f
Merge pull request #2404 from vgteam/track-filters
adamnovak Aug 20, 2019
ce443b3
try xg with very minor fixes
glennhickey Aug 21, 2019
2ad8409
Merge pull request #2398 from djhogan/master
adamnovak Aug 21, 2019
d30872e
use same mmmultimap in vg and xg
glennhickey Aug 21, 2019
05d7a08
switch to vgteams gfakluge to be consistent with xg
glennhickey Aug 21, 2019
ecbfa76
add a hard cap to haplotype consistent tracebacks
jeizenga Aug 21, 2019
701df9c
fix logic in hard cap
jeizenga Aug 21, 2019
ea138e8
Merge pull request #2408 from jeizenga/charlies-slow-reads
jeizenga Aug 22, 2019
2e68e17
update xg to use same sdsl as vg
glennhickey Aug 22, 2019
eae24b3
use latest sdsl
glennhickey Aug 22, 2019
3599cd4
use same ips4o as in xg
glennhickey Aug 22, 2019
f4cf8e4
drop in xg0
glennhickey Aug 16, 2019
9a27299
fix link error
glennhickey Aug 16, 2019
a69d26a
update xg submodule
glennhickey Aug 16, 2019
270c577
dont handle alts in vg_set
glennhickey Aug 16, 2019
6e9dfed
check missing input in vg_set
glennhickey Aug 16, 2019
529dbce
keep alt_paths separate from contigs
glennhickey Aug 19, 2019
8b0f6e4
switch to empty path-supporting xg
glennhickey Aug 19, 2019
a57a948
fix vg prune
glennhickey Aug 19, 2019
4a145eb
keep paths in xg
glennhickey Aug 19, 2019
96364ea
remove vg xg test
glennhickey Aug 19, 2019
8241bb8
ignore alt_paths in xg in some tests
glennhickey Aug 19, 2019
106909c
fix edge pack
glennhickey Aug 19, 2019
0c74b6a
dont index alt paths as threads
glennhickey Aug 19, 2019
e3254dd
make sure to load xgs using paths in unit tests
glennhickey Aug 19, 2019
745e23d
circular path support
glennhickey Aug 20, 2019
68f218f
fix circularize test to use convert instead of xg
glennhickey Aug 20, 2019
82af781
update xg to fix file descriptor issues
glennhickey Aug 20, 2019
1fe6da2
fix last of the unit tests
glennhickey Aug 20, 2019
10a07c5
dont xg index alt paths by default. put behind option
glennhickey Aug 20, 2019
0606daa
xg output option for vg convert
glennhickey Aug 20, 2019
1da6d94
dont allocate unused ranks
glennhickey Aug 20, 2019
4cf2bad
try xg with very minor fixes
glennhickey Aug 21, 2019
ba76e85
use same mmmultimap in vg and xg
glennhickey Aug 21, 2019
ffdc42e
switch to vgteams gfakluge to be consistent with xg
glennhickey Aug 21, 2019
d44a32d
update xg to use same sdsl as vg
glennhickey Aug 22, 2019
3cf2963
use latest sdsl
glennhickey Aug 22, 2019
9430da9
use same ips4o as in xg
glennhickey Aug 22, 2019
b1dbc22
update xg and mmmultimap
glennhickey Aug 23, 2019
5a7d425
Merge branch 'xg-switcheroo' of github.com:vgteam/vg into xg-switcheroo
glennhickey Aug 23, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
url = https://github.com/sparsehash/sparsehash.git
[submodule "gfakluge"]
path = deps/gfakluge
url = https://github.com/edawson/gfakluge.git
url = https://github.com/vgteam/gfakluge.git
[submodule "deps/DYNAMIC"]
path = deps/DYNAMIC
url = https://github.com/vgteam/DYNAMIC
Expand Down Expand Up @@ -113,3 +113,12 @@
[submodule "deps/libbdsg"]
path = deps/libbdsg
url = https://github.com/vgteam/libbdsg.git
[submodule "deps/xg"]
path = deps/xg
url = https://github.com/vgteam/xg.git
[submodule "deps/mmmultimap"]
path = deps/mmmultimap
url = https://github.com/glennhickey/mmmultimap.git
[submodule "deps/ips4o"]
path = deps/ips4o
url = https://github.com/vgteam/ips4o.git
22 changes: 17 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ INCLUDE_FLAGS:=-I$(CWD)/$(INC_DIR) -I. -I$(CWD)/$(SRC_DIR) -I$(CWD)/$(UNITTEST_S
# Define libraries to link against. Make sure to always link statically against
# htslib and libdeflate and Protobuf so that we can use position-dependent code
# there for speed.
LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lhandlegraph -lvcflib -lgssw -lssw $(CWD)/$(LIB_DIR)/libprotobuf.a -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a $(CWD)/$(LIB_DIR)/libdeflate.a -lpthread -ljansson -lncurses -lgcsa2 -lgbwt -ldivsufsort -ldivsufsort64 -lvcfh -lgfakluge -lraptor2 -lsdsl -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg
LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lhandlegraph -lxg -lvcflib -lgssw -lssw $(CWD)/$(LIB_DIR)/libprotobuf.a -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a $(CWD)/$(LIB_DIR)/libdeflate.a -lpthread -ljansson -lncurses -lgcsa2 -lgbwt -ldivsufsort -ldivsufsort64 -lvcfh -lraptor2 -lsdsl -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg -latomic
# Use pkg-config to find Cairo and all the libs it uses
LD_LIB_FLAGS += $(shell pkg-config --libs --static cairo jansson)

Expand Down Expand Up @@ -205,6 +205,9 @@ LIBDEFLATE_DIR:=deps/libdeflate
LIBVGIO_DIR:=deps/libvgio
LIBHANDLEGRAPH_DIR:=deps/libhandlegraph
LIBBDSG_DIR:=deps/libbdsg
XG_DIR:=deps/xg
MMMULTIMAP_DIR=deps/mmmultimap
IPS4O_DIR=deps/ips4o

# Dependencies that go into libvg's archive
# These go in libvg but come from dependencies
Expand All @@ -230,7 +233,6 @@ LIB_DEPS += $(LIB_DIR)/libhts.a
LIB_DEPS += $(LIB_DIR)/libvcflib.a
LIB_DEPS += $(LIB_DIR)/libgssw.a
LIB_DEPS += $(LIB_DIR)/libvcfh.a
LIB_DEPS += $(LIB_DIR)/libgfakluge.a
LIB_DEPS += $(LIB_DIR)/libsonlib.a
LIB_DEPS += $(LIB_DIR)/libpinchesandcacti.a
LIB_DEPS += $(LIB_DIR)/libraptor2.a
Expand All @@ -244,6 +246,7 @@ LIB_DEPS += $(LIB_DIR)/libdeflate.a
LIB_DEPS += $(LIB_DIR)/libvgio.a
LIB_DEPS += $(LIB_DIR)/libhandlegraph.a
LIB_DEPS += $(LIB_DIR)/libbdsg.a
LIB_DEPS += $(LIB_DIR)/libxg.a
ifneq ($(shell uname -s),Darwin)
# On non-Mac (i.e. Linux), where ELF binaries are used, pull in libdw which
# backward-cpp will use.
Expand All @@ -267,6 +270,8 @@ DEPS += $(INC_DIR)/sha1.hpp
DEPS += $(INC_DIR)/progress_bar.hpp
DEPS += $(INC_DIR)/backward.hpp
DEPS += $(INC_DIR)/dozeu/dozeu.h
DEPS += $(INC_DIR)/mmmultimap.hpp
DEPS += $(INC_DIR)/ips4o.hpp
DEPS += $(INC_DIR)/raptor2/raptor2.h

# Only depend on these files for the final linking stage.
Expand Down Expand Up @@ -343,6 +348,13 @@ $(LIB_DIR)/libsnappy.a: $(SNAPPY_DIR)/*.cc $(SNAPPY_DIR)/*.h
$(LIB_DIR)/librocksdb.a: $(LIB_DIR)/libsnappy.a $(ROCKSDB_DIR)/db/*.cc $(ROCKSDB_DIR)/db/*.h
+. ./source_me.sh && cd $(ROCKSDB_DIR) && $(ROCKSDB_PORTABLE) DISABLE_JEMALLOC=1 $(MAKE) static_lib $(FILTER) && mv librocksdb.a $(CWD)/${LIB_DIR}/ && cp -r include/* $(CWD)/$(INC_DIR)/

$(INC_DIR)/mmmultiset.hpp: $(MMMULTIMAP_DIR)/src/mmmultiset.hpp
$(INC_DIR)/mmmultimap.hpp: $(MMMULTIMAP_DIR)/src/mmmultimap.hpp
+. ./source_me.sh && cp $(MMMULTIMAP_DIR)/src/mmmultimap.hpp $(MMMULTIMAP_DIR)/src/mmmultiset.hpp $(CWD)/$(INC_DIR)/

$(INC_DIR)/ips4o.hpp: $(IPS4O_DIR)/ips4o.hpp $(IPS4O_DIR)/ips4o/*
+. ./source_me.sh && cp -r $(IPS4O_DIR)/ips4o* $(CWD)/$(INC_DIR)/

$(INC_DIR)/gcsa/gcsa.h: $(LIB_DIR)/libgcsa2.a

$(LIB_DIR)/libgcsa2.a: $(LIB_DIR)/libsdsl.a $(wildcard $(GCSA2_DIR)/*.cpp) $(wildcard $(GCSA2_DIR)/include/gcsa/*.h)
Expand Down Expand Up @@ -383,6 +395,9 @@ $(LIB_DIR)/libvgio.a: $(LIB_DIR)/libhts.a $(LIB_DIR)/pkgconfig/htslib.pc $(LIB_D
$(LIB_DIR)/libhandlegraph.a: $(LIBHANDLEGRAPH_DIR)/src/include/handlegraph/*.hpp $(LIBHANDLEGRAPH_DIR)/src/*.cpp
+. ./source_me.sh && cd $(LIBHANDLEGRAPH_DIR) && cmake . && $(MAKE) $(FILTER) && cp libhandlegraph.a $(CWD)/$(LIB_DIR) && cp -r src/include/handlegraph $(CWD)/$(INC_DIR)

$(LIB_DIR)/libxg.a: $(XG_DIR)/src/*.hpp $(XG_DIR)/src/*.cpp
+. ./source_me.sh && cd $(XG_DIR) && cmake . && $(MAKE) $(FILTER) && cp lib/libxg.a $(CWD)/$(LIB_DIR) && cp -r src/*hpp $(CWD)/$(INC_DIR)

# On Linux, libdeflate builds a .so.
# On Mac, it *still* builds an so, which is just a dylib with .so extension.
# On Mac we need to make sure to set the install name. We do that by renaming to dylib.
Expand Down Expand Up @@ -438,9 +453,6 @@ $(INC_DIR)/sparsepp/spp.h: $(wildcard $(SPARSEHASH_DIR)/sparsepp/*.h)
$(LIB_DIR)/libvcfh.a: $(DEP_DIR)/libVCFH/*.cpp $(DEP_DIR)/libVCFH/*.hpp
+. ./source_me.sh && cd $(DEP_DIR)/libVCFH && $(MAKE) $(FILTER) && cp libvcfh.a $(CWD)/$(LIB_DIR)/ && cp vcfheader.hpp $(CWD)/$(INC_DIR)/

$(LIB_DIR)/libgfakluge.a: $(INC_DIR)/gfakluge.hpp $(DEP_DIR)/gfakluge/src/*.hpp $(DEP_DIR)/gfakluge/src/*.cpp
+. ./source_me.sh && cd $(DEP_DIR)/gfakluge && $(MAKE) libgfakluge.a $(FILTER) && cp libgfakluge.a $(CWD)/$(LIB_DIR)/

$(INC_DIR)/gfakluge.hpp: $(DEP_DIR)/gfakluge/src/gfakluge.hpp
+cp $(DEP_DIR)/gfakluge/src/*.hpp $(CWD)/$(INC_DIR)/ && cp $(DEP_DIR)/gfakluge/src/tinyFA/*.hpp $(CWD)/$(INC_DIR)/

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ The simplest thing to do with `vg` is to build a graph and align to it. At prese
vg construct -r small/x.fa -v small/x.vcf.gz >x.vg
```

Note that to build a graph, an index of the VCF file is required. The VCF index file can be generated using the `tabix` command provided by SAMtools (e.g. `tabix -p vcf x.vcf.gz` on the command line).

### Viewing, conversion

`vg view` provides a way to convert the graph into various formats:
Expand Down
2 changes: 1 addition & 1 deletion deps/gfakluge
1 change: 1 addition & 0 deletions deps/ips4o
Submodule ips4o added at 220693
1 change: 1 addition & 0 deletions deps/mmmultimap
Submodule mmmultimap added at 6bc050
2 changes: 1 addition & 1 deletion deps/sdsl-lite
1 change: 1 addition & 0 deletions deps/xg
Submodule xg added at 469d79
Loading