rbbt-util 5.21.45 → 5.21.46
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/tsv/parallel/traverse.rb +1 -1
- data/lib/rbbt/tsv/serializers.rb +19 -4
- data/share/Rlib/util.R +24 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1842f04355fb68456343e2efd33e3f91a392b087
|
4
|
+
data.tar.gz: f900fd25199c8ea1e115288ae19419a076a7b295
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5acb1a420921a7929890ca011e7e40dc8bea24dde6f8d722bc97306050e70f1220c6688cd00a7c2b5ecc1ce351a8fed55458e8e62d280be9bc0de7fa49a3601
|
7
|
+
data.tar.gz: 606c4d21d9c52b3f466cc8f0c6dfef007fd755dffe051d99dba04dc296e8479e99b1a241cf03adaede913b78bee3732109ecc81cbb04edfcf5a0de72eebf2104
|
data/lib/rbbt/tsv/serializers.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
module TSV
|
2
2
|
|
3
|
+
|
3
4
|
class CleanSerializer
|
4
5
|
def self.dump(o); o end
|
5
6
|
def self.load(o); o end
|
@@ -15,14 +16,26 @@ module TSV
|
|
15
16
|
def self.load(str); str.unpack("d").first; end
|
16
17
|
end
|
17
18
|
|
18
|
-
class
|
19
|
+
class StrictIntegerArraySerializer
|
19
20
|
def self.dump(a); a.pack("l*"); end
|
20
|
-
def self.load(str); str.unpack("l*"); end
|
21
|
+
def self.load(str); a = str.unpack("l*"); end
|
21
22
|
end
|
22
23
|
|
23
|
-
class
|
24
|
+
class StrictFloatArraySerializer
|
24
25
|
def self.dump(a); a.pack("d*"); end
|
25
|
-
def self.load(str); str.unpack("d*"); end
|
26
|
+
def self.load(str); a = str.unpack("d*"); end
|
27
|
+
end
|
28
|
+
|
29
|
+
class IntegerArraySerializer
|
30
|
+
NIL_INT = -999
|
31
|
+
def self.dump(a); a.collect{|v| v || NIL_INT}.pack("l*"); end
|
32
|
+
def self.load(str); a = str.unpack("l*"); a.collect{|v| v == NIL_INT ? nil : v}; end
|
33
|
+
end
|
34
|
+
|
35
|
+
class FloatArraySerializer
|
36
|
+
NIL_FLOAT = -999.999
|
37
|
+
def self.dump(a); a.collect{|v| v || NIL_FLOAT}.pack("d*"); end
|
38
|
+
def self.load(str); a = str.unpack("d*"); a.collect{|v| v == NIL_FLOAT ? nil : v}; end
|
26
39
|
end
|
27
40
|
|
28
41
|
class StringSerializer
|
@@ -78,6 +91,8 @@ module TSV
|
|
78
91
|
:float => FloatSerializer,
|
79
92
|
:integer_array => IntegerArraySerializer,
|
80
93
|
:float_array => FloatArraySerializer,
|
94
|
+
:strict_integer_array => StrictIntegerArraySerializer,
|
95
|
+
:strict_float_array => StrictFloatArraySerializer,
|
81
96
|
:marshal => Marshal,
|
82
97
|
:single => StringSerializer,
|
83
98
|
:string => StringSerializer,
|
data/share/Rlib/util.R
CHANGED
@@ -513,3 +513,27 @@ rbbt.ranks <- function(x){
|
|
513
513
|
rbbt.default_code <- function(organism){
|
514
514
|
return(organism + "/feb2014")
|
515
515
|
}
|
516
|
+
|
517
|
+
# Adapted from
|
518
|
+
# http://stackoverflow.com/questions/27418461/calculate-the-modes-in-a-multimodal-distribution-in-r
|
519
|
+
# by http://stackoverflow.com/users/6388753/ferroao
|
520
|
+
rbbt.get.modes <- function(x,bw = NULL,spar = NULL) {
|
521
|
+
if (is.null(bw)) bw = bw.nrd0(x);
|
522
|
+
if (is.null(spar)) spar = 0.1;
|
523
|
+
|
524
|
+
den <- density(x, kernel=c("gaussian"),bw=bw)
|
525
|
+
den.s <- smooth.spline(den$x, den$y, all.knots=TRUE, spar=spar)
|
526
|
+
s.1 <- predict(den.s, den.s$x, deriv=1)
|
527
|
+
s.0 <- predict(den.s, den.s$x, deriv=0)
|
528
|
+
den.sign <- sign(s.1$y)
|
529
|
+
a<-c(1,1+which(diff(den.sign)!=0))
|
530
|
+
b<-rle(den.sign)$values
|
531
|
+
df<-data.frame(a,b)
|
532
|
+
df = df[which(df$b %in% -1),]
|
533
|
+
modes<-s.1$x[df$a]
|
534
|
+
density<-s.0$y[df$a]
|
535
|
+
df2<-data.frame(modes,density)
|
536
|
+
df2<-df2[with(df2, order(-density)), ] # ordered by density
|
537
|
+
df2
|
538
|
+
}
|
539
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.21.
|
4
|
+
version: 5.21.46
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|