Skip to content

Commit

Permalink
Merge pull request #581 from ekg/correct-build
Browse files Browse the repository at this point in the history
Correct build, update vcflib
  • Loading branch information
ekg committed Dec 19, 2019
2 parents 54bf409 + fae0f09 commit 02bb9d7
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 26 deletions.
2 changes: 1 addition & 1 deletion intervaltree
Submodule intervaltree updated 4 files
+253 −124 IntervalTree.h
+33 −3 Makefile
+10,203 −0 catch.hpp
+123 −34 interval_tree_test.cpp
16 changes: 6 additions & 10 deletions src/BedReader.cpp
Expand Up @@ -46,32 +46,28 @@ vector<BedTarget> BedReader::entries(void) {
}

bool BedReader::targetsContained(string& seq, long left, long right) {
vector<Interval<BedTarget*> > results;
intervals[seq].findContained(left, right, results);
vector<Interval<int, BedTarget*> > results = intervals[seq].findContained(left, right);
return !results.empty();
}

bool BedReader::targetsOverlap(string& seq, long left, long right) {
vector<Interval<BedTarget*> > results;
intervals[seq].findOverlapping(left, right, results);
vector<Interval<int, BedTarget*> > results = intervals[seq].findOverlapping(left, right);
return !results.empty();
}

vector<BedTarget*> BedReader::targetsContaining(BedTarget& target) {
vector<Interval<BedTarget*> > results;
intervals[target.seq].findContained(target.left, target.right, results);
vector<Interval<int, BedTarget*> > results = intervals[target.seq].findContained(target.left, target.right);
vector<BedTarget*> contained;
for (vector<Interval<BedTarget*> >::iterator r = results.begin(); r != results.end(); ++r) {
for (vector<Interval<int, BedTarget*> >::iterator r = results.begin(); r != results.end(); ++r) {
contained.push_back(r->value);
}
return contained;
}

vector<BedTarget*> BedReader::targetsOverlapping(BedTarget& target) {
vector<Interval<BedTarget*> > results;
intervals[target.seq].findOverlapping(target.left, target.right, results);
vector<Interval<int, BedTarget*> > results = intervals[target.seq].findOverlapping(target.left, target.right);
vector<BedTarget*> overlapping;
for (vector<Interval<BedTarget*> >::iterator r = results.begin(); r != results.end(); ++r) {
for (vector<Interval<int, BedTarget*> >::iterator r = results.begin(); r != results.end(); ++r) {
overlapping.push_back(r->value);
}
return overlapping;
Expand Down
10 changes: 5 additions & 5 deletions src/BedReader.h
Expand Up @@ -38,7 +38,7 @@ class BedReader : public ifstream {

public:
vector<BedTarget> targets;
map<string, IntervalTree<BedTarget*> > intervals; // intervals by reference sequence
map<string, IntervalTree<int, BedTarget*> > intervals; // intervals by reference sequence

vector<BedTarget> entries(void);

Expand All @@ -60,12 +60,12 @@ class BedReader : public ifstream {
}

void buildIntervals(void) {
map<string, vector<Interval<BedTarget*> > > intervalsBySeq;
map<string, IntervalTree<int, BedTarget*>::interval_vector> intervalsBySeq;
for (vector<BedTarget>::iterator t = targets.begin(); t != targets.end(); ++t) {
intervalsBySeq[t->seq].push_back(Interval<BedTarget*>(t->left, t->right, &*t));
intervalsBySeq[t->seq].push_back(Interval<int, BedTarget*>(t->left, t->right, &*t));
}
for (map<string, vector<Interval<BedTarget*> > >::iterator s = intervalsBySeq.begin(); s != intervalsBySeq.end(); ++s) {
intervals[s->first] = IntervalTree<BedTarget*>(s->second);
for (map<string, IntervalTree<int, BedTarget*>::interval_vector>::const_iterator s = intervalsBySeq.begin(); s != intervalsBySeq.end(); ++s) {
intervals[s->first] = IntervalTree<int, BedTarget*>((IntervalTree<int, BedTarget*>::interval_vector&&)s->second);
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/Fasta.cpp
Expand Up @@ -262,7 +262,7 @@ string FastaReference::getRawSequence(string seqname) {
int seqlen = newlines_in_sequence + entry.length;
char* seq = (char*) calloc (seqlen + 1, sizeof(char));
fseek64(file, entry.offset, SEEK_SET);
fread(seq, sizeof(char), seqlen, file);
size_t x = fread(seq, sizeof(char), seqlen, file);
seq[seqlen] = '\0';
char* pbegin = seq;
char* pend = seq + (seqlen/sizeof(char));
Expand Down Expand Up @@ -305,7 +305,7 @@ string FastaReference::getRawSubSequence(string seqname, int start, int length)
int seqlen = length + newlines_inside;
char* seq = (char*) calloc (seqlen + 1, sizeof(char));
fseek64(file, (off_t) (entry.offset + newlines_before + start), SEEK_SET);
fread(seq, sizeof(char), (off_t) seqlen, file);
size_t x = fread(seq, sizeof(char), (off_t) seqlen, file);
seq[seqlen] = '\0';
char* pbegin = seq;
char* pend = seq + (seqlen/sizeof(char));
Expand Down
15 changes: 8 additions & 7 deletions src/Makefile
Expand Up @@ -6,7 +6,7 @@

# Compiler

CXXFLAGS=-O3 -D_FILE_OFFSET_BITS=64 -g -ggdb
CXXFLAGS=-O3 -D_FILE_OFFSET_BITS=64 -g -ggdb -std=c++11
CXX=g++ ${CXXFLAGS}
C=gcc

Expand All @@ -27,7 +27,7 @@ TABIX_ROOT=$(VCFLIB_ROOT)/tabixpp
HTSLIB_ROOT=$(SEQLIB_ROOT)/htslib

LIBS = -lz -llzma -lbz2 -lm -lpthread
INCLUDE = -I../src -I../ttmath -I$(VCFLIB_ROOT)/src/ -I$(VCFLIB_ROOT)/smithwaterman/ -I$(VCFLIB_ROOT)/multichoose/ -I$(VCFLIB_ROOT)/filevercmp/ -I$(VCFLIB_ROOT)/fastahack/ -I$(HTSLIB_ROOT) -I$(SEQLIB_ROOT)
INCLUDE = -I../src -I../ttmath -I$(VCFLIB_ROOT)/src/ -I$(VCFLIB_ROOT)/smithwaterman/ -I$(VCFLIB_ROOT)/multichoose/ -I$(VCFLIB_ROOT)/filevercmp/ -I$(VCFLIB_ROOT)/fastahack/ -I$(HTSLIB_ROOT) -I$(SEQLIB_ROOT) -I$(TABIX_ROOT)
#INCLUDE = -I../ttmath -I$(BAMTOOLS_ROOT)/src/ -I$(VCFLIB_ROOT)/src/ -I$(TABIX_ROOT)/ -I$(VCFLIB_ROOT)/smithwaterman/ -I$(VCFLIB_ROOT)/multichoose/ -I$(VCFLIB_ROOT)/filevercmp/ -I$(VCFLIB_ROOT)/fastahack/ -I$(HTSLIB_ROOT) -I$(SEQLIB_ROOT) -I$(SEQLIB_ROOT)/htslib

all: autoversion ../bin/freebayes ../bin/bamleftalign
Expand Down Expand Up @@ -82,7 +82,7 @@ OBJECTS=BedReader.o \
../vcflib/smithwaterman/LeftAlign.o \
../vcflib/smithwaterman/Repeats.o \
../vcflib/smithwaterman/IndelAllele.o \
Variant.o \
$(VCFLIB_ROOT)/lib/libvcflib.a \
$(SEQLIB_ROOT)/src/libseqlib.a \
$(SEQLIB_ROOT)/bwa/libbwa.a \
$(SEQLIB_ROOT)/fermi-lite/libfml.a \
Expand All @@ -92,7 +92,7 @@ HEADERS=multichoose.h version_git.h

# executables

freebayes ../bin/freebayes: freebayes.o $(OBJECTS) $(HEADERS) $(seqlib)
freebayes ../bin/freebayes: freebayes.o $(OBJECTS) $(HEADERS) $(SEQLIB_ROOT)/src/libseqlib.a $(HTSLIB_ROOT)/libhts.a
$(CXX) $(CXXFLAGS) $(INCLUDE) freebayes.o $(OBJECTS) -o ../bin/freebayes $(LIBS)

alleles ../bin/alleles: alleles.o $(OBJECTS) $(HEADERS) $(seqlib)
Expand Down Expand Up @@ -194,12 +194,13 @@ LeftAlign.o: LeftAlign.h LeftAlign.cpp $(HTSLIB_ROOT)/libhts.a
IndelAllele.o: IndelAllele.cpp IndelAllele.h
$(CXX) $(CXXFLAGS) $(INCLUDE) -c IndelAllele.cpp

Variant.o: $(VCFLIB_ROOT)/src/Variant.h $(VCFLIB_ROOT)/src/Variant.cpp
$(CXX) $(CXXFLAGS) $(INCLUDE) -c $(VCFLIB_ROOT)/src/Variant.cpp
$(VCFLIB_ROOT)/lib/libvcflib.a: $(VCFLIB_ROOT)/src/*.h $(VCFLIB_ROOT)/src/*.cpp
cd $(VCFLIB_ROOT) && $(MAKE) libvcflib.a
# $(CXX) $(CXXFLAGS) $(INCLUDE) -c $(VCFLIB_ROOT)/src/Variant.cpp
# $(CXX) -std=c++11 $(CFLAGS) $(INCLUDE) -c $(VCFLIB_ROOT)/src/Variant.cpp

../vcflib/tabixpp/tabix.o:
cd $(TABIX_ROOT)/ && $(MAKE) && cp tabix.hpp ../../src/
cd $(TABIX_ROOT)/ && $(MAKE)

../vcflib/smithwaterman/SmithWatermanGotoh.o: ../vcflib/smithwaterman/SmithWatermanGotoh.h ../vcflib/smithwaterman/SmithWatermanGotoh.cpp
cd ../vcflib/smithwaterman && $(MAKE)
Expand Down

0 comments on commit 02bb9d7

Please sign in to comment.