Skip to content

Commit

Permalink
Release ropebwt3-3.8 (r248)
Browse files Browse the repository at this point in the history
  • Loading branch information
lh3 committed Oct 18, 2024
1 parent e55a3d2 commit 7a63b46
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 27 deletions.
19 changes: 19 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
Release 3.8-r248 (18 October 2024)
----------------------------------

Notable changes:

* Improvement: a faster algorithm to locate a subset of positions in a suffix
array interval. Given m highly similar genomes, the expected time is O(s/m)
where s is the suffix array sample rate.

* New feature: added option `mem -p` to optionally output a semi-random subset
of SMEM positions.

* New feature: added auxiliary script `rb3tools.js` for generating mappability
filter and for simple SNP calling.

(3.8: 18 October 2024, r248)



Release 3.7-r226 (17 September 2024)
------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion main.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "io.h"
#include "ketopt.h"

#define RB3_VERSION "3.7-r247-dirty"
#define RB3_VERSION "3.7-r248"

int main_build(int argc, char *argv[]);
int main_merge(int argc, char *argv[]);
Expand Down
52 changes: 26 additions & 26 deletions tex/ropebwt3.tex
Original file line number Diff line number Diff line change
Expand Up @@ -210,32 +210,32 @@ \subsection{Basic concepts}
{\bf (c)} The prefix directed acyclic word graph (DAWG) of $T$ by merging nodes with identical suffix array intervals.}\label{fig:1}
\end{figure}

\begin{algorithm}[tb]
\caption{A naive bwa-aln algorithm with PSSM}\label{algo:bwa-aln}
\begin{algorithmic}[1]
\Procedure{BwaAlnPSSM}{$B,P,s,g$}\Comment{$g$ is gap penalty}
\State $H\gets\mbox{empty heap prioritized on the 1st value}$
\State $H.{\rm push}(0,|P|,0,|T|)$
\While{$H$ is not empty}
\State $(p,i,l,h)\gets H.{\rm pop}()$\Comment{element with the smallest $p$}
\If{$i=0$}
\State \Return $[l,h)$\Comment{this is the best match}
\EndIf
\State $H.{\rm push}(p+g_{i-1},i-1,l,h)$\Comment{insertion}
\State $a\gets P[i-1]$
\For{$c\in\Sigma$}\Comment{match, mismatch or deletion}
\State $l'\gets C_B(c)+{\rm rank}_B(c,l)$\Comment{backward search}
\State $h'\gets C_B(c)+{\rm rank}_B(c,h)$
\If{$l'<h'$}\Comment{$[l',h')$ is a child of $[l,h)$}
\State $H.{\rm push}(p+s_i(a|c),i-1,l',h')$\Comment{(mis)match}
\State $H.{\rm push}(p+g_i,i,l',h')$\Comment{deletion}
\EndIf
\EndFor
\EndWhile
\State \Return $\emptyset$\Comment{no match}
\EndProcedure
\end{algorithmic}
\end{algorithm}
%\begin{algorithm}[tb]
% \caption{A naive bwa-aln algorithm with PSSM}\label{algo:bwa-aln}
% \begin{algorithmic}[1]
% \Procedure{BwaAlnPSSM}{$B,P,s,g$}\Comment{$g$ is gap penalty}
% \State $H\gets\mbox{empty heap prioritized on the 1st value}$
% \State $H.{\rm push}(0,|P|,0,|T|)$
% \While{$H$ is not empty}
% \State $(p,i,l,h)\gets H.{\rm pop}()$\Comment{element with the smallest $p$}
% \If{$i=0$}
% \State \Return $[l,h)$\Comment{this is the best match}
% \EndIf
% \State $H.{\rm push}(p+g_{i-1},i-1,l,h)$\Comment{insertion}
% \State $a\gets P[i-1]$
% \For{$c\in\Sigma$}\Comment{match, mismatch or deletion}
% \State $l'\gets C_B(c)+{\rm rank}_B(c,l)$\Comment{backward search}
% \State $h'\gets C_B(c)+{\rm rank}_B(c,h)$
% \If{$l'<h'$}\Comment{$[l',h')$ is a child of $[l,h)$}
% \State $H.{\rm push}(p+s_i(a|c),i-1,l',h')$\Comment{(mis)match}
% \State $H.{\rm push}(p+g_i,i,l',h')$\Comment{deletion}
% \EndIf
% \EndFor
% \EndWhile
% \State \Return $\emptyset$\Comment{no match}
% \EndProcedure
% \end{algorithmic}
%\end{algorithm}

%\begin{algorithm}[!b]
% \caption{Retrieve the $i$-th sequence, $0\le i<m$}\label{algo:get}
Expand Down

0 comments on commit 7a63b46

Please sign in to comment.