| 5063 | } |
| 5064 | |
| 5065 | public static ArrayList<Kmer> overlapAndConnect(ArrayList<Kmer> leftKmers, |
| 5066 | ArrayList<Kmer> rightKmers, |
| 5067 | BloomFilterDeBruijnGraph graph, |
| 5068 | int bound, |
| 5069 | int lookahead, |
| 5070 | int minOverlap, |
| 5071 | float maxCovGradient, |
| 5072 | int maxTipLen, |
| 5073 | int maxIndelLen, |
| 5074 | float minPercentIdentity, |
| 5075 | float minKmerCov) { |
| 5076 | |
| 5077 | // 1. Attempt simple overlap |
| 5078 | ArrayList<Kmer> fragmentKmers = overlap(leftKmers, rightKmers, graph, minOverlap, minKmerCov); |
| 5079 | |
| 5080 | if (fragmentKmers == null) { |
| 5081 | |
| 5082 | fragmentKmers = join(graph, leftKmers, rightKmers, bound, lookahead, maxCovGradient, |
| 5083 | maxTipLen, maxIndelLen, minPercentIdentity, minKmerCov); |
| 5084 | // fragmentKmers = getSimilarCoveragePath(graph, leftKmers, rightKmers, bound, lookahead, maxCovGradient, false); |
| 5085 | // ArrayDeque<Kmer> connectedPath = getMaxCoveragePath(graph, leftLastKmer, rightFirstKmer, bound, lookahead); |
| 5086 | |
| 5087 | } |
| 5088 | |
| 5089 | return fragmentKmers; |
| 5090 | } |
| 5091 | |
| 5092 | public static ArrayList<Kmer> connect(final ArrayList<Kmer> leftKmers, |
| 5093 | final ArrayList<Kmer> rightKmers, |