Skip to content

Commit

Permalink
adjusted parameters
Browse files Browse the repository at this point in the history
removed pacBio and uon presetting
  • Loading branch information
MarkusRainerSchmidt committed Sep 25, 2018
1 parent 20f5604 commit 255dec6
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 48 deletions.
14 changes: 8 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,14 @@ TARGET_OBJ= \

# flags
CC=gcc
CCFLAGS= -Wall -Werror -fPIC -std=c++11 -O3 -g
CFLAGS= -Wall -Werror -fPIC -O3 -g
# use avx instead of sse
ifeq ($(NO_SSE), 1)
CCFLAGS= -Wall -Werror -fPIC -std=c++11 -O3 -g
CFLAGS= -Wall -Werror -fPIC -O3 -g
else
CCFLAGS= -Wall -Werror -fPIC -std=c++11 -O3 -g -msse4.1
CFLAGS= -Wall -Werror -fPIC -O3 -g -msse4.1
endif
LDFLAGS= -std=c++11
LDLIBS= -L$(LIBGABA_HOME) -lm -lpthread -lstdc++ -lgaba
INCLUDES= -isystem$(LIBGABA_HOME)/ -Iinc
Expand Down Expand Up @@ -59,10 +65,6 @@ else
MA_REQUIREMENT += $(TARGET_OBJ) $(LIBGABA_HOME)/libgaba.a
endif

# use avx instead of sse
ifeq ($(WITH_AVX2), 1)
CCFLAGS += -mavx2
endif

# compile with postgre support enabled
ifeq ($(WITH_POSTGRES), 1)
Expand Down
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,12 @@ Possible Makefile switches:
*Tested using boost 1.65.1 (with the Boost.Python library) and Python3.*

- DEBUG=1\
Compiles MA without optimizations and with assertions enabled. Further, there are multiple self-checks during runtime. The debug mode is primarily for bug hunting.
Compiles MA without optimizations and with assertions enabled. Further, there are multiple
self-checks during runtime. The debug mode is primarily for bug hunting.

- NO_SSE=1\
Compiles MA without SIMD (sse4.1) instructions. This will result in much worse runtimes and
should therefore only be enabled if the underlying hardware does not support sse4.1.

### First Steps ...
Test your installation with:
Expand Down Expand Up @@ -107,11 +112,10 @@ Available presettings:
-m, --mode <str> Operation mode for MA. (default is 'fast')
fast:
Best compromise between performance and accuracy.
Recommended for PacBio reads.
acc:
Better accuracy than in fast mode but worse runtimes.
Particularly effective for short reads.
pacBio:
Operation mode for PacBio sequencer reads.
Particularly effective for short reads.
Alignment options:
-o, --out <fname> Filename used for SAM file output. Default output stream is
Expand Down Expand Up @@ -165,7 +169,7 @@ Advanced options:
Default is 10000000.
--minSecToPrimRatio <num> Limit output of secondary alignments to alignments with:
score-secondary-alignment >= <num> * score-primary-alignment.
Default is 0.75.
Default is 0.25.
--maxOverlapSupp <num> A secondary alignment becomes supplementary, if it overlaps less
than <num> percent with the primary alignment.
Default is 0.1.
Expand Down
5 changes: 2 additions & 3 deletions inc/module/binarySeeding.h
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,7 @@ namespace libMA
);

public:
size_t uiUONAccMaxSize;
size_t uiUONAccMaxSize = defaults::uiUONAccMaxSize;
/**
* @brief Initialize a BinarySeeding Module
* @details
Expand All @@ -486,8 +486,7 @@ namespace libMA
*/
BinarySeeding()
:
bLrExtension(defaults::sSeedSet == "maxSpan"),
uiUONAccMaxSize(defaults::uiUONAccMaxSize)
bLrExtension(defaults::sSeedSet == "maxSpan")
{}//constructor

std::shared_ptr<Container> EXPORTED execute(std::shared_ptr<ContainerVector> vpInput);
Expand Down
31 changes: 7 additions & 24 deletions inc/util/default_parameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,30 +76,13 @@ namespace libMA
sSeedSet = "maxSpan";
}// function

inline void configurePacBio()
{
sParameterSet = "pacBio";
sSeedSet = "maxSpan";
bDisableHeuristics = true;
dMaxOverlapSupplementary = 0.25;
fMinSecScoreRatio = 0.85;
uiReportN = 3;
uiPadding = 1000;
//bDisableGapCostEstimationCutting = true;
}// function

inline void configureUON()
{
sParameterSet = "uon";
sSeedSet = "maxSpan";
bDisableHeuristics = true;
dMaxOverlapSupplementary = 0.25;
fMinSecScoreRatio = 0.85;
uiReportN = 3;
uiPadding = 1000;
uiUONAccMaxSize = 800;
//bDisableGapCostEstimationCutting = true;
}// function
//inline void configurePacBio()
//{
// sParameterSet = "pacBio";
// sSeedSet = "maxSpan";
// bDisableHeuristics = true;
// uiReportN = 3;
//}// function

#ifdef WITH_PYTHON
void exportDefaults();
Expand Down
11 changes: 3 additions & 8 deletions src/cmdMa.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,10 @@ const std::string sHelp =
"\n -m, --mode [str] Operation mode for MA. (default is 'fast')"
"\n fast:"
"\n Best compromise between performance and accuracy."
"\n Recommended for PacBio reads."
"\n acc:"
"\n Better accuracy than in fast mode but worse runtimes."
"\n Particularly effective for short reads. "
"\n pacBio:"
"\n Operation mode for PacBio sequencer reads."
"\n Particularly effective for short reads."
"\n"
"\nAlignments options:"
"\n -o, --out <fname> Filename used for SAM file output. Default output stream is"
Expand Down Expand Up @@ -116,7 +115,7 @@ const std::string sHelp =
"\n Default is 10,000,000."
"\n --minSecToPrimRatio <num> Limit output of secondary alignments to alignments with:"
"\n score-secondary-alignment >= <num> * score-primary-alignment."
"\n Default is 0.75."
"\n Default is 0.25."
"\n --maxOverlapSupp <num> A secondary alignment becomes supplementary, if it overlaps"
"\n less than <num> percent with the primary alignment."
"\n Default is 0.1."
Expand Down Expand Up @@ -163,10 +162,6 @@ int main(int argc, char* argv[])
defaults::configureAccurate();
if(strcmp(argv[i+1], "fast") == 0)
defaults::configureFast();
if(strcmp(argv[i+1], "pacBio") == 0)
defaults::configurePacBio();
if(strcmp(argv[i+1], "uon") == 0)
defaults::configureUON();
}// if

options.add_options("Alignment options (requires -a)")
Expand Down
4 changes: 2 additions & 2 deletions src/util/default_parameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace libMA
size_t uiMaxEqualScoreLookahead = 3; // lookahead distance for short queries
size_t uiSwitchQLen = 800; // q len to switch between break criteria
uint64_t uiMaxGapArea = 10000; // break alignments in harmonization if gap is larger
uint64_t uiPadding = 300; // padding for DP
uint64_t uiPadding = 1000; // padding for DP
size_t uiSoCWidth = 0; // set a fixed SoC width; 0 = use the formula
bool bFindMode = false; // true: don't do DP
bool bOptimisticGapEstimation = true; // how to estimate gap costs in harmonization
Expand All @@ -44,7 +44,7 @@ namespace libMA
size_t uiGenomeSizeDisable = 10000000;
bool bDisableHeuristics = false; // disable all heuristics in the harmonization
// only output secondary alignments with a score larger than this * score of prim. alignment
float fMinSecScoreRatio = .75;
float fMinSecScoreRatio = .25;
// can only be accessed by pacBio presetting at the moment...
bool bDisableGapCostEstimationCutting = false; // do not remove seeds that are far away to generate alignments with positive score

Expand Down

0 comments on commit 255dec6

Please sign in to comment.