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
- scrappie-dbgsym_1.4.2+git20220113.1.5ccddbc-1~jan+nus2_amd64.deb
- scrappie_1.4.2+git20220113.1.5ccddbc-1~jan+nus2.dsc
- scrappie_1.4.2+git20220113.1.5ccddbc-1~jan+nus2_amd64.buildinfo
- scrappie_1.4.2+git20220113.1.5ccddbc-1~jan+nus2_amd64.deb
- scrappie_1.4.2+git20220113.1.5ccddbc-1~jan+nus2_amd64.changes
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