New Upstream Snapshot - scrappie

Ready changes

Summary

Merged new upstream version: 1.4.2+git20220113.1.5ccddbc (was: 1.4.2).

Resulting package

Built on 2023-01-19T08:09 (took 22m16s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-snapshots scrappie-dbgsymapt install -t fresh-snapshots scrappie

Lintian Result

Diff

diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 5c7a87d..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-*~
-*.sw?
-build
-tags
-
-python/.eggs/
-python/dist/
-python/lib/
-python/venv
-python/libscrappy.abi3.so
-python/scrappy.egg-info/
-*.pyc
-__pycache__
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index 3ac3310..0000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,91 +0,0 @@
-#  Yaml CI config for Gitlab See. http://docs.gitlab.com/ce/ci/yaml/README.html
-#  Machine image on which to build, test etc
-image: ${IMAGE_HOST}/algorithm/scrappie_docker:14.04-latest
-
-variables:
-  REPO_DEVELOPMENT: "trusty-unstable"
-  REPO_STAGING:     "trusty-testing"
-  REPO_PRODUCTION:  "trusty-stable"
-  CI_VERSION_PATCH: $CI_BUILD_ID
-  BUILD_DIR:        "build"
-
-stages:
-  - build
-  - test
-  - publish
-
-
-building:
-  stage: build
-  script:
-      - mkdir ${BUILD_DIR} && (cd ${BUILD_DIR} && cmake .. && make && make package)
-  except:
-      #  Don't test tags (just branches)
-      #- tags
-  artifacts:
-    paths:
-      - ${BUILD_DIR}/*.deb
-      - ${BUILD_DIR}/scrappie
-      - ${BUILD_DIR}/scrappie_unittest
-      - ${BUILD_DIR}/libscrappie.so
-      - ${BUILD_DIR}/libscrappie.a
-      - ${BUILD_DIR}/Makefile
-      - ${BUILD_DIR}/CTestTestfile.cmake
-      - ${BUILD_DIR}/CMakeFiles/scrappie_test.dir/
-
-
-build-manylinux:
-    stage: build
-    image: docker-registry.oxfordnanolabs.local:5000/ont-base-docker
-    script:
-        - docker run --rm -v `pwd`:/io ontresearch/manylinux1_x86_64_openblas /io/python/build-wheels.sh
-    artifacts:
-        paths:
-          - python/wheelhouse/scrappie*.whl
-
-
-testing:
-  stage: test
-  script:
-      - cd ${BUILD_DIR} && make test
-  artifacts:
-    when: always
-    paths:
-      - ${BUILD_DIR}/Testing
-
-
-upload-development:
-  stage: publish
-  script:
-    - echo "$SSH_PRIVATE_KEY" > .privkey
-    - chmod 600 .privkey
-    - scp -o StrictHostKeyChecking=no -i .privkey ${BUILD_DIR}/*.deb ${REPO_HOST}:/var/www/apt/$REPO/
-  variables:
-    REPO: $REPO_DEVELOPMENT
-  only:
-    - dev
-
-
-upload-staging:
-  stage: publish
-  script:
-    - echo "$SSH_PRIVATE_KEY" > .privkey
-    - chmod 600 .privkey
-    - scp -o StrictHostKeyChecking=no -i .privkey ${BUILD_DIR}/*.deb ${REPO_HOST}:/var/www/apt/$REPO/
-  variables:
-    REPO: $REPO_STAGING
-  only:
-    - master
-
-
-upload-prod:
-  stage: publish
-  script:
-    - echo "$SSH_PRIVATE_KEY" > .privkey
-    - chmod 600 .privkey
-    - scp -o StrictHostKeyChecking=no -i .privkey ${BUILD_DIR}/*.deb ${REPO_HOST}:/var/www/apt/$REPO/
-  variables:
-    REPO: $REPO_PRODUCTION
-  only:
-    - /^release-\d+\.\d+(?:.\d+)?(?:-\d+)?$/ # use regexp
-
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index e69de29..0000000
diff --git a/ONT_logo.png b/ONT_logo.png
new file mode 100644
index 0000000..ae56c78
Binary files /dev/null and b/ONT_logo.png differ
diff --git a/README.md b/README.md
index 259ecd6..521f242 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,14 @@
+
+![ONT_logo](/ONT_logo.png)
+-----------------------------
+
+We have a new bioinformatic resource that largely replaces the functionality of this project! See our new repository here: [https://github.com/nanoporetech/bonito](https://github.com/nanoporetech/bonito)
+
+
+This repository is now unsupported and we do not recommend its use. Please contact Oxford Nanopore: support@nanoporetech.com for help with your application if it is not possible to upgrade to our new resources, or we are missing key features.
+
+******************
+
 # Scrappie basecaller
 
 Scrappie is a technology demonstrator for the Oxford Nanopore Research Algorithms group.
diff --git a/debian/changelog b/debian/changelog
index 5dd787a..d73e238 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+scrappie (1.4.2+git20220113.1.5ccddbc-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Thu, 19 Jan 2023 07:53:16 -0000
+
 scrappie (1.4.2-8) unstable; urgency=medium
 
   * Team upload.
diff --git a/debian/patches/simde.patch b/debian/patches/simde.patch
index 8d1cd48..3b435ad 100644
--- a/debian/patches/simde.patch
+++ b/debian/patches/simde.patch
@@ -1,5 +1,7 @@
---- a/interface/scrappie.h
-+++ b/interface/scrappie.h
+Index: scrappie.git/interface/scrappie.h
+===================================================================
+--- scrappie.git.orig/interface/scrappie.h
++++ scrappie.git/interface/scrappie.h
 @@ -5,7 +5,8 @@
  extern "C" {
  #    endif
@@ -10,8 +12,10 @@
  #    include <inttypes.h>
  #    include <stdbool.h>
  
---- a/src/scrappie_matrix.h
-+++ b/src/scrappie_matrix.h
+Index: scrappie.git/src/scrappie_matrix.h
+===================================================================
+--- scrappie.git.orig/src/scrappie_matrix.h
++++ scrappie.git/src/scrappie_matrix.h
 @@ -2,7 +2,8 @@
  #ifndef SCRAPPIE_MATRIX_H
  #    define SCRAPPIE_MATRIX_H
@@ -22,8 +26,10 @@
  #    include <stdbool.h>
  #    include <stdint.h>
  #    include <stdio.h>
---- a/src/sse_mathfun.h
-+++ b/src/sse_mathfun.h
+Index: scrappie.git/src/sse_mathfun.h
+===================================================================
+--- scrappie.git.orig/src/sse_mathfun.h
++++ scrappie.git/src/sse_mathfun.h
 @@ -38,9 +38,8 @@
  #pragma once
  #ifndef SSE_MATHFUN_H
@@ -49,7 +55,7 @@
  
  /* declare some SSE constants -- why can't I figure a better way to do that? */
  #define _PS_CONST(Name, Val)                                            \
-@@ -99,61 +93,24 @@
+@@ -99,61 +93,24 @@ _PS_CONST(cephes_log_p8, + 3.3333331174E
  _PS_CONST(cephes_log_q1, -2.12194440e-4);
  _PS_CONST(cephes_log_q2, 0.693359375);
  
@@ -111,7 +117,7 @@
  
    e = _mm_add_ps(e, one);
  
-@@ -224,11 +181,7 @@
+@@ -224,11 +181,7 @@ _PS_CONST(cephes_exp_p5, 5.0000001201E-1
  
  static inline __attribute__((__always_inline__)) v4sf exp_ps(v4sf x) {
    v4sf tmp = _mm_setzero_ps(), fx;
@@ -123,7 +129,7 @@
    v4sf one = *(v4sf*)_ps_1;
  
    x = _mm_min_ps(x, *(v4sf*)_ps_exp_hi);
-@@ -239,17 +192,9 @@
+@@ -239,17 +192,9 @@ static inline __attribute__((__always_in
    fx = _mm_add_ps(fx, *(v4sf*)_ps_0p5);
  
    /* how to perform a floorf with SSE: just below */
@@ -142,7 +148,7 @@
    /* if greater, substract 1 */
    v4sf mask = _mm_cmpgt_ps(tmp, fx);
    mask = _mm_and_ps(mask, one);
-@@ -278,24 +223,10 @@
+@@ -278,24 +223,10 @@ static inline __attribute__((__always_in
    y = _mm_add_ps(y, one);
  
    /* build 2^n */
@@ -167,7 +173,7 @@
    y = _mm_mul_ps(y, pow2n);
    return y;
  }
-@@ -342,12 +273,8 @@
+@@ -342,12 +273,8 @@ _PS_CONST(cephes_FOPI, 1.27323954473516)
  */
  static v4sf sin_ps(v4sf x) { // any x
    v4sf xmm1, xmm2 = _mm_setzero_ps(), xmm3, sign_bit, y;
@@ -181,7 +187,7 @@
    sign_bit = x;
    /* take the absolute value */
    x = _mm_and_ps(x, *(v4sf*)_ps_inv_sign_mask);
-@@ -357,7 +284,6 @@
+@@ -357,7 +284,6 @@ static v4sf sin_ps(v4sf x) { // any x
    /* scale by 4/Pi */
    y = _mm_mul_ps(x, *(v4sf*)_ps_cephes_FOPI);
  
@@ -189,7 +195,7 @@
    /* store the integer part of y in mm0 */
    emm2 = _mm_cvttps_epi32(y);
    /* j=(j+1) & (~1) (see the cephes sources) */
-@@ -381,34 +307,6 @@
+@@ -381,34 +307,6 @@ static v4sf sin_ps(v4sf x) { // any x
    v4sf poly_mask = _mm_castsi128_ps(emm2);
    sign_bit = _mm_xor_ps(sign_bit, swap_sign_bit);
  
@@ -224,7 +230,7 @@
    /* The magic pass: "Extended precision modular arithmetic"
       x = ((x - y * DP1) - y * DP2) - y * DP3; */
    xmm1 = *(v4sf*)_ps_minus_cephes_DP1;
-@@ -459,18 +357,14 @@
+@@ -459,18 +357,14 @@ static v4sf sin_ps(v4sf x) { // any x
  /* almost the same as sin_ps */
  static v4sf cos_ps(v4sf x) { // any x
    v4sf xmm1, xmm2 = _mm_setzero_ps(), xmm3, y;
@@ -244,7 +250,7 @@
    /* store the integer part of y in mm0 */
    emm2 = _mm_cvttps_epi32(y);
    /* j=(j+1) & (~1) (see the cephes sources) */
-@@ -489,43 +383,7 @@
+@@ -489,43 +383,7 @@ static v4sf cos_ps(v4sf x) { // any x
  
    v4sf sign_bit = _mm_castsi128_ps(emm0);
    v4sf poly_mask = _mm_castsi128_ps(emm2);
@@ -288,7 +294,7 @@
    /* The magic pass: "Extended precision modular arithmetic"
       x = ((x - y * DP1) - y * DP2) - y * DP3; */
    xmm1 = *(v4sf*)_ps_minus_cephes_DP1;
-@@ -578,11 +436,8 @@
+@@ -578,11 +436,8 @@ static v4sf cos_ps(v4sf x) { // any x
     it is almost as fast, and gives you a free cosine with your sine */
  static void sincos_ps(v4sf x, v4sf *s, v4sf *c) {
    v4sf xmm1, xmm2, xmm3 = _mm_setzero_ps(), sign_bit_sin, y;
@@ -301,7 +307,7 @@
    sign_bit_sin = x;
    /* take the absolute value */
    x = _mm_and_ps(x, *(v4sf*)_ps_inv_sign_mask);
-@@ -592,7 +447,6 @@
+@@ -592,7 +447,6 @@ static void sincos_ps(v4sf x, v4sf *s, v
    /* scale by 4/Pi */
    y = _mm_mul_ps(x, *(v4sf*)_ps_cephes_FOPI);
  
@@ -309,7 +315,7 @@
    /* store the integer part of y in emm2 */
    emm2 = _mm_cvttps_epi32(y);
  
-@@ -612,40 +466,6 @@
+@@ -612,40 +466,6 @@ static void sincos_ps(v4sf x, v4sf *s, v
    emm2 = _mm_and_si128(emm2, *(v4si*)_pi32_2);
    emm2 = _mm_cmpeq_epi32(emm2, _mm_setzero_si128());
    v4sf poly_mask = _mm_castsi128_ps(emm2);
@@ -350,7 +356,7 @@
  
    /* The magic pass: "Extended precision modular arithmetic"
       x = ((x - y * DP1) - y * DP2) - y * DP3; */
-@@ -659,23 +479,10 @@
+@@ -659,23 +479,10 @@ static void sincos_ps(v4sf x, v4sf *s, v
    x = _mm_add_ps(x, xmm2);
    x = _mm_add_ps(x, xmm3);
  
@@ -374,8 +380,10 @@
  
    sign_bit_sin = _mm_xor_ps(sign_bit_sin, swap_sign_bit_sin);
  
---- a/src/util.h
-+++ b/src/util.h
+Index: scrappie.git/src/util.h
+===================================================================
+--- scrappie.git.orig/src/util.h
++++ scrappie.git/src/util.h
 @@ -1,7 +1,9 @@
  #pragma once
  #ifndef UTIL_H
@@ -387,9 +395,11 @@
  #    include <math.h>
  #    include <stdbool.h>
  #    include <stdint.h>
---- a/python/build.py
-+++ b/python/build.py
-@@ -58,7 +58,7 @@
+Index: scrappie.git/python/build.py
+===================================================================
+--- scrappie.git.orig/python/build.py
++++ scrappie.git/python/build.py
+@@ -59,7 +59,7 @@ ffibuilder.set_source("libscrappy",
              scrappie_seq_helpers
              util'''.split()
      ],
@@ -398,8 +408,10 @@
  )
  
  with open('pyscrap.h', 'r') as fh:
---- a/src/decode.c
-+++ b/src/decode.c
+Index: scrappie.git/src/decode.c
+===================================================================
+--- scrappie.git.orig/src/decode.c
++++ scrappie.git/src/decode.c
 @@ -7,30 +7,6 @@
  #define NBASE 4
  #define BIG_FLOAT 1.e30f
@@ -431,9 +443,11 @@
  float viterbi_backtrace(float const *score, size_t n, const_scrappie_imatrix traceback, int * seq){
      RETURN_NULL_IF(NULL == score, NAN);
      RETURN_NULL_IF(NULL == seq, NAN);
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -94,9 +94,9 @@
+Index: scrappie.git/CMakeLists.txt
+===================================================================
+--- scrappie.git.orig/CMakeLists.txt
++++ scrappie.git/CMakeLists.txt
+@@ -94,9 +94,9 @@ endif ()
  ##
  #  Check whether compiler supports openmp.
  ##
@@ -446,8 +460,10 @@
  # Check for OpenMP support in compiler
  include (CheckCCompilerFlag)
  check_c_compiler_flag ("-fopenmp" HAS_OPENMP)
---- a/src/test/Makefile
-+++ b/src/test/Makefile
+Index: scrappie.git/src/test/Makefile
+===================================================================
+--- scrappie.git.orig/src/test/Makefile
++++ scrappie.git/src/test/Makefile
 @@ -1,6 +1,6 @@
  INCLUDE=-I..
  LIBRARY=-lblas -lm
diff --git a/python/build.py b/python/build.py
index 57a1c56..997d4b2 100644
--- a/python/build.py
+++ b/python/build.py
@@ -29,6 +29,7 @@ ffibuilder.set_source("libscrappy",
       #include "util.h"
       #include "scrappie_seq_helpers.h"
       #include "scrappie_matrix.h"
+      #include "event_detection.h"
 
       int get_raw_model_stride_from_string(const char * modelstr){
         // Obtain the model stride from its str name
@@ -73,6 +74,30 @@ typedef struct {
   float *raw;
 } raw_table;
 
+typedef struct {
+        uint64_t start;
+        float length;
+        float mean;
+        float stdv;
+        int pos;
+        int state;
+} event_t;
+
+typedef struct {
+        size_t n;
+        size_t start;
+        size_t end;
+        event_t *event;
+} event_table;
+
+typedef struct {
+    size_t window_length1;
+    size_t window_length2;
+    float threshold1;
+    float threshold2;
+    float peak_height;
+} detector_param;
+
 typedef struct {
   size_t nr, nrq, nc, stride;
   union {
diff --git a/python/pyscrap.h b/python/pyscrap.h
index e541358..76da639 100644
--- a/python/pyscrap.h
+++ b/python/pyscrap.h
@@ -60,3 +60,6 @@ float map_to_sequence_viterbi_banded(const_scrappie_matrix logpost,
 // Misc
 int * encode_bases_to_integers(char const * seq, size_t n, size_t state_len);
 int get_raw_model_stride_from_string(const char * modelstr);
+
+// Event
+event_table detect_events(raw_table const rt, detector_param const edparam);
diff --git a/src/scrappie_mappy.c b/src/scrappie_mappy.c
index a58355b..c77c853 100644
--- a/src/scrappie_mappy.c
+++ b/src/scrappie_mappy.c
@@ -22,7 +22,7 @@ extern const char *argp_program_bug_address;
 static char doc[] = "Scrappie squiggler";
 static char args_doc[] = "fasta fast5";
 static struct argp_option options[] = {
-    {"model", '1', "name", 0, "Squiggle model to use: \"squiggle_r94\", \"squiggle_r10\""},
+    {"model", 1, "name", 0, "Squiggle model to use: \"squiggle_r94\", \"squiggle_r94_rna\" or \"squiggle_r10\""},
     {"backprob", 'b', "probability", 0, "Probability of backwards movement"},
     {"skippen", 'k', "float", 0, "Penalty for skipping position"},
     {"localpen", 'l', "float", 0, "Penalty for local matching"},

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/lib/debug/.build-id/13/8e919542d6ac9d265bb2b72702ae90dc6b6e0e.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/48/9688d4eba53c931e9dbb38abd4bc19bdbb3da0.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/7a/05c2564a51240a3eb98601aaedde7fc44ec2ce.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/7a/3fbbe49d80f32145aeb49da05734f1749b2fd8.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/a1/78ebbcfd6bcf2245ada0f781d69863434bf6d6.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/b1/4272aaab9da4fb26a733b2d4be4514215e79e4.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/f1/3c1fbdad3c960b50e8f515d5a8cd16402d2b93.debug

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/lib/debug/.build-id/3f/5188c6517b385e9f48e3fb92c567996ecb5550.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/4c/34b3cc1705670018fd1c26e5ffe635e80ccb28.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/7d/dbffd912dbf84f2345fd7a474c0f9425679e5f.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/84/8880e3e80e0d99c0a4a2f298d14b3d933f6fb2.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/97/22718fd68db9241a508dda28ab3935217ba2e3.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/a0/1423ebf72214f6744044015017b51fa5a92372.debug
-rw-r--r--  root/root   /usr/lib/debug/.build-id/e7/38690e5217c7f699c886ce4f48940c37a26cfd.debug

No differences were encountered between the control files of package scrappie

Control files of package scrappie-dbgsym: lines which differ (wdiff format)

  • Build-Ids: 3f5188c6517b385e9f48e3fb92c567996ecb5550 4c34b3cc1705670018fd1c26e5ffe635e80ccb28 7ddbffd912dbf84f2345fd7a474c0f9425679e5f 848880e3e80e0d99c0a4a2f298d14b3d933f6fb2 9722718fd68db9241a508dda28ab3935217ba2e3 a01423ebf72214f6744044015017b51fa5a92372 e738690e5217c7f699c886ce4f48940c37a26cfd 138e919542d6ac9d265bb2b72702ae90dc6b6e0e 489688d4eba53c931e9dbb38abd4bc19bdbb3da0 7a05c2564a51240a3eb98601aaedde7fc44ec2ce 7a3fbbe49d80f32145aeb49da05734f1749b2fd8 a178ebbcfd6bcf2245ada0f781d69863434bf6d6 b14272aaab9da4fb26a733b2d4be4514215e79e4 f13c1fbdad3c960b50e8f515d5a8cd16402d2b93

More details

Full run details