Skip to content

Commit 255dec6

Browse files
adjusted parameters
removed pacBio and uon presetting
1 parent 20f5604 commit 255dec6

File tree

6 files changed

+31
-48
lines changed

6 files changed

+31
-48
lines changed

Makefile

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,14 @@ TARGET_OBJ= \
2626

2727
# flags
2828
CC=gcc
29-
CCFLAGS= -Wall -Werror -fPIC -std=c++11 -O3 -g
30-
CFLAGS= -Wall -Werror -fPIC -O3 -g
29+
# use avx instead of sse
30+
ifeq ($(NO_SSE), 1)
31+
CCFLAGS= -Wall -Werror -fPIC -std=c++11 -O3 -g
32+
CFLAGS= -Wall -Werror -fPIC -O3 -g
33+
else
34+
CCFLAGS= -Wall -Werror -fPIC -std=c++11 -O3 -g -msse4.1
35+
CFLAGS= -Wall -Werror -fPIC -O3 -g -msse4.1
36+
endif
3137
LDFLAGS= -std=c++11
3238
LDLIBS= -L$(LIBGABA_HOME) -lm -lpthread -lstdc++ -lgaba
3339
INCLUDES= -isystem$(LIBGABA_HOME)/ -Iinc
@@ -59,10 +65,6 @@ else
5965
MA_REQUIREMENT += $(TARGET_OBJ) $(LIBGABA_HOME)/libgaba.a
6066
endif
6167

62-
# use avx instead of sse
63-
ifeq ($(WITH_AVX2), 1)
64-
CCFLAGS += -mavx2
65-
endif
6668

6769
# compile with postgre support enabled
6870
ifeq ($(WITH_POSTGRES), 1)

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,12 @@ Possible Makefile switches:
6262
*Tested using boost 1.65.1 (with the Boost.Python library) and Python3.*
6363

6464
- DEBUG=1\
65-
Compiles MA without optimizations and with assertions enabled. Further, there are multiple self-checks during runtime. The debug mode is primarily for bug hunting.
65+
Compiles MA without optimizations and with assertions enabled. Further, there are multiple
66+
self-checks during runtime. The debug mode is primarily for bug hunting.
67+
68+
- NO_SSE=1\
69+
Compiles MA without SIMD (sse4.1) instructions. This will result in much worse runtimes and
70+
should therefore only be enabled if the underlying hardware does not support sse4.1.
6671

6772
### First Steps ...
6873
Test your installation with:
@@ -107,11 +112,10 @@ Available presettings:
107112
-m, --mode <str> Operation mode for MA. (default is 'fast')
108113
fast:
109114
Best compromise between performance and accuracy.
115+
Recommended for PacBio reads.
110116
acc:
111117
Better accuracy than in fast mode but worse runtimes.
112-
Particularly effective for short reads.
113-
pacBio:
114-
Operation mode for PacBio sequencer reads.
118+
Particularly effective for short reads.
115119
116120
Alignment options:
117121
-o, --out <fname> Filename used for SAM file output. Default output stream is
@@ -165,7 +169,7 @@ Advanced options:
165169
Default is 10000000.
166170
--minSecToPrimRatio <num> Limit output of secondary alignments to alignments with:
167171
score-secondary-alignment >= <num> * score-primary-alignment.
168-
Default is 0.75.
172+
Default is 0.25.
169173
--maxOverlapSupp <num> A secondary alignment becomes supplementary, if it overlaps less
170174
than <num> percent with the primary alignment.
171175
Default is 0.1.

inc/module/binarySeeding.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ namespace libMA
474474
);
475475

476476
public:
477-
size_t uiUONAccMaxSize;
477+
size_t uiUONAccMaxSize = defaults::uiUONAccMaxSize;
478478
/**
479479
* @brief Initialize a BinarySeeding Module
480480
* @details
@@ -486,8 +486,7 @@ namespace libMA
486486
*/
487487
BinarySeeding()
488488
:
489-
bLrExtension(defaults::sSeedSet == "maxSpan"),
490-
uiUONAccMaxSize(defaults::uiUONAccMaxSize)
489+
bLrExtension(defaults::sSeedSet == "maxSpan")
491490
{}//constructor
492491

493492
std::shared_ptr<Container> EXPORTED execute(std::shared_ptr<ContainerVector> vpInput);

inc/util/default_parameters.h

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -76,30 +76,13 @@ namespace libMA
7676
sSeedSet = "maxSpan";
7777
}// function
7878

79-
inline void configurePacBio()
80-
{
81-
sParameterSet = "pacBio";
82-
sSeedSet = "maxSpan";
83-
bDisableHeuristics = true;
84-
dMaxOverlapSupplementary = 0.25;
85-
fMinSecScoreRatio = 0.85;
86-
uiReportN = 3;
87-
uiPadding = 1000;
88-
//bDisableGapCostEstimationCutting = true;
89-
}// function
90-
91-
inline void configureUON()
92-
{
93-
sParameterSet = "uon";
94-
sSeedSet = "maxSpan";
95-
bDisableHeuristics = true;
96-
dMaxOverlapSupplementary = 0.25;
97-
fMinSecScoreRatio = 0.85;
98-
uiReportN = 3;
99-
uiPadding = 1000;
100-
uiUONAccMaxSize = 800;
101-
//bDisableGapCostEstimationCutting = true;
102-
}// function
79+
//inline void configurePacBio()
80+
//{
81+
// sParameterSet = "pacBio";
82+
// sSeedSet = "maxSpan";
83+
// bDisableHeuristics = true;
84+
// uiReportN = 3;
85+
//}// function
10386

10487
#ifdef WITH_PYTHON
10588
void exportDefaults();

src/cmdMa.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,10 @@ const std::string sHelp =
5151
"\n -m, --mode [str] Operation mode for MA. (default is 'fast')"
5252
"\n fast:"
5353
"\n Best compromise between performance and accuracy."
54+
"\n Recommended for PacBio reads."
5455
"\n acc:"
5556
"\n Better accuracy than in fast mode but worse runtimes."
56-
"\n Particularly effective for short reads. "
57-
"\n pacBio:"
58-
"\n Operation mode for PacBio sequencer reads."
57+
"\n Particularly effective for short reads."
5958
"\n"
6059
"\nAlignments options:"
6160
"\n -o, --out <fname> Filename used for SAM file output. Default output stream is"
@@ -116,7 +115,7 @@ const std::string sHelp =
116115
"\n Default is 10,000,000."
117116
"\n --minSecToPrimRatio <num> Limit output of secondary alignments to alignments with:"
118117
"\n score-secondary-alignment >= <num> * score-primary-alignment."
119-
"\n Default is 0.75."
118+
"\n Default is 0.25."
120119
"\n --maxOverlapSupp <num> A secondary alignment becomes supplementary, if it overlaps"
121120
"\n less than <num> percent with the primary alignment."
122121
"\n Default is 0.1."
@@ -163,10 +162,6 @@ int main(int argc, char* argv[])
163162
defaults::configureAccurate();
164163
if(strcmp(argv[i+1], "fast") == 0)
165164
defaults::configureFast();
166-
if(strcmp(argv[i+1], "pacBio") == 0)
167-
defaults::configurePacBio();
168-
if(strcmp(argv[i+1], "uon") == 0)
169-
defaults::configureUON();
170165
}// if
171166

172167
options.add_options("Alignment options (requires -a)")

src/util/default_parameters.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace libMA
2323
size_t uiMaxEqualScoreLookahead = 3; // lookahead distance for short queries
2424
size_t uiSwitchQLen = 800; // q len to switch between break criteria
2525
uint64_t uiMaxGapArea = 10000; // break alignments in harmonization if gap is larger
26-
uint64_t uiPadding = 300; // padding for DP
26+
uint64_t uiPadding = 1000; // padding for DP
2727
size_t uiSoCWidth = 0; // set a fixed SoC width; 0 = use the formula
2828
bool bFindMode = false; // true: don't do DP
2929
bool bOptimisticGapEstimation = true; // how to estimate gap costs in harmonization
@@ -44,7 +44,7 @@ namespace libMA
4444
size_t uiGenomeSizeDisable = 10000000;
4545
bool bDisableHeuristics = false; // disable all heuristics in the harmonization
4646
// only output secondary alignments with a score larger than this * score of prim. alignment
47-
float fMinSecScoreRatio = .75;
47+
float fMinSecScoreRatio = .25;
4848
// can only be accessed by pacBio presetting at the moment...
4949
bool bDisableGapCostEstimationCutting = false; // do not remove seeds that are far away to generate alignments with positive score
5050

0 commit comments

Comments
 (0)