-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeDefinitions.txt
140 lines (122 loc) · 6.69 KB
/
CMakeDefinitions.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# HipMer v 2.0, Copyright (c) 2020, The Regents of the University of California,
# through Lawrence Berkeley National Laboratory (subject to receipt of any required
# approvals from the U.S. Dept. of Energy). All rights reserved."
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
# (1) Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# (2) Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation and/or
# other materials provided with the distribution.
# (3) Neither the name of the University of California, Lawrence Berkeley National
# Laboratory, U.S. Dept. of Energy nor the names of its contributors may be used to
# endorse or promote products derived from this software without specific prior
# written permission.
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
# SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGE.
# You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades
# to the features, functionality or performance of the source code ("Enhancements") to
# anyone; however, if you choose to make your Enhancements available either publicly,
# or directly to Lawrence Berkeley National Laboratory, without imposing a separate
# written license agreement for such Enhancements, then you hereby grant the following
# license: a non-exclusive, royalty-free perpetual license to install, use, modify,
# prepare derivative works, incorporate into other computer software, distribute, and
# sublicense such enhancements or derivative works thereof, in binary and source code
# form.
# quality cutoff for rejecting bases as bad during kmer counting
# quality encoding is logarithmic, so the probability of an error is:
# cutoff 10: 10% chance
# cutoff 20: 1% chance
# cutoff 30: 0.1% chance
add_definitions(-DKCOUNT_QUAL_CUTOFF=20)
# if defined will filter out all kmers after a bad quality score (2) in the read
add_definitions(-DKCOUNT_FILTER_BAD_QUAL_IN_READ)
# false positive rate for bloom filter
add_definitions(-DKCOUNT_BLOOM_FP=0.05)
add_definitions(-DKCOUNT_NO_BLOOM_ADJUSTMENT_FACTOR=0.2)
add_definitions(-DKCOUNT_KMER_CACHE_FRACTION=0.2)
add_definitions(-DKCOUNT_KMER_CACHE_MAX_LOAD=0.8)
# dynamic min depth used in debruijn graph traversal
add_definitions(-DDYN_MIN_DEPTH=0.9)
# use minimizers for kcount and debruijn graph traversal
add_definitions(-DUSE_MINIMIZERS)
add_definitions(-DMINIMIZER_LEN=15)
# use depths calculated from kmers, not alignments
# add_definitions(-DUSE_KMER_DEPTHS)
# use colors in the output
add_definitions(-DCONFIG_USE_COLORS)
# use the bytell hash table implementation
add_definitions(-DUSE_BYTELL)
# max allowed alignments per read (to reduce overhead & imbalance) - set to 0 to have no limit
add_definitions(-DKLIGN_MAX_ALNS_PER_READ=20)
# limit on how many contigs to fetch for a read at a time - this is across all target ranks, so a form of buffering
add_definitions(-DKLIGN_CTG_FETCH_BUF_SIZE=1000000)
# decreasing this value increases the alignment computation time, and it may improve results slightly
add_definitions(-DKLIGN_SEED_SPACE=8)
# max number of unaligned bases to allow on the side of an alignment
add_definitions(-DKLIGN_UNALIGNED_THRES=1)
# the block size of alignments to be dispatched to the GPU
add_definitions(-DKLIGN_GPU_BLOCK_SIZE=20000)
# number of GPUs on nodes, for Summit = 6, Cori = 8
add_definitions(-DGPUS_PER_NODE=6)
# controls depth matching in cgraph
add_definitions(-DCGRAPH_DEPTH_DIFF_THRES=0.1)
add_definitions(-DCGRAPH_MAX_DEPTH_DIFF=15)
add_definitions(-DCGRAPH_MIN_DEPTH_DIFF=5)
# controls extent of search for matching depth in cgraph
add_definitions(-DCGRAPH_MAX_SEARCH_LEVEL=5)
add_definitions(-DCGRAPH_MAX_QUEUE_SIZE=100)
# max number of entries in vertex cache or in edge cache
add_definitions(-DCGRAPH_MAX_CACHE_SIZE=2000000)
# max allowed degree in contig graph
add_definitions(-DCGRAPH_MAX_DEGREE=100)
# threshold multiplier for best supported path over second best
add_definitions(-DCGRAPH_WALK_SUPPORT_THRES=3)
# Max number of mismatches allowed when closing gaps - any more than and the scaffold will be broken
add_definitions(-DCGRAPH_GAP_CLOSING_OVERLAP_MISMATCH_THRES=1)
# This should be a parameter - it is a good way of tuning errors vs ctgy - the higher it is, the higher the errors and ctgy
# The max permissible number of mismatches in the overlap when closing spans
# FIXME: should this be a parameter??
add_definitions(-DCGRAPH_SPAN_OVERLAP_MISMATCH_THRES=1)
# another good candidate for errors v ctgy tradeoff
# For alignments in gap closing: max number of mismatches allowed in the alignment
add_definitions(-DCGRAPH_MAX_MISMATCHES_THRES=3)
# Minimum contig length for computing TNF
add_definitions(-DCGRAPH_MIN_TNF_CLEN=1000)
# TNF probability threshold to choose one branch over another
add_definitions(-DCGRAPH_WALK_TNF_THRES=0.75)
# parameters for aligner
add_definitions(-DALN_MATCH_SCORE=1)
add_definitions(-DALN_MISMATCH_COST=1)
add_definitions(-DALN_GAP_OPENING_COST=1)
add_definitions(-DALN_GAP_EXTENDING_COST=1)
add_definitions(-DALN_AMBIGUITY_COST=1)
# previous defaults
# add_definitions(-DALN_MISMATCH_COST=3)
# add_definitions(-DALN_GAP_OPENING_COST=5)
# add_definitions(-DALN_GAP_EXTENDING_COST=2)
# add_definitions(-DALN_AMBIGUITY_COST=2)
# max and min kmer lengths for local assembly kmer walks
add_definitions(-DLASSM_MAX_KMER_LEN=121)
add_definitions(-DLASSM_MIN_KMER_LEN=21)
# size of shift in iterative kmer walks
add_definitions(-DLASSM_SHIFT_SIZE=8)
# minimum score for low quality base
add_definitions(-DLASSM_MIN_QUAL=10)
# minimum score for high quality base
add_definitions(-DLASSM_MIN_HI_QUAL=20)
# parameters for depth matching
add_definitions(-DLASSM_MIN_VIABLE_DEPTH=0.2)
add_definitions(-DLASSM_MIN_EXPECTED_DEPTH=0.3)
# for fork resolution
add_definitions(-DLASSM_RATING_THRES=0)
# limit to restrict the computational overhead
add_definitions(-DLASSM_MAX_COUNT_MERS_READS=3000)