mirror of
https://github.com/metabarcoding/obitools4.git
synced 2026-11-09 09:24:41 +00:00
Refactor similarity engine and implement parallel clustering
Introduces parallel processing for clustering, refines scoring mechanisms, and expands test coverage for the alignment functionality. This change introduces parallel processing capabilities within the clustering logic, updates the core similarity engine with new data structures and scoring methods, and implements a comprehensive test suite for the alignment tool. It also adds new command-line options for configuring alignment parameters and reference lengths.
This commit is contained in:
1 parent
49225030ca
commit
e511650f5b
61 files changed
+13397
-801
No files matched your search
@@ -62,8 +62,9 @@ func bandedLCSAtLeast(a, b []byte, minLCS int, ws *bandedLCSWorkspace, useSIMD b
|
||||
}
|
||||
|
||||
// The score alone is much cheaper than the score with the length of the
|
||||
// alignment: the latter is only computed when the pair reaches minLCS.
|
||||
if lcsScoreSIMD(a, b, kmin, kmax, minLCS, ws) < minLCS {
|
||||
// alignment: the latter is only computed when the pair reaches minLCS. With
|
||||
// no minimum there is nothing to reject, and the pass would be wasted.
|
||||
if minLCS > 0 && lcsScoreSIMD(a, b, kmin, kmax, minLCS, ws) < minLCS {
|
||||
return -1, -1
|
||||
}
|
||||
encodeBases(ws, a, b)
|
||||
|
||||
@@ -48,6 +48,14 @@ func ReadSequencesBatchFromFiles(filenames []string,
|
||||
|
||||
log.Printf("Start reading of file : %s", filename)
|
||||
|
||||
// The batches of a file reach us in any order (parallel parsing
|
||||
// of the headers). They are numbered here in arrival order, so
|
||||
// the order of the file must be restored first, unless the
|
||||
// order of the data is not wanted (several concurrent readers).
|
||||
if concurrent_readers == 1 {
|
||||
iter = iter.SortBatches()
|
||||
}
|
||||
|
||||
for iter.Next() {
|
||||
batch := iter.Get()
|
||||
batchiter.Push(batch.Reorder(nextCounter()))
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package obiformats
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// With a single reader, the sequences of several files must come out in the
|
||||
// order of the files, whatever the order in which the batches are parsed.
|
||||
func TestReadSequencesBatchFromFilesKeepsOrder(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
var names []string
|
||||
for _, prefix := range []string{"a", "b"} {
|
||||
var sb strings.Builder
|
||||
for i := 0; i < 25000; i++ {
|
||||
fmt.Fprintf(&sb, ">%s%07d {\"k\":%d}\n%s\n", prefix, i, i, strings.Repeat("acgt", 40))
|
||||
}
|
||||
name := filepath.Join(dir, prefix+".fasta")
|
||||
if err := os.WriteFile(name, []byte(sb.String()), 0o600); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
names = append(names, name)
|
||||
}
|
||||
|
||||
it := ReadSequencesBatchFromFiles(names, nil, 1)
|
||||
_, db := it.Load()
|
||||
if len(db) != 50000 {
|
||||
t.Fatalf("expected 50000 sequences, got %d", len(db))
|
||||
}
|
||||
for i := 1; i < len(db); i++ {
|
||||
if db[i-1].Id() >= db[i].Id() {
|
||||
t.Fatalf("out of order at %d: %s then %s", i, db[i-1].Id(), db[i].Id())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package obiclust
|
||||
package obisimilarity
|
||||
|
||||
// A block stores the 4-mer tables of a few centers, transposed: the counter
|
||||
// A block stores the 4-mer tables of a few sequences, transposed: the counter
|
||||
// of the word w for the lane j is data[w*width+j]. A vector instruction then
|
||||
// handles the same word for all the centers of the block, and only the words
|
||||
// handles the same word for all the sequences of the block, and only the words
|
||||
// that a sequence contains (a hundred for a short amplicon, out of 256) need
|
||||
// to be visited to compare it with all the centers of the block.
|
||||
// to be visited to compare it with all the sequences of the block.
|
||||
type tableBlock struct {
|
||||
data []uint8
|
||||
}
|
||||
@@ -14,9 +14,9 @@ func newTableBlock(width int) tableBlock {
|
||||
}
|
||||
|
||||
// set stores the table t as the lane `lane` of the block.
|
||||
func (b *tableBlock) set(width, lane int, t *table4) {
|
||||
for w := range t.count {
|
||||
b.data[w*width+lane] = t.count[w]
|
||||
func (b *tableBlock) set(width, lane int, t *Table4) {
|
||||
for w := range t.Count {
|
||||
b.data[w*width+lane] = t.Count[w]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,14 +26,14 @@ func (b *tableBlock) common(width int, words []uint16, out []uint8) {
|
||||
blockCommon(b.data, width, words, out)
|
||||
}
|
||||
|
||||
// sparseWords lists the words of a table as w<<8|count, so that the visit of
|
||||
// SparseWords lists the words of a table as w<<8|count, so that the visit of
|
||||
// a block only goes through the words present in the sequence. nil is
|
||||
// returned when the counters add up to more than 255, which would overflow the
|
||||
// 8-bit sums of the blocks.
|
||||
func sparseWords(t *table4) []uint16 {
|
||||
func SparseWords(t *Table4) []uint16 {
|
||||
words := make([]uint16, 0, 128)
|
||||
mass := 0
|
||||
for w, c := range t.count {
|
||||
for w, c := range t.Count {
|
||||
if c > 0 {
|
||||
words = append(words, uint16(w)<<8|uint16(c))
|
||||
mass += int(c)
|
||||
@@ -1,10 +1,10 @@
|
||||
//go:build !goexperiment.simd
|
||||
|
||||
package obiclust
|
||||
package obisimilarity
|
||||
|
||||
// simdBlockWidth is 0 without SIMD: the blocks are not used.
|
||||
func simdBlockWidth() int { return 0 }
|
||||
|
||||
func blockCommon(data []uint8, width int, words []uint16, out []uint8) {
|
||||
panic("obiclust: blocks of tables require GOEXPERIMENT=simd")
|
||||
panic("obisimilarity: blocks of tables require GOEXPERIMENT=simd")
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
//go:build goexperiment.simd
|
||||
|
||||
package obiclust
|
||||
package obisimilarity
|
||||
|
||||
import "simd"
|
||||
|
||||
// simdBlockWidth is the number of centers in a block: one per lane of a
|
||||
// simdBlockWidth is the number of sequences in a block: one per lane of a
|
||||
// vector of bytes.
|
||||
func simdBlockWidth() int {
|
||||
var probe simd.Uint8s
|
||||
@@ -14,7 +14,7 @@ func simdBlockWidth() int {
|
||||
// blockCommon computes, for the sequence whose words are given, the sum of
|
||||
// the minima of the counters with every lane of the block. It is the value of
|
||||
// commonWords without the overflow term, as the sums fit in 8 bits (see
|
||||
// sparseWords). out must hold at least `width` bytes.
|
||||
// SparseWords). out must hold at least `width` bytes.
|
||||
func blockCommon(data []uint8, width int, words []uint16, out []uint8) {
|
||||
acc := simd.BroadcastUint8s(0)
|
||||
for _, e := range words {
|
||||
@@ -0,0 +1,95 @@
|
||||
package obisimilarity
|
||||
|
||||
import (
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
)
|
||||
|
||||
// Entry is a distinct sequence of a dataset, with what the comparisons need.
|
||||
type Entry struct {
|
||||
Seq []byte
|
||||
Length int
|
||||
Count int // count of the sequence (cumulated for identical sequences)
|
||||
Table *Table4
|
||||
Sparse []uint16 // words of the table (see SparseWords), nil if unusable
|
||||
// Ambiguous sequences contain IUPAC letters other than a, c, g and t: they
|
||||
// have no 4-mer table, and the filter does not apply to them.
|
||||
Ambiguous bool
|
||||
}
|
||||
|
||||
const (
|
||||
notNucleotide = iota
|
||||
plainNucleotide
|
||||
ambiguousNucleotide
|
||||
)
|
||||
|
||||
var nucleotideClass = func() (t [256]uint8) {
|
||||
for _, c := range "acgt" {
|
||||
t[c] = plainNucleotide
|
||||
}
|
||||
for _, c := range "umrwsykvhdbn" {
|
||||
t[c] = ambiguousNucleotide
|
||||
}
|
||||
return t
|
||||
}()
|
||||
|
||||
// Classify tells if a sequence (in lower case) can be compared. It returns
|
||||
// ok=false for an empty sequence and for a sequence with anything else than
|
||||
// IUPAC letters; IUPAC letters other than a, c, g and t are only accepted if
|
||||
// acceptAmbiguous is set, and then ambiguous is true.
|
||||
func Classify(s []byte, acceptAmbiguous bool) (ok, ambiguous bool) {
|
||||
if len(s) == 0 {
|
||||
return false, false
|
||||
}
|
||||
for _, c := range s {
|
||||
switch nucleotideClass[c] {
|
||||
case notNucleotide:
|
||||
return false, false
|
||||
case ambiguousNucleotide:
|
||||
if !acceptAmbiguous {
|
||||
return false, false
|
||||
}
|
||||
ambiguous = true
|
||||
}
|
||||
}
|
||||
return true, ambiguous
|
||||
}
|
||||
|
||||
// BuildEntries describes n sequences, their 4-mer tables being computed in
|
||||
// parallel. get returns the sequence i, its count, and whether it is
|
||||
// ambiguous. The tables are stored contiguously.
|
||||
func BuildEntries(n int, get func(i int) (seq []byte, count int, ambiguous bool), workers int) []Entry {
|
||||
entries := make([]Entry, n)
|
||||
tables := make([]Table4, n)
|
||||
|
||||
var next atomic.Int64
|
||||
var wg sync.WaitGroup
|
||||
for w := 0; w < max(workers, 1); w++ {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
for {
|
||||
i := int(next.Add(1)) - 1
|
||||
if i >= n {
|
||||
return
|
||||
}
|
||||
seq, count, ambiguous := get(i)
|
||||
var sparse []uint16
|
||||
if !ambiguous {
|
||||
tables[i].Fill(seq)
|
||||
sparse = SparseWords(&tables[i])
|
||||
}
|
||||
entries[i] = Entry{
|
||||
Seq: seq,
|
||||
Length: len(seq),
|
||||
Count: count,
|
||||
Table: &tables[i],
|
||||
Sparse: sparse,
|
||||
Ambiguous: ambiguous,
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
wg.Wait()
|
||||
return entries
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package obisimilarity
|
||||
|
||||
import "sort"
|
||||
|
||||
// Member is a copy of the entry of a sequence in an Index, with its own table.
|
||||
type Member struct {
|
||||
Entry
|
||||
ID int // identifier given by the caller
|
||||
Rank int // rank in the order of insertion
|
||||
}
|
||||
|
||||
const tabChunk = 1024
|
||||
|
||||
// A Bucket holds the members of one length, in the order of insertion, and
|
||||
// their tables by blocks (see tableBlock).
|
||||
type Bucket struct {
|
||||
Members []Member
|
||||
blocks []tableBlock
|
||||
width int
|
||||
}
|
||||
|
||||
// Commons caches the result of the filter on one block of a bucket.
|
||||
type Commons struct {
|
||||
v [64]uint8
|
||||
blk int
|
||||
}
|
||||
|
||||
// Reset must be called when changing of bucket.
|
||||
func (c *Commons) Reset() { c.blk = -1 }
|
||||
|
||||
// Common returns the sum of the minima of the 4-mer counters of the sequence
|
||||
// whose Sparse words are given and of the member k of the bucket (without the
|
||||
// overflow term), or -1 if it is not available, in which case PairScore
|
||||
// computes it.
|
||||
func (b *Bucket) Common(k int, sparse []uint16, c *Commons) int {
|
||||
if b.width == 0 || sparse == nil {
|
||||
return -1
|
||||
}
|
||||
if blk := k / b.width; blk != c.blk {
|
||||
b.blocks[blk].common(b.width, sparse, c.v[:])
|
||||
c.blk = blk
|
||||
}
|
||||
return int(c.v[k%b.width])
|
||||
}
|
||||
|
||||
// Index stores sequences by length. A sequence can only be similar to the ones
|
||||
// whose length is compatible with its own (see Scoring.LengthCompatible), so
|
||||
// it only visits the buckets of these lengths, instead of all the sequences,
|
||||
// and the filter works on blocks of sequences at once.
|
||||
//
|
||||
// An Index can grow, but not while it is read.
|
||||
type Index struct {
|
||||
width int // sequences per block of transposed tables, 0 if unused
|
||||
byLen map[int]*Bucket
|
||||
lens []int // lengths that have a bucket, increasing
|
||||
tabs [][]Table4 // chunks holding the tables of the members
|
||||
n int
|
||||
}
|
||||
|
||||
// NewIndex returns an empty index.
|
||||
func NewIndex() *Index {
|
||||
return &Index{width: simdBlockWidth(), byLen: make(map[int]*Bucket)}
|
||||
}
|
||||
|
||||
// Len is the number of sequences in the index.
|
||||
func (x *Index) Len() int { return x.n }
|
||||
|
||||
// Lengths returns the lengths that have a bucket, in increasing order.
|
||||
func (x *Index) Lengths() []int { return x.lens }
|
||||
|
||||
// Bucket returns the bucket of the sequences of the given length.
|
||||
func (x *Index) Bucket(length int) *Bucket { return x.byLen[length] }
|
||||
|
||||
// Add stores a copy of the entry e as the next member of the index, with the
|
||||
// identifier id, and returns it.
|
||||
func (x *Index) Add(e Entry, id int) Member {
|
||||
if x.n%tabChunk == 0 {
|
||||
x.tabs = append(x.tabs, make([]Table4, tabChunk))
|
||||
}
|
||||
tab := &x.tabs[len(x.tabs)-1][x.n%tabChunk]
|
||||
if e.Table != nil {
|
||||
*tab = *e.Table
|
||||
}
|
||||
e.Table = tab
|
||||
|
||||
b := x.byLen[e.Length]
|
||||
if b == nil {
|
||||
b = &Bucket{width: x.width}
|
||||
x.byLen[e.Length] = b
|
||||
x.lens = append(x.lens, e.Length)
|
||||
sort.Ints(x.lens)
|
||||
}
|
||||
if w := x.width; w > 0 && !e.Ambiguous {
|
||||
if len(b.Members)%w == 0 {
|
||||
b.blocks = append(b.blocks, newTableBlock(w))
|
||||
}
|
||||
b.blocks[len(b.blocks)-1].set(w, len(b.Members)%w, tab)
|
||||
} else if w > 0 && len(b.Members)%w == 0 {
|
||||
b.blocks = append(b.blocks, newTableBlock(w))
|
||||
}
|
||||
|
||||
m := Member{Entry: e, ID: id, Rank: x.n}
|
||||
b.Members = append(b.Members, m)
|
||||
x.n++
|
||||
return m
|
||||
}
|
||||
@@ -0,0 +1,233 @@
|
||||
package obisimilarity
|
||||
|
||||
import (
|
||||
"math/rand"
|
||||
"testing"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
)
|
||||
|
||||
func randomSeq(rng *rand.Rand, n int, alpha string) []byte {
|
||||
s := make([]byte, n)
|
||||
for i := range s {
|
||||
s[i] = alpha[rng.Intn(len(alpha))]
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
// commonWordsRef is the definition of commonWords, spelled out.
|
||||
func commonWordsRef(t1, t2 *Table4) int {
|
||||
total := 0
|
||||
for i := range t1.Count {
|
||||
total += int(min(t1.Count[i], t2.Count[i]))
|
||||
}
|
||||
return total + min(t1.Overflow, t2.Overflow)
|
||||
}
|
||||
|
||||
func TestCommonWords(t *testing.T) {
|
||||
rng := rand.New(rand.NewSource(3))
|
||||
for it := 0; it < 3000; it++ {
|
||||
alpha := []string{"acgt", "ac", "a"}[it%3]
|
||||
t1 := NewTable4(randomSeq(rng, rng.Intn(1200), alpha))
|
||||
t2 := NewTable4(randomSeq(rng, rng.Intn(1200), alpha))
|
||||
if got, want := commonWords(t1, t2), commonWordsRef(t1, t2); got != want {
|
||||
t.Fatalf("commonWords = %d, want %d", got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestNewTable4 checks the table against the 4-mers counted the long way,
|
||||
// including the saturation of the counters.
|
||||
func TestNewTable4(t *testing.T) {
|
||||
code := map[byte]int{'a': 0, 'c': 1, 't': 2, 'g': 3}
|
||||
rng := rand.New(rand.NewSource(4))
|
||||
for it := 0; it < 500; it++ {
|
||||
alpha := []string{"acgt", "a", "ac"}[it%3]
|
||||
s := randomSeq(rng, rng.Intn(900), alpha)
|
||||
var counts [256]int
|
||||
for i := 0; i+4 <= len(s); i++ {
|
||||
w := 0
|
||||
for _, c := range s[i : i+4] {
|
||||
w = w<<2 | code[c]
|
||||
}
|
||||
counts[w]++
|
||||
}
|
||||
tab := NewTable4(s)
|
||||
over := 0
|
||||
for w, c := range counts {
|
||||
if c > 255 {
|
||||
over += c - 255
|
||||
c = 255
|
||||
}
|
||||
if int(tab.Count[w]) != c {
|
||||
t.Fatalf("word %d: got %d, want %d", w, tab.Count[w], c)
|
||||
}
|
||||
}
|
||||
if tab.Overflow != over {
|
||||
t.Fatalf("overflow = %d, want %d", tab.Overflow, over)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestBlockCommon checks the sums of a block of transposed tables against
|
||||
// commonWords.
|
||||
func TestBlockCommon(t *testing.T) {
|
||||
width := simdBlockWidth()
|
||||
if width == 0 {
|
||||
t.Skip("blocks of tables are used with GOEXPERIMENT=simd only")
|
||||
}
|
||||
rng := rand.New(rand.NewSource(8))
|
||||
for it := 0; it < 200; it++ {
|
||||
alpha := []string{"acgt", "ac", "a"}[it%3]
|
||||
block := newTableBlock(width)
|
||||
tabs := make([]*Table4, width)
|
||||
for j := range tabs {
|
||||
tabs[j] = NewTable4(randomSeq(rng, rng.Intn(600), alpha))
|
||||
block.set(width, j, tabs[j])
|
||||
}
|
||||
q := NewTable4(randomSeq(rng, rng.Intn(260), alpha))
|
||||
words := SparseWords(q)
|
||||
if words == nil {
|
||||
continue
|
||||
}
|
||||
out := make([]uint8, 64)
|
||||
block.common(width, words, out)
|
||||
for j, tab := range tabs {
|
||||
want := commonWordsRef(q, tab) - min(q.Overflow, tab.Overflow)
|
||||
if int(out[j]) != want {
|
||||
t.Fatalf("lane %d: %d, want %d", j, out[j], want)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestClassify(t *testing.T) {
|
||||
cases := []struct {
|
||||
in string
|
||||
accept bool
|
||||
kept bool
|
||||
ambiguous bool
|
||||
}{
|
||||
{"acgt", false, true, false}, {"acgt", true, true, false},
|
||||
{"acgtn", false, false, false}, {"acgtn", true, true, true},
|
||||
{"acgtx", true, false, false}, {"nacgt", false, false, false},
|
||||
{"acgt-", true, false, false}, {"acgu", true, true, true},
|
||||
{"ACGT", true, false, false}, {"", true, false, false},
|
||||
{"rykmswbdhvn", true, true, true}, {"rykmswbdhvn", false, false, false},
|
||||
}
|
||||
for _, c := range cases {
|
||||
kept, amb := Classify([]byte(c.in), c.accept)
|
||||
if kept != c.kept || amb != c.ambiguous {
|
||||
t.Errorf("Classify(%q, %v) = (%v, %v), want kept=%v ambiguous=%v", c.in, c.accept, kept, amb, c.kept, c.ambiguous)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func randomEntries(rng *rand.Rand, n int) []Entry {
|
||||
return BuildEntries(n, func(int) ([]byte, int, bool) {
|
||||
return randomSeq(rng, 8+rng.Intn(80), "acgt"), 1 + rng.Intn(20), false
|
||||
}, 2)
|
||||
}
|
||||
|
||||
// TestLengthTable checks that the values precomputed by length give the
|
||||
// scores of the direct computation, in every mode.
|
||||
func TestLengthTable(t *testing.T) {
|
||||
rng := rand.New(rand.NewSource(33))
|
||||
// sequences made of the same few roots, so that many pairs are similar
|
||||
roots := [][]byte{randomSeq(rng, 70, "acgt"), randomSeq(rng, 55, "acgt")}
|
||||
entries := BuildEntries(120, func(i int) ([]byte, int, bool) {
|
||||
var s []byte
|
||||
for _, c := range roots[i%2] {
|
||||
switch r := rng.Intn(30); {
|
||||
case r == 0:
|
||||
s = append(s, "acgt"[rng.Intn(4)])
|
||||
case r == 1:
|
||||
default:
|
||||
s = append(s, c)
|
||||
}
|
||||
}
|
||||
if i < 20 { // very short sequences skip the filter
|
||||
s = s[:8+rng.Intn(10)]
|
||||
}
|
||||
return s, 1 + rng.Intn(20), false
|
||||
}, 2)
|
||||
|
||||
var buf obialign.BandedLCSBuffer
|
||||
for _, ref := range []Reference{RefAlignment, RefLongest, RefShortest} {
|
||||
for _, p := range []Params{
|
||||
{Threshold: 0.9, Normalized: true},
|
||||
{Threshold: 0.8, Normalized: true, Distance: true},
|
||||
{Threshold: 30},
|
||||
{Threshold: 6, Distance: true},
|
||||
{Normalized: true}, // no threshold
|
||||
} {
|
||||
p.Reference, p.Ratio = ref, 3
|
||||
table, err := NewScoring(p, entries)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
direct := *table
|
||||
direct.byLength = nil // forces the direct computation
|
||||
if (ref == RefShortest) != (table.byLength == nil) {
|
||||
t.Fatalf("ref %v: table presence is wrong", ref)
|
||||
}
|
||||
for i := range entries {
|
||||
for j := range entries {
|
||||
a, aok := direct.PairScore(&entries[i], &entries[j], -1, &buf)
|
||||
b, bok := table.PairScore(&entries[i], &entries[j], -1, &buf)
|
||||
if a != b || aok != bok {
|
||||
t.Fatalf("ref %v params %+v pair %d,%d: (%v,%v) with the table, (%v,%v) directly", ref, p, i, j, b, bok, a, aok)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestIndexCommon checks that the filter computed by blocks gives the same
|
||||
// scores as the direct computation, for every pair, whatever the order the
|
||||
// members are read in.
|
||||
func TestIndexCommon(t *testing.T) {
|
||||
rng := rand.New(rand.NewSource(7))
|
||||
entries := randomEntries(rng, 150)
|
||||
sc, err := NewScoring(Params{Threshold: 0.6, Normalized: true, Reference: RefAlignment, Ratio: 100}, entries)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
index := NewIndex()
|
||||
for i := range entries {
|
||||
index.Add(entries[i], i)
|
||||
}
|
||||
if index.Len() != len(entries) {
|
||||
t.Fatalf("Len = %d", index.Len())
|
||||
}
|
||||
|
||||
var buf obialign.BandedLCSBuffer
|
||||
var commons Commons
|
||||
for i := range entries {
|
||||
q := &entries[i]
|
||||
for _, length := range index.Lengths() {
|
||||
b := index.Bucket(length)
|
||||
commons.Reset()
|
||||
for k := len(b.Members) - 1; k >= 0; k-- { // backwards: blocks are not read in order
|
||||
m := &b.Members[k]
|
||||
got, gok := sc.PairScore(q, &m.Entry, b.Common(k, q.Sparse, &commons), &buf)
|
||||
want, wok := sc.PairScore(q, &entries[m.ID], -1, &buf)
|
||||
if got != want || gok != wok {
|
||||
t.Fatalf("pair %d,%d: (%v,%v) with the blocks, (%v,%v) directly", i, m.ID, got, gok, want, wok)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestNewScoringChecks(t *testing.T) {
|
||||
for _, p := range []Params{{Threshold: -1}, {Threshold: 1.5, Normalized: true}} {
|
||||
if _, err := NewScoring(p, nil); err == nil {
|
||||
t.Errorf("%+v must be rejected", p)
|
||||
}
|
||||
}
|
||||
if _, err := NewScoring(Params{Threshold: 12}, nil); err != nil {
|
||||
t.Errorf("a raw threshold above 1 is valid: %v", err)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,284 @@
|
||||
package obisimilarity
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"math"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// Reference is the length used to normalize a score (or to express a raw
|
||||
// distance): the alignment length, the longest or the shortest sequence.
|
||||
type Reference int
|
||||
|
||||
const (
|
||||
RefAlignment Reference = iota
|
||||
RefLongest
|
||||
RefShortest
|
||||
)
|
||||
|
||||
// Params describe how a pair of sequences is scored and compared to a threshold.
|
||||
type Params struct {
|
||||
// Threshold: with a normalized similarity an identity (0.95 for 95%), with
|
||||
// a normalized distance 1 - identity, with a raw similarity the length of
|
||||
// the LCS, with a raw distance the number of differences with the
|
||||
// reference length. 0 means no threshold: all the pairs are reported.
|
||||
Threshold float64
|
||||
Normalized bool // the score is divided by the reference length
|
||||
Distance bool // the score is a distance, not a similarity
|
||||
Reference Reference
|
||||
// Ratio is the maximum ratio between the counts of a sequence and of the
|
||||
// one it is compared to (clustering only): a larger ratio gives no match.
|
||||
Ratio float64
|
||||
}
|
||||
|
||||
// Scoring scores the pairs of sequences and decides whether they pass the
|
||||
// threshold. It must not be modified once built.
|
||||
type Scoring struct {
|
||||
threshold float64 // threshold as used for the comparison (1 - t for a normalized distance)
|
||||
normalize bool
|
||||
lcsmode bool // true: score is a similarity, false: it is a distance
|
||||
ref Reference
|
||||
ratio float64
|
||||
worst float64 // score of a pair that does not pass
|
||||
all bool // no threshold: every pair is reported
|
||||
|
||||
// byLength gives, for the pairs whose longest sequence has a length l,
|
||||
// the values that depend on l only. It is built when the reference is not
|
||||
// the shortest sequence, otherwise those values depend on both lengths.
|
||||
byLength []lengthInfo
|
||||
}
|
||||
|
||||
type lengthInfo struct {
|
||||
lcsMin int32 // see lcsMin
|
||||
minCommon int32 // see minCommon
|
||||
}
|
||||
|
||||
// NewScoring builds the scoring of the sequences `entries`, which are the
|
||||
// ones to be compared (the longest of them is needed for a raw distance).
|
||||
func NewScoring(p Params, entries []Entry) (*Scoring, error) {
|
||||
if p.Threshold < 0 || (p.Normalized && p.Threshold > 1.0) {
|
||||
return nil, errors.New("the threshold must not be negative, and must be at most 1 when scores are normalized")
|
||||
}
|
||||
|
||||
sc := &Scoring{
|
||||
normalize: p.Normalized,
|
||||
lcsmode: !p.Distance,
|
||||
ref: p.Reference,
|
||||
ratio: p.Ratio,
|
||||
}
|
||||
sc.threshold = p.Threshold
|
||||
sc.all = p.Threshold == 0
|
||||
if !sc.lcsmode && sc.normalize && p.Threshold > 0 {
|
||||
sc.threshold = 1.0 - p.Threshold
|
||||
}
|
||||
|
||||
lmax := 0
|
||||
for i := range entries {
|
||||
lmax = max(lmax, entries[i].Length)
|
||||
}
|
||||
if !sc.similarityLike() {
|
||||
sc.worst = float64(lmax)
|
||||
}
|
||||
|
||||
if sc.ref != RefShortest {
|
||||
sc.byLength = make([]lengthInfo, lmax+1)
|
||||
for l := range sc.byLength {
|
||||
sc.byLength[l] = lengthInfo{int32(sc.lcsMin(l, l)), int32(sc.minCommon(l, l))}
|
||||
}
|
||||
}
|
||||
return sc, nil
|
||||
}
|
||||
|
||||
// Worst is the score of a pair that does not pass the threshold.
|
||||
func (sc *Scoring) Worst() float64 { return sc.worst }
|
||||
|
||||
// Threshold is the threshold the scores are compared to.
|
||||
func (sc *Scoring) Threshold() float64 { return sc.threshold }
|
||||
|
||||
// SimilarityLike tells if the comparison with the threshold is "score >= threshold".
|
||||
func (sc *Scoring) SimilarityLike() bool { return sc.similarityLike() }
|
||||
|
||||
func (sc *Scoring) similarityLike() bool { return sc.lcsmode || sc.normalize }
|
||||
|
||||
// lcsMin is the smallest LCS score that a pair of lengths l1 >= l2 can have
|
||||
// and still pass the threshold.
|
||||
func (sc *Scoring) lcsMin(l1, l2 int) int {
|
||||
switch {
|
||||
case sc.threshold <= 0:
|
||||
return 0
|
||||
case sc.normalize:
|
||||
if sc.ref == RefShortest {
|
||||
return int(sc.threshold * float64(l2))
|
||||
}
|
||||
return int(sc.threshold * float64(l1))
|
||||
case sc.lcsmode:
|
||||
return int(sc.threshold)
|
||||
case sc.ref == RefShortest:
|
||||
return int(float64(l2) - sc.threshold)
|
||||
default:
|
||||
return int(float64(l1) - sc.threshold)
|
||||
}
|
||||
}
|
||||
|
||||
// minCommon is the number of 4-mers that two sequences of lengths l1 >= l2
|
||||
// must share to be possibly similar enough.
|
||||
func (sc *Scoring) minCommon(l1, l2 int) int {
|
||||
if sc.all {
|
||||
return 0 // no threshold, no filter
|
||||
}
|
||||
reflen := l2
|
||||
if sc.ref == RefAlignment || sc.ref == RefLongest {
|
||||
reflen = l1
|
||||
}
|
||||
var lcs int
|
||||
if sc.normalize {
|
||||
lcs = int(math.Ceil(float64(reflen) * sc.threshold))
|
||||
} else {
|
||||
th := sc.threshold
|
||||
if !sc.lcsmode {
|
||||
th = float64(reflen) - th
|
||||
}
|
||||
lcs = int(th)
|
||||
}
|
||||
return minCommonWords(l1, lcs)
|
||||
}
|
||||
|
||||
// lcsMinFor is lcsMin for sequences of lengths l1 >= l2, from the table when it exists.
|
||||
func (sc *Scoring) lcsMinFor(l1, l2 int) int {
|
||||
if sc.byLength != nil {
|
||||
return int(sc.byLength[l1].lcsMin)
|
||||
}
|
||||
return sc.lcsMin(l1, l2)
|
||||
}
|
||||
|
||||
// LengthCompatible tells if two sequences of these lengths may be similar
|
||||
// enough: the shortest cannot be shorter than the minimum LCS score of the pair.
|
||||
func (sc *Scoring) LengthCompatible(la, lb int) bool {
|
||||
l1, l2 := max(la, lb), min(la, lb)
|
||||
return l2 >= sc.lcsMinFor(l1, l2)
|
||||
}
|
||||
|
||||
// PairScore scores the pair (q, c). ok is false when the pair is known not to
|
||||
// reach the threshold, in which case no score is given.
|
||||
//
|
||||
// common, if not negative, is the sum of the minima of the 4-mer counters of
|
||||
// the two sequences, already computed by a block of tables (see Index).
|
||||
func (sc *Scoring) PairScore(q, c *Entry, common int, buf *obialign.BandedLCSBuffer) (score float64, ok bool) {
|
||||
// The quotient of two counts is not above 1 when the first is not above
|
||||
// the second, which spares the division in the usual case.
|
||||
if !(sc.ratio >= 1 && q.Count <= c.Count) && float64(q.Count)/float64(c.Count) > sc.ratio {
|
||||
return 0, false
|
||||
}
|
||||
|
||||
l1, l2 := q.Length, c.Length
|
||||
long, short := q, c
|
||||
if l1 < l2 {
|
||||
l1, l2 = l2, l1
|
||||
long, short = c, q
|
||||
}
|
||||
var lcsMin, minCommon int
|
||||
if sc.byLength != nil {
|
||||
info := sc.byLength[l1]
|
||||
lcsMin, minCommon = int(info.lcsMin), int(info.minCommon)
|
||||
} else {
|
||||
lcsMin, minCommon = sc.lcsMin(l1, l2), sc.minCommon(l1, l2)
|
||||
}
|
||||
if l2 < lcsMin {
|
||||
return 0, false
|
||||
}
|
||||
// The 4-mer filter counts identical words: it does not hold when IUPAC
|
||||
// codes can match different letters. It lets short sequences pass.
|
||||
if l1 >= 12 && l2 >= 12 && !long.Ambiguous && !short.Ambiguous {
|
||||
if common >= 0 {
|
||||
common += min(long.Table.Overflow, short.Table.Overflow)
|
||||
} else {
|
||||
common = commonWords(long.Table, short.Table)
|
||||
}
|
||||
if common < minCommon {
|
||||
return 0, false
|
||||
}
|
||||
}
|
||||
|
||||
// The length of the alignment is needed only to normalize by it, or to
|
||||
// express a distance with it; the score alone is much cheaper.
|
||||
var lcs, alilen int
|
||||
var err error
|
||||
if sc.ref == RefAlignment && (sc.normalize || !sc.lcsmode) {
|
||||
lcs, alilen, err = buf.AtLeast(q.Seq, c.Seq, lcsMin)
|
||||
} else {
|
||||
lcs, err = buf.ScoreAtLeast(q.Seq, c.Seq, lcsMin)
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatalf("Cannot align two sequences: %v", err)
|
||||
}
|
||||
if lcs < 0 {
|
||||
// The best alignment has a score under lcsMin: the pair cannot pass.
|
||||
return 0, false
|
||||
}
|
||||
|
||||
id := float64(lcs)
|
||||
if !sc.lcsmode && !sc.normalize {
|
||||
switch sc.ref {
|
||||
case RefAlignment:
|
||||
id = float64(alilen) - id
|
||||
case RefLongest:
|
||||
id = float64(l1) - id
|
||||
case RefShortest:
|
||||
id = float64(l2) - id
|
||||
}
|
||||
}
|
||||
if sc.normalize {
|
||||
switch sc.ref {
|
||||
case RefAlignment:
|
||||
id /= float64(alilen)
|
||||
case RefLongest:
|
||||
id /= float64(l1)
|
||||
case RefShortest:
|
||||
id /= float64(l2)
|
||||
}
|
||||
}
|
||||
return id, true
|
||||
}
|
||||
|
||||
// Passes tells if the score s of a pair reaches the threshold.
|
||||
func (sc *Scoring) Passes(s float64) bool {
|
||||
if sc.all {
|
||||
return true
|
||||
}
|
||||
if sc.similarityLike() {
|
||||
return s >= sc.threshold
|
||||
}
|
||||
return s <= sc.threshold
|
||||
}
|
||||
|
||||
// Beats tells if the score s is better than the score best (without any
|
||||
// threshold).
|
||||
func (sc *Scoring) Beats(s, best float64) bool {
|
||||
if sc.similarityLike() {
|
||||
return s > best
|
||||
}
|
||||
return s < best
|
||||
}
|
||||
|
||||
// SelfScore is the score of a sequence with itself.
|
||||
func (sc *Scoring) SelfScore(length int) float64 {
|
||||
switch {
|
||||
case sc.normalize && sc.lcsmode:
|
||||
return 1.0
|
||||
case !sc.lcsmode:
|
||||
return 0.0
|
||||
default:
|
||||
return float64(length)
|
||||
}
|
||||
}
|
||||
|
||||
// Reported is the score to report for a pair whose score is s: a normalized
|
||||
// distance is computed as a similarity against the converted threshold.
|
||||
func (sc *Scoring) Reported(s float64) float64 {
|
||||
if !sc.lcsmode && sc.normalize {
|
||||
return 1.0 - s
|
||||
}
|
||||
return s
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
// Package obisimilarity holds what the tools that compare nucleotide sequences
|
||||
// by the length of their longest common subsequence (obiclust, obialign) have
|
||||
// in common: the scoring of a pair against a threshold, with the lossless
|
||||
// 4-mer filter that avoids most of the alignments, and the index that finds
|
||||
// the sequences a given one can be similar to.
|
||||
//
|
||||
// The scoring follows the arithmetic of sumaclust and sumatra (integer
|
||||
// truncations, floating point comparisons) so that the same pairs are
|
||||
// accepted with the same scores.
|
||||
package obisimilarity
|
||||
|
||||
// Table4 is the 4-mer occurrence table of a sequence: one saturating counter
|
||||
// per word, and the number of occurrences that did not fit in the counters.
|
||||
type Table4 struct {
|
||||
Count [256]uint8
|
||||
Overflow int
|
||||
}
|
||||
|
||||
// NewTable4 counts the 4-mers of a sequence made of the letters a, c, g
|
||||
// and t. The 2-bit code of a base is (letter>>1)&3, i.e. a=0, c=1, t=2, g=3.
|
||||
func NewTable4(seq []byte) *Table4 {
|
||||
t := new(Table4)
|
||||
t.Fill(seq)
|
||||
return t
|
||||
}
|
||||
|
||||
// Fill counts the 4-mers of seq in a zeroed table.
|
||||
func (t *Table4) Fill(seq []byte) {
|
||||
if len(seq) < 4 {
|
||||
return
|
||||
}
|
||||
w := uint(0)
|
||||
for i, c := range seq {
|
||||
w = (w<<2 | uint(c>>1)&3) & 0xFF
|
||||
if i < 3 {
|
||||
continue
|
||||
}
|
||||
if t.Count[w] < 255 {
|
||||
t.Count[w]++
|
||||
} else {
|
||||
t.Overflow++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// minCommonWords is the minimum number of 4-mers that two sequences must
|
||||
// share when the longest has length reflen and they have a common
|
||||
// subsequence of length lcs.
|
||||
func minCommonWords(reflen, lcs int) int {
|
||||
nbfrag := (reflen-lcs)*2 + 1
|
||||
smin := lcs / nbfrag
|
||||
r := lcs - smin*nbfrag
|
||||
return max(smin-2, 0)*r + max(smin-3, 0)*(nbfrag-r)
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
//go:build !goexperiment.simd
|
||||
|
||||
package obisimilarity
|
||||
|
||||
// commonWords is the upper bound used for the number of 4-mers shared by two
|
||||
// sequences: the sum of the minima of the counters, plus the minimum of the
|
||||
// two overflows.
|
||||
func commonWords(t1, t2 *Table4) int {
|
||||
total := 0
|
||||
for i := range t1.Count {
|
||||
total += int(min(t1.Count[i], t2.Count[i]))
|
||||
}
|
||||
return total + min(t1.Overflow, t2.Overflow)
|
||||
}
|
||||
@@ -1,24 +1,24 @@
|
||||
//go:build goexperiment.simd
|
||||
|
||||
package obiclust
|
||||
package obisimilarity
|
||||
|
||||
import "simd"
|
||||
|
||||
// commonWords is the upper bound sumaclust uses for the number of 4-mers
|
||||
// shared by two sequences: the sum of the minima of the counters, plus the
|
||||
// minimum of the two overflows.
|
||||
// commonWords is the upper bound used for the number of 4-mers shared by two
|
||||
// sequences: the sum of the minima of the counters, plus the minimum of the
|
||||
// two overflows.
|
||||
//
|
||||
// The minima of the 256 counters are computed by vectors of bytes, and summed
|
||||
// in 16-bit lanes (at most 256*255 spread over the lanes, the lanes being at
|
||||
// least 8 in number, so that none of them overflows).
|
||||
func commonWords(t1, t2 *table4) int {
|
||||
func commonWords(t1, t2 *Table4) int {
|
||||
var probe simd.Uint8s
|
||||
vl := probe.Len()
|
||||
|
||||
acc := simd.BroadcastUint16s(0)
|
||||
low := simd.BroadcastUint16s(0x00FF)
|
||||
for i := 0; i < len(t1.count); i += vl {
|
||||
m := simd.LoadUint8s(t1.count[i:]).Min(simd.LoadUint8s(t2.count[i:])).ReshapeToUint16s()
|
||||
for i := 0; i < len(t1.Count); i += vl {
|
||||
m := simd.LoadUint8s(t1.Count[i:]).Min(simd.LoadUint8s(t2.Count[i:])).ReshapeToUint16s()
|
||||
acc = acc.Add(m.And(low)).Add(m.ShiftAllRight(8))
|
||||
}
|
||||
|
||||
@@ -31,5 +31,5 @@ func commonWords(t1, t2 *table4) int {
|
||||
for _, v := range lanes[:sums.Len()] {
|
||||
total += int(v)
|
||||
}
|
||||
return total + min(t1.overflow, t2.overflow)
|
||||
return total + min(t1.Overflow, t2.Overflow)
|
||||
}
|
||||
@@ -0,0 +1,222 @@
|
||||
// Package obithermo computes DNA duplex melting temperatures with the
|
||||
// nearest-neighbor model used by ecoPrimers (SantaLucia 1998 parameters, with
|
||||
// the SantaLucia or Owczarzy 2008 salt corrections).
|
||||
//
|
||||
// Only the situations ecoPrimers actually evaluates are supported: a primer
|
||||
// against its perfect complement (SelfTm), and a primer against a genomic site
|
||||
// of the same length that may carry mismatches (Tm). Gaps, bulges and dangling
|
||||
// ends are not modeled.
|
||||
package obithermo
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
)
|
||||
|
||||
// SaltMethod selects the monovalent salt correction.
|
||||
type SaltMethod int
|
||||
|
||||
const (
|
||||
// SantaLucia applies a per-step entropy correction 0.368*ln[Na+].
|
||||
SantaLucia SaltMethod = 1
|
||||
// Owczarzy applies the GC-dependent correction of Owczarzy et al. 2008.
|
||||
Owczarzy SaltMethod = 2
|
||||
)
|
||||
|
||||
// Default experimental conditions, those of ecoPrimers.
|
||||
const (
|
||||
DefaultPrimerConc = 8e-7 // total primer strand concentration (M)
|
||||
DefaultTargetConc = 0.0 // target strand concentration (M)
|
||||
DefaultSalt = 0.05 // monovalent cation concentration (M)
|
||||
)
|
||||
|
||||
const (
|
||||
gasConstant = 1.987 // cal/mol/K
|
||||
initEntropy = -5.9 // duplex initiation, cal/mol/K
|
||||
kelvinOffset = 273.15 // ecoPrimers subtracts 273.0 (see package notes)
|
||||
owczarzyGCSlope = 4.29e-5 // (4.29*fGC - 3.95)e-5 * ln[Na]
|
||||
owczarzyOffset = 3.95e-5
|
||||
owczarzyQuadratic = 9.40e-6 // 9.4e-6 * ln[Na]^2
|
||||
)
|
||||
|
||||
// Model holds the thermodynamic tables and the experimental conditions.
|
||||
// A Model is immutable after NewModel and safe for concurrent use.
|
||||
type Model struct {
|
||||
method SaltMethod
|
||||
rlogc float64 // R*ln(Ct factor), included in the initial entropy
|
||||
logNa float64 // ln[Na+]
|
||||
|
||||
// Indexed by (top0<<6 | top1<<4 | bot0<<2 | bot1) with A,C,G,T = 0..3.
|
||||
// dS already includes the SantaLucia salt term when that method is selected.
|
||||
dH [256]float64
|
||||
dS [256]float64
|
||||
}
|
||||
|
||||
// NewModel builds a Model for the given strand concentrations (M), monovalent
|
||||
// salt concentration (M) and salt correction method.
|
||||
func NewModel(primerConc, targetConc, salt float64, method SaltMethod) (*Model, error) {
|
||||
if method != SantaLucia && method != Owczarzy {
|
||||
return nil, fmt.Errorf("obithermo: unknown salt method %d", method)
|
||||
}
|
||||
if salt <= 0 {
|
||||
return nil, fmt.Errorf("obithermo: salt concentration must be positive, got %g", salt)
|
||||
}
|
||||
|
||||
// Effective strand concentration, as in nparam_InitParams.
|
||||
var ctFactor float64
|
||||
switch {
|
||||
case primerConc == targetConc:
|
||||
ctFactor = primerConc / 2
|
||||
case primerConc > targetConc:
|
||||
ctFactor = primerConc - targetConc/2
|
||||
default:
|
||||
ctFactor = targetConc - primerConc/2
|
||||
}
|
||||
if ctFactor <= 0 {
|
||||
return nil, fmt.Errorf("obithermo: strand concentrations must be positive (primer %g, target %g)",
|
||||
primerConc, targetConc)
|
||||
}
|
||||
|
||||
m := &Model{
|
||||
method: method,
|
||||
rlogc: gasConstant * math.Log(ctFactor),
|
||||
logNa: math.Log(salt),
|
||||
}
|
||||
m.fillTables()
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// DefaultModel returns a Model with the ecoPrimers default conditions and the
|
||||
// SantaLucia salt correction.
|
||||
func DefaultModel() *Model {
|
||||
m, err := NewModel(DefaultPrimerConc, DefaultTargetConc, DefaultSalt, SantaLucia)
|
||||
if err != nil {
|
||||
panic(err) // the defaults are valid
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
var baseCode = func() (t [256]int8) {
|
||||
for i := range t {
|
||||
t[i] = -1
|
||||
}
|
||||
for i, c := range "ACGT" {
|
||||
t[c] = int8(i)
|
||||
t[c+'a'-'A'] = int8(i)
|
||||
}
|
||||
return
|
||||
}()
|
||||
|
||||
func stepIndex(t0, t1, b0, b1 int) int { return t0<<6 | t1<<4 | b0<<2 | b1 }
|
||||
|
||||
func (m *Model) fillTables() {
|
||||
// Double mismatches (no Watson-Crick pair at either end of the step) are
|
||||
// treated as interior-loop expansions. Complement of code c is 3-c.
|
||||
const loopH, loopS = 0.0, -0.97
|
||||
for x := range 4 {
|
||||
for y := range 4 {
|
||||
for a := range 4 {
|
||||
for b := range 4 {
|
||||
if x+a != 3 && y+b != 3 {
|
||||
i := stepIndex(x, y, a, b)
|
||||
m.dH[i], m.dS[i] = loopH, loopS
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Explicit parameters override the defaults (Watson-Crick and single mismatches).
|
||||
for _, e := range nnEntries {
|
||||
i := stepIndex(int(baseCode[e.top[0]]), int(baseCode[e.top[1]]),
|
||||
int(baseCode[e.bottom[0]]), int(baseCode[e.bottom[1]]))
|
||||
m.dH[i], m.dS[i] = e.dH, e.dS
|
||||
}
|
||||
|
||||
// SantaLucia salt correction: 0.5*kfac per side of each step, i.e. kfac.
|
||||
if m.method == SantaLucia {
|
||||
kfac := 0.368 * m.logNa
|
||||
for i := range m.dS {
|
||||
m.dS[i] += kfac
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// GCCount returns the number of G and C (upper or lower case) in seq.
|
||||
func GCCount(seq []byte) int {
|
||||
n := 0
|
||||
for _, c := range seq {
|
||||
switch c {
|
||||
case 'G', 'C', 'g', 'c':
|
||||
n++
|
||||
}
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
// SelfTm returns the melting temperature (degrees Celsius) of primer against
|
||||
// its perfect complement. It returns NaN when the model predicts no stable duplex.
|
||||
func (m *Model) SelfTm(primer []byte) (float64, error) {
|
||||
return m.duplex(primer, primer, true)
|
||||
}
|
||||
|
||||
// Tm returns the melting temperature (degrees Celsius) of primer against the
|
||||
// site, a stretch of the target read in the same orientation as the primer
|
||||
// (primer and site have the same length; mismatches are primer[i] != site[i]).
|
||||
// It returns NaN when the model predicts no stable duplex.
|
||||
func (m *Model) Tm(primer, site []byte) (float64, error) {
|
||||
if len(site) != len(primer) {
|
||||
return 0, fmt.Errorf("obithermo: primer (%d) and site (%d) lengths differ", len(primer), len(site))
|
||||
}
|
||||
return m.duplex(primer, site, false)
|
||||
}
|
||||
|
||||
func (m *Model) duplex(primer, site []byte, perfect bool) (float64, error) {
|
||||
n := len(primer)
|
||||
if n < 2 {
|
||||
return 0, fmt.Errorf("obithermo: primer too short (%d), need at least 2 bases", n)
|
||||
}
|
||||
|
||||
dH := 0.0
|
||||
dS := initEntropy + m.rlogc
|
||||
|
||||
p0 := int(baseCode[primer[0]])
|
||||
s0 := p0
|
||||
if !perfect {
|
||||
s0 = int(baseCode[site[0]])
|
||||
}
|
||||
if p0 < 0 || s0 < 0 {
|
||||
return 0, fmt.Errorf("obithermo: non-ACGT base at position 0")
|
||||
}
|
||||
|
||||
for i := 1; i < n; i++ {
|
||||
p1 := int(baseCode[primer[i]])
|
||||
s1 := p1
|
||||
if !perfect {
|
||||
s1 = int(baseCode[site[i]])
|
||||
}
|
||||
if p1 < 0 || s1 < 0 {
|
||||
return 0, fmt.Errorf("obithermo: non-ACGT base at position %d", i)
|
||||
}
|
||||
// The partner strand carries the complement of the site.
|
||||
idx := stepIndex(p0, p1, 3-s0, 3-s1)
|
||||
dH += m.dH[idx]
|
||||
dS += m.dS[idx]
|
||||
p0, s0 = p1, s1
|
||||
}
|
||||
|
||||
if m.method == Owczarzy {
|
||||
fgc := float64(GCCount(primer)) / float64(n)
|
||||
dS += dH * ((owczarzyGCSlope*fgc-owczarzyOffset)*m.logNa + owczarzyQuadratic*m.logNa*m.logNa)
|
||||
}
|
||||
|
||||
// One-state transition, as nparam_CalcTM: valid only for dS < 0 and Tm >= 0.
|
||||
if dS >= 0 {
|
||||
return math.NaN(), nil
|
||||
}
|
||||
tm := dH / dS
|
||||
if tm < 0 {
|
||||
return math.NaN(), nil
|
||||
}
|
||||
return tm - kelvinOffset, nil
|
||||
}
|
||||
@@ -0,0 +1,203 @@
|
||||
package obithermo
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"math"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func readTSV(t *testing.T, path string) [][]string {
|
||||
t.Helper()
|
||||
f, err := os.Open(path)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer f.Close()
|
||||
var rows [][]string
|
||||
sc := bufio.NewScanner(f)
|
||||
for sc.Scan() {
|
||||
if line := strings.TrimSpace(sc.Text()); line != "" {
|
||||
rows = append(rows, strings.Split(line, "\t"))
|
||||
}
|
||||
}
|
||||
if err := sc.Err(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return rows
|
||||
}
|
||||
|
||||
func mustFloat(t *testing.T, s string) float64 {
|
||||
t.Helper()
|
||||
v, err := strconv.ParseFloat(s, 64)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
// checkAgainstC compares one Go result (Celsius) with the raw Kelvin value
|
||||
// returned by the C library. The C code returns 0 when the model fails.
|
||||
//
|
||||
// The tolerance (1e-4 K) covers the single-precision literals of the C source
|
||||
// (-21.3f, 1.987f, -5.9f ...): emulating them in float32 brings the gap down
|
||||
// to 1e-12 K, so the Go port uses the same model with exact decimal constants.
|
||||
func checkAgainstC(t *testing.T, what string, got float64, cKelvin float64) {
|
||||
t.Helper()
|
||||
if cKelvin <= 0 {
|
||||
if !math.IsNaN(got) {
|
||||
t.Errorf("%s: C model failed, Go returned %g", what, got)
|
||||
}
|
||||
return
|
||||
}
|
||||
if math.IsNaN(got) {
|
||||
t.Errorf("%s: Go model failed, C returned %g K", what, cKelvin)
|
||||
return
|
||||
}
|
||||
if d := math.Abs(got + 273.15 - cKelvin); d > 1e-4 {
|
||||
t.Errorf("%s: Go %.9f C %.9f K (diff %g)", what, got+273.15, cKelvin, d)
|
||||
}
|
||||
}
|
||||
|
||||
// testdata/c_reference.tsv was produced by calling nparam_CalcSelfTM and
|
||||
// nparam_CalcTwoTM of ecoPrimers' libthermo on random primers and sites with
|
||||
// 0..n mismatches: primer, site, self Tm, two Tm (default conditions), and
|
||||
// two Tm with 1e-6 M / 2e-7 M strands and 0.2 M salt.
|
||||
func TestAgainstEcoPrimersC(t *testing.T) {
|
||||
def := DefaultModel()
|
||||
alt, err := NewModel(1e-6, 2e-7, 0.2, SantaLucia)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
rows := readTSV(t, "testdata/c_reference.tsv")
|
||||
if len(rows) < 100 {
|
||||
t.Fatalf("reference file too short: %d", len(rows))
|
||||
}
|
||||
for _, r := range rows {
|
||||
primer, site := []byte(r[0]), []byte(r[1])
|
||||
|
||||
got, err := def.SelfTm(primer)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
checkAgainstC(t, "self "+r[0], got, mustFloat(t, r[2]))
|
||||
|
||||
got, err = def.Tm(primer, site)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
checkAgainstC(t, "two "+r[0]+"/"+r[1], got, mustFloat(t, r[3]))
|
||||
|
||||
got, err = alt.Tm(primer, site)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
checkAgainstC(t, "alt "+r[0]+"/"+r[1], got, mustFloat(t, r[4]))
|
||||
}
|
||||
}
|
||||
|
||||
// ecoPrimers prints Tm as (Kelvin - 273.0) with one decimal; obithermo uses the
|
||||
// exact 273.15 offset, so the printed value is our result + 0.15.
|
||||
func TestAgainstTutorialOutput(t *testing.T) {
|
||||
m := DefaultModel()
|
||||
rows := readTSV(t, "testdata/ecoprimers_tm.tsv")
|
||||
if len(rows) == 0 {
|
||||
t.Fatal("empty fixture")
|
||||
}
|
||||
for _, r := range rows {
|
||||
got, err := m.SelfTm([]byte(r[0]))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
want := mustFloat(t, r[1])
|
||||
if d := math.Abs(got + 0.15 - want); d > 0.0501 {
|
||||
t.Errorf("%s: printed %.1f, got %.3f (+0.15 = %.3f)", r[0], want, got, got+0.15)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSaltMethodsAgreeAtOneMolar(t *testing.T) {
|
||||
sl, _ := NewModel(DefaultPrimerConc, DefaultTargetConc, 1.0, SantaLucia)
|
||||
ow, _ := NewModel(DefaultPrimerConc, DefaultTargetConc, 1.0, Owczarzy)
|
||||
p := []byte("ACACCGCCCGTCACTCTC")
|
||||
a, _ := sl.SelfTm(p)
|
||||
b, _ := ow.SelfTm(p)
|
||||
if math.Abs(a-b) > 1e-9 {
|
||||
t.Errorf("at 1 M both corrections vanish: %g vs %g", a, b)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSaltRaisesTm(t *testing.T) {
|
||||
p := []byte("ACACCGCCCGTCACTCTC")
|
||||
for _, method := range []SaltMethod{SantaLucia, Owczarzy} {
|
||||
low, _ := NewModel(DefaultPrimerConc, DefaultTargetConc, 0.02, method)
|
||||
high, _ := NewModel(DefaultPrimerConc, DefaultTargetConc, 0.5, method)
|
||||
a, _ := low.SelfTm(p)
|
||||
b, _ := high.SelfTm(p)
|
||||
if !(b > a) {
|
||||
t.Errorf("method %d: Tm should grow with salt, got %g then %g", method, a, b)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestMismatchLowersTm(t *testing.T) {
|
||||
m := DefaultModel()
|
||||
p := []byte("ACACCGCCCGTCACTCTC")
|
||||
perfect, _ := m.Tm(p, p)
|
||||
mm, _ := m.Tm(p, []byte("ACACCGCCCGTGACTCTC"))
|
||||
if !(mm < perfect) {
|
||||
t.Errorf("a mismatch must lower Tm: perfect %g, mismatch %g", perfect, mm)
|
||||
}
|
||||
}
|
||||
|
||||
func TestInputErrors(t *testing.T) {
|
||||
m := DefaultModel()
|
||||
if _, err := m.SelfTm([]byte("A")); err == nil {
|
||||
t.Error("expected error for a 1-base primer")
|
||||
}
|
||||
if _, err := m.SelfTm([]byte("ACGNT")); err == nil {
|
||||
t.Error("expected error for a non-ACGT base")
|
||||
}
|
||||
if _, err := m.Tm([]byte("ACGT"), []byte("ACG")); err == nil {
|
||||
t.Error("expected error for different lengths")
|
||||
}
|
||||
if _, err := NewModel(0, 0, 0.05, SantaLucia); err == nil {
|
||||
t.Error("expected error for zero strand concentration")
|
||||
}
|
||||
if _, err := NewModel(1e-6, 0, -1, SantaLucia); err == nil {
|
||||
t.Error("expected error for negative salt")
|
||||
}
|
||||
if _, err := NewModel(1e-6, 0, 0.05, SaltMethod(9)); err == nil {
|
||||
t.Error("expected error for unknown salt method")
|
||||
}
|
||||
}
|
||||
|
||||
func TestLowerCaseAccepted(t *testing.T) {
|
||||
m := DefaultModel()
|
||||
a, _ := m.SelfTm([]byte("ACACCGCCCGTCACTCTC"))
|
||||
b, _ := m.SelfTm([]byte("acaccgcccgtcactctc"))
|
||||
if a != b {
|
||||
t.Errorf("case must not matter: %g vs %g", a, b)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGCCount(t *testing.T) {
|
||||
if n := GCCount([]byte("ACgtCCaT")); n != 4 {
|
||||
t.Errorf("GCCount = %d, want 4", n)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkTm(b *testing.B) {
|
||||
m := DefaultModel()
|
||||
p := []byte("ACACCGCCCGTCACTCTC")
|
||||
s := []byte("ACACCGCCCGTGACTCTC")
|
||||
b.ReportAllocs()
|
||||
for b.Loop() {
|
||||
if _, err := m.Tm(p, s); err != nil {
|
||||
b.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
// Code generated from ecoPrimers libthermo/nnparams.c (nparam_InitParams); DO NOT EDIT.
|
||||
|
||||
package obithermo
|
||||
|
||||
// nnEntry is one explicit nearest-neighbor parameter: the 5'->3' dinucleotide of
|
||||
// the top strand, the 3'->5' dinucleotide facing it, enthalpy (cal/mol) and
|
||||
// entropy (cal/mol/K).
|
||||
type nnEntry struct {
|
||||
top, bottom string
|
||||
dH, dS float64
|
||||
}
|
||||
|
||||
var nnEntries = [...]nnEntry{
|
||||
{"AA", "TT", -7600.0, -21.3}, // AA/TT
|
||||
{"AC", "TG", -8400.0, -22.4}, // AC/TG
|
||||
{"AG", "TC", -7800.0, -21.0}, // AG/TC
|
||||
{"AT", "TA", -7200.0, -20.4}, // AT/TA
|
||||
{"CA", "GT", -8500.0, -22.7}, // CA/GT
|
||||
{"CC", "GG", -8000.0, -19.9}, // CC/GG
|
||||
{"CG", "GC", -10600.0, -27.2}, // CG/GC
|
||||
{"CT", "GA", -7800.0, -21.0}, // CT/GA
|
||||
{"GA", "CT", -8200.0, -22.2}, // GA/CT
|
||||
{"GC", "CG", -9800.0, -24.4}, // GC/CG
|
||||
{"GG", "CC", -8000.0, -19.9}, // GG/CC
|
||||
{"GT", "CA", -8400.0, -22.4}, // GT/CA
|
||||
{"TA", "AT", -7200.0, -21.3}, // TA/AT
|
||||
{"TC", "AG", -8200.0, -22.2}, // TC/AG
|
||||
{"TG", "AC", -8500.0, -22.7}, // TG/AC
|
||||
{"TT", "AA", -7600.0, -21.3}, // TT/AA
|
||||
{"AA", "CT", 7600.0, 20.2}, // AA/CT
|
||||
{"AA", "TC", 2300.0, 4.6}, // AA/TC
|
||||
{"AC", "CG", -700.0, -3.8}, // AC/CG
|
||||
{"AC", "TA", 5300.0, 14.6}, // AC/TA
|
||||
{"AG", "CC", 600.0, -0.6}, // AG/CC
|
||||
{"AT", "CA", 5300.0, 14.6}, // AT/CA
|
||||
{"CA", "AT", 3400.0, 8.0}, // CA/AT
|
||||
{"CA", "GC", 1900.0, 3.7}, // CA/GC
|
||||
{"CC", "AG", 5200.0, 14.2}, // CC/AG
|
||||
{"CC", "GA", 600.0, -0.6}, // CC/GA
|
||||
{"CG", "AC", 1900.0, 3.7}, // CG/AC
|
||||
{"CT", "AA", 2300.0, 4.6}, // CT/AA
|
||||
{"GA", "CC", 5200.0, 14.2}, // GA/CC
|
||||
{"GC", "CA", -700.0, -3.8}, // GC/CA
|
||||
{"TA", "AC", 3400.0, 8.0}, // TA/AC
|
||||
{"TC", "AA", 7600.0, 20.2}, // TC/AA
|
||||
{"AC", "TT", 700.0, 0.2}, // AC/TT
|
||||
{"AT", "TC", -1200.0, -6.2}, // AT/TC
|
||||
{"CA", "TT", 1000.0, 0.7}, // CA/TT
|
||||
{"CC", "GT", -800.0, -4.5}, // CC/GT
|
||||
{"CC", "TG", 5200.0, 13.5}, // CC/TG
|
||||
{"CG", "TC", -1500.0, -6.1}, // CG/TC
|
||||
{"CT", "GC", -1500.0, -6.1}, // CT/GC
|
||||
{"CT", "TA", -1200.0, -6.2}, // CT/TA
|
||||
{"GC", "CT", 2300.0, 5.4}, // GC/CT
|
||||
{"GT", "CC", 5200.0, 13.5}, // GT/CC
|
||||
{"TA", "CT", 1200.0, 0.7}, // TA/CT
|
||||
{"TC", "CG", 2300.0, 5.4}, // TC/CG
|
||||
{"TC", "AT", 1200.0, 0.7}, // TC/AT
|
||||
{"TG", "CC", -800.0, -4.5}, // TG/CC
|
||||
{"TT", "CA", 700.0, 0.2}, // TT/CA
|
||||
{"TT", "AC", 1000.0, 0.7}, // TT/AC
|
||||
{"AA", "GT", 3000.0, 7.4}, // AA/GT
|
||||
{"AA", "TG", -600.0, -2.3}, // AA/TG
|
||||
{"AC", "GG", 500.0, 3.2}, // AC/GG
|
||||
{"AG", "GC", -4000.0, -13.2}, // AG/GC
|
||||
{"AG", "TA", -700.0, -2.3}, // AG/TA
|
||||
{"AT", "GA", -700.0, -2.3}, // AT/GA
|
||||
{"CA", "GG", -700.0, -2.3}, // CA/GG
|
||||
{"CG", "GA", -4000.0, -13.2}, // CG/GA
|
||||
{"GA", "AT", 700.0, 0.7}, // GA/AT
|
||||
{"GA", "CG", -600.0, -1.0}, // GA/CG
|
||||
{"GC", "AG", -600.0, -1.0}, // GC/AG
|
||||
{"GG", "AC", -700.0, -2.3}, // GG/AC
|
||||
{"GG", "CA", 500.0, 3.2}, // GG/CA
|
||||
{"GT", "AA", -600.0, -2.3}, // GT/AA
|
||||
{"TA", "AG", 700.0, 0.7}, // TA/AG
|
||||
{"TG", "AA", 3000.0, 7.4}, // TG/AA
|
||||
{"AG", "TT", 1000.0, 0.9}, // AG/TT
|
||||
{"AT", "TG", -2500.0, -8.3}, // AT/TG
|
||||
{"CG", "GT", -4100.0, -11.7}, // CG/GT
|
||||
{"CT", "GG", -2800.0, -8.0}, // CT/GG
|
||||
{"GA", "TT", -1300.0, -5.3}, // GA/TT
|
||||
{"GC", "TG", -4400.0, -12.3}, // GC/TG
|
||||
{"GG", "CT", 3300.0, 10.4}, // GG/CT
|
||||
{"GG", "TC", -2800.0, -8.0}, // GG/TC
|
||||
{"GT", "CG", -4400.0, -12.3}, // GT/CG
|
||||
{"GT", "TA", -2500.0, -8.3}, // GT/TA
|
||||
{"TA", "GT", -100.0, -1.7}, // TA/GT
|
||||
{"TC", "GG", 3300.0, 10.4}, // TC/GG
|
||||
{"TG", "AT", -100.0, -1.7}, // TG/AT
|
||||
{"TG", "GC", -4100.0, -11.7}, // TG/GC
|
||||
{"TT", "AG", -1300.0, -5.3}, // TT/AG
|
||||
{"TT", "GA", 1000.0, 0.9}, // TT/GA
|
||||
{"AA", "AT", 4700.0, 12.9}, // AA/AT
|
||||
{"AA", "TA", 1200.0, 1.7}, // AA/TA
|
||||
{"AC", "AG", -2900.0, -9.8}, // AC/AG
|
||||
{"AG", "AC", -900.0, -4.2}, // AG/AC
|
||||
{"AT", "AA", 1200.0, 1.7}, // AT/AA
|
||||
{"CA", "GA", -900.0, -4.2}, // CA/GA
|
||||
{"GA", "CA", -2900.0, -9.8}, // GA/CA
|
||||
{"TA", "AA", 4700.0, 12.9}, // TA/AA
|
||||
{"AC", "TC", 0.0, -4.4}, // AC/TC
|
||||
{"CA", "CT", 6100.0, 16.4}, // CA/CT
|
||||
{"CC", "CG", 3600.0, 8.9}, // CC/CG
|
||||
{"CC", "GC", -1500.0, -7.2}, // CC/GC
|
||||
{"CG", "CC", -1500.0, -7.2}, // CG/CC
|
||||
{"CT", "CA", 0.0, -4.4}, // CT/CA
|
||||
{"GC", "CC", 3600.0, 8.9}, // GC/CC
|
||||
{"TC", "AC", 6100.0, 16.4}, // TC/AC
|
||||
{"AG", "TG", -3100.0, -9.5}, // AG/TG
|
||||
{"CG", "GG", -4900.0, -15.3}, // CG/GG
|
||||
{"GA", "GT", 1600.0, 3.6}, // GA/GT
|
||||
{"GC", "GG", -6000.0, -15.8}, // GC/GG
|
||||
{"GG", "CG", -6000.0, -15.8}, // GG/CG
|
||||
{"GG", "GC", -4900.0, -15.3}, // GG/GC
|
||||
{"GT", "GA", -3100.0, -9.5}, // GT/GA
|
||||
{"TG", "AG", 1600.0, 3.6}, // TG/AG
|
||||
{"AT", "TT", -2700.0, -10.8}, // AT/TT
|
||||
{"CT", "GT", -5000.0, -15.8}, // CT/GT
|
||||
{"GT", "CT", -2200.0, -8.4}, // GT/CT
|
||||
{"TA", "TT", 200.0, -1.5}, // TA/TT
|
||||
{"TC", "TG", -2200.0, -8.4}, // TC/TG
|
||||
{"TG", "TC", -5000.0, -15.8}, // TG/TC
|
||||
{"TT", "AT", 200.0, -1.5}, // TT/AT
|
||||
{"TT", "TA", -2700.0, -10.8}, // TT/TA
|
||||
}
|
||||
+400
@@ -0,0 +1,400 @@
|
||||
GATTCAAATGACGGCAGC GATTCAAATGACGGCAGC 328.590295502325 328.590295502325 335.520082032693
|
||||
GCCGGGAGTCCCTGAGAG GCCGGGGGTCCCTTAGTG 335.202600908825 307.571309416976 317.582817372006
|
||||
CCGGAAATGTGCCATCTGCGTGCGA CCGGAAATGTGCCATCTGCGTGCGA 341.857354066828 341.857354066828 349.067971091170
|
||||
GCAGCGTAAGAGGAGGGC GCCGAGTGAGAGGACGGC 334.238236820572 292.689122005507 302.959373794547
|
||||
ATCGGGATCTCAAAACCATC ATCCGGATCCCAAAACTATC 328.374164082672 303.012377993885 311.743534784977
|
||||
TTTACTTCTCTCAAGGCC TTTACTTCGCTCACGGCC 324.870543621461 310.322643307651 318.434500513589
|
||||
GATATTATCCGG TTCCTCATTAGG 306.633848409535 131.298936687567 140.958918657051
|
||||
ACCAGATTCACCGTTAAA ACCAGATTCACCGTTAAA 324.666065281835 324.666065281835 331.625141334598
|
||||
GCAGAAGGAATTCGTCTTAAAGTTT GCAGAAGGAATTCGTCTTAAAGTTT 330.221644057193 330.221644057193 337.429293354313
|
||||
GTTACGCCCGTGGACAGA GTTACGCCCGTGGACAGA 333.152006826526 333.152006826526 340.131722535940
|
||||
TACTGGCCAAGTGTTTCGGGCTACC TACTGGACAAGGGTTTCGAGCTACC 338.543873371072 317.159669988483 326.737809053749
|
||||
CGGGCGAAAGACCTAACTCGTC GCCCATGTTTAAACGGTTCAAC 335.961664387167 99.726835837839 110.941608232133
|
||||
ACCACAGAAGAGCCTCAG ACCACAGAAGAGCCTCAG 329.675966490972 329.675966490972 336.774887202068
|
||||
TCCGTATCCGTGTGCTAT TCCGTATCCGTGTGCTAT 328.758681136274 328.758681136274 335.670742367360
|
||||
AGCACAACCATCTTGCCA AACCAGCAATTGGGCAAC 330.726812945211 0.000000000000 0.000000000000
|
||||
AAATCCGCGGTTACTTAG AAATCCCCGGATACTTAG 325.912290117405 310.432539561454 317.816914468819
|
||||
TGGTTGCGGAATGGCGACACGCTAG TGGTTGCGGAATGGCGACACGCTAG 341.368691736083 341.368691736083 348.576311955777
|
||||
CCACAAGGCACACCGAGGGCCCAAC CCACAAGGCACACCGAGGGCCCAAC 343.836245623632 343.836245623632 351.324029371624
|
||||
TACCTTTGGTTAACCGCG TACCTTTGGTTGACCGCG 328.806445188317 321.784293018138 329.972272766148
|
||||
ACCGCCAAACGGTAGTCCTT ACCGCCAAACGTTATTCCTT 334.638358155254 325.067933219113 333.495286023143
|
||||
GGAATCACCGAATTC GGAATCACCAAATTC 319.872552670165 310.456121372350 317.724729105623
|
||||
CGCTGGCGGGGACGCTTA CGCTGGCGGGGACGCTTA 338.850878426355 338.850878426355 345.870729715750
|
||||
CCCAGAACCGAGTGCTGA CCCAGAACCTAGTGCTGA 332.759551850704 324.515696448123 332.085468128098
|
||||
AGGACTATAGCC AGGACTATAGCC 311.340568942550 311.340568942550 317.961816433927
|
||||
AAGTAAGCCAAACTC AAGTAAGCCAAACTC 318.374897033808 318.374897033808 325.174916603994
|
||||
GGCAAACAGTGGCGTCTCTA GGCAAACATTGGCGTCTCGA 333.444435842161 322.587904260466 330.767259471616
|
||||
GCGGGCTGGGCGACGCCT GCGGGCTGGGCGACGCCT 344.353158968164 344.353158968164 351.458901919666
|
||||
AAAACCCGTTCTTGAGAA ATAACCCGTTCTTGAGAA 325.196643716015 318.373852240644 326.309549286768
|
||||
TCTACGGGCAGG TCTACGGGCAGG 320.684836039138 320.684836039138 327.333083788784
|
||||
CTGTATCATTCAAGACCTTGTG CTGGATCATTCATGACCTTCTA 327.587191928324 300.073898600295 309.615050320053
|
||||
GAGACCTCGTTTATATGTGCCG GAGATCTCCTTTATATGTTCCG 331.709967011022 307.489712436204 316.778347789381
|
||||
GATGCCATGCAACGCGGTCGAAATA GATGCCAAGCAACGCCGTCGAAATA 338.385858507321 328.510784583696 335.857144351146
|
||||
CACCCATGGGTCGAGGAA CCTTCATGGGTCAAGGAA 332.434732686040 303.559662982167 313.037414209458
|
||||
AACTTTACCACTTTGTCGGA AACTTTACCACTGTGTCGAA 327.854258269700 313.748415282978 322.159067997528
|
||||
CTCCCAAGAATAAGGCCA CTCCCAAGAATAAGGCTA 327.279305268693 315.945719545119 323.849648970559
|
||||
CTGCTCCCGACCTGCCGTTG CTGCTCCCGACCTGCAGTTG 339.148624544930 330.290260008245 337.867535931326
|
||||
TTAGGAGACTCTTCAGCCTCCTTGT TTAGGACACTATTAAGCCTCCTTGT 334.398890499698 315.037835993209 323.891875192977
|
||||
TGGACGATTGCG AGAATTGCGGCC 320.244905957781 146.501396490593 156.665817684297
|
||||
ATTGTCAACTGTAGGTCA ATTGTCTAGTGTAGGTCA 323.939323737395 300.681567922172 308.863167608541
|
||||
ACAATGTATTTTCTCGGG ACAATGTATTTTCTCGGG 323.362512238862 323.362512238862 330.327169046076
|
||||
CGTGTGAGTGGCCCGAGTTGTCTCT CGTGCGAGTGGCCCGAGTTGTCTTT 340.130848609675 332.245514068114 340.636316881815
|
||||
TATCAGACGTGGCAATGC TATCAGACTTGACAATGT 328.992885301719 304.405743905969 312.701350705029
|
||||
CGTCGTCCCTCTCAGCCG CGTCGTCCCTCTCAGCCG 336.200821936899 336.200821936899 343.186897048375
|
||||
TAAGGCTAGCCAGAACCACG TGAGGCTAGCCAGAACCACG 332.598253740841 326.985556902569 335.280653989150
|
||||
GTTCAGGGGAATGAGAGATA TTACAACTGCCAACTTCGCT 326.722966616537 109.952678878773 121.594862151643
|
||||
CCCAGCGCGAATTTGTCA CCCATCGCGAACTCGGCC 332.540722470730 292.630570524742 303.511783076339
|
||||
TGTCGTCGCTACCAGTTA TGCCTTCCCTACCAGTTA 328.953316297354 307.160700342629 315.442693299698
|
||||
CATGCACCGTGAGTCTGC CGTTCACCGGGAGTCCGC 332.846939286468 291.434652139556 302.526073291148
|
||||
GAGAGTTGCTGTTGATTA TAGAGTTGCTGTTGATTA 323.031379731052 319.294880722061 326.526947280607
|
||||
GCTCGGTCCTACGCCGACGT GCCTGATCTAAATATGCCTG 339.747877109584 158.568208002892 173.058219990461
|
||||
TCTTTGAGCTTCCCATCT TATTTGAGGTTCCCATCT 326.307771557426 300.329179385918 308.617669678883
|
||||
GTTTCCTCGGGT ATGTCCCCGGTC 317.903207078845 250.921863687541 262.030341678318
|
||||
AGTCTGCATCCAGGATAGTGTTCAA AGTCTGCGTCCAGGATAGTGTTCAA 333.474575396610 328.822975749317 336.887405627890
|
||||
CTAGGGCACCAACGCACG CTAGGTCACCAACGCACG 335.143347846422 329.701891848980 337.431099508189
|
||||
GATTGCTGGACCCGACAAAC ATCGACTGCGTCAATCTGAT 332.811424650986 125.989102558259 139.175967010614
|
||||
TTATTTCTCCGAGATCCA TTATTGCTCCGGGATCGA 323.096708880271 281.710374029821 291.583720089868
|
||||
AACCTCCGCTCAGCCCAT AACCTCCGCTCAGCCCAT 334.559812073966 334.559812073966 341.720616471431
|
||||
ACATGCGGAGACGATAGA GAGCATCTTCGTGTCCCC 328.777637355840 13.663795446228 15.557079997899
|
||||
GCGATCCGGCCCGAAGGACGGTTAC GCGATCCGGCCCGAAGGACGGTTAC 343.160858693872 343.160858693872 350.466895660629
|
||||
TAGGCGCTACCAAAGAGACC TACGCGATACCAAAGAGACC 332.314713425979 316.910949741281 324.757961637335
|
||||
GCTTGACGGAGGGATTGCATACGTC GCTTGACGGAGGGCTTGCATAGGTC 337.905459739261 327.298908614928 335.399197844049
|
||||
CTTACGGTTTTGTGG CTTACGGTTTTGTGG 320.490499863910 320.490499863910 327.265086426630
|
||||
AGAATGCTTTGCACGGGAAAAAGAC AGAATGCTTTGCCCGGGAACAACAC 334.833702111547 324.032364174889 333.126901145695
|
||||
CCATCCGGGACCGTGTTA GTGGTGGACAGAAAGCAC 332.523437582445 67.486926898379 75.000548050396
|
||||
AGCAAATATTTAAAACTG AGCAAATATTTAAAACTG 316.766614411011 316.766614411011 323.642414073658
|
||||
ACTGACAAAAGGGACCTTTAGA CCCGAACAAAGGGACCTTGAGG 329.363491007070 296.438968024933 307.489562539207
|
||||
ATAGGACTCGGACGAAAG ATAGGACTCGGACGAAAG 326.913461392949 326.913461392949 333.867158802657
|
||||
TATAAGCTAGTTGAG TACCAGCTACTCGAG 312.936278497921 279.566780789215 288.458312256098
|
||||
AAAGCTGCCGTG GTCGATTGTCGG 320.846677260689 11.139130534401 12.281612095844
|
||||
AAAACTGGCACG AAAACTGGCACG 317.241607884236 317.241607884236 323.710646130150
|
||||
ATTCAGATAATGAAGGAC ATTAAGATAATGAACGAC 319.569864618292 300.532814450507 308.266203286509
|
||||
ACTCCGCCAGTAAAGAGCGATC ACGCCGCCAGTAAAGATCGATC 334.956435857922 324.130818124085 332.402089448274
|
||||
AAACAGGTGGTGCTTCTGGT AAGCAGGTGGCGCTTCCGGT 332.663618849926 317.895372912569 326.451852134041
|
||||
ACGTAAACTAGCGATCCTAC ACGCAAAACAGCGATCCTTC 327.648394671924 306.841804464239 316.109126582555
|
||||
ACTCTTCTGTAGTAATTT ACTCTTCTGTATTAATTT 318.111014934586 311.385476013207 318.854355601485
|
||||
GCCTGGATGAAA CCTCGCATTATA 314.875733564946 135.466989302349 145.485320466877
|
||||
ACAAACATCTTT ATAATTATCTTT 306.751127645023 230.133355279539 240.007445742650
|
||||
TTTATGTTGCACCCG GCCCTCCTGCAAGGG 322.725425600228 198.227797952416 210.186099128768
|
||||
CTCTGTGATTGC CTCTGTGATTAC 313.233837007613 299.818390981614 306.829729109027
|
||||
CAGGGGGTGTCTTCTTGCCA CACGGGGTGCCTTCTTACTA 335.170765818115 304.025892909583 313.686365730924
|
||||
ATAAACTTAAGCGGGGCT ATAAACTTAAGCGGGGCT 327.141275752020 327.141275752020 334.197558650535
|
||||
GTGGTACGTCTCGCACCGTATT GTGGTACGTCTCGCACCGTGTT 335.183465966560 331.876024565197 339.826055532683
|
||||
AGCCCCTACCGTGAGGTATGAA AGCCCCTACCGTGAGCAATGAA 334.930026765640 329.325029384246 337.230038559345
|
||||
CTACGTTTGGACTTTCAG TCCAATTCATGTACACCA 324.309529994597 130.265141330095 141.767454087853
|
||||
GGAGGCGTCGTCTAATGTGGCTGCA GGAGGCGTCGTCTAATGTGGCTGCA 340.715437268799 340.715437268799 347.974364433377
|
||||
TCACGCCCGTTACCATGC TCGCGCCAGTTACCATTC 334.223290685080 301.060585660525 310.242722525263
|
||||
GTGTGGAATAAC GTGTGGAACAAT 308.856970626568 289.055396946314 297.087438077958
|
||||
AACTAGGCACAGCGGAAGTGTTACA AACTACGCACAGCGGAATGGTTACA 336.064499532413 324.487528333723 332.510759640255
|
||||
AGTTGGGACCGCGGACCTCAGACGA ACTTGGGACCGCGGACCTCAGACGA 342.586917960981 339.716507068413 347.297152857653
|
||||
CGCAGGCCGCCCTATCCG GTGGGCAACCGTGATTAT 339.659476639126 111.730621568890 122.520566332669
|
||||
ACTCGGTTAAAGAAGTAGCGGG ACTCGGTTAAAGAAGTAGCGGG 332.661444291378 332.661444291378 339.831677127033
|
||||
GTCGCACTCACGCCAAGG GGCGCACTCACGCCAAGG 335.434179979611 327.968420416066 335.946784667129
|
||||
TTATGTGCCGTC TTATGTGCCGTC 315.550568136423 315.550568136423 321.978396903837
|
||||
ATACACTCCCTC ATACACTCCCTC 311.742937528520 311.742937528520 318.358302050000
|
||||
ATATATAAAACGCTT ATATATAAAACGCTT 310.835103721529 310.835103721529 317.439661067059
|
||||
TTGACCCAGCTCTGACAA TTGACCCAGCTCTGACCA 329.300611062468 323.357283025809 331.214889354503
|
||||
TCACCAAGGACATCGGTGAA CACTAATCTCTAGGCTACTG 331.893316827967 0.000000000000 0.000000000000
|
||||
AAATACTAATATCACGAGGCCT AAATACTAATATCACGAGGCCT 326.991443235419 326.991443235419 334.132256945596
|
||||
CATCTAAGGTTCCCCACG CTCCTAAGGTTCCCCCTA 328.386823878643 301.442125171364 311.286145433228
|
||||
TCAGGCAAGGCTAAAGAT TCATGCAAGGCTGAACCT 326.725811212726 296.261200224359 306.662120559413
|
||||
ACCGGTGTCTGACGAAGA CCCGGAGTCTGACGAAGA 331.461574428762 323.233483550268 330.841087730303
|
||||
TGCCATAACAGT TGCCATAACAGT 313.107834134787 313.107834134787 319.615154304331
|
||||
ATAACTCTGCTCTATAAA ATAACTCTGCTCTATAAA 317.633729090723 317.633729090723 324.531712635958
|
||||
TCCTGCGCAAATTACTAGAACCTAA GTCTCAGCGAGAACTCTATTAGGAT 332.050504643625 0.000000000000 0.000000000000
|
||||
GTATCGAGGTCGAGGAAAGCGCTGT GTATCAAGGTCGAGGAAAGCGCTGT 338.362288220608 334.066037941649 341.579718818818
|
||||
CAGCCTTTCAGG CAGACTTTCAGG 316.248469201820 292.111362062705 300.080584403201
|
||||
CTTGCGGTACATCGCAGTGTGAATA CTTGCGGTACATCGCAGTGTGAATA 335.474585471307 335.474585471307 342.613324305508
|
||||
TAAGAACTAGCACGCATAAG TTAGAACCAGTACGAAGAAT 326.081723019865 254.023237958651 266.323327012842
|
||||
TACATGTACATTTCGGCC TACATGTACATTTCGGCC 325.896662787897 325.896662787897 332.832044747960
|
||||
TAGCATGCGATTCCCTAAGAAG TATCATGCGATTCCCTAGGAAG 330.590797080638 318.020175239024 326.375059746915
|
||||
CGGTGTTGTACGCCGACC CAGTGGTGTATGGAGTCC 335.122388615945 245.504228310044 257.618564855382
|
||||
ACTTTACGCCCGTAG ACTTTACGCCCGTAG 324.104530886916 324.104530886916 330.841602836160
|
||||
GGTCTTGGTGGACAGATG AGTCTTGGTGTACAGATC 328.628141921468 313.674320134018 322.206848229767
|
||||
GTTCGGTCATGC GTTCGGTCATGC 317.988264837295 317.988264837295 324.445499068321
|
||||
CTCACGCTTCTCATTATT CTCACGCTTCTTTTTATT 323.247552234877 309.106689004420 317.389249379550
|
||||
TGCGAGCGTGAT TGTGAGCGTGAT 322.408515345848 302.521839005369 309.729023044907
|
||||
AGATAGGGGGCCCTCGAACCGCCCG AGATAGGGGGCCCTCGAACCGCCCG 345.102909485864 345.102909485864 352.627470314597
|
||||
AACCTACACAGG AACCTACACAGG 313.161040203465 313.161040203465 319.768122899840
|
||||
TCCGCCCGCCAC TCCGCCCGCCTC 330.719187584648 320.094784422350 327.317364425992
|
||||
ATATCGTGAGCCGTGTACCCGG ATAGCGCGATCCGTATACCCGC 336.660788072052 313.231213020956 322.468970039473
|
||||
GGAAGCGTTGACACCGAC GGAAGCGTTGACACCGAC 332.770993213501 332.770993213501 339.705211527389
|
||||
CGAGGCAAGGGATACGCAGCTCAGT CGAGACAAGGGATACGCAGCTCACT 340.305756168638 332.795008096728 340.846081667398
|
||||
CTACCGGCGTAGATATGC CTACCGGCGTAGATGGGA 328.520812530739 311.151850739834 319.645074203379
|
||||
GACTTAAGCGACTAC ACGGCTTAGCGTGGC 318.887440179040 10.664421060955 12.014569510602
|
||||
CTTAGGATTCTGGCTAATTTACGGT CTTAGGTTTCTGGCTAATTTACGGT 330.595304320228 326.378730172844 334.038450345878
|
||||
ATCCGCACGGAC TTACCGGACCCC 323.089768931227 0.000000000000 0.000000000000
|
||||
TCCCAGCTTTTGCAGTGGGATT TCCTAGCTTTTGCAGTGGGATC 335.062847253676 324.545742095465 332.720886054794
|
||||
TGGCTTCACGGC TGGCTTCACGGC 323.785812253507 323.785812253507 330.353929757972
|
||||
TAGGTTATTCCGACCATA ATGCGGGACACTGCCATG 322.422210409371 192.368508212637 205.559476403263
|
||||
AGCCTTTCGACTGAC AGCCTTTCGATTGAC 324.335884950598 312.595672426393 320.534233002808
|
||||
CGTGCAGCTTTCATG CGTGCAGCGTTCTTG 324.919682340793 305.582789800617 313.597104921942
|
||||
TCTACGTGGCGGGGACCGGG TCTACGCGGCTGTGAGCCGG 341.347076387025 299.430239048585 309.018341106927
|
||||
TCAAATTAAAGTTGGACTGACA TCAAATTAAAGTTGGACTGACA 326.350254889911 326.350254889911 333.467128526408
|
||||
CGGGGGCCGTGGTCACTGCTTTCAG CGGGAGCCCTGGTCACTGTTTTGAG 343.571008380319 318.537337281338 328.795128334431
|
||||
ACATTGCAGTCA TACAAATATGCA 314.282094430945 54.422588938214 59.864081596928
|
||||
GTTCCATAAGACTTA GTTCCATATGATTTA 313.492331047121 283.603344310509 292.314146114969
|
||||
TATTTGAAAGACATAGGGGCGT CGGTACACTGGTGCCGGAGGCA 329.927702442206 21.671006660567 25.185742081802
|
||||
AATGGCAATTGCGTA AATGGCAATTGCGTA 322.153531008784 322.153531008784 328.861389966064
|
||||
TGACCTCACAAATACGGGGTCG TGACCTCACAAATAAGGGGTCG 334.840837473162 327.359477549248 335.051513807130
|
||||
CTCTGAAAGAACCGGGCA CTTTGAAAGAACCGGGCA 330.717616406698 321.166071332522 329.380562417680
|
||||
TCCCCGATGCTTAAGACACGCGTGT TTCCCAAGGCTTAATACACTCGTGT 339.959965745411 305.790225053607 316.153725711522
|
||||
TGCACTTCGAGG TGCACTTCGAGG 318.856723935199 318.856723935199 325.349637181717
|
||||
AAGGGTCACCAGAAA AATAAGGTTCCTGCT 322.240165848681 53.802401211576 60.076587053449
|
||||
TAATAAGTCGTG TTATAAGTGTTG 306.473400984667 233.666269447857 244.153793035378
|
||||
CATGATGCCTAGTATGAT CATGATGCCTAGTAAGAT 321.893431646493 315.240330549201 322.344428969018
|
||||
TATGCGCGAACCTAC TATGCGCGAACCTCC 324.777133033446 320.584177151486 328.154789861490
|
||||
TGGCAACTCCCGCACATGCCCT TAGCAACTCCCGCCCCTGCCCT 341.428702525130 330.240007837364 339.446160220950
|
||||
AACGGTCCATAGTGT TTACTGCCTCTATCA 322.301936674505 92.184229884404 101.375195399772
|
||||
CTGGTTAGCGACTAGGGCGA CTGGTTAGCGACCAGGACGA 334.491616458730 325.265096818567 333.491322070668
|
||||
CTACGTGACATGGCCCCT CTACGTGACATGGCCCCT 332.520578697054 332.520578697054 339.639446777780
|
||||
CCCTCCTGGAAGAATCCATAGTATC TCCTCCTGGAAGAATGCATAGTATA 331.837538166233 315.597835592823 324.711900293230
|
||||
TCCGCGGTGCGGCGTCTA TCCGCGGTGCGGCGTCTA 340.070741817013 340.070741817013 346.961988197618
|
||||
TGAGGGCGGCTCGAAAGAGATAGGC TGAAGGCGGCTCGAAAGAGATAGGC 339.908445380864 335.397387022299 343.087954453266
|
||||
AGGATTGAATGCGGATTCACAATGA AGGATTGAATGCGGATTCACCATGA 333.075743741665 329.267518388258 337.096639984117
|
||||
CTGGCACGTGAAAGTGTA CTGGCACGTGAAAGTGTA 328.758681136274 328.758681136274 335.670742367360
|
||||
TATGAGCTCGCATTGACGAT TATCAGCTCGCATTGACGTT 330.199735252295 317.575655447674 325.732088199432
|
||||
CTCCGATACGCCCAACGTTCCT CTCATATACGCCCAACGATCCT 337.111273784768 319.264148345607 327.480755860446
|
||||
CTTGTAAGGAACCGATCGTGAAACT ATAAGATATATTTGTTAAATAGGAG 333.190199559369 0.000000000000 0.000000000000
|
||||
CGATCGGGGTTCGGTGCTAAGG CGATCGGGGTTCGGTGCTAAGG 337.958135639451 337.958135639451 345.185613424927
|
||||
GTGTCACTTAGTGGC GTGTCACTTAGGGGC 322.599730343108 309.940994981687 317.650231320028
|
||||
GTAAGGTGCTACGTGGGA GTAAGGTGGTACGTGGGA 329.791738219571 317.210999985374 324.885748886244
|
||||
GGGGACCACGGAGCGCTT GGACACCACGGAGCGCTT 338.493908487715 328.075398097466 336.508505160201
|
||||
ATGATTCGGCTGATGTTG ATAATCCGACTGACGTTA 326.617373214063 284.388619463998 294.654772560060
|
||||
CGTTGCACCTGTGCAGAC GGATGGACCTGTGGAAAC 333.382064119484 257.494983943418 268.960440677818
|
||||
GGGTATGGAACCGAGCTT GGGTATGGAACCGAGCTT 330.144774353530 330.144774353530 337.264117120300
|
||||
CCGTTTAGTACTTGAGCT TCGTTTAGTTATTGAGCT 325.101412938739 306.110310829587 314.815405000962
|
||||
TGCTCGCCGTTGATG TGCTCGCCGTTGATG 328.982207099090 328.982207099090 335.675432532816
|
||||
GCGGTATCCTGTTTAATAGCAC GCGGTATCCTGTTTAATAGCAC 330.022926941214 330.022926941214 337.146106169306
|
||||
ATTGCGTTGCCCAACGGGAAAC CTTCTAGATCTCGTGTTCTGTC 337.501498070251 30.100236916645 34.669973146917
|
||||
GAAGCGTACTAC TAATCGTACTAC 312.135520730872 290.578334792837 298.230744679790
|
||||
TCGCTTAAGTTGGACCCG TCGCTTAAGTTGGACCCG 330.825518413055 330.825518413055 337.820664158968
|
||||
TCAAAATATCGACGATCGGGTA TCAAAATATCGACTATCGGGAA 329.618484688871 316.847687836049 324.679351875168
|
||||
CTGTAAGTGCGT CTGTAAATGCTT 315.552108712421 284.478519286229 292.079870838245
|
||||
ATCCGTTGTCTGTAT TCCTATCTTGTCTCA 319.236231890115 0.000000000000 0.000000000000
|
||||
GCTGACGATCACCACTGAGT GCTGACGATCACCACTGAGT 332.887137941413 332.887137941413 339.934427106782
|
||||
GGGACCGTCTTGCCTGAA GGGACCGTCTTGCCTGAA 333.069804290103 333.069804290103 340.197004324922
|
||||
GACACTTCATGTTGAAGGAA GAGACATCAGGCTGAAGGAA 326.623921634303 290.160218586875 299.116365655134
|
||||
AAAGTTAATACT AAAGTTAATGGC 300.439776727757 274.074904518474 281.916563483524
|
||||
TTCACTCAGGCCGGGACT TTCACTCAGGCCGGGACT 333.775772265987 333.775772265987 340.923230531829
|
||||
TGAGGTGTACCTTCGATAACCCCTG TGAGGTGTACCTTCGATAACCCCTG 335.429777164410 335.429777164410 342.806589346267
|
||||
GGCGTTAGACTGGGACTCAT GGCGTTAGACTGGGACTCAT 332.314063072189 332.314063072189 339.465122151725
|
||||
GCGGAAAATTCCTCCTGGAGGC GCGGAAAATTCCTCCTGGAGGC 336.555274112350 336.555274112350 343.900546225317
|
||||
ACCCGCCGGGTTATG AACCGCCTGGTTATG 330.420331626846 303.591907390707 312.104888476139
|
||||
GTGAATCTGTGCCATGTAAGGAGTA GTGAATCTGTGCCATGTAAGGAGTA 332.502726598592 332.502726598592 339.772881635043
|
||||
TGTGCATATGCGAAGCAGCA TCTGCATATCCGAATCAGAA 333.922832979848 300.308875168811 310.038091502733
|
||||
TTCCGGGAGAGTCATTCAAGCGATT AAGCGAGGGGAGACCCTTCTTTACG 335.964252182230 0.000000000000 0.000000000000
|
||||
TATCACTTACTCCCCGGA TATCACTTACTCCCCGGA 327.110291836484 327.110291836484 334.201971889462
|
||||
ACGCATTAGTCTACCGTCTTGC ACGCATAAGTCTACCGTCATGC 333.304407097527 323.852674403909 331.529871399707
|
||||
ATAATAGATGAT ATAATAGATGAT 298.724754718266 298.724754718266 305.105559067848
|
||||
ACTTCATTGGCCTCTTTC GGGATAGGCCATTAGAAA 325.919067175754 0.000000000000 0.000000000000
|
||||
ATTTGCGTTAAGGAGACTCA ATTTGCGTTAAGGAGACTCA 327.736465255252 327.736465255252 334.763124999138
|
||||
GGGAGCCACGTCCCGCACTT TGGGTCTGTTCTACGGGTCC 340.351804998615 66.406913767236 75.840004728444
|
||||
AATGGTAGCTTGGAACAACT AATGGTATCTTGGAACAACG 327.871691250641 318.316542767859 326.227958663349
|
||||
ATACAATACCAA GTAAAACCCTAA 304.232095602747 144.099149360347 153.765346779177
|
||||
TTCTAGCGTCCCGGTACT TTCTAGCGTCCCGGTACT 330.589206350792 330.589206350792 337.589326383339
|
||||
TGGCCTTTTTTTAAGTAAAT TGGCCTTTTTTTAAGTAAAT 321.872839855264 321.872839855264 328.960538235470
|
||||
ATGCCTCCTTGTAATACAGCTAGGG ATGCCTCCTTGTAATACAGCTAGGG 333.823387389837 333.823387389837 341.214372867702
|
||||
GAGATAACACGCCAGGTTAA GGGATAACACGTCAGGTTAA 328.361333311021 307.593342393239 316.302295915689
|
||||
CACGGGCATCAAATG CACGGGCATCAAATG 324.403592056034 324.403592056034 331.200512200928
|
||||
TTAACTGTCGGTACTCTT TTAACTGTTGTTATTCTT 323.363845103162 280.866882856653 291.385325188001
|
||||
CACGATAGTCGTTGA TTCAAAGGTGAGTAA 321.130711058809 128.711478226556 138.526211474293
|
||||
GCCGGCCTAAGGACG GCCGGCCTAAGGACG 331.645745178000 331.645745178000 338.559056448220
|
||||
ACGCAAAAAGCGCAT ACGCACAAAGCGCAT 327.022026932331 320.836952659324 328.322467858379
|
||||
AGTCTTAAACGTTTATTG AGTCTTAATCGTTTATCG 318.625758737664 304.665747911265 312.350081264934
|
||||
CTGATCCGAGTTTGGCAGCT CTGAACCGAGTTTGGCAGCC 333.515248215999 325.848131196554 333.400292317441
|
||||
AATCCCCCTGCGCGGTGG AATCTCCCATCGCGGTGG 338.914827359853 316.871536337894 325.825478445471
|
||||
CCTATTGCGAGTGGAGTTTTTC CCTATTGCGAGTGGAGTTTTTC 330.398722345826 330.398722345826 337.555411082006
|
||||
TTTGTAGCACTCTCTAAG TTGGCACCGCTCTCGAGG 321.958335092061 240.192027201542 251.110839474907
|
||||
TATAAATCCAAACCG TATAAATCCAAACCG 314.941565560136 314.941565560136 321.679961211234
|
||||
TCTGGTCTACGGACCAGA TCAGGAATGCGGACCAGA 329.776739773812 300.216331414806 308.948988559444
|
||||
GCGATTCTGGAAATT GCGATTCTGGAAATT 319.582046008775 319.582046008775 326.323905265890
|
||||
AACTTATTGTAAGTGGCT ATCTTATTGTAAGTGGCT 321.893436025311 314.515961362535 321.963655827352
|
||||
AGTAGATCCACGCTC GGTGACGGTATAAGT 322.922652409125 0.000000000000 0.000000000000
|
||||
AGACAGCCAATTTGGACC AGACAGCCAATTTGGACC 328.624785345222 328.624785345222 335.740638937702
|
||||
TCTCCCCATCTGGTTGTGACAC CCTCCCCAACTGGCTGTGACAC 334.475047649994 322.522934177182 331.074093710435
|
||||
GTCCGGAGGGAAATT GTCCGGAGGGAAATT 323.695895292588 323.695895292588 330.657945722303
|
||||
GCATTGGTGTCTGAGAGACATC GCATTGGTGTCTGAGAGACATC 331.823924496399 331.823924496399 338.987388491055
|
||||
TACTCTTCGTTG TACTCTTCGTTG 310.392977904224 310.392977904224 316.757886088883
|
||||
ACCTACTACAAT ACCTACTACAAT 306.714175636802 306.714175636802 313.206330066357
|
||||
CCTTACACTATGCACCCG CCTTACACTATGCACCCG 328.839039592404 328.839039592404 335.870639509527
|
||||
ACCTGTAAGATCGAGTGATATCGGA ACCTGTAATATCGAGTGATATTGGC 332.453410863819 317.742424213661 326.757759926067
|
||||
ACCCGGAATCAC ACCCGGAATCCC 318.062682068531 309.456479129025 317.168301011525
|
||||
TTGCATCTAAACATTAAAGCAGAAG TTATGAGCCTTCCTAATCCCGCAGC 328.558653084235 92.581987798659 103.905955829058
|
||||
CCGCGCCAATAT ATCACAAAGGAA 320.315607213397 0.000000000000 0.000000000000
|
||||
ACCAGCCTAACTTTTGTT GCCAGCCTAACTGTTTTT 325.132735655685 301.134269729448 310.106656597025
|
||||
GCTTAATGCTGGCTACGC GCTTAATGCTGGCTATGC 330.692022417212 320.449633481302 328.448263187090
|
||||
TGGTCCGAACGGCAACAC TGGTCCGAACGGCAACAC 334.376696093757 334.376696093757 341.354168304032
|
||||
ACCCGGCCAGGG ACCCGGCCAGGG 328.950241125024 328.950241125024 335.887941031174
|
||||
ATACCATCGCCTAAGATTGGCC ATACCATAGCCTAAAATTAGCC 332.848856616901 309.476145134398 318.241854893043
|
||||
AAACCGGCAGTA AATCCGGCAGTA 317.201144426162 305.365706144159 312.555666368026
|
||||
CACAACAACGTTCAA CACAACAACGTTCAA 320.677535999798 320.677535999798 327.306012831155
|
||||
TGGGTCGCGTCCCAG CAGTACCCAACCCCG 333.123346113342 246.742853521647 257.809384715704
|
||||
CTCCTAAACATGAAGAACCAGAAAT CTCCTAAACATGAAGAACTAGAAAT 329.191307133388 321.504803533715 329.322148156357
|
||||
TACTATTTCGTTTGC TACTATTTCGACCTC 316.071427737447 286.990612725496 295.372324621468
|
||||
TCCCTGGCAGCAGGGTAGTTTTGAA TGGGCCAACGCTAACTGGTGCCTTG 337.792849188337 121.771136708049 135.395255297683
|
||||
GCTACATTACCGGCTCTC GCTACATTACCGGCTGCC 328.627216292430 317.865179052925 326.512498741613
|
||||
TGAGGCGGGTTATGCGTTAATG TGAGGCGGGTTATGCGTTAATT 333.877486753212 330.936597263706 338.449826872471
|
||||
CACTTATCCCGCAATAAT AACTTATAACGCAAGAAT 323.209491396864 285.261497168294 294.371363704620
|
||||
CGCGCCCGACGATCCACT CCCGCCTGACGTTCCACC 338.845192827705 310.574091806929 319.266524881313
|
||||
AGGCTCCTCTATGAA AGTCTCCTCTATAAA 320.534065615391 298.120651463631 306.645491242189
|
||||
TGGTAATTGCCTGAG TGGTAATTGCCTGAG 320.915868643696 320.915868643696 327.776118922002
|
||||
GTTCATTCTCTGGAGGGC AAGCCGGTACCTGCGGGG 328.693062285185 175.795089391355 189.885811626097
|
||||
GAACGCTGGTCGTCACAT GAACGCTGGTCGTCACAT 331.556430142525 331.556430142525 338.434764177077
|
||||
ATTGGGTGATCGTAAGTAAG ATTGGGTGATCGTAAGTAAG 325.612525475036 325.612525475036 332.668318324958
|
||||
AAGATATGTTTGTAGGCCGAAC AAGATATGTTTGTAGGCCGAAC 329.104322856711 329.104322856711 336.238620405649
|
||||
GTGTGGGTGCCC GTGTGGGTGCCC 324.309319433451 324.309319433451 331.095278789318
|
||||
GGCGTCCAGAAT GGCGTCCAGAAT 318.801851843066 318.801851843066 325.371455269089
|
||||
TGGCTCTGGATAGCTCCCCC AAGGACTATACAAAGCCAGT 336.053481241646 140.181856955550 152.924856339728
|
||||
GTAATCTACCATATG GGAATCTACCATATG 311.238267655019 297.565035184391 305.303043725135
|
||||
TAGAGACGTTTCCTCGCCTTTATCG CTTAGACACTCAGGTGTTGTTGGCA 334.313541801127 188.908254593789 203.829299320958
|
||||
TGCCAGCTTGTGGCGAGTAT TGCCAGCTTGTGGCGAGTAT 335.045486995831 335.045486995831 342.139981881034
|
||||
TTCCGAGCCTGCCGAACAGG TTCCGAGCCTGCACACCCGG 337.981474268738 315.139472928922 324.695198064855
|
||||
TAGGCGACGGCTAACTGG ATTAACACAGAATGTAAC 332.611090573720 117.192190429110 129.003910625976
|
||||
CTATCAAGCCTCAGGTATCGCT CTATCAAGCCACAGGTATCGCT 332.013904222950 327.008869759689 334.361264460119
|
||||
GCGTTGAACAGTGCGTACGT GCGTTGAACAGTGCGTACGG 334.922740354371 331.487402480161 338.817709417777
|
||||
ATGACCTGTACGCTG TCACACCCTCGGTCG 324.096877104678 76.811640858322 84.402210669196
|
||||
TAGTTATCTTCTACCTGATGTAAGC TAATTATCTTCTACCAGATGTTAGT 327.657446380070 306.418404503197 315.329248976153
|
||||
CGGTGCAGTGCAAAATGCGAGTAGT CGGTGCAGTGCAAAGTGCGCGTAGT 338.234766348875 331.605213173016 339.892622743888
|
||||
TTGTTGCCATGTAAA TTGTTGCCATGTAAA 318.513544450161 318.513544450161 325.252135026214
|
||||
GTGAAACGTTTGCTGTGG GTGAAACGTTTGCTGTGG 328.992886751469 328.992886751469 335.904977195626
|
||||
GTTGGAATTGCGGCAAAG GTTGGAATTGCGGCAAAG 329.419693351400 329.419693351400 336.405013425441
|
||||
ATTTCCCGCAGCTTCGAC AGTTCCTGCAGCGTTGAC 331.921604125857 275.704268703669 286.426092962088
|
||||
GGGCTTCAACTCTGCAGA AACTTCCGATAGTACCCG 330.715768712068 0.000000000000 0.000000000000
|
||||
GTAGTACGTCACTTAGGGTATA GTAGTACGTCACTTAGGGTCTA 326.370618283308 323.603568352225 331.248373111091
|
||||
GTGATATTTTCACTGCTAGG GTGATATGTTCACTGCTAGG 324.660738933852 318.097303613935 325.739236970914
|
||||
TTAGAGCCTAGATATCGC TGAGAGCCTACATATCGC 323.737203572163 308.667021683076 316.877776506437
|
||||
GGCCGGTTTGAT GGCCGGTTTGAT 319.628239742093 319.628239742093 326.261640206404
|
||||
CGATAGTGGAAG CGTTTGTGGAAG 311.281036639251 282.148143916626 290.555750610531
|
||||
TTTATAGACGGTCCA TTAATAGAGGGTCCA 318.271295635730 289.396103709646 297.309467179028
|
||||
CTGGTGTAAATTTTTATT CTGGTGTAAATTTTTATT 316.242691168716 316.242691168716 323.159373336702
|
||||
CACGCAAAGACGAGTCGAGA CGCGCTAAGACGAGTCGAGC 333.509565254824 317.485155999984 326.212807278748
|
||||
GCCCCTGTCCGGACG GCCCCTGTCCGGGAG 334.323987481155 318.296185453565 326.861053252518
|
||||
AAGCCGGCACTA TAGCCGGCACTA 320.841087637638 315.681196183552 323.022375994306
|
||||
CCCCCTTGTTCT CCCACTGGTTCT 316.846355213233 271.731156926471 280.431509587266
|
||||
TTTGGGTCCGATACGTTA TTTGGGTCCGACAGGTTC 326.526907539640 304.936001347139 313.235900619784
|
||||
CTAGTAAGGTATAGAACT CTAGTAAGGTATAGAAAT 317.080850733325 306.909216639793 314.322636687809
|
||||
ACACTGCAACATGCAAGGCA TCTCTGCACCATACTAAGCA 334.279193488462 287.410425546330 298.337166942414
|
||||
CGGATACGTGAGCTGACCGTCACTG AGGGTTCATGAGCTGACCGTCACTG 339.003807135660 321.603408699629 331.135793238806
|
||||
CACAATCCTTTCATAGGTCTGATGT CACAAACCTAACATATGTCTGGTGT 330.769444740710 302.850977615703 312.757796843091
|
||||
ATAGGTGTATTACTTCCC ATAAGTGCATTACTTCCC 320.813390192036 307.309069291562 315.330380672069
|
||||
TGCCCGTGCTAATTTCGG TGCCCGTGCGAATTTCGA 331.916704163337 321.788326255281 329.840680268581
|
||||
CATACCTCCCGTGTGACC CAGACCTCCTGTCTGAGC 330.790040366578 275.685519938138 285.797334919463
|
||||
CATGCGAATGAACGTGGTCAAC CATGCGAATGAACGTGGTCAAC 333.744727353783 333.744727353783 340.783101574584
|
||||
GGTCCAGCCAGC GGGCCGGCCAGA 323.997990076396 258.335190180963 269.085542668344
|
||||
TCAGCCTCTTACTACGAA TCAGCCTCTTACTACGAA 325.504908314887 325.504908314887 332.433608839830
|
||||
TTCCACTCGGTA TTTAACTCGTCA 315.163712062905 240.754025130773 251.279252359821
|
||||
GTACCCATCCGTTAACCACATT GTACCCATCAGTTAACCACATT 330.965975035173 322.116695925385 329.685541486863
|
||||
TCGGATTTGTGG TCGTATATGCGT 315.144792522878 261.302945400146 270.745105924733
|
||||
CAGGGGTTTGTAGCTTGCAT AAAAGGTCGACATGAAACTC 331.592676687332 178.298382734095 192.121517719714
|
||||
GTATGTTTAGATTCCGGT GTATGTTCACATTCCGGT 322.407865448171 309.819055451666 317.927267476480
|
||||
ATTTGAAGGTTGTTCATT ATTTGAAGGTTGTTTATT 320.745098479303 308.460034775676 316.604473343016
|
||||
ACGGTGGCCGGCGACCTCAGCCGCA TCGGTCTCCGGCGAGCTCAGTCGCA 349.319476545950 322.805970408218 332.569513311728
|
||||
GGTGAAACATGGGTGGTATGATAAT GGTGAAACATGGGTGATATGATAAT 331.043479784795 326.332708138854 334.184817037240
|
||||
AAGTGTAATCGACTA AAGTGTAATCGACTA 315.631885291475 315.631885291475 322.265747968200
|
||||
GAAGAAAATCCGTTTAGT GAAGAAATTTCGATTAAT 320.919322767873 264.519341261783 274.695121470457
|
||||
GTATACCTACCGCCAGGCGTAA GTATACCTACCGCCAGGCGTAA 334.199822075507 334.199822075507 341.373552239777
|
||||
GGGCTTGCAAATGCACTAGT GGGCTCGCAAACGCACATGT 332.244946736482 316.459896257268 324.959991904042
|
||||
AGTAACATTACCCCTCTT AGTAACATTACCCCTCTT 322.762790159849 322.762790159849 329.855166947719
|
||||
ATCGTTCCAGATTCA ATAGTTCCACATTGA 319.593588349254 263.703483135864 273.889968541208
|
||||
ATCTAGACAAAT CTCTAGACAAAT 303.769798710798 299.975537128382 306.767744251403
|
||||
GACTCGTGCCCAAAGGCG GACTCGGGCCTAAACGCG 335.453032103533 305.944507861049 314.863300937474
|
||||
ATACCTGAAAGATACATAGGGAGGG ATACCCTAACGATACATAGGGAGGG 330.838488925824 319.951646252133 328.421632500441
|
||||
CTCCTTCTATATCTTTACGC CTCCTTCTATATCTTTACGC 323.614245457101 323.614245457101 330.629799804542
|
||||
GGAACGACAGCGGAC GGAGCGACATCGGAG 329.215799373567 299.203726696696 307.870410467643
|
||||
AATTAAACTTCACTTGCTGCTA AATTAAACCGCACTTGCTGCTA 326.774684409898 319.760152873130 327.648310708541
|
||||
CGGGGTGGTTTTAACGCCTT CGGGGTGGTTTTAACGCCTT 334.293634381856 334.293634381856 341.479503422465
|
||||
TTACAAGTGTAC TTACAAGTGTAC 306.490429220235 306.490429220235 312.860219905519
|
||||
GGTTTTACGCACTCGTTT GGTTGTACGCACCCGTTT 327.475666665468 315.253671257952 323.597273287183
|
||||
GCGACCGGGATATTCGTG GCGACTGTGATATTCGTG 332.081729064974 312.612274551236 320.900746018201
|
||||
AAATCATAGATGTTTGTGTG AAATCTTAGACGTTTGTGTG 322.490478539460 311.233326719324 319.056840527317
|
||||
CCGCGGCTGGCCAGTGCG CCGGGGCTGGTCAGTGCG 343.595298549215 320.692138927062 329.428906251676
|
||||
TTAGCGCCCCCT TTAGAGGCCCGT 323.638703533546 223.193289824279 232.649538093037
|
||||
CGACTCCTTGCG CAACTCGTTGCG 321.093094443631 287.627523199553 294.941907978827
|
||||
CAAATAGGGGAGAAATAGGGATGAT CAAATAGGGGAGACATAGGGATGAT 329.829565362939 326.229605874518 334.271529764424
|
||||
TTATGACTCTAT TTATGACTCTAT 302.351970012031 302.351970012031 308.749474038831
|
||||
CTTCGCACGGCTCTGAGGTG CTTCGCACGGCTCTGAGGTG 336.758970783676 336.758970783676 343.832413942225
|
||||
GGTAGATCGTCTAACACA GGTGGATAGTCTAGCACA 324.183145729044 288.591703366550 297.757637466896
|
||||
TCCGAAGTTATTTGT TCCGAAGTTATTCGC 317.020120014950 307.809184902247 315.094442186122
|
||||
ACGCTATAGGTATCCAATGTGC TGAGGGGTTGCCTCGCGCGAGA 330.668816473345 168.517116213496 182.239452513402
|
||||
ATCCCGGTGTTT CTCGCGTTCTTT 316.963839881018 238.291774003272 248.409713749044
|
||||
TGTAAATATTGAGAACAT CTACTTGTAAAAATTATC 316.552099039474 4.196619607978 4.793908669173
|
||||
TAAGATGGCGGTGCTAAGGT TAAGATGGCGGTGCTAAGCT 331.748855931570 328.095422595895 335.422537658975
|
||||
CAGAGAATCGTATTG TAGAGAATCGTATTG 316.058437382107 309.336246420051 316.478881368674
|
||||
ACACTATCGCAT ACACTATTGCAT 313.287559156327 289.002177419194 296.901322522936
|
||||
TTTGCAACAAACTGCGGG TTTGCAACAAACTGCGGG 330.987598215230 330.987598215230 337.964638501570
|
||||
TGCGCATTGACCGTATGA TGAGCATTGCAAATATGA 330.724505651688 291.707022981886 301.075127848151
|
||||
CTGCAACGTGGCTGACGTGG CTGCAACGAGGCTGACGTGG 337.828829590951 332.158127068020 339.396841315526
|
||||
AATCTAGGTATTCTGTGCACACTAG AATCTAGGTATTCGGTAGACACTAG 330.093652788304 312.242546896813 320.851841260874
|
||||
ACGGCGAAACTGTCCCGT ACGGCGAAACTGTCCCGT 335.434181438533 335.434181438533 342.388102607306
|
||||
AACGAGTACTCTTTGCACGCGC AACGAGTACTCTTTGCAAGCGC 336.704192051484 329.670890289599 337.116780737979
|
||||
ACGGCCACCCGCGTAAGCCAGT ACGACCACCCGCGCTAGCCAGT 343.225833795195 335.051197281573 343.935168403898
|
||||
AGGTGGAAACACCTCTTTATAG AGGTGGAAACACCTCTTTATAG 327.767855921026 327.767855921026 335.018188736768
|
||||
GATGCACCTCTTCCTTGT GATGCACCTAGTCCTTGT 328.015528597840 315.813502381439 323.875578738504
|
||||
CACACGTTAAATCAGCCGTGAC CACACGTTAAATCAGCCGTGAC 333.178564800892 333.178564800892 340.213130099053
|
||||
GTGAAAAACGCTAAAACT GAGAAAAACGCTGAAACT 322.651310853696 305.102360687419 313.386535231522
|
||||
CCTCTAAGCGTAAACTGGCGTA CCTCTAAGCGTAAACTGGCGTA 332.731489287653 332.731489287653 339.833318025496
|
||||
CTTAACGGATCAGGTGCC CTTAACGGATGAGGTACC 329.145552153189 309.298607409059 318.329957990940
|
||||
ACCAGCGCGGGTCCAAGCCGGG AACAGCGCGGGTCAAAGCCCGG 346.277068986675 323.989295670246 332.757718044482
|
||||
GGTCGCCCTTGGTTG GGTCGCCCTTGGTTG 329.378530415267 329.378530415267 336.338999066477
|
||||
GGTCTTTCCTGATAG GGTCTTTCCTGCTAG 317.502443546558 312.248143518990 319.891057909696
|
||||
ATGGGGTCCCTTGGATAA ATGGGCTCACTTGGAGAA 327.935969186382 299.834873075580 308.768543906097
|
||||
AGACTTTATCTGCGTTAG CGACTTAATCTGCATTGG 322.530698528657 290.771157085417 299.660782150129
|
||||
TTCTAGCCTGTGCCATTCATTCGCG TGTCTTTAATCATTCACTGCATTTT 337.662752230513 0.000000000000 0.000000000000
|
||||
GTGGCGTGATCCGCCTATGATG GTGGCGTGATACGCCTATGATG 336.412147017699 328.612405834565 336.461928234461
|
||||
ATTATCCTGCAGAGCAGTGA ATTATCCTGCAGAGCAGTGA 329.338095898179 329.338095898179 336.434344794516
|
||||
TGGGGTCACGCATGGCACCG TCGTTTCCGCGTAGACACAT 340.932042495783 219.946305376159 234.105527008232
|
||||
GATCAGTCATGCCGGGCA TCGCTCACTGGGAGCTTT 333.615526310877 70.980108149928 78.760105051004
|
||||
GAGAAACTACCAACCACC GAGAAACTACCAACCACC 326.141893376412 326.141893376412 333.228102476867
|
||||
ATTGACTAGCCTGGAGGC ATTGACTCGCCTGGAGGC 329.814592678115 325.021169884577 332.608693895943
|
||||
ACGGAGTCTATTGTC AAGGAGTCTATTGTC 319.985406470302 306.562131243465 313.933774764732
|
||||
TGGCTGATTGGCCATTATTC TGGGTGATTGGCCATTATTC 329.296931346104 317.833565606159 325.604567901985
|
||||
TGTTACGGACGGACG TGTCAGGGACGCACG 327.360275144725 294.262459737383 302.641243348176
|
||||
AACGCTCCTTCTGACGCTCTGTACC AACTCTCCTGCTGACGCTCTGCACC 338.281645508427 324.671859746526 333.350952165099
|
||||
CTTTCTACAAGCTTCCTCAGCCGAT CTTTCTACAAGCTTCCTCAGCCGAT 334.726254329200 334.726254329200 342.014376175497
|
||||
CTGGGAGCGTGT CTGGGAGCGTGT 322.225101677135 322.225101677135 328.814148322577
|
||||
GCAAGTGCTCCATACGTCAGGA GCAAGTGCTCCATACGTCAGGA 335.151235041562 335.151235041562 342.311691193007
|
||||
TTGAACTCGAAGTCATTCCAGCCCA TTGTACTTGAAGCCATTCCAGCCCA 336.086839523526 320.167401115734 329.871603131488
|
||||
CGCGAGTGTTAATTTTCATC CGCGAGTGTTAATTTTCATC 326.706848503872 326.706848503872 333.607112791387
|
||||
CTCGAAATCAGCCTA CAGGCAGATCCGATA 320.433152901209 106.785241479223 115.721577071620
|
||||
CCCACGTTGGATCCCTCA CACACCCAGCGTTCCCCT 332.434732686040 168.247008949882 182.904021311056
|
||||
TCTTCCCGAAGGCAACTA TTGCTAGCCACCGCTACC 328.742342595200 0.000000000000 0.000000000000
|
||||
TCGGTCGCCCGGCCA TCGGTCGCCCGGCCA 338.280658715332 338.280658715332 345.187830452143
|
||||
TTCCGGTCTAGAGAT GTCCCGTCTAGAGAT 320.290802240471 304.664615132156 311.959714415134
|
||||
TGCCACGTTTGG TTCCACCTTTGG 320.673142294482 289.947588641272 298.070057172917
|
||||
CTGAGAACATGG GTTAAGTTAAAA 311.861058614240 0.000000000000 0.000000000000
|
||||
TTCCCATTTGCAACG TTCCCATTTGCAACG 323.462465099785 323.462465099785 330.249305701134
|
||||
AAGAGTTACTGGATTACC ATTACATGTTGAGCTAAC 321.460730667492 45.295339819983 50.838550888654
|
||||
AAAACTCATTACCGTCAATGTGCCG AAAACTCATTACCGTCAATGTGCCG 334.427238998430 334.427238998430 341.612309670089
|
||||
CGGGAAATCATGCACTTC CGGGAAATCATGCAGTTC 327.837268831791 315.451695083719 322.783155312403
|
||||
TCTTGTCCATCAGACAGA ACTTGTCGACCAGACAGA 325.674390994389 302.134938899268 310.971599041593
|
||||
TAACTTTGCCGTGCGTTC TTGCATAGCATGCAATTT 330.185153783687 164.313401929230 176.255433198370
|
||||
GAGATTGACGACTAACCT GAGATTGACGACTAACCT 324.455556483854 324.455556483854 331.390094199272
|
||||
CCGCGAGTCCACGGCGTAAG CCGCGAGTCCACGGCGTAAG 339.144645429285 339.144645429285 346.143799055883
|
||||
TGACGGCGAGTGAGTTTT GGATTAGTCATCATCGCG 330.479181965474 47.596928980319 53.756086430128
|
||||
AGCAACGTCTAAACTCGATT AGCAACGTCTAAACTCGATT 328.165361220407 328.165361220407 335.096430259205
|
||||
GACTGCTAGCTGGCT GAATTATCACGTTCC 326.800285243793 145.119103179615 155.884495817015
|
||||
ACCCTCGTAATTATTCCG GCCTCGCTAGAGAGGGAA 324.895708998494 137.294573703070 148.579615770821
|
||||
AGCGGGCCGGCGCCCACGGTTAAAT AGCGGGACGGCTCCCACGGATAAAT 346.469332548688 327.821835178262 336.666611815380
|
||||
ATACACCAGTCTCCACTGTGTCAGC ATACACCAGTCTCCACTGTGTCAGC 336.084026510573 336.084026510573 343.378799103379
|
||||
AGGCAACGGTGTTTTTAGTTTCAAG AGGCAACGGTGCTTTTAGTTTCAAG 332.791413039949 329.450267766259 337.042137604359
|
||||
CATAGTATGGTTCATAATTTAA CAAAGACGGGATTATCGGACTT 319.805110852434 183.915523269303 197.052684250500
|
||||
ACGCCCCCCGGATTCGGC ACGCCCCGCGGATTCGGC 341.276243356091 331.161466849465 338.916726408046
|
||||
TTGTCTTTCGAGCGG TTGTGTGTCCAACCA 325.282149224729 222.156190895896 232.598751363606
|
||||
CTCCCGGGCGCCAGATGG CTCCCGGGCGCCAGATGG 339.311369482363 339.311369482363 346.533954436015
|
||||
GCACACTTTGTCGGTAAGTGAGGAC GCACACTTTGTCGATAGCTGAGGAC 336.007697297418 324.718456248143 333.231550897913
|
||||
ATATAGTCTCCGTGT ATATAGTCTCCGTGT 317.670914323835 317.670914323835 324.391677867921
|
||||
ATTCGAGGCGGCTCTGAGGT GTTCGAGGCGGCTCCGTGGT 336.308093587336 324.901517012421 333.408982676338
|
||||
CGCTAGCTCTCAGCATAA CGCTAGCTCTCAGCTTAA 327.750384254086 320.869735908381 328.340764122397
|
||||
TACTCACTCTAATTCAAC TACTAACTCCAATTGATC 319.232623419269 263.254120288054 273.886368603122
|
||||
CTTGGAATCTTGTTCCGC CTTGGAATCTTGTTCCGC 327.748687917447 327.748687917447 334.748570070981
|
||||
TCTCTCTCTACTGAAGATGT TCTCTCTCTACTGAAGATGT 324.955441779254 324.955441779254 332.010856900828
|
||||
AGATAGCTAAACTATGGTATTT AGATAGCTAAACTATTGTATTT 322.379524984208 314.920600083519 322.617736532767
|
||||
TCCAGTAGGCCTGCACACCC TCCTGTAGGCCTGCACACCC 337.082762403533 331.065336200951 338.847431016473
|
||||
CCGGTCGGTTAA CCGAGCGGTCAA 318.298891942113 278.422489888824 287.988343096102
|
||||
TGCGGTATTACACAGTAC TGCGGTACTAGACCGGAC 325.257155822510 277.211655556984 287.317024862518
|
||||
TAGGTTGAGATGTTCGGGCG TAGGTTGAGATGTGCGGGCG 332.954776706522 326.896199598776 334.681687928661
|
||||
TCGAACCTCTAA TCGAACCTCTAA 311.195901304215 311.195901304215 317.645142918670
|
||||
GGCCGTTGGGTGAGATGT GGCCGTTGGGTGAGATGT 333.461534051827 333.461534051827 340.580014223162
|
||||
TTACGATTAGTAGAC TTACGATTAGTAGAC 313.227722774298 313.227722774298 319.837422500332
|
||||
GCTGGCAGACTTCCGGGA GCAGGTAGACTGGCGGGA 335.491766864185 300.268242946003 309.735154150044
|
||||
|
+13
@@ -0,0 +1,13 @@
|
||||
AAACTGGGATTAGATACC 48.5
|
||||
ACACCTCGACCTGACGTT 58.8
|
||||
ACTTACCATGTTACGACT 50.8
|
||||
CAAACTGGGATTAGATAC 47.5
|
||||
CCAAGTGCACCTTCCGGT 60.7
|
||||
CCTGTTCTAGAACCGATA 50.8
|
||||
CTACACCTCGACCTGACG 57.5
|
||||
CTTTTGCCACAGAGACGG 57.0
|
||||
GCCAAGTCCTTTGGGTTT 56.2
|
||||
GGGATTAGATACCCCACT 52.6
|
||||
GTTCTAGAACAGGCTCCT 53.6
|
||||
TCGTACCTTTTGCATCAT 52.2
|
||||
TTCTAGAACAGGCTCCTC 53.3
|
||||
|
@@ -0,0 +1,340 @@
|
||||
package obialign
|
||||
|
||||
import (
|
||||
"os"
|
||||
"slices"
|
||||
"sort"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
|
||||
align "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obidefault"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obiconvert"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obicsv"
|
||||
"github.com/schollz/progressbar/v3"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// Params are the parameters of the comparison.
|
||||
type Params struct {
|
||||
Threshold float64 // 0: no threshold
|
||||
Normalized bool
|
||||
Distance bool
|
||||
Reference sim.Reference
|
||||
AcceptAmbiguous bool
|
||||
ExtraColumns bool
|
||||
Workers int
|
||||
}
|
||||
|
||||
// ParamsFromCLI collects the parameters from the command line options.
|
||||
func ParamsFromCLI() Params {
|
||||
return Params{
|
||||
Threshold: CLIThreshold(),
|
||||
Normalized: CLINormalized(),
|
||||
Distance: CLIDistance(),
|
||||
Reference: CLIReference(),
|
||||
AcceptAmbiguous: CLIAcceptAmbiguous(),
|
||||
ExtraColumns: CLIExtraColumns(),
|
||||
Workers: obidefault.ParallelWorkers(),
|
||||
}
|
||||
}
|
||||
|
||||
// dataset is a set of usable sequences with their description.
|
||||
type dataset struct {
|
||||
seqs obiseq.BioSequenceSlice
|
||||
entries []sim.Entry
|
||||
}
|
||||
|
||||
// readDataset keeps the sequences that can be compared.
|
||||
func readDataset(db obiseq.BioSequenceSlice, name string, p Params) dataset {
|
||||
var d dataset
|
||||
ambiguous := make([]bool, 0, len(db))
|
||||
for _, s := range db {
|
||||
ok, amb := sim.Classify(s.Sequence(), p.AcceptAmbiguous)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
d.seqs = append(d.seqs, s)
|
||||
ambiguous = append(ambiguous, amb)
|
||||
}
|
||||
if discarded := len(db) - len(d.seqs); discarded > 0 {
|
||||
log.Warnf("Discarded %d sequences of %s that did not contain only IUPAC nucleotides (or only 'acgt' without --accept-ambiguous)",
|
||||
discarded, name)
|
||||
}
|
||||
if len(d.seqs) == 0 {
|
||||
log.Fatalf("No valid sequences in %s.", name)
|
||||
}
|
||||
d.entries = sim.BuildEntries(len(d.seqs), func(i int) ([]byte, int, bool) {
|
||||
return d.seqs[i].Sequence(), d.seqs[i].Count(), ambiguous[i]
|
||||
}, p.Workers)
|
||||
for i := range d.entries {
|
||||
if d.entries[i].Length > align.MaxBandedLCSLength {
|
||||
log.Fatalf("The sequence %s is too long (%d bp, maximum %d bp)",
|
||||
d.seqs[i].Id(), d.entries[i].Length, align.MaxBandedLCSLength)
|
||||
}
|
||||
}
|
||||
return d
|
||||
}
|
||||
|
||||
// pair is a pair of sequences that reaches the threshold: the index of the
|
||||
// second one, and the score.
|
||||
type pair struct {
|
||||
j int
|
||||
score float64
|
||||
}
|
||||
|
||||
// aligner compares the sequences of a dataset with the ones of an index.
|
||||
type aligner struct {
|
||||
queries []sim.Entry
|
||||
index *sim.Index
|
||||
self bool // the index holds the queries: only the pairs i < j are reported
|
||||
sc *sim.Scoring
|
||||
}
|
||||
|
||||
// row finds the sequences of the index that reach the threshold with the
|
||||
// query i, and appends them to out in the order of the index.
|
||||
//
|
||||
// Only the buckets of compatible lengths are visited, and the 4-mer filter
|
||||
// works on blocks of sequences.
|
||||
func (a *aligner) row(i int, buf *align.BandedLCSBuffer, commons *sim.Commons, out []pair) []pair {
|
||||
q := &a.queries[i]
|
||||
out = out[:0]
|
||||
for _, length := range a.index.Lengths() {
|
||||
if !a.sc.LengthCompatible(q.Length, length) {
|
||||
continue
|
||||
}
|
||||
b := a.index.Bucket(length)
|
||||
commons.Reset()
|
||||
start := 0
|
||||
if a.self {
|
||||
// the members are in the order of the dataset
|
||||
start = sort.Search(len(b.Members), func(k int) bool { return b.Members[k].ID > i })
|
||||
}
|
||||
for k := start; k < len(b.Members); k++ {
|
||||
m := &b.Members[k]
|
||||
if s, ok := a.sc.PairScore(q, &m.Entry, b.Common(k, q.Sparse, commons), buf); ok && a.sc.Passes(s) {
|
||||
out = append(out, pair{m.ID, a.sc.Reported(s)})
|
||||
}
|
||||
}
|
||||
}
|
||||
slices.SortFunc(out, func(x, y pair) int { return x.j - y.j })
|
||||
return out
|
||||
}
|
||||
|
||||
func progressBar(n int) *progressbar.ProgressBar {
|
||||
if !obiconvert.CLIProgressBar() {
|
||||
return nil
|
||||
}
|
||||
return progressbar.NewOptions(n,
|
||||
progressbar.OptionSetWriter(os.Stderr),
|
||||
progressbar.OptionSetWidth(15),
|
||||
progressbar.OptionShowIts(),
|
||||
progressbar.OptionSetPredictTime(true),
|
||||
progressbar.OptionSetDescription("[Comparing sequences]"),
|
||||
)
|
||||
}
|
||||
|
||||
// maxPairsWithoutThreshold is the number of pairs above which a missing
|
||||
// threshold is reported, the table having then as many rows.
|
||||
const maxPairsWithoutThreshold = 1e8
|
||||
|
||||
// maxRowsPerRun is the number of rows of the table that a run is expected to
|
||||
// produce at most when every pair is reported.
|
||||
const maxRowsPerRun = 100000
|
||||
|
||||
// runShape chooses how many sequences a run covers, and how many runs a
|
||||
// worker may be ahead of the oldest unfinished one. Without threshold every
|
||||
// pair is a row of the table, so the runs are shortened to keep their size
|
||||
// reasonable; otherwise many pairs are rejected and the runs are longer, to
|
||||
// reduce the synchronizations.
|
||||
func runShape(n, targets int, noThreshold bool, workers int) (rowsPerRun, window int) {
|
||||
rowsPerRun = min(max(n/(workers*32), 1), 256)
|
||||
if noThreshold {
|
||||
rowsPerRun = min(rowsPerRun, max(maxRowsPerRun/max(targets, 1), 1))
|
||||
}
|
||||
return rowsPerRun, 4 * workers
|
||||
}
|
||||
|
||||
// Compare compares every sequence of db1 with every sequence of db2, or with
|
||||
// the following ones of db1 if db2 is nil, and returns the pairs that reach the
|
||||
// threshold as a table with the columns id1, id2 and score (and count1,
|
||||
// count2, length1 and length2 if p.ExtraColumns).
|
||||
//
|
||||
// The rows are in the order of the sequences of db1, then of the ones of
|
||||
// db2, whatever the number of workers.
|
||||
//
|
||||
// The workers take runs of rows of the matrix of the pairs, as in sumatra,
|
||||
// but each run is sent to the writer with its rank: the writer puts them back
|
||||
// in order, so that the output neither depends on the timing nor needs a lock
|
||||
// on the output.
|
||||
func Compare(db1, db2 obiseq.BioSequenceSlice, source string, p Params, onProgress func(done int)) *obiitercsv.ICSVRecord {
|
||||
d1 := readDataset(db1, "the input", p)
|
||||
d2 := d1
|
||||
self := db2 == nil
|
||||
if !self {
|
||||
d2 = readDataset(db2, "the reference file", p)
|
||||
}
|
||||
log.Infof("%d sequences", len(d1.entries))
|
||||
if !self {
|
||||
log.Infof("%d reference sequences", len(d2.entries))
|
||||
}
|
||||
|
||||
all := d1.entries
|
||||
if !self {
|
||||
all = append(slices.Clone(d1.entries), d2.entries...)
|
||||
}
|
||||
sc, err := sim.NewScoring(sim.Params{
|
||||
Threshold: p.Threshold,
|
||||
Normalized: p.Normalized,
|
||||
Distance: p.Distance,
|
||||
Reference: p.Reference,
|
||||
Ratio: 1e300, // no limit on the counts
|
||||
}, all)
|
||||
if err != nil {
|
||||
log.Fatalf("Wrong threshold: %v", err)
|
||||
}
|
||||
|
||||
index := sim.NewIndex()
|
||||
for j := range d2.entries {
|
||||
index.Add(d2.entries[j], j)
|
||||
}
|
||||
a := &aligner{queries: d1.entries, index: index, self: self, sc: sc}
|
||||
|
||||
iterator := obiitercsv.NewICSVRecord()
|
||||
for _, f := range []string{"id1", "id2", "score"} {
|
||||
iterator.AppendField(f)
|
||||
}
|
||||
if p.ExtraColumns {
|
||||
for _, f := range []string{"count1", "count2", "length1", "length2"} {
|
||||
iterator.AppendField(f)
|
||||
}
|
||||
}
|
||||
|
||||
n := len(d1.entries)
|
||||
workers := max(p.Workers, 1)
|
||||
|
||||
pairs := float64(n) * float64(len(d2.entries))
|
||||
if self {
|
||||
pairs = float64(n) * float64(n-1) / 2
|
||||
}
|
||||
log.Infof("%.0f pairs of sequences to compare", pairs)
|
||||
if p.Threshold == 0 && pairs > maxPairsWithoutThreshold {
|
||||
log.Warnf("No threshold has been given: the table will have %.0f rows, "+
|
||||
"use the option --threshold to keep only the similar pairs", pairs)
|
||||
}
|
||||
|
||||
rowsPerRun, window := runShape(n, len(d2.entries), p.Threshold == 0, workers)
|
||||
runs := (n + rowsPerRun - 1) / rowsPerRun
|
||||
|
||||
iterator.Add(workers)
|
||||
go func() {
|
||||
iterator.WaitAndClose()
|
||||
}()
|
||||
|
||||
// The runs are sent to the writer with their rank, and the writer holds
|
||||
// those that arrive before the previous ones. To bound that memory, a
|
||||
// worker does not start a run more than `window` runs after the oldest run
|
||||
// that is not finished.
|
||||
var (
|
||||
lock sync.Mutex
|
||||
progress = sync.NewCond(&lock)
|
||||
finished = make([]bool, runs)
|
||||
oldest int
|
||||
rows int
|
||||
)
|
||||
var next atomic.Int64
|
||||
var wg sync.WaitGroup
|
||||
for w := 0; w < workers; w++ {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
defer iterator.Done()
|
||||
var buf align.BandedLCSBuffer
|
||||
var commons sim.Commons
|
||||
var pairs []pair
|
||||
for {
|
||||
run := int(next.Add(1)) - 1
|
||||
if run >= runs {
|
||||
return
|
||||
}
|
||||
lock.Lock()
|
||||
for run-oldest >= window {
|
||||
progress.Wait()
|
||||
}
|
||||
lock.Unlock()
|
||||
|
||||
from, to := run*rowsPerRun, min((run+1)*rowsPerRun, n)
|
||||
batch := make([]obiitercsv.CSVRecord, 0, to-from)
|
||||
for i := from; i < to; i++ {
|
||||
pairs = a.row(i, &buf, &commons, pairs)
|
||||
for _, pr := range pairs {
|
||||
rec := obiitercsv.CSVRecord{
|
||||
"id1": d1.seqs[i].Id(),
|
||||
"id2": d2.seqs[pr.j].Id(),
|
||||
"score": pr.score,
|
||||
}
|
||||
if p.ExtraColumns {
|
||||
rec["count1"], rec["count2"] = d1.entries[i].Count, d2.entries[pr.j].Count
|
||||
rec["length1"], rec["length2"] = d1.entries[i].Length, d2.entries[pr.j].Length
|
||||
}
|
||||
batch = append(batch, rec)
|
||||
}
|
||||
}
|
||||
iterator.Push(obiitercsv.MakeCSVRecordBatch(source, run, batch))
|
||||
|
||||
lock.Lock()
|
||||
finished[run] = true
|
||||
for oldest < runs && finished[oldest] {
|
||||
oldest++
|
||||
}
|
||||
rows += to - from
|
||||
done := rows
|
||||
progress.Broadcast()
|
||||
lock.Unlock()
|
||||
if onProgress != nil {
|
||||
onProgress(done)
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
return iterator
|
||||
}
|
||||
|
||||
// CLIOBIAlign compares the sequences as the command line asks, and returns the table of the pairs.
|
||||
func CLIOBIAlign(iterator obiiter.IBioSequence) *obiitercsv.ICSVRecord {
|
||||
source, db := iterator.Load()
|
||||
log.Infof("Sequence dataset of %d sequences loaded", len(db))
|
||||
|
||||
var db2 obiseq.BioSequenceSlice
|
||||
if CLIHasReferenceDB() {
|
||||
db2 = CLIReferenceDB()
|
||||
if db2 == nil {
|
||||
db2 = obiseq.BioSequenceSlice{}
|
||||
}
|
||||
}
|
||||
|
||||
var bar *progressbar.ProgressBar
|
||||
barChecked := false // the bar is created once, even when it is disabled
|
||||
last := int64(0)
|
||||
var lock sync.Mutex
|
||||
return Compare(db, db2, source, ParamsFromCLI(), func(done int) {
|
||||
lock.Lock()
|
||||
defer lock.Unlock()
|
||||
if !barChecked {
|
||||
bar, barChecked = progressBar(len(db)), true
|
||||
}
|
||||
if bar != nil {
|
||||
bar.Add(int(int64(done) - last))
|
||||
}
|
||||
last = int64(done)
|
||||
})
|
||||
}
|
||||
|
||||
// CLIWriteTable writes the table to the output file given by --out, or to the standard output.
|
||||
func CLIWriteTable(table *obiitercsv.ICSVRecord) {
|
||||
obicsv.CLICSVWriter(table, true)
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
package obialign
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
align "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
)
|
||||
|
||||
// readTestFasta reads a fasta file whose headers are "id count=N; ...".
|
||||
func readTestFasta(t testing.TB, filename string) obiseq.BioSequenceSlice {
|
||||
t.Helper()
|
||||
f, err := os.Open(filename)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
var db obiseq.BioSequenceSlice
|
||||
var header string
|
||||
var seq strings.Builder
|
||||
flush := func() {
|
||||
if header == "" {
|
||||
return
|
||||
}
|
||||
fields := strings.Fields(header)
|
||||
s := obiseq.NewBioSequence(fields[0], []byte(seq.String()), "")
|
||||
for _, f := range fields[1:] {
|
||||
if k, v, ok := strings.Cut(strings.TrimSuffix(f, ";"), "="); ok {
|
||||
if n, err := strconv.Atoi(v); err == nil {
|
||||
s.SetAttribute(k, n)
|
||||
}
|
||||
}
|
||||
}
|
||||
db = append(db, s)
|
||||
seq.Reset()
|
||||
}
|
||||
sc := bufio.NewScanner(f)
|
||||
for sc.Scan() {
|
||||
if line := sc.Text(); strings.HasPrefix(line, ">") {
|
||||
flush()
|
||||
header = line[1:]
|
||||
} else {
|
||||
seq.WriteString(strings.TrimSpace(line))
|
||||
}
|
||||
}
|
||||
flush()
|
||||
return db
|
||||
}
|
||||
|
||||
// collect reads the whole table, whatever the order the batches arrive in,
|
||||
// and returns its rows in the order of the output file.
|
||||
func collect(it *obiitercsv.ICSVRecord) []obiitercsv.CSVRecord {
|
||||
batches := map[int][]obiitercsv.CSVRecord{}
|
||||
for it.Next() {
|
||||
b := it.Get()
|
||||
batches[b.Order()] = b.Slice()
|
||||
}
|
||||
orders := make([]int, 0, len(batches))
|
||||
for o := range batches {
|
||||
orders = append(orders, o)
|
||||
}
|
||||
sort.Ints(orders)
|
||||
var rows []obiitercsv.CSVRecord
|
||||
for k, o := range orders {
|
||||
if o != k {
|
||||
panic(fmt.Sprintf("batch %d is missing", k))
|
||||
}
|
||||
rows = append(rows, batches[o]...)
|
||||
}
|
||||
return rows
|
||||
}
|
||||
|
||||
// sumatraParams translates the options of sumatra.
|
||||
func sumatraParams(t testing.TB, args []string) Params {
|
||||
t.Helper()
|
||||
p := Params{Normalized: true, Workers: 4}
|
||||
for i := 0; i < len(args); i++ {
|
||||
var err error
|
||||
switch args[i] {
|
||||
case "-t":
|
||||
i++
|
||||
p.Threshold, err = strconv.ParseFloat(args[i], 64)
|
||||
case "-l":
|
||||
p.Reference = sim.RefShortest
|
||||
case "-L":
|
||||
p.Reference = sim.RefLongest
|
||||
case "-d":
|
||||
p.Distance = true
|
||||
case "-r":
|
||||
p.Normalized = false
|
||||
case "-x":
|
||||
p.ExtraColumns = true
|
||||
default:
|
||||
t.Fatalf("unknown option %s", args[i])
|
||||
}
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
// TestSumatraResults compares the tables with the outputs of sumatra 1.0.36
|
||||
// (testdata/*.expected), except that the identical sequences obey the
|
||||
// threshold of a raw similarity, which sumatra does not check.
|
||||
func TestSumatraResults(t *testing.T) {
|
||||
cases, err := os.ReadFile(filepath.Join("testdata", "cases.txt"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
a := readTestFasta(t, filepath.Join("testdata", "a.fasta"))
|
||||
b := readTestFasta(t, filepath.Join("testdata", "b.fasta"))
|
||||
|
||||
for _, line := range strings.Split(strings.TrimSpace(string(cases)), "\n") {
|
||||
parts := strings.Split(line, "\t")
|
||||
kind, name, opts := parts[0], parts[1], strings.Fields(parts[2])
|
||||
t.Run(kind+"/"+name, func(t *testing.T) {
|
||||
var db2 obiseq.BioSequenceSlice
|
||||
if kind == "two" {
|
||||
db2 = b
|
||||
}
|
||||
p := sumatraParams(t, opts)
|
||||
rows := collect(Compare(a, db2, "test", p, nil))
|
||||
|
||||
expected, err := os.ReadFile(filepath.Join("testdata", kind+"_"+name+".expected"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
want := strings.Split(strings.TrimSuffix(string(expected), "\n"), "\n")
|
||||
if len(expected) == 0 {
|
||||
want = nil
|
||||
}
|
||||
if len(rows) != len(want) {
|
||||
t.Fatalf("%d rows, want %d", len(rows), len(want))
|
||||
}
|
||||
for i, r := range rows {
|
||||
got := fmt.Sprintf("%s\t%s\t%f", r["id1"], r["id2"], r["score"])
|
||||
if p.ExtraColumns {
|
||||
got += fmt.Sprintf("\t%d\t%d\t%d\t%d", r["count1"], r["count2"], r["length1"], r["length2"])
|
||||
}
|
||||
if got != want[i] {
|
||||
t.Fatalf("row %d:\n got %s\nwant %s", i, got, want[i])
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func randomDataset(rng *rand.Rand, n int, ambiguousRate float64) obiseq.BioSequenceSlice {
|
||||
var roots [][]byte
|
||||
db := make(obiseq.BioSequenceSlice, 0, n)
|
||||
for len(db) < n {
|
||||
var s []byte
|
||||
if len(roots) == 0 || rng.Intn(4) == 0 {
|
||||
s = make([]byte, 30+rng.Intn(60))
|
||||
for i := range s {
|
||||
s[i] = "acgt"[rng.Intn(4)]
|
||||
}
|
||||
roots = append(roots, s)
|
||||
} else {
|
||||
for _, c := range roots[rng.Intn(len(roots))] {
|
||||
switch r := rng.Intn(30); {
|
||||
case r == 0:
|
||||
s = append(s, "acgt"[rng.Intn(4)])
|
||||
case r == 1:
|
||||
default:
|
||||
s = append(s, c)
|
||||
}
|
||||
}
|
||||
}
|
||||
if rng.Float64() < ambiguousRate && len(s) > 3 {
|
||||
s[rng.Intn(len(s))] = "nrykm"[rng.Intn(5)]
|
||||
}
|
||||
seq := obiseq.NewBioSequence(fmt.Sprintf("s%d", len(db)), s, "")
|
||||
seq.SetAttribute("count", 1+rng.Intn(9))
|
||||
db = append(db, seq)
|
||||
}
|
||||
return db
|
||||
}
|
||||
|
||||
// naive compares every pair one by one, with the scoring and no index.
|
||||
func naive(db1, db2 obiseq.BioSequenceSlice, p Params) []string {
|
||||
self := db2 == nil
|
||||
if self {
|
||||
db2 = db1
|
||||
}
|
||||
d1, d2 := readDataset(db1, "1", p), readDataset(db2, "2", p)
|
||||
all := append(append([]sim.Entry{}, d1.entries...), d2.entries...)
|
||||
sc, err := sim.NewScoring(sim.Params{Threshold: p.Threshold, Normalized: p.Normalized, Distance: p.Distance,
|
||||
Reference: p.Reference, Ratio: 1e300}, all)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
var buf align.BandedLCSBuffer
|
||||
var out []string
|
||||
for i := range d1.entries {
|
||||
for j := range d2.entries {
|
||||
if self && j <= i {
|
||||
continue
|
||||
}
|
||||
if s, ok := sc.PairScore(&d1.entries[i], &d2.entries[j], -1, &buf); ok && sc.Passes(s) {
|
||||
out = append(out, fmt.Sprintf("%s\t%s\t%f", d1.seqs[i].Id(), d2.seqs[j].Id(), sc.Reported(s)))
|
||||
}
|
||||
}
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
// TestCompareMatchesNaive checks the scan by length and by blocks against the
|
||||
// comparison of all the pairs, in every mode, with and without ambiguous
|
||||
// sequences, whatever the number of workers.
|
||||
func TestCompareMatchesNaive(t *testing.T) {
|
||||
rng := rand.New(rand.NewSource(11))
|
||||
for _, ambiguous := range []float64{0, 0.2} {
|
||||
db1 := randomDataset(rng, 90, ambiguous)
|
||||
db2 := randomDataset(rng, 40, ambiguous)
|
||||
for _, ref := range []sim.Reference{sim.RefAlignment, sim.RefLongest, sim.RefShortest} {
|
||||
for _, base := range []Params{
|
||||
{Threshold: 0.9, Normalized: true},
|
||||
{Threshold: 0.7, Normalized: true, Distance: true},
|
||||
{Threshold: 30},
|
||||
{Threshold: 6, Distance: true},
|
||||
{Normalized: true},
|
||||
{Distance: true},
|
||||
} {
|
||||
base.Reference, base.AcceptAmbiguous = ref, ambiguous > 0
|
||||
for _, second := range []obiseq.BioSequenceSlice{nil, db2} {
|
||||
want := naive(db1, second, base)
|
||||
for _, workers := range []int{1, 3, 8} {
|
||||
p := base
|
||||
p.Workers = workers
|
||||
rows := collect(Compare(db1, second, "test", p, nil))
|
||||
if len(rows) != len(want) {
|
||||
t.Fatalf("%+v two=%v workers=%d: %d rows, want %d", base, second != nil, workers, len(rows), len(want))
|
||||
}
|
||||
for i, r := range rows {
|
||||
if got := fmt.Sprintf("%s\t%s\t%f", r["id1"], r["id2"], r["score"]); got != want[i] {
|
||||
t.Fatalf("%+v two=%v workers=%d row %d: %s, want %s", base, second != nil, workers, i, got, want[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunShape(t *testing.T) {
|
||||
// with a threshold, the runs are long
|
||||
if rows, window := runShape(40000, 40000, false, 16); rows != 78 || window != 64 {
|
||||
t.Errorf("with a threshold: %d rows, window %d", rows, window)
|
||||
}
|
||||
// without threshold, a run produces at most about maxRowsPerRun rows
|
||||
if rows, _ := runShape(40000, 40000, true, 16); rows*40000 > 3*maxRowsPerRun {
|
||||
t.Errorf("without threshold: %d rows per run give too large a table", rows)
|
||||
}
|
||||
if rows, _ := runShape(10, 10, true, 4); rows < 1 {
|
||||
t.Errorf("a run must cover one sequence at least, got %d", rows)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
package obialign
|
||||
|
||||
import (
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obiconvert"
|
||||
"github.com/DavidGamba/go-getoptions"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
var _threshold = 0.0
|
||||
var _refShortest = false
|
||||
var _refLongest = false
|
||||
var _refAlignment = false
|
||||
var _normalized = false
|
||||
var _raw = false
|
||||
var _distance = false
|
||||
var _acceptAmbiguous = false
|
||||
var _referenceDB = ""
|
||||
var _extraColumns = false
|
||||
|
||||
func ObialignOptionSet(options *getoptions.GetOpt) {
|
||||
options.Float64Var(&_threshold, "threshold", _threshold,
|
||||
options.Alias("t"),
|
||||
options.ArgName("THRESHOLD"),
|
||||
options.Description("Score threshold: only the pairs of sequences whose score reaches it are reported "+
|
||||
"(default: no threshold, all the pairs are reported). If the score is normalized and expressed in similarity (default), "+
|
||||
"it is an identity, e.g. 0.95 for an identity of 95%. If the score is normalized and expressed in distance, "+
|
||||
"it is (1.0 - identity), e.g. 0.05 for an identity of 95%. If the score is not normalized and expressed in similarity, "+
|
||||
"it is the length of the Longest Common Subsequence. If the score is not normalized and expressed in distance, "+
|
||||
"it is (reference length - LCS length)."))
|
||||
|
||||
options.BoolVar(&_refShortest, "shortest", _refShortest,
|
||||
options.Alias("l"),
|
||||
options.Description("Reference sequence length is the shortest."))
|
||||
|
||||
options.BoolVar(&_refLongest, "longest", _refLongest,
|
||||
options.Alias("L"),
|
||||
options.Description("Reference sequence length is the longest."))
|
||||
|
||||
options.BoolVar(&_refAlignment, "alignment", _refAlignment,
|
||||
options.Alias("a"),
|
||||
options.Description("Reference sequence length is the alignment length (default)."))
|
||||
|
||||
options.BoolVar(&_normalized, "normalized", _normalized,
|
||||
options.Alias("n"),
|
||||
options.Description("Score is normalized by the reference sequence length (default)."))
|
||||
|
||||
options.BoolVar(&_raw, "raw", _raw,
|
||||
options.Alias("r"),
|
||||
options.Description("Raw score, not normalized."))
|
||||
|
||||
options.BoolVar(&_distance, "distance", _distance,
|
||||
options.Alias("d"),
|
||||
options.Description("Score is expressed in distance (default: score is expressed in similarity)."))
|
||||
|
||||
options.BoolVar(&_acceptAmbiguous, "accept-ambiguous", _acceptAmbiguous,
|
||||
options.Alias("g"),
|
||||
options.Description("Accept the sequences containing IUPAC letters other than a, c, g and t; "+
|
||||
"the alignment handles the IUPAC codes (default: these sequences are discarded)."))
|
||||
|
||||
options.StringVar(&_referenceDB, "reference-db", _referenceDB,
|
||||
options.Alias("R"),
|
||||
options.ArgName("FILENAME"),
|
||||
options.Description("Compare every sequence of the input with every sequence of this file "+
|
||||
"(default: compare the sequences of the input with each other)."))
|
||||
|
||||
options.BoolVar(&_extraColumns, "extra-columns", _extraColumns,
|
||||
options.Alias("x"),
|
||||
options.Description("Add the columns count1, count2, length1 and length2 to the table."))
|
||||
}
|
||||
|
||||
func OptionSet(options *getoptions.GetOpt) {
|
||||
obiconvert.InputOptionSet(options)
|
||||
obiconvert.OutputModeOptionSet(options, true)
|
||||
ObialignOptionSet(options)
|
||||
}
|
||||
|
||||
// CLIThreshold returns the score threshold, 0 if there is none.
|
||||
func CLIThreshold() float64 { return _threshold }
|
||||
|
||||
// CLINormalized returns true when the score is normalized by the reference length.
|
||||
func CLINormalized() bool {
|
||||
if _raw && _normalized {
|
||||
log.Fatal("The options --raw and --normalized are exclusive")
|
||||
}
|
||||
return !_raw
|
||||
}
|
||||
|
||||
// CLIDistance returns true when the score is expressed in distance.
|
||||
func CLIDistance() bool { return _distance }
|
||||
|
||||
// CLIReference returns the length used as reference to normalize the score.
|
||||
func CLIReference() sim.Reference {
|
||||
n := 0
|
||||
ref := sim.RefAlignment
|
||||
if _refShortest {
|
||||
n++
|
||||
ref = sim.RefShortest
|
||||
}
|
||||
if _refLongest {
|
||||
n++
|
||||
ref = sim.RefLongest
|
||||
}
|
||||
if _refAlignment {
|
||||
n++
|
||||
}
|
||||
if n > 1 {
|
||||
log.Fatal("The options --shortest, --longest and --alignment are exclusive")
|
||||
}
|
||||
return ref
|
||||
}
|
||||
|
||||
// CLIAcceptAmbiguous returns true when the sequences with IUPAC letters other than acgt are kept.
|
||||
func CLIAcceptAmbiguous() bool { return _acceptAmbiguous }
|
||||
|
||||
// CLIExtraColumns returns true when the counts and the lengths must be written.
|
||||
func CLIExtraColumns() bool { return _extraColumns }
|
||||
|
||||
// CLIHasReferenceDB returns true when a second dataset has been given.
|
||||
func CLIHasReferenceDB() bool { return _referenceDB != "" }
|
||||
|
||||
// CLIReferenceDB reads the second dataset.
|
||||
func CLIReferenceDB() obiseq.BioSequenceSlice {
|
||||
// Read as the main input is, with the same input options.
|
||||
iterator, err := obiconvert.CLIReadBioSequences(_referenceDB)
|
||||
if err != nil {
|
||||
log.Fatalf("Cannot open the reference file %s: %v", _referenceDB, err)
|
||||
}
|
||||
_, db := iterator.Load()
|
||||
return db
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
one all -x
|
||||
one default -t 0.9 -x
|
||||
one low -t 0.6
|
||||
one shortest -t 0.9 -l
|
||||
one longest -t 0.85 -L
|
||||
one distance -t 0.1 -d
|
||||
one rawdist -t 4 -r -d
|
||||
one rawlcs -t 40 -r
|
||||
one rawlcs_shortest -t 45 -r -l
|
||||
one alldist -d -r
|
||||
one allraw -r
|
||||
one allshortest -l
|
||||
two all -x
|
||||
two default -t 0.9 -x
|
||||
two low -t 0.6
|
||||
two shortest -t 0.9 -l
|
||||
two longest -t 0.85 -L
|
||||
two distance -t 0.1 -d
|
||||
two rawdist -t 4 -r -d
|
||||
two rawlcs -t 40 -r
|
||||
two rawlcs_shortest -t 45 -r -l
|
||||
two alldist -d -r
|
||||
two allraw -r
|
||||
two allshortest -l
|
||||
+903
@@ -0,0 +1,903 @@
|
||||
f3v10s35 f3v5s30 0.865672 87579 39802 65 63
|
||||
f3v10s35 f1v8s15 0.521127 87579 66109 65 57
|
||||
f3v10s35 f2v1s23 0.500000 87579 35696 65 58
|
||||
f3v10s35 f4v2s42 0.506667 87579 17302 65 61
|
||||
f3v10s35 f0v4s4 0.500000 87579 86916 65 69
|
||||
f3v10s35 f1v6s13 0.528571 87579 80246 65 56
|
||||
f3v10s35 f3v8s33 0.910448 87579 88635 65 66
|
||||
f3v10s35 f1v1s8 0.527027 87579 17651 65 60
|
||||
f3v10s35 f1v14s21 0.506667 87579 85030 65 56
|
||||
f3v10s35 f0v1s1 0.500000 87579 43883 65 69
|
||||
f3v10s35 f1v5s12 0.506667 87579 1410 65 60
|
||||
f3v10s35 f1v4s11 0.500000 87579 74527 65 58
|
||||
f3v10s35 f1v9s16 0.506494 87579 65777 65 60
|
||||
f3v10s35 f1v10s17 0.520000 87579 98659 65 60
|
||||
f3v10s35 f1v0s7 0.500000 87579 84420 65 58
|
||||
f3v10s35 f3v9s34 0.910448 87579 40677 65 65
|
||||
f3v10s35 f4v0s40 0.500000 87579 75843 65 60
|
||||
f3v10s35 f1v7s14 0.500000 87579 42277 65 58
|
||||
f3v10s35 f3v2s27 0.910448 87579 74030 65 65
|
||||
f3v10s35 f4v1s41 0.493506 87579 45686 65 61
|
||||
f3v10s35 f2v0s22 0.506329 87579 43219 65 69
|
||||
f3v10s35 f1v2s9 0.500000 87579 99108 65 69
|
||||
f3v10s35 f1v3s10 0.500000 87579 43230 65 58
|
||||
f3v10s35 f3v0s25 0.925373 87579 62755 65 66
|
||||
f3v10s35 f3v3s28 0.897059 87579 66465 65 66
|
||||
f3v10s35 f3v13s38 0.898551 87579 26948 65 68
|
||||
f3v10s35 f3v7s32 0.910448 87579 53710 65 65
|
||||
f3v10s35 f3v1s26 0.910448 87579 41283 65 65
|
||||
f3v10s35 f3v6s31 0.910448 87579 94783 65 65
|
||||
f3v10s35 f1v13s20 0.493333 87579 80913 65 56
|
||||
f3v10s35 f2v2s24 0.500000 87579 68414 65 49
|
||||
f3v10s35 f3v11s36 0.867647 87579 91927 65 65
|
||||
f3v10s35 f0v5s5 0.500000 87579 2668 65 69
|
||||
f3v10s35 f1v11s18 0.500000 87579 51814 65 58
|
||||
f3v10s35 f0v6s6 0.475000 87579 16273 65 69
|
||||
f3v10s35 f3v4s29 0.884058 87579 94356 65 68
|
||||
f3v10s35 f0v2s2 0.506329 87579 10896 65 69
|
||||
f3v10s35 f3v12s37 0.897059 87579 74202 65 67
|
||||
f3v10s35 f0v3s3 0.500000 87579 73040 65 67
|
||||
f3v10s35 f3v14s39 0.925373 87579 55015 65 66
|
||||
f3v10s35 f0v0s0 0.506329 87579 1332 65 69
|
||||
f3v10s35 f1v12s19 0.513889 87579 58178 65 57
|
||||
f3v5s30 f1v8s15 0.520548 39802 66109 63 57
|
||||
f3v5s30 f2v1s23 0.513514 39802 35696 63 58
|
||||
f3v5s30 f4v2s42 0.513889 39802 17302 63 61
|
||||
f3v5s30 f0v4s4 0.493671 39802 86916 63 69
|
||||
f3v5s30 f1v6s13 0.520000 39802 80246 63 56
|
||||
f3v5s30 f3v8s33 0.924242 39802 88635 63 66
|
||||
f3v5s30 f1v1s8 0.513158 39802 17651 63 60
|
||||
f3v5s30 f1v14s21 0.521127 39802 85030 63 56
|
||||
f3v5s30 f0v1s1 0.493671 39802 43883 63 69
|
||||
f3v5s30 f1v5s12 0.500000 39802 1410 63 60
|
||||
f3v5s30 f1v4s11 0.513514 39802 74527 63 58
|
||||
f3v5s30 f1v9s16 0.506667 39802 65777 63 60
|
||||
f3v5s30 f1v10s17 0.506494 39802 98659 63 60
|
||||
f3v5s30 f1v0s7 0.513514 39802 84420 63 58
|
||||
f3v5s30 f3v9s34 0.909091 39802 40677 63 65
|
||||
f3v5s30 f4v0s40 0.521127 39802 75843 63 60
|
||||
f3v5s30 f1v7s14 0.513514 39802 42277 63 58
|
||||
f3v5s30 f3v2s27 0.924242 39802 74030 63 65
|
||||
f3v5s30 f4v1s41 0.513889 39802 45686 63 61
|
||||
f3v5s30 f2v0s22 0.506329 39802 43219 63 69
|
||||
f3v5s30 f1v2s9 0.493671 39802 99108 63 69
|
||||
f3v5s30 f1v3s10 0.513514 39802 43230 63 58
|
||||
f3v5s30 f3v0s25 0.939394 39802 62755 63 66
|
||||
f3v5s30 f3v3s28 0.910448 39802 66465 63 66
|
||||
f3v5s30 f3v13s38 0.911765 39802 26948 63 68
|
||||
f3v5s30 f3v7s32 0.909091 39802 53710 63 65
|
||||
f3v5s30 f3v1s26 0.910448 39802 41283 63 65
|
||||
f3v5s30 f3v6s31 0.909091 39802 94783 63 65
|
||||
f3v5s30 f1v13s20 0.513514 39802 80913 63 56
|
||||
f3v5s30 f2v2s24 0.515152 39802 68414 63 49
|
||||
f3v5s30 f3v11s36 0.893939 39802 91927 63 65
|
||||
f3v5s30 f0v5s5 0.500000 39802 2668 63 69
|
||||
f3v5s30 f1v11s18 0.513514 39802 51814 63 58
|
||||
f3v5s30 f0v6s6 0.506173 39802 16273 63 69
|
||||
f3v5s30 f3v4s29 0.897059 39802 94356 63 68
|
||||
f3v5s30 f0v2s2 0.506329 39802 10896 63 69
|
||||
f3v5s30 f3v12s37 0.910448 39802 74202 63 67
|
||||
f3v5s30 f0v3s3 0.506329 39802 73040 63 67
|
||||
f3v5s30 f3v14s39 0.939394 39802 55015 63 66
|
||||
f3v5s30 f0v0s0 0.506329 39802 1332 63 69
|
||||
f3v5s30 f1v12s19 0.506849 39802 58178 63 57
|
||||
f1v8s15 f2v1s23 0.982759 66109 35696 57 58
|
||||
f1v8s15 f4v2s42 0.478873 66109 17302 57 61
|
||||
f1v8s15 f0v4s4 0.487179 66109 86916 57 69
|
||||
f1v8s15 f1v6s13 0.947368 66109 80246 57 56
|
||||
f1v8s15 f3v8s33 0.541667 66109 88635 57 66
|
||||
f1v8s15 f1v1s8 0.916667 66109 17651 57 60
|
||||
f1v8s15 f1v14s21 0.931034 66109 85030 57 56
|
||||
f1v8s15 f0v1s1 0.487179 66109 43883 57 69
|
||||
f1v8s15 f1v5s12 0.916667 66109 1410 57 60
|
||||
f1v8s15 f1v4s11 0.982759 66109 74527 57 58
|
||||
f1v8s15 f1v9s16 0.933333 66109 65777 57 60
|
||||
f1v8s15 f1v10s17 0.916667 66109 98659 57 60
|
||||
f1v8s15 f1v0s7 0.982759 66109 84420 57 58
|
||||
f1v8s15 f3v9s34 0.547945 66109 40677 57 65
|
||||
f1v8s15 f4v0s40 0.486111 66109 75843 57 60
|
||||
f1v8s15 f1v7s14 0.982759 66109 42277 57 58
|
||||
f1v8s15 f3v2s27 0.541667 66109 74030 57 65
|
||||
f1v8s15 f4v1s41 0.479452 66109 45686 57 61
|
||||
f1v8s15 f2v0s22 0.493671 66109 43219 57 69
|
||||
f1v8s15 f1v2s9 0.487179 66109 99108 57 69
|
||||
f1v8s15 f1v3s10 0.982759 66109 43230 57 58
|
||||
f1v8s15 f3v0s25 0.534247 66109 62755 57 66
|
||||
f1v8s15 f3v3s28 0.527027 66109 66465 57 66
|
||||
f1v8s15 f3v13s38 0.506329 66109 26948 57 68
|
||||
f1v8s15 f3v7s32 0.547945 66109 53710 57 65
|
||||
f1v8s15 f3v1s26 0.541667 66109 41283 57 65
|
||||
f1v8s15 f3v6s31 0.547945 66109 94783 57 65
|
||||
f1v8s15 f1v13s20 0.948276 66109 80913 57 56
|
||||
f1v8s15 f2v2s24 0.515152 66109 68414 57 49
|
||||
f1v8s15 f3v11s36 0.527027 66109 91927 57 65
|
||||
f1v8s15 f0v5s5 0.493671 66109 2668 57 69
|
||||
f1v8s15 f1v11s18 0.965517 66109 51814 57 58
|
||||
f1v8s15 f0v6s6 0.481013 66109 16273 57 69
|
||||
f1v8s15 f3v4s29 0.533333 66109 94356 57 68
|
||||
f1v8s15 f0v2s2 0.493671 66109 10896 57 69
|
||||
f1v8s15 f3v12s37 0.540541 66109 74202 57 67
|
||||
f1v8s15 f0v3s3 0.506494 66109 73040 57 67
|
||||
f1v8s15 f3v14s39 0.534247 66109 55015 57 66
|
||||
f1v8s15 f0v0s0 0.493671 66109 1332 57 69
|
||||
f1v8s15 f1v12s19 0.948276 66109 58178 57 57
|
||||
f2v1s23 f4v2s42 0.492754 35696 17302 58 61
|
||||
f2v1s23 f0v4s4 0.481013 35696 86916 58 69
|
||||
f2v1s23 f1v6s13 0.931034 35696 80246 58 56
|
||||
f2v1s23 f3v8s33 0.534247 35696 88635 58 66
|
||||
f2v1s23 f1v1s8 0.933333 35696 17651 58 60
|
||||
f2v1s23 f1v14s21 0.948276 35696 85030 58 56
|
||||
f2v1s23 f0v1s1 0.481013 35696 43883 58 69
|
||||
f2v1s23 f1v5s12 0.933333 35696 1410 58 60
|
||||
f2v1s23 f1v4s11 1.000000 35696 74527 58 58
|
||||
f2v1s23 f1v9s16 0.950000 35696 65777 58 60
|
||||
f2v1s23 f1v10s17 0.933333 35696 98659 58 60
|
||||
f2v1s23 f1v0s7 1.000000 35696 84420 58 58
|
||||
f2v1s23 f3v9s34 0.540541 35696 40677 58 65
|
||||
f2v1s23 f4v0s40 0.486111 35696 75843 58 60
|
||||
f2v1s23 f1v7s14 1.000000 35696 42277 58 58
|
||||
f2v1s23 f3v2s27 0.534247 35696 74030 58 65
|
||||
f2v1s23 f4v1s41 0.507246 35696 45686 58 61
|
||||
f2v1s23 f2v0s22 0.487500 35696 43219 58 69
|
||||
f2v1s23 f1v2s9 0.481013 35696 99108 58 69
|
||||
f2v1s23 f1v3s10 1.000000 35696 43230 58 58
|
||||
f2v1s23 f3v0s25 0.527027 35696 62755 58 66
|
||||
f2v1s23 f3v3s28 0.520000 35696 66465 58 66
|
||||
f2v1s23 f3v13s38 0.506329 35696 26948 58 68
|
||||
f2v1s23 f3v7s32 0.540541 35696 53710 58 65
|
||||
f2v1s23 f3v1s26 0.534247 35696 41283 58 65
|
||||
f2v1s23 f3v6s31 0.540541 35696 94783 58 65
|
||||
f2v1s23 f1v13s20 0.965517 35696 80913 58 56
|
||||
f2v1s23 f2v2s24 0.507463 35696 68414 58 49
|
||||
f2v1s23 f3v11s36 0.520000 35696 91927 58 65
|
||||
f2v1s23 f0v5s5 0.487500 35696 2668 58 69
|
||||
f2v1s23 f1v11s18 0.982759 35696 51814 58 58
|
||||
f2v1s23 f0v6s6 0.475000 35696 16273 58 69
|
||||
f2v1s23 f3v4s29 0.526316 35696 94356 58 68
|
||||
f2v1s23 f0v2s2 0.487500 35696 10896 58 69
|
||||
f2v1s23 f3v12s37 0.533333 35696 74202 58 67
|
||||
f2v1s23 f0v3s3 0.500000 35696 73040 58 67
|
||||
f2v1s23 f3v14s39 0.527027 35696 55015 58 66
|
||||
f2v1s23 f0v0s0 0.487500 35696 1332 58 69
|
||||
f2v1s23 f1v12s19 0.965517 35696 58178 58 57
|
||||
f4v2s42 f0v4s4 0.520000 17302 86916 61 69
|
||||
f4v2s42 f1v6s13 0.478261 17302 80246 61 56
|
||||
f4v2s42 f3v8s33 0.500000 17302 88635 61 66
|
||||
f4v2s42 f1v1s8 0.480000 17302 17651 61 60
|
||||
f4v2s42 f1v14s21 0.500000 17302 85030 61 56
|
||||
f4v2s42 f0v1s1 0.520000 17302 43883 61 69
|
||||
f4v2s42 f1v5s12 0.485714 17302 1410 61 60
|
||||
f4v2s42 f1v4s11 0.492754 17302 74527 61 58
|
||||
f4v2s42 f1v9s16 0.493151 17302 65777 61 60
|
||||
f4v2s42 f1v10s17 0.466667 17302 98659 61 60
|
||||
f4v2s42 f1v0s7 0.492754 17302 84420 61 58
|
||||
f4v2s42 f3v9s34 0.472973 17302 40677 61 65
|
||||
f4v2s42 f4v0s40 0.967213 17302 75843 61 60
|
||||
f4v2s42 f1v7s14 0.492754 17302 42277 61 58
|
||||
f4v2s42 f3v2s27 0.493151 17302 74030 61 65
|
||||
f4v2s42 f4v1s41 0.951613 17302 45686 61 61
|
||||
f4v2s42 f2v0s22 0.546667 17302 43219 61 69
|
||||
f4v2s42 f1v2s9 0.520000 17302 99108 61 69
|
||||
f4v2s42 f1v3s10 0.492754 17302 43230 61 58
|
||||
f4v2s42 f3v0s25 0.486486 17302 62755 61 66
|
||||
f4v2s42 f3v3s28 0.486486 17302 66465 61 66
|
||||
f4v2s42 f3v13s38 0.474359 17302 26948 61 68
|
||||
f4v2s42 f3v7s32 0.472973 17302 53710 61 65
|
||||
f4v2s42 f3v1s26 0.493151 17302 41283 61 65
|
||||
f4v2s42 f3v6s31 0.472973 17302 94783 61 65
|
||||
f4v2s42 f1v13s20 0.492537 17302 80913 61 56
|
||||
f4v2s42 f2v2s24 0.530303 17302 68414 61 49
|
||||
f4v2s42 f3v11s36 0.493151 17302 91927 61 65
|
||||
f4v2s42 f0v5s5 0.526316 17302 2668 61 69
|
||||
f4v2s42 f1v11s18 0.478873 17302 51814 61 58
|
||||
f4v2s42 f0v6s6 0.539474 17302 16273 61 69
|
||||
f4v2s42 f3v4s29 0.481013 17302 94356 61 68
|
||||
f4v2s42 f0v2s2 0.546667 17302 10896 61 69
|
||||
f4v2s42 f3v12s37 0.486842 17302 74202 61 67
|
||||
f4v2s42 f0v3s3 0.527027 17302 73040 61 67
|
||||
f4v2s42 f3v14s39 0.486486 17302 55015 61 66
|
||||
f4v2s42 f0v0s0 0.533333 17302 1332 61 69
|
||||
f4v2s42 f1v12s19 0.492537 17302 58178 61 57
|
||||
f0v4s4 f1v6s13 0.493333 86916 80246 69 56
|
||||
f0v4s4 f3v8s33 0.506173 86916 88635 69 66
|
||||
f0v4s4 f1v1s8 0.481013 86916 17651 69 60
|
||||
f0v4s4 f1v14s21 0.493506 86916 85030 69 56
|
||||
f0v4s4 f0v1s1 1.000000 86916 43883 69 69
|
||||
f0v4s4 f1v5s12 0.475610 86916 1410 69 60
|
||||
f0v4s4 f1v4s11 0.481013 86916 74527 69 58
|
||||
f0v4s4 f1v9s16 0.493671 86916 65777 69 60
|
||||
f0v4s4 f1v10s17 0.481481 86916 98659 69 60
|
||||
f0v4s4 f1v0s7 0.481013 86916 84420 69 58
|
||||
f0v4s4 f3v9s34 0.500000 86916 40677 69 65
|
||||
f0v4s4 f4v0s40 0.481013 86916 75843 69 60
|
||||
f0v4s4 f1v7s14 0.481013 86916 42277 69 58
|
||||
f0v4s4 f3v2s27 0.500000 86916 74030 69 65
|
||||
f0v4s4 f4v1s41 0.475000 86916 45686 69 61
|
||||
f0v4s4 f2v0s22 0.943662 86916 43219 69 69
|
||||
f0v4s4 f1v2s9 1.000000 86916 99108 69 69
|
||||
f0v4s4 f1v3s10 0.481013 86916 43230 69 58
|
||||
f0v4s4 f3v0s25 0.493827 86916 62755 69 66
|
||||
f0v4s4 f3v3s28 0.500000 86916 66465 69 66
|
||||
f0v4s4 f3v13s38 0.493827 86916 26948 69 68
|
||||
f0v4s4 f3v7s32 0.500000 86916 53710 69 65
|
||||
f0v4s4 f3v1s26 0.481481 86916 41283 69 65
|
||||
f0v4s4 f3v6s31 0.500000 86916 94783 69 65
|
||||
f0v4s4 f1v13s20 0.480519 86916 80913 69 56
|
||||
f0v4s4 f2v2s24 0.486111 86916 68414 69 49
|
||||
f0v4s4 f3v11s36 0.468354 86916 91927 69 65
|
||||
f0v4s4 f0v5s5 0.943662 86916 2668 69 69
|
||||
f0v4s4 f1v11s18 0.493506 86916 51814 69 58
|
||||
f0v4s4 f0v6s6 0.901408 86916 16273 69 69
|
||||
f0v4s4 f3v4s29 0.525000 86916 94356 69 68
|
||||
f0v4s4 f0v2s2 0.943662 86916 10896 69 69
|
||||
f0v4s4 f3v12s37 0.493827 86916 74202 69 67
|
||||
f0v4s4 f0v3s3 0.915493 86916 73040 69 67
|
||||
f0v4s4 f3v14s39 0.493827 86916 55015 69 66
|
||||
f0v4s4 f0v0s0 0.971429 86916 1332 69 69
|
||||
f0v4s4 f1v12s19 0.457831 86916 58178 69 57
|
||||
f1v6s13 f3v8s33 0.541667 80246 88635 56 66
|
||||
f1v6s13 f1v1s8 0.866667 80246 17651 56 60
|
||||
f1v6s13 f1v14s21 0.879310 80246 85030 56 56
|
||||
f1v6s13 f0v1s1 0.493333 80246 43883 56 69
|
||||
f1v6s13 f1v5s12 0.866667 80246 1410 56 60
|
||||
f1v6s13 f1v4s11 0.931034 80246 74527 56 58
|
||||
f1v6s13 f1v9s16 0.883333 80246 65777 56 60
|
||||
f1v6s13 f1v10s17 0.883333 80246 98659 56 60
|
||||
f1v6s13 f1v0s7 0.931034 80246 84420 56 58
|
||||
f1v6s13 f3v9s34 0.541667 80246 40677 56 65
|
||||
f1v6s13 f4v0s40 0.472222 80246 75843 56 60
|
||||
f1v6s13 f1v7s14 0.931034 80246 42277 56 58
|
||||
f1v6s13 f3v2s27 0.549296 80246 74030 56 65
|
||||
f1v6s13 f4v1s41 0.465753 80246 45686 56 61
|
||||
f1v6s13 f2v0s22 0.493506 80246 43219 56 69
|
||||
f1v6s13 f1v2s9 0.493333 80246 99108 56 69
|
||||
f1v6s13 f1v3s10 0.931034 80246 43230 56 58
|
||||
f1v6s13 f3v0s25 0.541667 80246 62755 56 66
|
||||
f1v6s13 f3v3s28 0.534247 80246 66465 56 66
|
||||
f1v6s13 f3v13s38 0.527027 80246 26948 56 68
|
||||
f1v6s13 f3v7s32 0.541667 80246 53710 56 65
|
||||
f1v6s13 f3v1s26 0.549296 80246 41283 56 65
|
||||
f1v6s13 f3v6s31 0.541667 80246 94783 56 65
|
||||
f1v6s13 f1v13s20 0.896552 80246 80913 56 56
|
||||
f1v6s13 f2v2s24 0.507692 80246 68414 56 49
|
||||
f1v6s13 f3v11s36 0.534247 80246 91927 56 65
|
||||
f1v6s13 f0v5s5 0.500000 80246 2668 56 69
|
||||
f1v6s13 f1v11s18 0.913793 80246 51814 56 58
|
||||
f1v6s13 f0v6s6 0.493506 80246 16273 56 69
|
||||
f1v6s13 f3v4s29 0.540541 80246 94356 56 68
|
||||
f1v6s13 f0v2s2 0.493506 80246 10896 56 69
|
||||
f1v6s13 f3v12s37 0.547945 80246 74202 56 67
|
||||
f1v6s13 f0v3s3 0.506849 80246 73040 56 67
|
||||
f1v6s13 f3v14s39 0.541667 80246 55015 56 66
|
||||
f1v6s13 f0v0s0 0.500000 80246 1332 56 69
|
||||
f1v6s13 f1v12s19 0.896552 80246 58178 56 57
|
||||
f3v8s33 f1v1s8 0.547945 88635 17651 66 60
|
||||
f3v8s33 f1v14s21 0.535211 88635 85030 66 56
|
||||
f3v8s33 f0v1s1 0.506173 88635 43883 66 69
|
||||
f3v8s33 f1v5s12 0.527027 88635 1410 66 60
|
||||
f3v8s33 f1v4s11 0.534247 88635 74527 66 58
|
||||
f3v8s33 f1v9s16 0.506494 88635 65777 66 60
|
||||
f3v8s33 f1v10s17 0.555556 88635 98659 66 60
|
||||
f3v8s33 f1v0s7 0.534247 88635 84420 66 58
|
||||
f3v8s33 f3v9s34 0.954545 88635 40677 66 65
|
||||
f3v8s33 f4v0s40 0.468354 88635 75843 66 60
|
||||
f3v8s33 f1v7s14 0.534247 88635 42277 66 58
|
||||
f3v8s33 f3v2s27 0.969697 88635 74030 66 65
|
||||
f3v8s33 f4v1s41 0.462500 88635 45686 66 61
|
||||
f3v8s33 f2v0s22 0.525000 88635 43219 66 69
|
||||
f3v8s33 f1v2s9 0.506173 88635 99108 66 69
|
||||
f3v8s33 f1v3s10 0.534247 88635 43230 66 58
|
||||
f3v8s33 f3v0s25 0.984848 88635 62755 66 66
|
||||
f3v8s33 f3v3s28 0.955224 88635 66465 66 66
|
||||
f3v8s33 f3v13s38 0.955882 88635 26948 66 68
|
||||
f3v8s33 f3v7s32 0.954545 88635 53710 66 65
|
||||
f3v8s33 f3v1s26 0.954545 88635 41283 66 65
|
||||
f3v8s33 f3v6s31 0.954545 88635 94783 66 65
|
||||
f3v8s33 f1v13s20 0.527778 88635 80913 66 56
|
||||
f3v8s33 f2v2s24 0.500000 88635 68414 66 49
|
||||
f3v8s33 f3v11s36 0.925373 88635 91927 66 65
|
||||
f3v8s33 f0v5s5 0.512500 88635 2668 66 69
|
||||
f3v8s33 f1v11s18 0.534247 88635 51814 66 58
|
||||
f3v8s33 f0v6s6 0.488095 88635 16273 66 69
|
||||
f3v8s33 f3v4s29 0.941176 88635 94356 66 68
|
||||
f3v8s33 f0v2s2 0.525000 88635 10896 66 69
|
||||
f3v8s33 f3v12s37 0.955224 88635 74202 66 67
|
||||
f3v8s33 f0v3s3 0.518987 88635 73040 66 67
|
||||
f3v8s33 f3v14s39 0.984848 88635 55015 66 66
|
||||
f3v8s33 f0v0s0 0.525000 88635 1332 66 69
|
||||
f3v8s33 f1v12s19 0.527778 88635 58178 66 57
|
||||
f1v1s8 f1v14s21 0.916667 17651 85030 60 56
|
||||
f1v1s8 f0v1s1 0.481013 17651 43883 60 69
|
||||
f1v1s8 f1v5s12 0.870968 17651 1410 60 60
|
||||
f1v1s8 f1v4s11 0.933333 17651 74527 60 58
|
||||
f1v1s8 f1v9s16 0.887097 17651 65777 60 60
|
||||
f1v1s8 f1v10s17 0.870968 17651 98659 60 60
|
||||
f1v1s8 f1v0s7 0.933333 17651 84420 60 58
|
||||
f1v1s8 f3v9s34 0.561644 17651 40677 60 65
|
||||
f1v1s8 f4v0s40 0.493151 17651 75843 60 60
|
||||
f1v1s8 f1v7s14 0.933333 17651 42277 60 58
|
||||
f1v1s8 f3v2s27 0.555556 17651 74030 60 65
|
||||
f1v1s8 f4v1s41 0.486486 17651 45686 60 61
|
||||
f1v1s8 f2v0s22 0.481481 17651 43219 60 69
|
||||
f1v1s8 f1v2s9 0.481013 17651 99108 60 69
|
||||
f1v1s8 f1v3s10 0.933333 17651 43230 60 58
|
||||
f1v1s8 f3v0s25 0.547945 17651 62755 60 66
|
||||
f1v1s8 f3v3s28 0.540541 17651 66465 60 66
|
||||
f1v1s8 f3v13s38 0.546667 17651 26948 60 68
|
||||
f1v1s8 f3v7s32 0.561644 17651 53710 60 65
|
||||
f1v1s8 f3v1s26 0.563380 17651 41283 60 65
|
||||
f1v1s8 f3v6s31 0.561644 17651 94783 60 65
|
||||
f1v1s8 f1v13s20 0.900000 17651 80913 60 56
|
||||
f1v1s8 f2v2s24 0.478261 17651 68414 60 49
|
||||
f1v1s8 f3v11s36 0.534247 17651 91927 60 65
|
||||
f1v1s8 f0v5s5 0.481481 17651 2668 60 69
|
||||
f1v1s8 f1v11s18 0.916667 17651 51814 60 58
|
||||
f1v1s8 f0v6s6 0.493506 17651 16273 60 69
|
||||
f1v1s8 f3v4s29 0.554054 17651 94356 60 68
|
||||
f1v1s8 f0v2s2 0.481481 17651 10896 60 69
|
||||
f1v1s8 f3v12s37 0.546667 17651 74202 60 67
|
||||
f1v1s8 f0v3s3 0.493671 17651 73040 60 67
|
||||
f1v1s8 f3v14s39 0.547945 17651 55015 60 66
|
||||
f1v1s8 f0v0s0 0.487500 17651 1332 60 69
|
||||
f1v1s8 f1v12s19 0.916667 17651 58178 60 57
|
||||
f1v14s21 f0v1s1 0.493506 85030 43883 56 69
|
||||
f1v14s21 f1v5s12 0.883333 85030 1410 56 60
|
||||
f1v14s21 f1v4s11 0.948276 85030 74527 56 58
|
||||
f1v14s21 f1v9s16 0.900000 85030 65777 56 60
|
||||
f1v14s21 f1v10s17 0.883333 85030 98659 56 60
|
||||
f1v14s21 f1v0s7 0.948276 85030 84420 56 58
|
||||
f1v14s21 f3v9s34 0.549296 85030 40677 56 65
|
||||
f1v14s21 f4v0s40 0.500000 85030 75843 56 60
|
||||
f1v14s21 f1v7s14 0.948276 85030 42277 56 58
|
||||
f1v14s21 f3v2s27 0.542857 85030 74030 56 65
|
||||
f1v14s21 f4v1s41 0.507463 85030 45686 56 61
|
||||
f1v14s21 f2v0s22 0.493671 85030 43219 56 69
|
||||
f1v14s21 f1v2s9 0.493506 85030 99108 56 69
|
||||
f1v14s21 f1v3s10 0.948276 85030 43230 56 58
|
||||
f1v14s21 f3v0s25 0.535211 85030 62755 56 66
|
||||
f1v14s21 f3v3s28 0.527778 85030 66465 56 66
|
||||
f1v14s21 f3v13s38 0.520548 85030 26948 56 68
|
||||
f1v14s21 f3v7s32 0.549296 85030 53710 56 65
|
||||
f1v14s21 f3v1s26 0.550725 85030 41283 56 65
|
||||
f1v14s21 f3v6s31 0.549296 85030 94783 56 65
|
||||
f1v14s21 f1v13s20 0.913793 85030 80913 56 56
|
||||
f1v14s21 f2v2s24 0.523077 85030 68414 56 49
|
||||
f1v14s21 f3v11s36 0.513514 85030 91927 56 65
|
||||
f1v14s21 f0v5s5 0.500000 85030 2668 56 69
|
||||
f1v14s21 f1v11s18 0.931034 85030 51814 56 58
|
||||
f1v14s21 f0v6s6 0.506667 85030 16273 56 69
|
||||
f1v14s21 f3v4s29 0.534247 85030 94356 56 68
|
||||
f1v14s21 f0v2s2 0.493671 85030 10896 56 69
|
||||
f1v14s21 f3v12s37 0.534247 85030 74202 56 67
|
||||
f1v14s21 f0v3s3 0.513158 85030 73040 56 67
|
||||
f1v14s21 f3v14s39 0.535211 85030 55015 56 66
|
||||
f1v14s21 f0v0s0 0.500000 85030 1332 56 69
|
||||
f1v14s21 f1v12s19 0.913793 85030 58178 56 57
|
||||
f0v1s1 f1v5s12 0.475610 43883 1410 69 60
|
||||
f0v1s1 f1v4s11 0.481013 43883 74527 69 58
|
||||
f0v1s1 f1v9s16 0.493671 43883 65777 69 60
|
||||
f0v1s1 f1v10s17 0.481481 43883 98659 69 60
|
||||
f0v1s1 f1v0s7 0.481013 43883 84420 69 58
|
||||
f0v1s1 f3v9s34 0.500000 43883 40677 69 65
|
||||
f0v1s1 f4v0s40 0.481013 43883 75843 69 60
|
||||
f0v1s1 f1v7s14 0.481013 43883 42277 69 58
|
||||
f0v1s1 f3v2s27 0.500000 43883 74030 69 65
|
||||
f0v1s1 f4v1s41 0.475000 43883 45686 69 61
|
||||
f0v1s1 f2v0s22 0.943662 43883 43219 69 69
|
||||
f0v1s1 f1v2s9 1.000000 43883 99108 69 69
|
||||
f0v1s1 f1v3s10 0.481013 43883 43230 69 58
|
||||
f0v1s1 f3v0s25 0.493827 43883 62755 69 66
|
||||
f0v1s1 f3v3s28 0.500000 43883 66465 69 66
|
||||
f0v1s1 f3v13s38 0.493827 43883 26948 69 68
|
||||
f0v1s1 f3v7s32 0.500000 43883 53710 69 65
|
||||
f0v1s1 f3v1s26 0.481481 43883 41283 69 65
|
||||
f0v1s1 f3v6s31 0.500000 43883 94783 69 65
|
||||
f0v1s1 f1v13s20 0.480519 43883 80913 69 56
|
||||
f0v1s1 f2v2s24 0.486111 43883 68414 69 49
|
||||
f0v1s1 f3v11s36 0.468354 43883 91927 69 65
|
||||
f0v1s1 f0v5s5 0.943662 43883 2668 69 69
|
||||
f0v1s1 f1v11s18 0.493506 43883 51814 69 58
|
||||
f0v1s1 f0v6s6 0.901408 43883 16273 69 69
|
||||
f0v1s1 f3v4s29 0.525000 43883 94356 69 68
|
||||
f0v1s1 f0v2s2 0.943662 43883 10896 69 69
|
||||
f0v1s1 f3v12s37 0.493827 43883 74202 69 67
|
||||
f0v1s1 f0v3s3 0.915493 43883 73040 69 67
|
||||
f0v1s1 f3v14s39 0.493827 43883 55015 69 66
|
||||
f0v1s1 f0v0s0 0.971429 43883 1332 69 69
|
||||
f0v1s1 f1v12s19 0.457831 43883 58178 69 57
|
||||
f1v5s12 f1v4s11 0.933333 1410 74527 60 58
|
||||
f1v5s12 f1v9s16 0.887097 1410 65777 60 60
|
||||
f1v5s12 f1v10s17 0.887097 1410 98659 60 60
|
||||
f1v5s12 f1v0s7 0.933333 1410 84420 60 58
|
||||
f1v5s12 f3v9s34 0.533333 1410 40677 60 65
|
||||
f1v5s12 f4v0s40 0.486111 1410 75843 60 60
|
||||
f1v5s12 f1v7s14 0.933333 1410 42277 60 58
|
||||
f1v5s12 f3v2s27 0.527027 1410 74030 60 65
|
||||
f1v5s12 f4v1s41 0.479452 1410 45686 60 61
|
||||
f1v5s12 f2v0s22 0.481928 1410 43219 60 69
|
||||
f1v5s12 f1v2s9 0.475610 1410 99108 60 69
|
||||
f1v5s12 f1v3s10 0.933333 1410 43230 60 58
|
||||
f1v5s12 f3v0s25 0.520000 1410 62755 60 66
|
||||
f1v5s12 f3v3s28 0.506667 1410 66465 60 66
|
||||
f1v5s12 f3v13s38 0.512821 1410 26948 60 68
|
||||
f1v5s12 f3v7s32 0.533333 1410 53710 60 65
|
||||
f1v5s12 f3v1s26 0.520548 1410 41283 60 65
|
||||
f1v5s12 f3v6s31 0.533333 1410 94783 60 65
|
||||
f1v5s12 f1v13s20 0.900000 1410 80913 60 56
|
||||
f1v5s12 f2v2s24 0.470588 1410 68414 60 49
|
||||
f1v5s12 f3v11s36 0.527027 1410 91927 60 65
|
||||
f1v5s12 f0v5s5 0.487500 1410 2668 60 69
|
||||
f1v5s12 f1v11s18 0.916667 1410 51814 60 58
|
||||
f1v5s12 f0v6s6 0.475610 1410 16273 60 69
|
||||
f1v5s12 f3v4s29 0.512821 1410 94356 60 68
|
||||
f1v5s12 f0v2s2 0.481928 1410 10896 60 69
|
||||
f1v5s12 f3v12s37 0.533333 1410 74202 60 67
|
||||
f1v5s12 f0v3s3 0.493671 1410 73040 60 67
|
||||
f1v5s12 f3v14s39 0.520000 1410 55015 60 66
|
||||
f1v5s12 f0v0s0 0.481928 1410 1332 60 69
|
||||
f1v5s12 f1v12s19 0.916667 1410 58178 60 57
|
||||
f1v4s11 f1v9s16 0.950000 74527 65777 58 60
|
||||
f1v4s11 f1v10s17 0.933333 74527 98659 58 60
|
||||
f1v4s11 f1v0s7 1.000000 74527 84420 58 58
|
||||
f1v4s11 f3v9s34 0.540541 74527 40677 58 65
|
||||
f1v4s11 f4v0s40 0.486111 74527 75843 58 60
|
||||
f1v4s11 f1v7s14 1.000000 74527 42277 58 58
|
||||
f1v4s11 f3v2s27 0.534247 74527 74030 58 65
|
||||
f1v4s11 f4v1s41 0.507246 74527 45686 58 61
|
||||
f1v4s11 f2v0s22 0.487500 74527 43219 58 69
|
||||
f1v4s11 f1v2s9 0.481013 74527 99108 58 69
|
||||
f1v4s11 f1v3s10 1.000000 74527 43230 58 58
|
||||
f1v4s11 f3v0s25 0.527027 74527 62755 58 66
|
||||
f1v4s11 f3v3s28 0.520000 74527 66465 58 66
|
||||
f1v4s11 f3v13s38 0.506329 74527 26948 58 68
|
||||
f1v4s11 f3v7s32 0.540541 74527 53710 58 65
|
||||
f1v4s11 f3v1s26 0.534247 74527 41283 58 65
|
||||
f1v4s11 f3v6s31 0.540541 74527 94783 58 65
|
||||
f1v4s11 f1v13s20 0.965517 74527 80913 58 56
|
||||
f1v4s11 f2v2s24 0.507463 74527 68414 58 49
|
||||
f1v4s11 f3v11s36 0.520000 74527 91927 58 65
|
||||
f1v4s11 f0v5s5 0.487500 74527 2668 58 69
|
||||
f1v4s11 f1v11s18 0.982759 74527 51814 58 58
|
||||
f1v4s11 f0v6s6 0.475000 74527 16273 58 69
|
||||
f1v4s11 f3v4s29 0.526316 74527 94356 58 68
|
||||
f1v4s11 f0v2s2 0.487500 74527 10896 58 69
|
||||
f1v4s11 f3v12s37 0.533333 74527 74202 58 67
|
||||
f1v4s11 f0v3s3 0.500000 74527 73040 58 67
|
||||
f1v4s11 f3v14s39 0.527027 74527 55015 58 66
|
||||
f1v4s11 f0v0s0 0.487500 74527 1332 58 69
|
||||
f1v4s11 f1v12s19 0.965517 74527 58178 58 57
|
||||
f1v9s16 f1v10s17 0.887097 65777 98659 60 60
|
||||
f1v9s16 f1v0s7 0.950000 65777 84420 60 58
|
||||
f1v9s16 f3v9s34 0.527027 65777 40677 60 65
|
||||
f1v9s16 f4v0s40 0.493151 65777 75843 60 60
|
||||
f1v9s16 f1v7s14 0.950000 65777 42277 60 58
|
||||
f1v9s16 f3v2s27 0.513158 65777 74030 60 65
|
||||
f1v9s16 f4v1s41 0.514286 65777 45686 60 61
|
||||
f1v9s16 f2v0s22 0.493827 65777 43219 60 69
|
||||
f1v9s16 f1v2s9 0.493671 65777 99108 60 69
|
||||
f1v9s16 f1v3s10 0.950000 65777 43230 60 58
|
||||
f1v9s16 f3v0s25 0.506494 65777 62755 60 66
|
||||
f1v9s16 f3v3s28 0.500000 65777 66465 60 66
|
||||
f1v9s16 f3v13s38 0.506329 65777 26948 60 68
|
||||
f1v9s16 f3v7s32 0.527027 65777 53710 60 65
|
||||
f1v9s16 f3v1s26 0.520548 65777 41283 60 65
|
||||
f1v9s16 f3v6s31 0.527027 65777 94783 60 65
|
||||
f1v9s16 f1v13s20 0.916667 65777 80913 60 56
|
||||
f1v9s16 f2v2s24 0.500000 65777 68414 60 49
|
||||
f1v9s16 f3v11s36 0.500000 65777 91927 60 65
|
||||
f1v9s16 f0v5s5 0.500000 65777 2668 60 69
|
||||
f1v9s16 f1v11s18 0.933333 65777 51814 60 58
|
||||
f1v9s16 f0v6s6 0.481481 65777 16273 60 69
|
||||
f1v9s16 f3v4s29 0.512821 65777 94356 60 68
|
||||
f1v9s16 f0v2s2 0.493827 65777 10896 60 69
|
||||
f1v9s16 f3v12s37 0.506329 65777 74202 60 67
|
||||
f1v9s16 f0v3s3 0.518987 65777 73040 60 67
|
||||
f1v9s16 f3v14s39 0.506494 65777 55015 60 66
|
||||
f1v9s16 f0v0s0 0.500000 65777 1332 60 69
|
||||
f1v9s16 f1v12s19 0.916667 65777 58178 60 57
|
||||
f1v10s17 f1v0s7 0.933333 98659 84420 60 58
|
||||
f1v10s17 f3v9s34 0.561644 98659 40677 60 65
|
||||
f1v10s17 f4v0s40 0.472973 98659 75843 60 60
|
||||
f1v10s17 f1v7s14 0.933333 98659 42277 60 58
|
||||
f1v10s17 f3v2s27 0.555556 98659 74030 60 65
|
||||
f1v10s17 f4v1s41 0.473684 98659 45686 60 61
|
||||
f1v10s17 f2v0s22 0.475610 98659 43219 60 69
|
||||
f1v10s17 f1v2s9 0.481481 98659 99108 60 69
|
||||
f1v10s17 f1v3s10 0.933333 98659 43230 60 58
|
||||
f1v10s17 f3v0s25 0.547945 98659 62755 60 66
|
||||
f1v10s17 f3v3s28 0.519481 98659 66465 60 66
|
||||
f1v10s17 f3v13s38 0.518987 98659 26948 60 68
|
||||
f1v10s17 f3v7s32 0.561644 98659 53710 60 65
|
||||
f1v10s17 f3v1s26 0.541667 98659 41283 60 65
|
||||
f1v10s17 f3v6s31 0.561644 98659 94783 60 65
|
||||
f1v10s17 f1v13s20 0.900000 98659 80913 60 56
|
||||
f1v10s17 f2v2s24 0.492537 98659 68414 60 49
|
||||
f1v10s17 f3v11s36 0.539474 98659 91927 60 65
|
||||
f1v10s17 f0v5s5 0.481481 98659 2668 60 69
|
||||
f1v10s17 f1v11s18 0.916667 98659 51814 60 58
|
||||
f1v10s17 f0v6s6 0.464286 98659 16273 60 69
|
||||
f1v10s17 f3v4s29 0.533333 98659 94356 60 68
|
||||
f1v10s17 f0v2s2 0.475610 98659 10896 60 69
|
||||
f1v10s17 f3v12s37 0.561644 98659 74202 60 67
|
||||
f1v10s17 f0v3s3 0.500000 98659 73040 60 67
|
||||
f1v10s17 f3v14s39 0.547945 98659 55015 60 66
|
||||
f1v10s17 f0v0s0 0.487805 98659 1332 60 69
|
||||
f1v10s17 f1v12s19 0.916667 98659 58178 60 57
|
||||
f1v0s7 f3v9s34 0.540541 84420 40677 58 65
|
||||
f1v0s7 f4v0s40 0.486111 84420 75843 58 60
|
||||
f1v0s7 f1v7s14 1.000000 84420 42277 58 58
|
||||
f1v0s7 f3v2s27 0.534247 84420 74030 58 65
|
||||
f1v0s7 f4v1s41 0.507246 84420 45686 58 61
|
||||
f1v0s7 f2v0s22 0.487500 84420 43219 58 69
|
||||
f1v0s7 f1v2s9 0.481013 84420 99108 58 69
|
||||
f1v0s7 f1v3s10 1.000000 84420 43230 58 58
|
||||
f1v0s7 f3v0s25 0.527027 84420 62755 58 66
|
||||
f1v0s7 f3v3s28 0.520000 84420 66465 58 66
|
||||
f1v0s7 f3v13s38 0.506329 84420 26948 58 68
|
||||
f1v0s7 f3v7s32 0.540541 84420 53710 58 65
|
||||
f1v0s7 f3v1s26 0.534247 84420 41283 58 65
|
||||
f1v0s7 f3v6s31 0.540541 84420 94783 58 65
|
||||
f1v0s7 f1v13s20 0.965517 84420 80913 58 56
|
||||
f1v0s7 f2v2s24 0.507463 84420 68414 58 49
|
||||
f1v0s7 f3v11s36 0.520000 84420 91927 58 65
|
||||
f1v0s7 f0v5s5 0.487500 84420 2668 58 69
|
||||
f1v0s7 f1v11s18 0.982759 84420 51814 58 58
|
||||
f1v0s7 f0v6s6 0.475000 84420 16273 58 69
|
||||
f1v0s7 f3v4s29 0.526316 84420 94356 58 68
|
||||
f1v0s7 f0v2s2 0.487500 84420 10896 58 69
|
||||
f1v0s7 f3v12s37 0.533333 84420 74202 58 67
|
||||
f1v0s7 f0v3s3 0.500000 84420 73040 58 67
|
||||
f1v0s7 f3v14s39 0.527027 84420 55015 58 66
|
||||
f1v0s7 f0v0s0 0.487500 84420 1332 58 69
|
||||
f1v0s7 f1v12s19 0.965517 84420 58178 58 57
|
||||
f3v9s34 f4v0s40 0.472973 40677 75843 65 60
|
||||
f3v9s34 f1v7s14 0.540541 40677 42277 65 58
|
||||
f3v9s34 f3v2s27 0.954545 40677 74030 65 65
|
||||
f3v9s34 f4v1s41 0.479452 40677 45686 65 61
|
||||
f3v9s34 f2v0s22 0.512821 40677 43219 65 69
|
||||
f3v9s34 f1v2s9 0.500000 40677 99108 65 69
|
||||
f3v9s34 f1v3s10 0.540541 40677 43230 65 58
|
||||
f3v9s34 f3v0s25 0.969697 40677 62755 65 66
|
||||
f3v9s34 f3v3s28 0.940299 40677 66465 65 66
|
||||
f3v9s34 f3v13s38 0.941176 40677 26948 65 68
|
||||
f3v9s34 f3v7s32 1.000000 40677 53710 65 65
|
||||
f3v9s34 f3v1s26 0.939394 40677 41283 65 65
|
||||
f3v9s34 f3v6s31 1.000000 40677 94783 65 65
|
||||
f3v9s34 f1v13s20 0.534247 40677 80913 65 56
|
||||
f3v9s34 f2v2s24 0.507463 40677 68414 65 49
|
||||
f3v9s34 f3v11s36 0.910448 40677 91927 65 65
|
||||
f3v9s34 f0v5s5 0.512821 40677 2668 65 69
|
||||
f3v9s34 f1v11s18 0.540541 40677 51814 65 58
|
||||
f3v9s34 f0v6s6 0.487500 40677 16273 65 69
|
||||
f3v9s34 f3v4s29 0.926471 40677 94356 65 68
|
||||
f3v9s34 f0v2s2 0.512821 40677 10896 65 69
|
||||
f3v9s34 f3v12s37 0.940299 40677 74202 65 67
|
||||
f3v9s34 f0v3s3 0.512500 40677 73040 65 67
|
||||
f3v9s34 f3v14s39 0.969697 40677 55015 65 66
|
||||
f3v9s34 f0v0s0 0.518987 40677 1332 65 69
|
||||
f3v9s34 f1v12s19 0.534247 40677 58178 65 57
|
||||
f4v0s40 f1v7s14 0.486111 75843 42277 60 58
|
||||
f4v0s40 f3v2s27 0.493151 75843 74030 60 65
|
||||
f4v0s40 f4v1s41 0.983607 75843 45686 60 61
|
||||
f4v0s40 f2v0s22 0.520000 75843 43219 60 69
|
||||
f4v0s40 f1v2s9 0.481013 75843 99108 60 69
|
||||
f4v0s40 f1v3s10 0.486111 75843 43230 60 58
|
||||
f4v0s40 f3v0s25 0.486486 75843 62755 60 66
|
||||
f4v0s40 f3v3s28 0.486486 75843 66465 60 66
|
||||
f4v0s40 f3v13s38 0.474359 75843 26948 60 68
|
||||
f4v0s40 f3v7s32 0.472973 75843 53710 60 65
|
||||
f4v0s40 f3v1s26 0.493151 75843 41283 60 65
|
||||
f4v0s40 f3v6s31 0.472973 75843 94783 60 65
|
||||
f4v0s40 f1v13s20 0.492754 75843 80913 60 56
|
||||
f4v0s40 f2v2s24 0.515152 75843 68414 60 49
|
||||
f4v0s40 f3v11s36 0.493151 75843 91927 60 65
|
||||
f4v0s40 f0v5s5 0.506667 75843 2668 60 69
|
||||
f4v0s40 f1v11s18 0.472973 75843 51814 60 58
|
||||
f4v0s40 f0v6s6 0.520000 75843 16273 60 69
|
||||
f4v0s40 f3v4s29 0.475000 75843 94356 60 68
|
||||
f4v0s40 f0v2s2 0.520000 75843 10896 60 69
|
||||
f4v0s40 f3v12s37 0.486842 75843 74202 60 67
|
||||
f4v0s40 f0v3s3 0.506849 75843 73040 60 67
|
||||
f4v0s40 f3v14s39 0.486486 75843 55015 60 66
|
||||
f4v0s40 f0v0s0 0.513514 75843 1332 60 69
|
||||
f4v0s40 f1v12s19 0.492537 75843 58178 60 57
|
||||
f1v7s14 f3v2s27 0.534247 42277 74030 58 65
|
||||
f1v7s14 f4v1s41 0.507246 42277 45686 58 61
|
||||
f1v7s14 f2v0s22 0.487500 42277 43219 58 69
|
||||
f1v7s14 f1v2s9 0.481013 42277 99108 58 69
|
||||
f1v7s14 f1v3s10 1.000000 42277 43230 58 58
|
||||
f1v7s14 f3v0s25 0.527027 42277 62755 58 66
|
||||
f1v7s14 f3v3s28 0.520000 42277 66465 58 66
|
||||
f1v7s14 f3v13s38 0.506329 42277 26948 58 68
|
||||
f1v7s14 f3v7s32 0.540541 42277 53710 58 65
|
||||
f1v7s14 f3v1s26 0.534247 42277 41283 58 65
|
||||
f1v7s14 f3v6s31 0.540541 42277 94783 58 65
|
||||
f1v7s14 f1v13s20 0.965517 42277 80913 58 56
|
||||
f1v7s14 f2v2s24 0.507463 42277 68414 58 49
|
||||
f1v7s14 f3v11s36 0.520000 42277 91927 58 65
|
||||
f1v7s14 f0v5s5 0.487500 42277 2668 58 69
|
||||
f1v7s14 f1v11s18 0.982759 42277 51814 58 58
|
||||
f1v7s14 f0v6s6 0.475000 42277 16273 58 69
|
||||
f1v7s14 f3v4s29 0.526316 42277 94356 58 68
|
||||
f1v7s14 f0v2s2 0.487500 42277 10896 58 69
|
||||
f1v7s14 f3v12s37 0.533333 42277 74202 58 67
|
||||
f1v7s14 f0v3s3 0.500000 42277 73040 58 67
|
||||
f1v7s14 f3v14s39 0.527027 42277 55015 58 66
|
||||
f1v7s14 f0v0s0 0.487500 42277 1332 58 69
|
||||
f1v7s14 f1v12s19 0.965517 42277 58178 58 57
|
||||
f3v2s27 f4v1s41 0.486486 74030 45686 65 61
|
||||
f3v2s27 f2v0s22 0.525641 74030 43219 65 69
|
||||
f3v2s27 f1v2s9 0.500000 74030 99108 65 69
|
||||
f3v2s27 f1v3s10 0.534247 74030 43230 65 58
|
||||
f3v2s27 f3v0s25 0.984848 74030 62755 65 66
|
||||
f3v2s27 f3v3s28 0.955224 74030 66465 65 66
|
||||
f3v2s27 f3v13s38 0.955882 74030 26948 65 68
|
||||
f3v2s27 f3v7s32 0.954545 74030 53710 65 65
|
||||
f3v2s27 f3v1s26 0.969231 74030 41283 65 65
|
||||
f3v2s27 f3v6s31 0.954545 74030 94783 65 65
|
||||
f3v2s27 f1v13s20 0.527778 74030 80913 65 56
|
||||
f3v2s27 f2v2s24 0.507246 74030 68414 65 49
|
||||
f3v2s27 f3v11s36 0.925373 74030 91927 65 65
|
||||
f3v2s27 f0v5s5 0.512821 74030 2668 65 69
|
||||
f3v2s27 f1v11s18 0.534247 74030 51814 65 58
|
||||
f3v2s27 f0v6s6 0.487805 74030 16273 65 69
|
||||
f3v2s27 f3v4s29 0.941176 74030 94356 65 68
|
||||
f3v2s27 f0v2s2 0.525641 74030 10896 65 69
|
||||
f3v2s27 f3v12s37 0.955224 74030 74202 65 67
|
||||
f3v2s27 f0v3s3 0.512500 74030 73040 65 67
|
||||
f3v2s27 f3v14s39 0.984848 74030 55015 65 66
|
||||
f3v2s27 f0v0s0 0.518987 74030 1332 65 69
|
||||
f3v2s27 f1v12s19 0.527778 74030 58178 65 57
|
||||
f4v1s41 f2v0s22 0.513158 45686 43219 61 69
|
||||
f4v1s41 f1v2s9 0.475000 45686 99108 61 69
|
||||
f4v1s41 f1v3s10 0.507246 45686 43230 61 58
|
||||
f4v1s41 f3v0s25 0.480000 45686 62755 61 66
|
||||
f4v1s41 f3v3s28 0.480000 45686 66465 61 66
|
||||
f4v1s41 f3v13s38 0.468354 45686 26948 61 68
|
||||
f4v1s41 f3v7s32 0.479452 45686 53710 61 65
|
||||
f4v1s41 f3v1s26 0.486486 45686 41283 61 65
|
||||
f4v1s41 f3v6s31 0.479452 45686 94783 61 65
|
||||
f4v1s41 f1v13s20 0.507463 45686 80913 61 56
|
||||
f4v1s41 f2v2s24 0.507463 45686 68414 61 49
|
||||
f4v1s41 f3v11s36 0.493151 45686 91927 61 65
|
||||
f4v1s41 f0v5s5 0.500000 45686 2668 61 69
|
||||
f4v1s41 f1v11s18 0.492958 45686 51814 61 58
|
||||
f4v1s41 f0v6s6 0.513158 45686 16273 61 69
|
||||
f4v1s41 f3v4s29 0.469136 45686 94356 61 68
|
||||
f4v1s41 f0v2s2 0.513158 45686 10896 61 69
|
||||
f4v1s41 f3v12s37 0.480519 45686 74202 61 67
|
||||
f4v1s41 f0v3s3 0.500000 45686 73040 61 67
|
||||
f4v1s41 f3v14s39 0.480000 45686 55015 61 66
|
||||
f4v1s41 f0v0s0 0.506667 45686 1332 61 69
|
||||
f4v1s41 f1v12s19 0.492537 45686 58178 61 57
|
||||
f2v0s22 f1v2s9 0.943662 43219 99108 69 69
|
||||
f2v0s22 f1v3s10 0.487500 43219 43230 69 58
|
||||
f2v0s22 f3v0s25 0.518987 43219 62755 69 66
|
||||
f2v0s22 f3v3s28 0.525641 43219 66465 69 66
|
||||
f2v0s22 f3v13s38 0.512500 43219 26948 69 68
|
||||
f2v0s22 f3v7s32 0.512821 43219 53710 69 65
|
||||
f2v0s22 f3v1s26 0.506329 43219 41283 69 65
|
||||
f2v0s22 f3v6s31 0.512821 43219 94783 69 65
|
||||
f2v0s22 f1v13s20 0.487179 43219 80913 69 56
|
||||
f2v0s22 f2v2s24 0.486111 43219 68414 69 49
|
||||
f2v0s22 f3v11s36 0.487179 43219 91927 69 65
|
||||
f2v0s22 f0v5s5 0.943662 43219 2668 69 69
|
||||
f2v0s22 f1v11s18 0.500000 43219 51814 69 58
|
||||
f2v0s22 f0v6s6 0.901408 43219 16273 69 69
|
||||
f2v0s22 f3v4s29 0.551282 43219 94356 69 68
|
||||
f2v0s22 f0v2s2 1.000000 43219 10896 69 69
|
||||
f2v0s22 f3v12s37 0.525000 43219 74202 69 67
|
||||
f2v0s22 f0v3s3 0.915493 43219 73040 69 67
|
||||
f2v0s22 f3v14s39 0.518987 43219 55015 69 66
|
||||
f2v0s22 f0v0s0 0.971429 43219 1332 69 69
|
||||
f2v0s22 f1v12s19 0.487500 43219 58178 69 57
|
||||
f1v2s9 f1v3s10 0.481013 99108 43230 69 58
|
||||
f1v2s9 f3v0s25 0.493827 99108 62755 69 66
|
||||
f1v2s9 f3v3s28 0.500000 99108 66465 69 66
|
||||
f1v2s9 f3v13s38 0.493827 99108 26948 69 68
|
||||
f1v2s9 f3v7s32 0.500000 99108 53710 69 65
|
||||
f1v2s9 f3v1s26 0.481481 99108 41283 69 65
|
||||
f1v2s9 f3v6s31 0.500000 99108 94783 69 65
|
||||
f1v2s9 f1v13s20 0.480519 99108 80913 69 56
|
||||
f1v2s9 f2v2s24 0.486111 99108 68414 69 49
|
||||
f1v2s9 f3v11s36 0.468354 99108 91927 69 65
|
||||
f1v2s9 f0v5s5 0.943662 99108 2668 69 69
|
||||
f1v2s9 f1v11s18 0.493506 99108 51814 69 58
|
||||
f1v2s9 f0v6s6 0.901408 99108 16273 69 69
|
||||
f1v2s9 f3v4s29 0.525000 99108 94356 69 68
|
||||
f1v2s9 f0v2s2 0.943662 99108 10896 69 69
|
||||
f1v2s9 f3v12s37 0.493827 99108 74202 69 67
|
||||
f1v2s9 f0v3s3 0.915493 99108 73040 69 67
|
||||
f1v2s9 f3v14s39 0.493827 99108 55015 69 66
|
||||
f1v2s9 f0v0s0 0.971429 99108 1332 69 69
|
||||
f1v2s9 f1v12s19 0.457831 99108 58178 69 57
|
||||
f1v3s10 f3v0s25 0.527027 43230 62755 58 66
|
||||
f1v3s10 f3v3s28 0.520000 43230 66465 58 66
|
||||
f1v3s10 f3v13s38 0.506329 43230 26948 58 68
|
||||
f1v3s10 f3v7s32 0.540541 43230 53710 58 65
|
||||
f1v3s10 f3v1s26 0.534247 43230 41283 58 65
|
||||
f1v3s10 f3v6s31 0.540541 43230 94783 58 65
|
||||
f1v3s10 f1v13s20 0.965517 43230 80913 58 56
|
||||
f1v3s10 f2v2s24 0.507463 43230 68414 58 49
|
||||
f1v3s10 f3v11s36 0.520000 43230 91927 58 65
|
||||
f1v3s10 f0v5s5 0.487500 43230 2668 58 69
|
||||
f1v3s10 f1v11s18 0.982759 43230 51814 58 58
|
||||
f1v3s10 f0v6s6 0.475000 43230 16273 58 69
|
||||
f1v3s10 f3v4s29 0.526316 43230 94356 58 68
|
||||
f1v3s10 f0v2s2 0.487500 43230 10896 58 69
|
||||
f1v3s10 f3v12s37 0.533333 43230 74202 58 67
|
||||
f1v3s10 f0v3s3 0.500000 43230 73040 58 67
|
||||
f1v3s10 f3v14s39 0.527027 43230 55015 58 66
|
||||
f1v3s10 f0v0s0 0.487500 43230 1332 58 69
|
||||
f1v3s10 f1v12s19 0.965517 43230 58178 58 57
|
||||
f3v0s25 f3v3s28 0.970149 62755 66465 66 66
|
||||
f3v0s25 f3v13s38 0.970588 62755 26948 66 68
|
||||
f3v0s25 f3v7s32 0.969697 62755 53710 66 65
|
||||
f3v0s25 f3v1s26 0.969697 62755 41283 66 65
|
||||
f3v0s25 f3v6s31 0.969697 62755 94783 66 65
|
||||
f3v0s25 f1v13s20 0.520548 62755 80913 66 56
|
||||
f3v0s25 f2v2s24 0.514706 62755 68414 66 49
|
||||
f3v0s25 f3v11s36 0.940299 62755 91927 66 65
|
||||
f3v0s25 f0v5s5 0.506329 62755 2668 66 69
|
||||
f3v0s25 f1v11s18 0.527027 62755 51814 66 58
|
||||
f3v0s25 f0v6s6 0.481928 62755 16273 66 69
|
||||
f3v0s25 f3v4s29 0.955882 62755 94356 66 68
|
||||
f3v0s25 f0v2s2 0.518987 62755 10896 66 69
|
||||
f3v0s25 f3v12s37 0.970149 62755 74202 66 67
|
||||
f3v0s25 f0v3s3 0.506173 62755 73040 66 67
|
||||
f3v0s25 f3v14s39 1.000000 62755 55015 66 66
|
||||
f3v0s25 f0v0s0 0.512500 62755 1332 66 69
|
||||
f3v0s25 f1v12s19 0.520548 62755 58178 66 57
|
||||
f3v3s28 f3v13s38 0.955882 66465 26948 66 68
|
||||
f3v3s28 f3v7s32 0.940299 66465 53710 66 65
|
||||
f3v3s28 f3v1s26 0.940299 66465 41283 66 65
|
||||
f3v3s28 f3v6s31 0.940299 66465 94783 66 65
|
||||
f3v3s28 f1v13s20 0.513514 66465 80913 66 56
|
||||
f3v3s28 f2v2s24 0.521739 66465 68414 66 49
|
||||
f3v3s28 f3v11s36 0.911765 66465 91927 66 65
|
||||
f3v3s28 f0v5s5 0.506329 66465 2668 66 69
|
||||
f3v3s28 f1v11s18 0.506494 66465 51814 66 58
|
||||
f3v3s28 f0v6s6 0.487805 66465 16273 66 69
|
||||
f3v3s28 f3v4s29 0.941176 66465 94356 66 68
|
||||
f3v3s28 f0v2s2 0.525641 66465 10896 66 69
|
||||
f3v3s28 f3v12s37 0.941176 66465 74202 66 67
|
||||
f3v3s28 f0v3s3 0.512500 66465 73040 66 67
|
||||
f3v3s28 f3v14s39 0.970149 66465 55015 66 66
|
||||
f3v3s28 f0v0s0 0.518987 66465 1332 66 69
|
||||
f3v3s28 f1v12s19 0.500000 66465 58178 66 57
|
||||
f3v13s38 f3v7s32 0.941176 26948 53710 68 65
|
||||
f3v13s38 f3v1s26 0.941176 26948 41283 68 65
|
||||
f3v13s38 f3v6s31 0.941176 26948 94783 68 65
|
||||
f3v13s38 f1v13s20 0.500000 26948 80913 68 56
|
||||
f3v13s38 f2v2s24 0.514286 26948 68414 68 49
|
||||
f3v13s38 f3v11s36 0.913043 26948 91927 68 65
|
||||
f3v13s38 f0v5s5 0.506329 26948 2668 68 69
|
||||
f3v13s38 f1v11s18 0.506329 26948 51814 68 58
|
||||
f3v13s38 f0v6s6 0.481928 26948 16273 68 69
|
||||
f3v13s38 f3v4s29 0.942029 26948 94356 68 68
|
||||
f3v13s38 f0v2s2 0.512500 26948 10896 68 69
|
||||
f3v13s38 f3v12s37 0.942029 26948 74202 68 67
|
||||
f3v13s38 f0v3s3 0.506173 26948 73040 68 67
|
||||
f3v13s38 f3v14s39 0.970588 26948 55015 68 66
|
||||
f3v13s38 f0v0s0 0.512500 26948 1332 68 69
|
||||
f3v13s38 f1v12s19 0.527027 26948 58178 68 57
|
||||
f3v7s32 f3v1s26 0.939394 53710 41283 65 65
|
||||
f3v7s32 f3v6s31 1.000000 53710 94783 65 65
|
||||
f3v7s32 f1v13s20 0.534247 53710 80913 65 56
|
||||
f3v7s32 f2v2s24 0.507463 53710 68414 65 49
|
||||
f3v7s32 f3v11s36 0.910448 53710 91927 65 65
|
||||
f3v7s32 f0v5s5 0.512821 53710 2668 65 69
|
||||
f3v7s32 f1v11s18 0.540541 53710 51814 65 58
|
||||
f3v7s32 f0v6s6 0.487500 53710 16273 65 69
|
||||
f3v7s32 f3v4s29 0.926471 53710 94356 65 68
|
||||
f3v7s32 f0v2s2 0.512821 53710 10896 65 69
|
||||
f3v7s32 f3v12s37 0.940299 53710 74202 65 67
|
||||
f3v7s32 f0v3s3 0.512500 53710 73040 65 67
|
||||
f3v7s32 f3v14s39 0.969697 53710 55015 65 66
|
||||
f3v7s32 f0v0s0 0.518987 53710 1332 65 69
|
||||
f3v7s32 f1v12s19 0.534247 53710 58178 65 57
|
||||
f3v1s26 f3v6s31 0.939394 41283 94783 65 65
|
||||
f3v1s26 f1v13s20 0.527778 41283 80913 65 56
|
||||
f3v1s26 f2v2s24 0.514706 41283 68414 65 49
|
||||
f3v1s26 f3v11s36 0.910448 41283 91927 65 65
|
||||
f3v1s26 f0v5s5 0.493671 41283 2668 65 69
|
||||
f3v1s26 f1v11s18 0.513158 41283 51814 65 58
|
||||
f3v1s26 f0v6s6 0.469880 41283 16273 65 69
|
||||
f3v1s26 f3v4s29 0.926471 41283 94356 65 68
|
||||
f3v1s26 f0v2s2 0.506329 41283 10896 65 69
|
||||
f3v1s26 f3v12s37 0.940299 41283 74202 65 67
|
||||
f3v1s26 f0v3s3 0.506329 41283 73040 65 67
|
||||
f3v1s26 f3v14s39 0.969697 41283 55015 65 66
|
||||
f3v1s26 f0v0s0 0.500000 41283 1332 65 69
|
||||
f3v1s26 f1v12s19 0.527778 41283 58178 65 57
|
||||
f3v6s31 f1v13s20 0.534247 94783 80913 65 56
|
||||
f3v6s31 f2v2s24 0.507463 94783 68414 65 49
|
||||
f3v6s31 f3v11s36 0.910448 94783 91927 65 65
|
||||
f3v6s31 f0v5s5 0.512821 94783 2668 65 69
|
||||
f3v6s31 f1v11s18 0.540541 94783 51814 65 58
|
||||
f3v6s31 f0v6s6 0.487500 94783 16273 65 69
|
||||
f3v6s31 f3v4s29 0.926471 94783 94356 65 68
|
||||
f3v6s31 f0v2s2 0.512821 94783 10896 65 69
|
||||
f3v6s31 f3v12s37 0.940299 94783 74202 65 67
|
||||
f3v6s31 f0v3s3 0.512500 94783 73040 65 67
|
||||
f3v6s31 f3v14s39 0.969697 94783 55015 65 66
|
||||
f3v6s31 f0v0s0 0.518987 94783 1332 65 69
|
||||
f3v6s31 f1v12s19 0.534247 94783 58178 65 57
|
||||
f1v13s20 f2v2s24 0.523077 80913 68414 56 49
|
||||
f1v13s20 f3v11s36 0.513514 80913 91927 56 65
|
||||
f1v13s20 f0v5s5 0.500000 80913 2668 56 69
|
||||
f1v13s20 f1v11s18 0.948276 80913 51814 56 58
|
||||
f1v13s20 f0v6s6 0.474359 80913 16273 56 69
|
||||
f1v13s20 f3v4s29 0.520000 80913 94356 56 68
|
||||
f1v13s20 f0v2s2 0.487179 80913 10896 56 69
|
||||
f1v13s20 f3v12s37 0.527027 80913 74202 56 67
|
||||
f1v13s20 f0v3s3 0.500000 80913 73040 56 67
|
||||
f1v13s20 f3v14s39 0.520548 80913 55015 56 66
|
||||
f1v13s20 f0v0s0 0.487179 80913 1332 56 69
|
||||
f1v13s20 f1v12s19 0.931034 80913 58178 56 57
|
||||
f2v2s24 f3v11s36 0.507463 68414 91927 49 65
|
||||
f2v2s24 f0v5s5 0.460526 68414 2668 49 69
|
||||
f2v2s24 f1v11s18 0.507463 68414 51814 49 58
|
||||
f2v2s24 f0v6s6 0.479452 68414 16273 49 69
|
||||
f2v2s24 f3v4s29 0.514286 68414 94356 49 68
|
||||
f2v2s24 f0v2s2 0.486111 68414 10896 49 69
|
||||
f2v2s24 f3v12s37 0.521739 68414 74202 49 67
|
||||
f2v2s24 f0v3s3 0.492754 68414 73040 49 67
|
||||
f2v2s24 f3v14s39 0.514706 68414 55015 49 66
|
||||
f2v2s24 f0v0s0 0.486111 68414 1332 49 69
|
||||
f2v2s24 f1v12s19 0.500000 68414 58178 49 57
|
||||
f3v11s36 f0v5s5 0.469136 91927 2668 65 69
|
||||
f3v11s36 f1v11s18 0.520000 91927 51814 65 58
|
||||
f3v11s36 f0v6s6 0.463415 91927 16273 65 69
|
||||
f3v11s36 f3v4s29 0.898551 91927 94356 65 68
|
||||
f3v11s36 f0v2s2 0.487179 91927 10896 65 69
|
||||
f3v11s36 f3v12s37 0.911765 91927 74202 65 67
|
||||
f3v11s36 f0v3s3 0.481013 91927 73040 65 67
|
||||
f3v11s36 f3v14s39 0.940299 91927 55015 65 66
|
||||
f3v11s36 f0v0s0 0.487179 91927 1332 65 69
|
||||
f3v11s36 f1v12s19 0.513514 91927 58178 65 57
|
||||
f0v5s5 f1v11s18 0.500000 2668 51814 69 58
|
||||
f0v5s5 f0v6s6 0.901408 2668 16273 69 69
|
||||
f0v5s5 f3v4s29 0.538462 2668 94356 69 68
|
||||
f0v5s5 f0v2s2 0.943662 2668 10896 69 69
|
||||
f0v5s5 f3v12s37 0.500000 2668 74202 69 67
|
||||
f0v5s5 f0v3s3 0.915493 2668 73040 69 67
|
||||
f0v5s5 f3v14s39 0.506329 2668 55015 69 66
|
||||
f0v5s5 f0v0s0 0.971429 2668 1332 69 69
|
||||
f0v5s5 f1v12s19 0.475000 2668 58178 69 57
|
||||
f1v11s18 f0v6s6 0.493506 51814 16273 58 69
|
||||
f1v11s18 f3v4s29 0.526316 51814 94356 58 68
|
||||
f1v11s18 f0v2s2 0.500000 51814 10896 58 69
|
||||
f1v11s18 f3v12s37 0.533333 51814 74202 58 67
|
||||
f1v11s18 f0v3s3 0.513158 51814 73040 58 67
|
||||
f1v11s18 f3v14s39 0.527027 51814 55015 58 66
|
||||
f1v11s18 f0v0s0 0.500000 51814 1332 58 69
|
||||
f1v11s18 f1v12s19 0.948276 51814 58178 58 57
|
||||
f0v6s6 f3v4s29 0.512195 16273 94356 69 68
|
||||
f0v6s6 f0v2s2 0.901408 16273 10896 69 69
|
||||
f0v6s6 f3v12s37 0.476190 16273 74202 69 67
|
||||
f0v6s6 f0v3s3 0.873239 16273 73040 69 67
|
||||
f0v6s6 f3v14s39 0.481928 16273 55015 69 66
|
||||
f0v6s6 f0v0s0 0.928571 16273 1332 69 69
|
||||
f0v6s6 f1v12s19 0.457831 16273 58178 69 57
|
||||
f3v4s29 f0v2s2 0.551282 94356 10896 68 69
|
||||
f3v4s29 f3v12s37 0.927536 94356 74202 68 67
|
||||
f3v4s29 f0v3s3 0.530864 94356 73040 68 67
|
||||
f3v4s29 f3v14s39 0.955882 94356 55015 68 66
|
||||
f3v4s29 f0v0s0 0.544304 94356 1332 68 69
|
||||
f3v4s29 f1v12s19 0.520000 94356 58178 68 57
|
||||
f0v2s2 f3v12s37 0.525000 10896 74202 69 67
|
||||
f0v2s2 f0v3s3 0.915493 10896 73040 69 67
|
||||
f0v2s2 f3v14s39 0.518987 10896 55015 69 66
|
||||
f0v2s2 f0v0s0 0.971429 10896 1332 69 69
|
||||
f0v2s2 f1v12s19 0.487500 10896 58178 69 57
|
||||
f3v12s37 f0v3s3 0.500000 74202 73040 67 67
|
||||
f3v12s37 f3v14s39 0.970149 74202 55015 67 66
|
||||
f3v12s37 f0v0s0 0.512500 74202 1332 67 69
|
||||
f3v12s37 f1v12s19 0.527027 74202 58178 67 57
|
||||
f0v3s3 f3v14s39 0.506173 73040 55015 67 66
|
||||
f0v3s3 f0v0s0 0.942857 73040 1332 67 69
|
||||
f0v3s3 f1v12s19 0.487179 73040 58178 67 57
|
||||
f3v14s39 f0v0s0 0.512500 55015 1332 66 69
|
||||
f3v14s39 f1v12s19 0.520548 55015 58178 66 57
|
||||
f0v0s0 f1v12s19 0.464286 1332 58178 69 57
|
||||
+903
@@ -0,0 +1,903 @@
|
||||
f3v10s35 f3v5s30 9.000000
|
||||
f3v10s35 f1v8s15 34.000000
|
||||
f3v10s35 f2v1s23 38.000000
|
||||
f3v10s35 f4v2s42 37.000000
|
||||
f3v10s35 f0v4s4 40.000000
|
||||
f3v10s35 f1v6s13 33.000000
|
||||
f3v10s35 f3v8s33 6.000000
|
||||
f3v10s35 f1v1s8 35.000000
|
||||
f3v10s35 f1v14s21 37.000000
|
||||
f3v10s35 f0v1s1 40.000000
|
||||
f3v10s35 f1v5s12 37.000000
|
||||
f3v10s35 f1v4s11 38.000000
|
||||
f3v10s35 f1v9s16 38.000000
|
||||
f3v10s35 f1v10s17 36.000000
|
||||
f3v10s35 f1v0s7 38.000000
|
||||
f3v10s35 f3v9s34 6.000000
|
||||
f3v10s35 f4v0s40 38.000000
|
||||
f3v10s35 f1v7s14 38.000000
|
||||
f3v10s35 f3v2s27 6.000000
|
||||
f3v10s35 f4v1s41 39.000000
|
||||
f3v10s35 f2v0s22 39.000000
|
||||
f3v10s35 f1v2s9 40.000000
|
||||
f3v10s35 f1v3s10 38.000000
|
||||
f3v10s35 f3v0s25 5.000000
|
||||
f3v10s35 f3v3s28 7.000000
|
||||
f3v10s35 f3v13s38 7.000000
|
||||
f3v10s35 f3v7s32 6.000000
|
||||
f3v10s35 f3v1s26 6.000000
|
||||
f3v10s35 f3v6s31 6.000000
|
||||
f3v10s35 f1v13s20 38.000000
|
||||
f3v10s35 f2v2s24 35.000000
|
||||
f3v10s35 f3v11s36 9.000000
|
||||
f3v10s35 f0v5s5 39.000000
|
||||
f3v10s35 f1v11s18 38.000000
|
||||
f3v10s35 f0v6s6 42.000000
|
||||
f3v10s35 f3v4s29 8.000000
|
||||
f3v10s35 f0v2s2 39.000000
|
||||
f3v10s35 f3v12s37 7.000000
|
||||
f3v10s35 f0v3s3 40.000000
|
||||
f3v10s35 f3v14s39 5.000000
|
||||
f3v10s35 f0v0s0 39.000000
|
||||
f3v10s35 f1v12s19 35.000000
|
||||
f3v5s30 f1v8s15 35.000000
|
||||
f3v5s30 f2v1s23 36.000000
|
||||
f3v5s30 f4v2s42 35.000000
|
||||
f3v5s30 f0v4s4 40.000000
|
||||
f3v5s30 f1v6s13 36.000000
|
||||
f3v5s30 f3v8s33 5.000000
|
||||
f3v5s30 f1v1s8 37.000000
|
||||
f3v5s30 f1v14s21 34.000000
|
||||
f3v5s30 f0v1s1 40.000000
|
||||
f3v5s30 f1v5s12 38.000000
|
||||
f3v5s30 f1v4s11 36.000000
|
||||
f3v5s30 f1v9s16 37.000000
|
||||
f3v5s30 f1v10s17 38.000000
|
||||
f3v5s30 f1v0s7 36.000000
|
||||
f3v5s30 f3v9s34 6.000000
|
||||
f3v5s30 f4v0s40 34.000000
|
||||
f3v5s30 f1v7s14 36.000000
|
||||
f3v5s30 f3v2s27 5.000000
|
||||
f3v5s30 f4v1s41 35.000000
|
||||
f3v5s30 f2v0s22 39.000000
|
||||
f3v5s30 f1v2s9 40.000000
|
||||
f3v5s30 f1v3s10 36.000000
|
||||
f3v5s30 f3v0s25 4.000000
|
||||
f3v5s30 f3v3s28 6.000000
|
||||
f3v5s30 f3v13s38 6.000000
|
||||
f3v5s30 f3v7s32 6.000000
|
||||
f3v5s30 f3v1s26 6.000000
|
||||
f3v5s30 f3v6s31 6.000000
|
||||
f3v5s30 f1v13s20 36.000000
|
||||
f3v5s30 f2v2s24 32.000000
|
||||
f3v5s30 f3v11s36 7.000000
|
||||
f3v5s30 f0v5s5 39.000000
|
||||
f3v5s30 f1v11s18 36.000000
|
||||
f3v5s30 f0v6s6 40.000000
|
||||
f3v5s30 f3v4s29 7.000000
|
||||
f3v5s30 f0v2s2 39.000000
|
||||
f3v5s30 f3v12s37 6.000000
|
||||
f3v5s30 f0v3s3 39.000000
|
||||
f3v5s30 f3v14s39 4.000000
|
||||
f3v5s30 f0v0s0 39.000000
|
||||
f3v5s30 f1v12s19 36.000000
|
||||
f1v8s15 f2v1s23 1.000000
|
||||
f1v8s15 f4v2s42 37.000000
|
||||
f1v8s15 f0v4s4 40.000000
|
||||
f1v8s15 f1v6s13 3.000000
|
||||
f1v8s15 f3v8s33 33.000000
|
||||
f1v8s15 f1v1s8 5.000000
|
||||
f1v8s15 f1v14s21 4.000000
|
||||
f1v8s15 f0v1s1 40.000000
|
||||
f1v8s15 f1v5s12 5.000000
|
||||
f1v8s15 f1v4s11 1.000000
|
||||
f1v8s15 f1v9s16 4.000000
|
||||
f1v8s15 f1v10s17 5.000000
|
||||
f1v8s15 f1v0s7 1.000000
|
||||
f1v8s15 f3v9s34 33.000000
|
||||
f1v8s15 f4v0s40 37.000000
|
||||
f1v8s15 f1v7s14 1.000000
|
||||
f1v8s15 f3v2s27 33.000000
|
||||
f1v8s15 f4v1s41 38.000000
|
||||
f1v8s15 f2v0s22 40.000000
|
||||
f1v8s15 f1v2s9 40.000000
|
||||
f1v8s15 f1v3s10 1.000000
|
||||
f1v8s15 f3v0s25 34.000000
|
||||
f1v8s15 f3v3s28 35.000000
|
||||
f1v8s15 f3v13s38 39.000000
|
||||
f1v8s15 f3v7s32 33.000000
|
||||
f1v8s15 f3v1s26 33.000000
|
||||
f1v8s15 f3v6s31 33.000000
|
||||
f1v8s15 f1v13s20 3.000000
|
||||
f1v8s15 f2v2s24 32.000000
|
||||
f1v8s15 f3v11s36 35.000000
|
||||
f1v8s15 f0v5s5 40.000000
|
||||
f1v8s15 f1v11s18 2.000000
|
||||
f1v8s15 f0v6s6 41.000000
|
||||
f1v8s15 f3v4s29 35.000000
|
||||
f1v8s15 f0v2s2 40.000000
|
||||
f1v8s15 f3v12s37 34.000000
|
||||
f1v8s15 f0v3s3 38.000000
|
||||
f1v8s15 f3v14s39 34.000000
|
||||
f1v8s15 f0v0s0 40.000000
|
||||
f1v8s15 f1v12s19 3.000000
|
||||
f2v1s23 f4v2s42 35.000000
|
||||
f2v1s23 f0v4s4 41.000000
|
||||
f2v1s23 f1v6s13 4.000000
|
||||
f2v1s23 f3v8s33 34.000000
|
||||
f2v1s23 f1v1s8 4.000000
|
||||
f2v1s23 f1v14s21 3.000000
|
||||
f2v1s23 f0v1s1 41.000000
|
||||
f2v1s23 f1v5s12 4.000000
|
||||
f2v1s23 f1v4s11 0.000000
|
||||
f2v1s23 f1v9s16 3.000000
|
||||
f2v1s23 f1v10s17 4.000000
|
||||
f2v1s23 f1v0s7 0.000000
|
||||
f2v1s23 f3v9s34 34.000000
|
||||
f2v1s23 f4v0s40 37.000000
|
||||
f2v1s23 f1v7s14 0.000000
|
||||
f2v1s23 f3v2s27 34.000000
|
||||
f2v1s23 f4v1s41 34.000000
|
||||
f2v1s23 f2v0s22 41.000000
|
||||
f2v1s23 f1v2s9 41.000000
|
||||
f2v1s23 f1v3s10 0.000000
|
||||
f2v1s23 f3v0s25 35.000000
|
||||
f2v1s23 f3v3s28 36.000000
|
||||
f2v1s23 f3v13s38 39.000000
|
||||
f2v1s23 f3v7s32 34.000000
|
||||
f2v1s23 f3v1s26 34.000000
|
||||
f2v1s23 f3v6s31 34.000000
|
||||
f2v1s23 f1v13s20 2.000000
|
||||
f2v1s23 f2v2s24 33.000000
|
||||
f2v1s23 f3v11s36 36.000000
|
||||
f2v1s23 f0v5s5 41.000000
|
||||
f2v1s23 f1v11s18 1.000000
|
||||
f2v1s23 f0v6s6 42.000000
|
||||
f2v1s23 f3v4s29 36.000000
|
||||
f2v1s23 f0v2s2 41.000000
|
||||
f2v1s23 f3v12s37 35.000000
|
||||
f2v1s23 f0v3s3 39.000000
|
||||
f2v1s23 f3v14s39 35.000000
|
||||
f2v1s23 f0v0s0 41.000000
|
||||
f2v1s23 f1v12s19 2.000000
|
||||
f4v2s42 f0v4s4 36.000000
|
||||
f4v2s42 f1v6s13 36.000000
|
||||
f4v2s42 f3v8s33 37.000000
|
||||
f4v2s42 f1v1s8 39.000000
|
||||
f4v2s42 f1v14s21 33.000000
|
||||
f4v2s42 f0v1s1 36.000000
|
||||
f4v2s42 f1v5s12 36.000000
|
||||
f4v2s42 f1v4s11 35.000000
|
||||
f4v2s42 f1v9s16 37.000000
|
||||
f4v2s42 f1v10s17 40.000000
|
||||
f4v2s42 f1v0s7 35.000000
|
||||
f4v2s42 f3v9s34 39.000000
|
||||
f4v2s42 f4v0s40 2.000000
|
||||
f4v2s42 f1v7s14 35.000000
|
||||
f4v2s42 f3v2s27 37.000000
|
||||
f4v2s42 f4v1s41 3.000000
|
||||
f4v2s42 f2v0s22 34.000000
|
||||
f4v2s42 f1v2s9 36.000000
|
||||
f4v2s42 f1v3s10 35.000000
|
||||
f4v2s42 f3v0s25 38.000000
|
||||
f4v2s42 f3v3s28 38.000000
|
||||
f4v2s42 f3v13s38 41.000000
|
||||
f4v2s42 f3v7s32 39.000000
|
||||
f4v2s42 f3v1s26 37.000000
|
||||
f4v2s42 f3v6s31 39.000000
|
||||
f4v2s42 f1v13s20 34.000000
|
||||
f4v2s42 f2v2s24 31.000000
|
||||
f4v2s42 f3v11s36 37.000000
|
||||
f4v2s42 f0v5s5 36.000000
|
||||
f4v2s42 f1v11s18 37.000000
|
||||
f4v2s42 f0v6s6 35.000000
|
||||
f4v2s42 f3v4s29 41.000000
|
||||
f4v2s42 f0v2s2 34.000000
|
||||
f4v2s42 f3v12s37 39.000000
|
||||
f4v2s42 f0v3s3 35.000000
|
||||
f4v2s42 f3v14s39 38.000000
|
||||
f4v2s42 f0v0s0 35.000000
|
||||
f4v2s42 f1v12s19 34.000000
|
||||
f0v4s4 f1v6s13 38.000000
|
||||
f0v4s4 f3v8s33 40.000000
|
||||
f0v4s4 f1v1s8 41.000000
|
||||
f0v4s4 f1v14s21 39.000000
|
||||
f0v4s4 f0v1s1 0.000000
|
||||
f0v4s4 f1v5s12 43.000000
|
||||
f0v4s4 f1v4s11 41.000000
|
||||
f0v4s4 f1v9s16 40.000000
|
||||
f0v4s4 f1v10s17 42.000000
|
||||
f0v4s4 f1v0s7 41.000000
|
||||
f0v4s4 f3v9s34 40.000000
|
||||
f0v4s4 f4v0s40 41.000000
|
||||
f0v4s4 f1v7s14 41.000000
|
||||
f0v4s4 f3v2s27 40.000000
|
||||
f0v4s4 f4v1s41 42.000000
|
||||
f0v4s4 f2v0s22 4.000000
|
||||
f0v4s4 f1v2s9 0.000000
|
||||
f0v4s4 f1v3s10 41.000000
|
||||
f0v4s4 f3v0s25 41.000000
|
||||
f0v4s4 f3v3s28 40.000000
|
||||
f0v4s4 f3v13s38 41.000000
|
||||
f0v4s4 f3v7s32 40.000000
|
||||
f0v4s4 f3v1s26 42.000000
|
||||
f0v4s4 f3v6s31 40.000000
|
||||
f0v4s4 f1v13s20 40.000000
|
||||
f0v4s4 f2v2s24 37.000000
|
||||
f0v4s4 f3v11s36 42.000000
|
||||
f0v4s4 f0v5s5 4.000000
|
||||
f0v4s4 f1v11s18 39.000000
|
||||
f0v4s4 f0v6s6 7.000000
|
||||
f0v4s4 f3v4s29 38.000000
|
||||
f0v4s4 f0v2s2 4.000000
|
||||
f0v4s4 f3v12s37 41.000000
|
||||
f0v4s4 f0v3s3 6.000000
|
||||
f0v4s4 f3v14s39 41.000000
|
||||
f0v4s4 f0v0s0 2.000000
|
||||
f0v4s4 f1v12s19 45.000000
|
||||
f1v6s13 f3v8s33 33.000000
|
||||
f1v6s13 f1v1s8 8.000000
|
||||
f1v6s13 f1v14s21 7.000000
|
||||
f1v6s13 f0v1s1 38.000000
|
||||
f1v6s13 f1v5s12 8.000000
|
||||
f1v6s13 f1v4s11 4.000000
|
||||
f1v6s13 f1v9s16 7.000000
|
||||
f1v6s13 f1v10s17 7.000000
|
||||
f1v6s13 f1v0s7 4.000000
|
||||
f1v6s13 f3v9s34 33.000000
|
||||
f1v6s13 f4v0s40 38.000000
|
||||
f1v6s13 f1v7s14 4.000000
|
||||
f1v6s13 f3v2s27 32.000000
|
||||
f1v6s13 f4v1s41 39.000000
|
||||
f1v6s13 f2v0s22 39.000000
|
||||
f1v6s13 f1v2s9 38.000000
|
||||
f1v6s13 f1v3s10 4.000000
|
||||
f1v6s13 f3v0s25 33.000000
|
||||
f1v6s13 f3v3s28 34.000000
|
||||
f1v6s13 f3v13s38 35.000000
|
||||
f1v6s13 f3v7s32 33.000000
|
||||
f1v6s13 f3v1s26 32.000000
|
||||
f1v6s13 f3v6s31 33.000000
|
||||
f1v6s13 f1v13s20 6.000000
|
||||
f1v6s13 f2v2s24 32.000000
|
||||
f1v6s13 f3v11s36 34.000000
|
||||
f1v6s13 f0v5s5 38.000000
|
||||
f1v6s13 f1v11s18 5.000000
|
||||
f1v6s13 f0v6s6 39.000000
|
||||
f1v6s13 f3v4s29 34.000000
|
||||
f1v6s13 f0v2s2 39.000000
|
||||
f1v6s13 f3v12s37 33.000000
|
||||
f1v6s13 f0v3s3 36.000000
|
||||
f1v6s13 f3v14s39 33.000000
|
||||
f1v6s13 f0v0s0 38.000000
|
||||
f1v6s13 f1v12s19 6.000000
|
||||
f3v8s33 f1v1s8 33.000000
|
||||
f3v8s33 f1v14s21 33.000000
|
||||
f3v8s33 f0v1s1 40.000000
|
||||
f3v8s33 f1v5s12 35.000000
|
||||
f3v8s33 f1v4s11 34.000000
|
||||
f3v8s33 f1v9s16 38.000000
|
||||
f3v8s33 f1v10s17 32.000000
|
||||
f3v8s33 f1v0s7 34.000000
|
||||
f3v8s33 f3v9s34 3.000000
|
||||
f3v8s33 f4v0s40 42.000000
|
||||
f3v8s33 f1v7s14 34.000000
|
||||
f3v8s33 f3v2s27 2.000000
|
||||
f3v8s33 f4v1s41 43.000000
|
||||
f3v8s33 f2v0s22 38.000000
|
||||
f3v8s33 f1v2s9 40.000000
|
||||
f3v8s33 f1v3s10 34.000000
|
||||
f3v8s33 f3v0s25 1.000000
|
||||
f3v8s33 f3v3s28 3.000000
|
||||
f3v8s33 f3v13s38 3.000000
|
||||
f3v8s33 f3v7s32 3.000000
|
||||
f3v8s33 f3v1s26 3.000000
|
||||
f3v8s33 f3v6s31 3.000000
|
||||
f3v8s33 f1v13s20 34.000000
|
||||
f3v8s33 f2v2s24 34.000000
|
||||
f3v8s33 f3v11s36 5.000000
|
||||
f3v8s33 f0v5s5 39.000000
|
||||
f3v8s33 f1v11s18 34.000000
|
||||
f3v8s33 f0v6s6 43.000000
|
||||
f3v8s33 f3v4s29 4.000000
|
||||
f3v8s33 f0v2s2 38.000000
|
||||
f3v8s33 f3v12s37 3.000000
|
||||
f3v8s33 f0v3s3 38.000000
|
||||
f3v8s33 f3v14s39 1.000000
|
||||
f3v8s33 f0v0s0 38.000000
|
||||
f3v8s33 f1v12s19 34.000000
|
||||
f1v1s8 f1v14s21 5.000000
|
||||
f1v1s8 f0v1s1 41.000000
|
||||
f1v1s8 f1v5s12 8.000000
|
||||
f1v1s8 f1v4s11 4.000000
|
||||
f1v1s8 f1v9s16 7.000000
|
||||
f1v1s8 f1v10s17 8.000000
|
||||
f1v1s8 f1v0s7 4.000000
|
||||
f1v1s8 f3v9s34 32.000000
|
||||
f1v1s8 f4v0s40 37.000000
|
||||
f1v1s8 f1v7s14 4.000000
|
||||
f1v1s8 f3v2s27 32.000000
|
||||
f1v1s8 f4v1s41 38.000000
|
||||
f1v1s8 f2v0s22 42.000000
|
||||
f1v1s8 f1v2s9 41.000000
|
||||
f1v1s8 f1v3s10 4.000000
|
||||
f1v1s8 f3v0s25 33.000000
|
||||
f1v1s8 f3v3s28 34.000000
|
||||
f1v1s8 f3v13s38 34.000000
|
||||
f1v1s8 f3v7s32 32.000000
|
||||
f1v1s8 f3v1s26 31.000000
|
||||
f1v1s8 f3v6s31 32.000000
|
||||
f1v1s8 f1v13s20 6.000000
|
||||
f1v1s8 f2v2s24 36.000000
|
||||
f1v1s8 f3v11s36 34.000000
|
||||
f1v1s8 f0v5s5 42.000000
|
||||
f1v1s8 f1v11s18 5.000000
|
||||
f1v1s8 f0v6s6 39.000000
|
||||
f1v1s8 f3v4s29 33.000000
|
||||
f1v1s8 f0v2s2 42.000000
|
||||
f1v1s8 f3v12s37 34.000000
|
||||
f1v1s8 f0v3s3 40.000000
|
||||
f1v1s8 f3v14s39 33.000000
|
||||
f1v1s8 f0v0s0 41.000000
|
||||
f1v1s8 f1v12s19 5.000000
|
||||
f1v14s21 f0v1s1 39.000000
|
||||
f1v14s21 f1v5s12 7.000000
|
||||
f1v14s21 f1v4s11 3.000000
|
||||
f1v14s21 f1v9s16 6.000000
|
||||
f1v14s21 f1v10s17 7.000000
|
||||
f1v14s21 f1v0s7 3.000000
|
||||
f1v14s21 f3v9s34 32.000000
|
||||
f1v14s21 f4v0s40 33.000000
|
||||
f1v14s21 f1v7s14 3.000000
|
||||
f1v14s21 f3v2s27 32.000000
|
||||
f1v14s21 f4v1s41 33.000000
|
||||
f1v14s21 f2v0s22 40.000000
|
||||
f1v14s21 f1v2s9 39.000000
|
||||
f1v14s21 f1v3s10 3.000000
|
||||
f1v14s21 f3v0s25 33.000000
|
||||
f1v14s21 f3v3s28 34.000000
|
||||
f1v14s21 f3v13s38 35.000000
|
||||
f1v14s21 f3v7s32 32.000000
|
||||
f1v14s21 f3v1s26 31.000000
|
||||
f1v14s21 f3v6s31 32.000000
|
||||
f1v14s21 f1v13s20 5.000000
|
||||
f1v14s21 f2v2s24 31.000000
|
||||
f1v14s21 f3v11s36 36.000000
|
||||
f1v14s21 f0v5s5 39.000000
|
||||
f1v14s21 f1v11s18 4.000000
|
||||
f1v14s21 f0v6s6 37.000000
|
||||
f1v14s21 f3v4s29 34.000000
|
||||
f1v14s21 f0v2s2 40.000000
|
||||
f1v14s21 f3v12s37 34.000000
|
||||
f1v14s21 f0v3s3 37.000000
|
||||
f1v14s21 f3v14s39 33.000000
|
||||
f1v14s21 f0v0s0 39.000000
|
||||
f1v14s21 f1v12s19 5.000000
|
||||
f0v1s1 f1v5s12 43.000000
|
||||
f0v1s1 f1v4s11 41.000000
|
||||
f0v1s1 f1v9s16 40.000000
|
||||
f0v1s1 f1v10s17 42.000000
|
||||
f0v1s1 f1v0s7 41.000000
|
||||
f0v1s1 f3v9s34 40.000000
|
||||
f0v1s1 f4v0s40 41.000000
|
||||
f0v1s1 f1v7s14 41.000000
|
||||
f0v1s1 f3v2s27 40.000000
|
||||
f0v1s1 f4v1s41 42.000000
|
||||
f0v1s1 f2v0s22 4.000000
|
||||
f0v1s1 f1v2s9 0.000000
|
||||
f0v1s1 f1v3s10 41.000000
|
||||
f0v1s1 f3v0s25 41.000000
|
||||
f0v1s1 f3v3s28 40.000000
|
||||
f0v1s1 f3v13s38 41.000000
|
||||
f0v1s1 f3v7s32 40.000000
|
||||
f0v1s1 f3v1s26 42.000000
|
||||
f0v1s1 f3v6s31 40.000000
|
||||
f0v1s1 f1v13s20 40.000000
|
||||
f0v1s1 f2v2s24 37.000000
|
||||
f0v1s1 f3v11s36 42.000000
|
||||
f0v1s1 f0v5s5 4.000000
|
||||
f0v1s1 f1v11s18 39.000000
|
||||
f0v1s1 f0v6s6 7.000000
|
||||
f0v1s1 f3v4s29 38.000000
|
||||
f0v1s1 f0v2s2 4.000000
|
||||
f0v1s1 f3v12s37 41.000000
|
||||
f0v1s1 f0v3s3 6.000000
|
||||
f0v1s1 f3v14s39 41.000000
|
||||
f0v1s1 f0v0s0 2.000000
|
||||
f0v1s1 f1v12s19 45.000000
|
||||
f1v5s12 f1v4s11 4.000000
|
||||
f1v5s12 f1v9s16 7.000000
|
||||
f1v5s12 f1v10s17 7.000000
|
||||
f1v5s12 f1v0s7 4.000000
|
||||
f1v5s12 f3v9s34 35.000000
|
||||
f1v5s12 f4v0s40 37.000000
|
||||
f1v5s12 f1v7s14 4.000000
|
||||
f1v5s12 f3v2s27 35.000000
|
||||
f1v5s12 f4v1s41 38.000000
|
||||
f1v5s12 f2v0s22 43.000000
|
||||
f1v5s12 f1v2s9 43.000000
|
||||
f1v5s12 f1v3s10 4.000000
|
||||
f1v5s12 f3v0s25 36.000000
|
||||
f1v5s12 f3v3s28 37.000000
|
||||
f1v5s12 f3v13s38 38.000000
|
||||
f1v5s12 f3v7s32 35.000000
|
||||
f1v5s12 f3v1s26 35.000000
|
||||
f1v5s12 f3v6s31 35.000000
|
||||
f1v5s12 f1v13s20 6.000000
|
||||
f1v5s12 f2v2s24 36.000000
|
||||
f1v5s12 f3v11s36 35.000000
|
||||
f1v5s12 f0v5s5 41.000000
|
||||
f1v5s12 f1v11s18 5.000000
|
||||
f1v5s12 f0v6s6 43.000000
|
||||
f1v5s12 f3v4s29 38.000000
|
||||
f1v5s12 f0v2s2 43.000000
|
||||
f1v5s12 f3v12s37 35.000000
|
||||
f1v5s12 f0v3s3 40.000000
|
||||
f1v5s12 f3v14s39 36.000000
|
||||
f1v5s12 f0v0s0 43.000000
|
||||
f1v5s12 f1v12s19 5.000000
|
||||
f1v4s11 f1v9s16 3.000000
|
||||
f1v4s11 f1v10s17 4.000000
|
||||
f1v4s11 f1v0s7 0.000000
|
||||
f1v4s11 f3v9s34 34.000000
|
||||
f1v4s11 f4v0s40 37.000000
|
||||
f1v4s11 f1v7s14 0.000000
|
||||
f1v4s11 f3v2s27 34.000000
|
||||
f1v4s11 f4v1s41 34.000000
|
||||
f1v4s11 f2v0s22 41.000000
|
||||
f1v4s11 f1v2s9 41.000000
|
||||
f1v4s11 f1v3s10 0.000000
|
||||
f1v4s11 f3v0s25 35.000000
|
||||
f1v4s11 f3v3s28 36.000000
|
||||
f1v4s11 f3v13s38 39.000000
|
||||
f1v4s11 f3v7s32 34.000000
|
||||
f1v4s11 f3v1s26 34.000000
|
||||
f1v4s11 f3v6s31 34.000000
|
||||
f1v4s11 f1v13s20 2.000000
|
||||
f1v4s11 f2v2s24 33.000000
|
||||
f1v4s11 f3v11s36 36.000000
|
||||
f1v4s11 f0v5s5 41.000000
|
||||
f1v4s11 f1v11s18 1.000000
|
||||
f1v4s11 f0v6s6 42.000000
|
||||
f1v4s11 f3v4s29 36.000000
|
||||
f1v4s11 f0v2s2 41.000000
|
||||
f1v4s11 f3v12s37 35.000000
|
||||
f1v4s11 f0v3s3 39.000000
|
||||
f1v4s11 f3v14s39 35.000000
|
||||
f1v4s11 f0v0s0 41.000000
|
||||
f1v4s11 f1v12s19 2.000000
|
||||
f1v9s16 f1v10s17 7.000000
|
||||
f1v9s16 f1v0s7 3.000000
|
||||
f1v9s16 f3v9s34 35.000000
|
||||
f1v9s16 f4v0s40 37.000000
|
||||
f1v9s16 f1v7s14 3.000000
|
||||
f1v9s16 f3v2s27 37.000000
|
||||
f1v9s16 f4v1s41 34.000000
|
||||
f1v9s16 f2v0s22 41.000000
|
||||
f1v9s16 f1v2s9 40.000000
|
||||
f1v9s16 f1v3s10 3.000000
|
||||
f1v9s16 f3v0s25 38.000000
|
||||
f1v9s16 f3v3s28 39.000000
|
||||
f1v9s16 f3v13s38 39.000000
|
||||
f1v9s16 f3v7s32 35.000000
|
||||
f1v9s16 f3v1s26 35.000000
|
||||
f1v9s16 f3v6s31 35.000000
|
||||
f1v9s16 f1v13s20 5.000000
|
||||
f1v9s16 f2v2s24 35.000000
|
||||
f1v9s16 f3v11s36 39.000000
|
||||
f1v9s16 f0v5s5 40.000000
|
||||
f1v9s16 f1v11s18 4.000000
|
||||
f1v9s16 f0v6s6 42.000000
|
||||
f1v9s16 f3v4s29 38.000000
|
||||
f1v9s16 f0v2s2 41.000000
|
||||
f1v9s16 f3v12s37 39.000000
|
||||
f1v9s16 f0v3s3 38.000000
|
||||
f1v9s16 f3v14s39 38.000000
|
||||
f1v9s16 f0v0s0 40.000000
|
||||
f1v9s16 f1v12s19 5.000000
|
||||
f1v10s17 f1v0s7 4.000000
|
||||
f1v10s17 f3v9s34 32.000000
|
||||
f1v10s17 f4v0s40 39.000000
|
||||
f1v10s17 f1v7s14 4.000000
|
||||
f1v10s17 f3v2s27 32.000000
|
||||
f1v10s17 f4v1s41 40.000000
|
||||
f1v10s17 f2v0s22 43.000000
|
||||
f1v10s17 f1v2s9 42.000000
|
||||
f1v10s17 f1v3s10 4.000000
|
||||
f1v10s17 f3v0s25 33.000000
|
||||
f1v10s17 f3v3s28 37.000000
|
||||
f1v10s17 f3v13s38 38.000000
|
||||
f1v10s17 f3v7s32 32.000000
|
||||
f1v10s17 f3v1s26 33.000000
|
||||
f1v10s17 f3v6s31 32.000000
|
||||
f1v10s17 f1v13s20 6.000000
|
||||
f1v10s17 f2v2s24 34.000000
|
||||
f1v10s17 f3v11s36 35.000000
|
||||
f1v10s17 f0v5s5 42.000000
|
||||
f1v10s17 f1v11s18 5.000000
|
||||
f1v10s17 f0v6s6 45.000000
|
||||
f1v10s17 f3v4s29 35.000000
|
||||
f1v10s17 f0v2s2 43.000000
|
||||
f1v10s17 f3v12s37 32.000000
|
||||
f1v10s17 f0v3s3 40.000000
|
||||
f1v10s17 f3v14s39 33.000000
|
||||
f1v10s17 f0v0s0 42.000000
|
||||
f1v10s17 f1v12s19 5.000000
|
||||
f1v0s7 f3v9s34 34.000000
|
||||
f1v0s7 f4v0s40 37.000000
|
||||
f1v0s7 f1v7s14 0.000000
|
||||
f1v0s7 f3v2s27 34.000000
|
||||
f1v0s7 f4v1s41 34.000000
|
||||
f1v0s7 f2v0s22 41.000000
|
||||
f1v0s7 f1v2s9 41.000000
|
||||
f1v0s7 f1v3s10 0.000000
|
||||
f1v0s7 f3v0s25 35.000000
|
||||
f1v0s7 f3v3s28 36.000000
|
||||
f1v0s7 f3v13s38 39.000000
|
||||
f1v0s7 f3v7s32 34.000000
|
||||
f1v0s7 f3v1s26 34.000000
|
||||
f1v0s7 f3v6s31 34.000000
|
||||
f1v0s7 f1v13s20 2.000000
|
||||
f1v0s7 f2v2s24 33.000000
|
||||
f1v0s7 f3v11s36 36.000000
|
||||
f1v0s7 f0v5s5 41.000000
|
||||
f1v0s7 f1v11s18 1.000000
|
||||
f1v0s7 f0v6s6 42.000000
|
||||
f1v0s7 f3v4s29 36.000000
|
||||
f1v0s7 f0v2s2 41.000000
|
||||
f1v0s7 f3v12s37 35.000000
|
||||
f1v0s7 f0v3s3 39.000000
|
||||
f1v0s7 f3v14s39 35.000000
|
||||
f1v0s7 f0v0s0 41.000000
|
||||
f1v0s7 f1v12s19 2.000000
|
||||
f3v9s34 f4v0s40 39.000000
|
||||
f3v9s34 f1v7s14 34.000000
|
||||
f3v9s34 f3v2s27 3.000000
|
||||
f3v9s34 f4v1s41 38.000000
|
||||
f3v9s34 f2v0s22 38.000000
|
||||
f3v9s34 f1v2s9 40.000000
|
||||
f3v9s34 f1v3s10 34.000000
|
||||
f3v9s34 f3v0s25 2.000000
|
||||
f3v9s34 f3v3s28 4.000000
|
||||
f3v9s34 f3v13s38 4.000000
|
||||
f3v9s34 f3v7s32 0.000000
|
||||
f3v9s34 f3v1s26 4.000000
|
||||
f3v9s34 f3v6s31 0.000000
|
||||
f3v9s34 f1v13s20 34.000000
|
||||
f3v9s34 f2v2s24 33.000000
|
||||
f3v9s34 f3v11s36 6.000000
|
||||
f3v9s34 f0v5s5 38.000000
|
||||
f3v9s34 f1v11s18 34.000000
|
||||
f3v9s34 f0v6s6 41.000000
|
||||
f3v9s34 f3v4s29 5.000000
|
||||
f3v9s34 f0v2s2 38.000000
|
||||
f3v9s34 f3v12s37 4.000000
|
||||
f3v9s34 f0v3s3 39.000000
|
||||
f3v9s34 f3v14s39 2.000000
|
||||
f3v9s34 f0v0s0 38.000000
|
||||
f3v9s34 f1v12s19 34.000000
|
||||
f4v0s40 f1v7s14 37.000000
|
||||
f4v0s40 f3v2s27 37.000000
|
||||
f4v0s40 f4v1s41 1.000000
|
||||
f4v0s40 f2v0s22 36.000000
|
||||
f4v0s40 f1v2s9 41.000000
|
||||
f4v0s40 f1v3s10 37.000000
|
||||
f4v0s40 f3v0s25 38.000000
|
||||
f4v0s40 f3v3s28 38.000000
|
||||
f4v0s40 f3v13s38 41.000000
|
||||
f4v0s40 f3v7s32 39.000000
|
||||
f4v0s40 f3v1s26 37.000000
|
||||
f4v0s40 f3v6s31 39.000000
|
||||
f4v0s40 f1v13s20 35.000000
|
||||
f4v0s40 f2v2s24 32.000000
|
||||
f4v0s40 f3v11s36 37.000000
|
||||
f4v0s40 f0v5s5 37.000000
|
||||
f4v0s40 f1v11s18 39.000000
|
||||
f4v0s40 f0v6s6 36.000000
|
||||
f4v0s40 f3v4s29 42.000000
|
||||
f4v0s40 f0v2s2 36.000000
|
||||
f4v0s40 f3v12s37 39.000000
|
||||
f4v0s40 f0v3s3 36.000000
|
||||
f4v0s40 f3v14s39 38.000000
|
||||
f4v0s40 f0v0s0 36.000000
|
||||
f4v0s40 f1v12s19 34.000000
|
||||
f1v7s14 f3v2s27 34.000000
|
||||
f1v7s14 f4v1s41 34.000000
|
||||
f1v7s14 f2v0s22 41.000000
|
||||
f1v7s14 f1v2s9 41.000000
|
||||
f1v7s14 f1v3s10 0.000000
|
||||
f1v7s14 f3v0s25 35.000000
|
||||
f1v7s14 f3v3s28 36.000000
|
||||
f1v7s14 f3v13s38 39.000000
|
||||
f1v7s14 f3v7s32 34.000000
|
||||
f1v7s14 f3v1s26 34.000000
|
||||
f1v7s14 f3v6s31 34.000000
|
||||
f1v7s14 f1v13s20 2.000000
|
||||
f1v7s14 f2v2s24 33.000000
|
||||
f1v7s14 f3v11s36 36.000000
|
||||
f1v7s14 f0v5s5 41.000000
|
||||
f1v7s14 f1v11s18 1.000000
|
||||
f1v7s14 f0v6s6 42.000000
|
||||
f1v7s14 f3v4s29 36.000000
|
||||
f1v7s14 f0v2s2 41.000000
|
||||
f1v7s14 f3v12s37 35.000000
|
||||
f1v7s14 f0v3s3 39.000000
|
||||
f1v7s14 f3v14s39 35.000000
|
||||
f1v7s14 f0v0s0 41.000000
|
||||
f1v7s14 f1v12s19 2.000000
|
||||
f3v2s27 f4v1s41 38.000000
|
||||
f3v2s27 f2v0s22 37.000000
|
||||
f3v2s27 f1v2s9 40.000000
|
||||
f3v2s27 f1v3s10 34.000000
|
||||
f3v2s27 f3v0s25 1.000000
|
||||
f3v2s27 f3v3s28 3.000000
|
||||
f3v2s27 f3v13s38 3.000000
|
||||
f3v2s27 f3v7s32 3.000000
|
||||
f3v2s27 f3v1s26 2.000000
|
||||
f3v2s27 f3v6s31 3.000000
|
||||
f3v2s27 f1v13s20 34.000000
|
||||
f3v2s27 f2v2s24 34.000000
|
||||
f3v2s27 f3v11s36 5.000000
|
||||
f3v2s27 f0v5s5 38.000000
|
||||
f3v2s27 f1v11s18 34.000000
|
||||
f3v2s27 f0v6s6 42.000000
|
||||
f3v2s27 f3v4s29 4.000000
|
||||
f3v2s27 f0v2s2 37.000000
|
||||
f3v2s27 f3v12s37 3.000000
|
||||
f3v2s27 f0v3s3 39.000000
|
||||
f3v2s27 f3v14s39 1.000000
|
||||
f3v2s27 f0v0s0 38.000000
|
||||
f3v2s27 f1v12s19 34.000000
|
||||
f4v1s41 f2v0s22 37.000000
|
||||
f4v1s41 f1v2s9 42.000000
|
||||
f4v1s41 f1v3s10 34.000000
|
||||
f4v1s41 f3v0s25 39.000000
|
||||
f4v1s41 f3v3s28 39.000000
|
||||
f4v1s41 f3v13s38 42.000000
|
||||
f4v1s41 f3v7s32 38.000000
|
||||
f4v1s41 f3v1s26 38.000000
|
||||
f4v1s41 f3v6s31 38.000000
|
||||
f4v1s41 f1v13s20 33.000000
|
||||
f4v1s41 f2v2s24 33.000000
|
||||
f4v1s41 f3v11s36 37.000000
|
||||
f4v1s41 f0v5s5 38.000000
|
||||
f4v1s41 f1v11s18 36.000000
|
||||
f4v1s41 f0v6s6 37.000000
|
||||
f4v1s41 f3v4s29 43.000000
|
||||
f4v1s41 f0v2s2 37.000000
|
||||
f4v1s41 f3v12s37 40.000000
|
||||
f4v1s41 f0v3s3 37.000000
|
||||
f4v1s41 f3v14s39 39.000000
|
||||
f4v1s41 f0v0s0 37.000000
|
||||
f4v1s41 f1v12s19 34.000000
|
||||
f2v0s22 f1v2s9 4.000000
|
||||
f2v0s22 f1v3s10 41.000000
|
||||
f2v0s22 f3v0s25 38.000000
|
||||
f2v0s22 f3v3s28 37.000000
|
||||
f2v0s22 f3v13s38 39.000000
|
||||
f2v0s22 f3v7s32 38.000000
|
||||
f2v0s22 f3v1s26 39.000000
|
||||
f2v0s22 f3v6s31 38.000000
|
||||
f2v0s22 f1v13s20 40.000000
|
||||
f2v0s22 f2v2s24 37.000000
|
||||
f2v0s22 f3v11s36 40.000000
|
||||
f2v0s22 f0v5s5 4.000000
|
||||
f2v0s22 f1v11s18 39.000000
|
||||
f2v0s22 f0v6s6 7.000000
|
||||
f2v0s22 f3v4s29 35.000000
|
||||
f2v0s22 f0v2s2 0.000000
|
||||
f2v0s22 f3v12s37 38.000000
|
||||
f2v0s22 f0v3s3 6.000000
|
||||
f2v0s22 f3v14s39 38.000000
|
||||
f2v0s22 f0v0s0 2.000000
|
||||
f2v0s22 f1v12s19 41.000000
|
||||
f1v2s9 f1v3s10 41.000000
|
||||
f1v2s9 f3v0s25 41.000000
|
||||
f1v2s9 f3v3s28 40.000000
|
||||
f1v2s9 f3v13s38 41.000000
|
||||
f1v2s9 f3v7s32 40.000000
|
||||
f1v2s9 f3v1s26 42.000000
|
||||
f1v2s9 f3v6s31 40.000000
|
||||
f1v2s9 f1v13s20 40.000000
|
||||
f1v2s9 f2v2s24 37.000000
|
||||
f1v2s9 f3v11s36 42.000000
|
||||
f1v2s9 f0v5s5 4.000000
|
||||
f1v2s9 f1v11s18 39.000000
|
||||
f1v2s9 f0v6s6 7.000000
|
||||
f1v2s9 f3v4s29 38.000000
|
||||
f1v2s9 f0v2s2 4.000000
|
||||
f1v2s9 f3v12s37 41.000000
|
||||
f1v2s9 f0v3s3 6.000000
|
||||
f1v2s9 f3v14s39 41.000000
|
||||
f1v2s9 f0v0s0 2.000000
|
||||
f1v2s9 f1v12s19 45.000000
|
||||
f1v3s10 f3v0s25 35.000000
|
||||
f1v3s10 f3v3s28 36.000000
|
||||
f1v3s10 f3v13s38 39.000000
|
||||
f1v3s10 f3v7s32 34.000000
|
||||
f1v3s10 f3v1s26 34.000000
|
||||
f1v3s10 f3v6s31 34.000000
|
||||
f1v3s10 f1v13s20 2.000000
|
||||
f1v3s10 f2v2s24 33.000000
|
||||
f1v3s10 f3v11s36 36.000000
|
||||
f1v3s10 f0v5s5 41.000000
|
||||
f1v3s10 f1v11s18 1.000000
|
||||
f1v3s10 f0v6s6 42.000000
|
||||
f1v3s10 f3v4s29 36.000000
|
||||
f1v3s10 f0v2s2 41.000000
|
||||
f1v3s10 f3v12s37 35.000000
|
||||
f1v3s10 f0v3s3 39.000000
|
||||
f1v3s10 f3v14s39 35.000000
|
||||
f1v3s10 f0v0s0 41.000000
|
||||
f1v3s10 f1v12s19 2.000000
|
||||
f3v0s25 f3v3s28 2.000000
|
||||
f3v0s25 f3v13s38 2.000000
|
||||
f3v0s25 f3v7s32 2.000000
|
||||
f3v0s25 f3v1s26 2.000000
|
||||
f3v0s25 f3v6s31 2.000000
|
||||
f3v0s25 f1v13s20 35.000000
|
||||
f3v0s25 f2v2s24 33.000000
|
||||
f3v0s25 f3v11s36 4.000000
|
||||
f3v0s25 f0v5s5 39.000000
|
||||
f3v0s25 f1v11s18 35.000000
|
||||
f3v0s25 f0v6s6 43.000000
|
||||
f3v0s25 f3v4s29 3.000000
|
||||
f3v0s25 f0v2s2 38.000000
|
||||
f3v0s25 f3v12s37 2.000000
|
||||
f3v0s25 f0v3s3 40.000000
|
||||
f3v0s25 f3v14s39 0.000000
|
||||
f3v0s25 f0v0s0 39.000000
|
||||
f3v0s25 f1v12s19 35.000000
|
||||
f3v3s28 f3v13s38 3.000000
|
||||
f3v3s28 f3v7s32 4.000000
|
||||
f3v3s28 f3v1s26 4.000000
|
||||
f3v3s28 f3v6s31 4.000000
|
||||
f3v3s28 f1v13s20 36.000000
|
||||
f3v3s28 f2v2s24 33.000000
|
||||
f3v3s28 f3v11s36 6.000000
|
||||
f3v3s28 f0v5s5 39.000000
|
||||
f3v3s28 f1v11s18 38.000000
|
||||
f3v3s28 f0v6s6 42.000000
|
||||
f3v3s28 f3v4s29 4.000000
|
||||
f3v3s28 f0v2s2 37.000000
|
||||
f3v3s28 f3v12s37 4.000000
|
||||
f3v3s28 f0v3s3 39.000000
|
||||
f3v3s28 f3v14s39 2.000000
|
||||
f3v3s28 f0v0s0 38.000000
|
||||
f3v3s28 f1v12s19 38.000000
|
||||
f3v13s38 f3v7s32 4.000000
|
||||
f3v13s38 f3v1s26 4.000000
|
||||
f3v13s38 f3v6s31 4.000000
|
||||
f3v13s38 f1v13s20 39.000000
|
||||
f3v13s38 f2v2s24 34.000000
|
||||
f3v13s38 f3v11s36 6.000000
|
||||
f3v13s38 f0v5s5 39.000000
|
||||
f3v13s38 f1v11s18 39.000000
|
||||
f3v13s38 f0v6s6 43.000000
|
||||
f3v13s38 f3v4s29 4.000000
|
||||
f3v13s38 f0v2s2 39.000000
|
||||
f3v13s38 f3v12s37 4.000000
|
||||
f3v13s38 f0v3s3 40.000000
|
||||
f3v13s38 f3v14s39 2.000000
|
||||
f3v13s38 f0v0s0 39.000000
|
||||
f3v13s38 f1v12s19 35.000000
|
||||
f3v7s32 f3v1s26 4.000000
|
||||
f3v7s32 f3v6s31 0.000000
|
||||
f3v7s32 f1v13s20 34.000000
|
||||
f3v7s32 f2v2s24 33.000000
|
||||
f3v7s32 f3v11s36 6.000000
|
||||
f3v7s32 f0v5s5 38.000000
|
||||
f3v7s32 f1v11s18 34.000000
|
||||
f3v7s32 f0v6s6 41.000000
|
||||
f3v7s32 f3v4s29 5.000000
|
||||
f3v7s32 f0v2s2 38.000000
|
||||
f3v7s32 f3v12s37 4.000000
|
||||
f3v7s32 f0v3s3 39.000000
|
||||
f3v7s32 f3v14s39 2.000000
|
||||
f3v7s32 f0v0s0 38.000000
|
||||
f3v7s32 f1v12s19 34.000000
|
||||
f3v1s26 f3v6s31 4.000000
|
||||
f3v1s26 f1v13s20 34.000000
|
||||
f3v1s26 f2v2s24 33.000000
|
||||
f3v1s26 f3v11s36 6.000000
|
||||
f3v1s26 f0v5s5 40.000000
|
||||
f3v1s26 f1v11s18 37.000000
|
||||
f3v1s26 f0v6s6 44.000000
|
||||
f3v1s26 f3v4s29 5.000000
|
||||
f3v1s26 f0v2s2 39.000000
|
||||
f3v1s26 f3v12s37 4.000000
|
||||
f3v1s26 f0v3s3 39.000000
|
||||
f3v1s26 f3v14s39 2.000000
|
||||
f3v1s26 f0v0s0 40.000000
|
||||
f3v1s26 f1v12s19 34.000000
|
||||
f3v6s31 f1v13s20 34.000000
|
||||
f3v6s31 f2v2s24 33.000000
|
||||
f3v6s31 f3v11s36 6.000000
|
||||
f3v6s31 f0v5s5 38.000000
|
||||
f3v6s31 f1v11s18 34.000000
|
||||
f3v6s31 f0v6s6 41.000000
|
||||
f3v6s31 f3v4s29 5.000000
|
||||
f3v6s31 f0v2s2 38.000000
|
||||
f3v6s31 f3v12s37 4.000000
|
||||
f3v6s31 f0v3s3 39.000000
|
||||
f3v6s31 f3v14s39 2.000000
|
||||
f3v6s31 f0v0s0 38.000000
|
||||
f3v6s31 f1v12s19 34.000000
|
||||
f1v13s20 f2v2s24 31.000000
|
||||
f1v13s20 f3v11s36 36.000000
|
||||
f1v13s20 f0v5s5 39.000000
|
||||
f1v13s20 f1v11s18 3.000000
|
||||
f1v13s20 f0v6s6 41.000000
|
||||
f1v13s20 f3v4s29 36.000000
|
||||
f1v13s20 f0v2s2 40.000000
|
||||
f1v13s20 f3v12s37 35.000000
|
||||
f1v13s20 f0v3s3 38.000000
|
||||
f1v13s20 f3v14s39 35.000000
|
||||
f1v13s20 f0v0s0 40.000000
|
||||
f1v13s20 f1v12s19 4.000000
|
||||
f2v2s24 f3v11s36 33.000000
|
||||
f2v2s24 f0v5s5 41.000000
|
||||
f2v2s24 f1v11s18 33.000000
|
||||
f2v2s24 f0v6s6 38.000000
|
||||
f2v2s24 f3v4s29 34.000000
|
||||
f2v2s24 f0v2s2 37.000000
|
||||
f2v2s24 f3v12s37 33.000000
|
||||
f2v2s24 f0v3s3 35.000000
|
||||
f2v2s24 f3v14s39 33.000000
|
||||
f2v2s24 f0v0s0 37.000000
|
||||
f2v2s24 f1v12s19 33.000000
|
||||
f3v11s36 f0v5s5 43.000000
|
||||
f3v11s36 f1v11s18 36.000000
|
||||
f3v11s36 f0v6s6 44.000000
|
||||
f3v11s36 f3v4s29 7.000000
|
||||
f3v11s36 f0v2s2 40.000000
|
||||
f3v11s36 f3v12s37 6.000000
|
||||
f3v11s36 f0v3s3 41.000000
|
||||
f3v11s36 f3v14s39 4.000000
|
||||
f3v11s36 f0v0s0 40.000000
|
||||
f3v11s36 f1v12s19 36.000000
|
||||
f0v5s5 f1v11s18 40.000000
|
||||
f0v5s5 f0v6s6 7.000000
|
||||
f0v5s5 f3v4s29 36.000000
|
||||
f0v5s5 f0v2s2 4.000000
|
||||
f0v5s5 f3v12s37 40.000000
|
||||
f0v5s5 f0v3s3 6.000000
|
||||
f0v5s5 f3v14s39 39.000000
|
||||
f0v5s5 f0v0s0 2.000000
|
||||
f0v5s5 f1v12s19 42.000000
|
||||
f1v11s18 f0v6s6 39.000000
|
||||
f1v11s18 f3v4s29 36.000000
|
||||
f1v11s18 f0v2s2 39.000000
|
||||
f1v11s18 f3v12s37 35.000000
|
||||
f1v11s18 f0v3s3 37.000000
|
||||
f1v11s18 f3v14s39 35.000000
|
||||
f1v11s18 f0v0s0 39.000000
|
||||
f1v11s18 f1v12s19 3.000000
|
||||
f0v6s6 f3v4s29 40.000000
|
||||
f0v6s6 f0v2s2 7.000000
|
||||
f0v6s6 f3v12s37 44.000000
|
||||
f0v6s6 f0v3s3 9.000000
|
||||
f0v6s6 f3v14s39 43.000000
|
||||
f0v6s6 f0v0s0 5.000000
|
||||
f0v6s6 f1v12s19 45.000000
|
||||
f3v4s29 f0v2s2 35.000000
|
||||
f3v4s29 f3v12s37 5.000000
|
||||
f3v4s29 f0v3s3 38.000000
|
||||
f3v4s29 f3v14s39 3.000000
|
||||
f3v4s29 f0v0s0 36.000000
|
||||
f3v4s29 f1v12s19 36.000000
|
||||
f0v2s2 f3v12s37 38.000000
|
||||
f0v2s2 f0v3s3 6.000000
|
||||
f0v2s2 f3v14s39 38.000000
|
||||
f0v2s2 f0v0s0 2.000000
|
||||
f0v2s2 f1v12s19 41.000000
|
||||
f3v12s37 f0v3s3 41.000000
|
||||
f3v12s37 f3v14s39 2.000000
|
||||
f3v12s37 f0v0s0 39.000000
|
||||
f3v12s37 f1v12s19 35.000000
|
||||
f0v3s3 f3v14s39 40.000000
|
||||
f0v3s3 f0v0s0 4.000000
|
||||
f0v3s3 f1v12s19 40.000000
|
||||
f3v14s39 f0v0s0 39.000000
|
||||
f3v14s39 f1v12s19 35.000000
|
||||
f0v0s0 f1v12s19 45.000000
|
||||
+903
@@ -0,0 +1,903 @@
|
||||
f3v10s35 f3v5s30 58.000000
|
||||
f3v10s35 f1v8s15 37.000000
|
||||
f3v10s35 f2v1s23 38.000000
|
||||
f3v10s35 f4v2s42 38.000000
|
||||
f3v10s35 f0v4s4 40.000000
|
||||
f3v10s35 f1v6s13 37.000000
|
||||
f3v10s35 f3v8s33 61.000000
|
||||
f3v10s35 f1v1s8 39.000000
|
||||
f3v10s35 f1v14s21 38.000000
|
||||
f3v10s35 f0v1s1 40.000000
|
||||
f3v10s35 f1v5s12 38.000000
|
||||
f3v10s35 f1v4s11 38.000000
|
||||
f3v10s35 f1v9s16 39.000000
|
||||
f3v10s35 f1v10s17 39.000000
|
||||
f3v10s35 f1v0s7 38.000000
|
||||
f3v10s35 f3v9s34 61.000000
|
||||
f3v10s35 f4v0s40 38.000000
|
||||
f3v10s35 f1v7s14 38.000000
|
||||
f3v10s35 f3v2s27 61.000000
|
||||
f3v10s35 f4v1s41 38.000000
|
||||
f3v10s35 f2v0s22 40.000000
|
||||
f3v10s35 f1v2s9 40.000000
|
||||
f3v10s35 f1v3s10 38.000000
|
||||
f3v10s35 f3v0s25 62.000000
|
||||
f3v10s35 f3v3s28 61.000000
|
||||
f3v10s35 f3v13s38 62.000000
|
||||
f3v10s35 f3v7s32 61.000000
|
||||
f3v10s35 f3v1s26 61.000000
|
||||
f3v10s35 f3v6s31 61.000000
|
||||
f3v10s35 f1v13s20 37.000000
|
||||
f3v10s35 f2v2s24 35.000000
|
||||
f3v10s35 f3v11s36 59.000000
|
||||
f3v10s35 f0v5s5 39.000000
|
||||
f3v10s35 f1v11s18 38.000000
|
||||
f3v10s35 f0v6s6 38.000000
|
||||
f3v10s35 f3v4s29 61.000000
|
||||
f3v10s35 f0v2s2 40.000000
|
||||
f3v10s35 f3v12s37 61.000000
|
||||
f3v10s35 f0v3s3 40.000000
|
||||
f3v10s35 f3v14s39 62.000000
|
||||
f3v10s35 f0v0s0 40.000000
|
||||
f3v10s35 f1v12s19 37.000000
|
||||
f3v5s30 f1v8s15 38.000000
|
||||
f3v5s30 f2v1s23 38.000000
|
||||
f3v5s30 f4v2s42 37.000000
|
||||
f3v5s30 f0v4s4 39.000000
|
||||
f3v5s30 f1v6s13 39.000000
|
||||
f3v5s30 f3v8s33 61.000000
|
||||
f3v5s30 f1v1s8 39.000000
|
||||
f3v5s30 f1v14s21 37.000000
|
||||
f3v5s30 f0v1s1 39.000000
|
||||
f3v5s30 f1v5s12 38.000000
|
||||
f3v5s30 f1v4s11 38.000000
|
||||
f3v5s30 f1v9s16 38.000000
|
||||
f3v5s30 f1v10s17 39.000000
|
||||
f3v5s30 f1v0s7 38.000000
|
||||
f3v5s30 f3v9s34 60.000000
|
||||
f3v5s30 f4v0s40 37.000000
|
||||
f3v5s30 f1v7s14 38.000000
|
||||
f3v5s30 f3v2s27 61.000000
|
||||
f3v5s30 f4v1s41 37.000000
|
||||
f3v5s30 f2v0s22 40.000000
|
||||
f3v5s30 f1v2s9 39.000000
|
||||
f3v5s30 f1v3s10 38.000000
|
||||
f3v5s30 f3v0s25 62.000000
|
||||
f3v5s30 f3v3s28 61.000000
|
||||
f3v5s30 f3v13s38 62.000000
|
||||
f3v5s30 f3v7s32 60.000000
|
||||
f3v5s30 f3v1s26 61.000000
|
||||
f3v5s30 f3v6s31 60.000000
|
||||
f3v5s30 f1v13s20 38.000000
|
||||
f3v5s30 f2v2s24 34.000000
|
||||
f3v5s30 f3v11s36 59.000000
|
||||
f3v5s30 f0v5s5 39.000000
|
||||
f3v5s30 f1v11s18 38.000000
|
||||
f3v5s30 f0v6s6 41.000000
|
||||
f3v5s30 f3v4s29 61.000000
|
||||
f3v5s30 f0v2s2 40.000000
|
||||
f3v5s30 f3v12s37 61.000000
|
||||
f3v5s30 f0v3s3 40.000000
|
||||
f3v5s30 f3v14s39 62.000000
|
||||
f3v5s30 f0v0s0 40.000000
|
||||
f3v5s30 f1v12s19 37.000000
|
||||
f1v8s15 f2v1s23 57.000000
|
||||
f1v8s15 f4v2s42 34.000000
|
||||
f1v8s15 f0v4s4 38.000000
|
||||
f1v8s15 f1v6s13 54.000000
|
||||
f1v8s15 f3v8s33 39.000000
|
||||
f1v8s15 f1v1s8 55.000000
|
||||
f1v8s15 f1v14s21 54.000000
|
||||
f1v8s15 f0v1s1 38.000000
|
||||
f1v8s15 f1v5s12 55.000000
|
||||
f1v8s15 f1v4s11 57.000000
|
||||
f1v8s15 f1v9s16 56.000000
|
||||
f1v8s15 f1v10s17 55.000000
|
||||
f1v8s15 f1v0s7 57.000000
|
||||
f1v8s15 f3v9s34 40.000000
|
||||
f1v8s15 f4v0s40 35.000000
|
||||
f1v8s15 f1v7s14 57.000000
|
||||
f1v8s15 f3v2s27 39.000000
|
||||
f1v8s15 f4v1s41 35.000000
|
||||
f1v8s15 f2v0s22 39.000000
|
||||
f1v8s15 f1v2s9 38.000000
|
||||
f1v8s15 f1v3s10 57.000000
|
||||
f1v8s15 f3v0s25 39.000000
|
||||
f1v8s15 f3v3s28 39.000000
|
||||
f1v8s15 f3v13s38 40.000000
|
||||
f1v8s15 f3v7s32 40.000000
|
||||
f1v8s15 f3v1s26 39.000000
|
||||
f1v8s15 f3v6s31 40.000000
|
||||
f1v8s15 f1v13s20 55.000000
|
||||
f1v8s15 f2v2s24 34.000000
|
||||
f1v8s15 f3v11s36 39.000000
|
||||
f1v8s15 f0v5s5 39.000000
|
||||
f1v8s15 f1v11s18 56.000000
|
||||
f1v8s15 f0v6s6 38.000000
|
||||
f1v8s15 f3v4s29 40.000000
|
||||
f1v8s15 f0v2s2 39.000000
|
||||
f1v8s15 f3v12s37 40.000000
|
||||
f1v8s15 f0v3s3 39.000000
|
||||
f1v8s15 f3v14s39 39.000000
|
||||
f1v8s15 f0v0s0 39.000000
|
||||
f1v8s15 f1v12s19 55.000000
|
||||
f2v1s23 f4v2s42 34.000000
|
||||
f2v1s23 f0v4s4 38.000000
|
||||
f2v1s23 f1v6s13 54.000000
|
||||
f2v1s23 f3v8s33 39.000000
|
||||
f2v1s23 f1v1s8 56.000000
|
||||
f2v1s23 f1v14s21 55.000000
|
||||
f2v1s23 f0v1s1 38.000000
|
||||
f2v1s23 f1v5s12 56.000000
|
||||
f2v1s23 f1v4s11 58.000000
|
||||
f2v1s23 f1v9s16 57.000000
|
||||
f2v1s23 f1v10s17 56.000000
|
||||
f2v1s23 f1v0s7 58.000000
|
||||
f2v1s23 f3v9s34 40.000000
|
||||
f2v1s23 f4v0s40 35.000000
|
||||
f2v1s23 f1v7s14 58.000000
|
||||
f2v1s23 f3v2s27 39.000000
|
||||
f2v1s23 f4v1s41 35.000000
|
||||
f2v1s23 f2v0s22 39.000000
|
||||
f2v1s23 f1v2s9 38.000000
|
||||
f2v1s23 f1v3s10 58.000000
|
||||
f2v1s23 f3v0s25 39.000000
|
||||
f2v1s23 f3v3s28 39.000000
|
||||
f2v1s23 f3v13s38 40.000000
|
||||
f2v1s23 f3v7s32 40.000000
|
||||
f2v1s23 f3v1s26 39.000000
|
||||
f2v1s23 f3v6s31 40.000000
|
||||
f2v1s23 f1v13s20 56.000000
|
||||
f2v1s23 f2v2s24 34.000000
|
||||
f2v1s23 f3v11s36 39.000000
|
||||
f2v1s23 f0v5s5 39.000000
|
||||
f2v1s23 f1v11s18 57.000000
|
||||
f2v1s23 f0v6s6 38.000000
|
||||
f2v1s23 f3v4s29 40.000000
|
||||
f2v1s23 f0v2s2 39.000000
|
||||
f2v1s23 f3v12s37 40.000000
|
||||
f2v1s23 f0v3s3 39.000000
|
||||
f2v1s23 f3v14s39 39.000000
|
||||
f2v1s23 f0v0s0 39.000000
|
||||
f2v1s23 f1v12s19 56.000000
|
||||
f4v2s42 f0v4s4 39.000000
|
||||
f4v2s42 f1v6s13 33.000000
|
||||
f4v2s42 f3v8s33 37.000000
|
||||
f4v2s42 f1v1s8 36.000000
|
||||
f4v2s42 f1v14s21 33.000000
|
||||
f4v2s42 f0v1s1 39.000000
|
||||
f4v2s42 f1v5s12 34.000000
|
||||
f4v2s42 f1v4s11 34.000000
|
||||
f4v2s42 f1v9s16 36.000000
|
||||
f4v2s42 f1v10s17 35.000000
|
||||
f4v2s42 f1v0s7 34.000000
|
||||
f4v2s42 f3v9s34 35.000000
|
||||
f4v2s42 f4v0s40 59.000000
|
||||
f4v2s42 f1v7s14 34.000000
|
||||
f4v2s42 f3v2s27 36.000000
|
||||
f4v2s42 f4v1s41 59.000000
|
||||
f4v2s42 f2v0s22 41.000000
|
||||
f4v2s42 f1v2s9 39.000000
|
||||
f4v2s42 f1v3s10 34.000000
|
||||
f4v2s42 f3v0s25 36.000000
|
||||
f4v2s42 f3v3s28 36.000000
|
||||
f4v2s42 f3v13s38 37.000000
|
||||
f4v2s42 f3v7s32 35.000000
|
||||
f4v2s42 f3v1s26 36.000000
|
||||
f4v2s42 f3v6s31 35.000000
|
||||
f4v2s42 f1v13s20 33.000000
|
||||
f4v2s42 f2v2s24 35.000000
|
||||
f4v2s42 f3v11s36 36.000000
|
||||
f4v2s42 f0v5s5 40.000000
|
||||
f4v2s42 f1v11s18 34.000000
|
||||
f4v2s42 f0v6s6 41.000000
|
||||
f4v2s42 f3v4s29 38.000000
|
||||
f4v2s42 f0v2s2 41.000000
|
||||
f4v2s42 f3v12s37 37.000000
|
||||
f4v2s42 f0v3s3 39.000000
|
||||
f4v2s42 f3v14s39 36.000000
|
||||
f4v2s42 f0v0s0 40.000000
|
||||
f4v2s42 f1v12s19 33.000000
|
||||
f0v4s4 f1v6s13 37.000000
|
||||
f0v4s4 f3v8s33 41.000000
|
||||
f0v4s4 f1v1s8 38.000000
|
||||
f0v4s4 f1v14s21 38.000000
|
||||
f0v4s4 f0v1s1 69.000000
|
||||
f0v4s4 f1v5s12 39.000000
|
||||
f0v4s4 f1v4s11 38.000000
|
||||
f0v4s4 f1v9s16 39.000000
|
||||
f0v4s4 f1v10s17 39.000000
|
||||
f0v4s4 f1v0s7 38.000000
|
||||
f0v4s4 f3v9s34 40.000000
|
||||
f0v4s4 f4v0s40 38.000000
|
||||
f0v4s4 f1v7s14 38.000000
|
||||
f0v4s4 f3v2s27 40.000000
|
||||
f0v4s4 f4v1s41 38.000000
|
||||
f0v4s4 f2v0s22 67.000000
|
||||
f0v4s4 f1v2s9 69.000000
|
||||
f0v4s4 f1v3s10 38.000000
|
||||
f0v4s4 f3v0s25 40.000000
|
||||
f0v4s4 f3v3s28 40.000000
|
||||
f0v4s4 f3v13s38 40.000000
|
||||
f0v4s4 f3v7s32 40.000000
|
||||
f0v4s4 f3v1s26 39.000000
|
||||
f0v4s4 f3v6s31 40.000000
|
||||
f0v4s4 f1v13s20 37.000000
|
||||
f0v4s4 f2v2s24 35.000000
|
||||
f0v4s4 f3v11s36 37.000000
|
||||
f0v4s4 f0v5s5 67.000000
|
||||
f0v4s4 f1v11s18 38.000000
|
||||
f0v4s4 f0v6s6 64.000000
|
||||
f0v4s4 f3v4s29 42.000000
|
||||
f0v4s4 f0v2s2 67.000000
|
||||
f0v4s4 f3v12s37 40.000000
|
||||
f0v4s4 f0v3s3 65.000000
|
||||
f0v4s4 f3v14s39 40.000000
|
||||
f0v4s4 f0v0s0 68.000000
|
||||
f0v4s4 f1v12s19 38.000000
|
||||
f1v6s13 f3v8s33 39.000000
|
||||
f1v6s13 f1v1s8 52.000000
|
||||
f1v6s13 f1v14s21 51.000000
|
||||
f1v6s13 f0v1s1 37.000000
|
||||
f1v6s13 f1v5s12 52.000000
|
||||
f1v6s13 f1v4s11 54.000000
|
||||
f1v6s13 f1v9s16 53.000000
|
||||
f1v6s13 f1v10s17 53.000000
|
||||
f1v6s13 f1v0s7 54.000000
|
||||
f1v6s13 f3v9s34 39.000000
|
||||
f1v6s13 f4v0s40 34.000000
|
||||
f1v6s13 f1v7s14 54.000000
|
||||
f1v6s13 f3v2s27 39.000000
|
||||
f1v6s13 f4v1s41 34.000000
|
||||
f1v6s13 f2v0s22 38.000000
|
||||
f1v6s13 f1v2s9 37.000000
|
||||
f1v6s13 f1v3s10 54.000000
|
||||
f1v6s13 f3v0s25 39.000000
|
||||
f1v6s13 f3v3s28 39.000000
|
||||
f1v6s13 f3v13s38 39.000000
|
||||
f1v6s13 f3v7s32 39.000000
|
||||
f1v6s13 f3v1s26 39.000000
|
||||
f1v6s13 f3v6s31 39.000000
|
||||
f1v6s13 f1v13s20 52.000000
|
||||
f1v6s13 f2v2s24 33.000000
|
||||
f1v6s13 f3v11s36 39.000000
|
||||
f1v6s13 f0v5s5 38.000000
|
||||
f1v6s13 f1v11s18 53.000000
|
||||
f1v6s13 f0v6s6 38.000000
|
||||
f1v6s13 f3v4s29 40.000000
|
||||
f1v6s13 f0v2s2 38.000000
|
||||
f1v6s13 f3v12s37 40.000000
|
||||
f1v6s13 f0v3s3 37.000000
|
||||
f1v6s13 f3v14s39 39.000000
|
||||
f1v6s13 f0v0s0 38.000000
|
||||
f1v6s13 f1v12s19 52.000000
|
||||
f3v8s33 f1v1s8 40.000000
|
||||
f3v8s33 f1v14s21 38.000000
|
||||
f3v8s33 f0v1s1 41.000000
|
||||
f3v8s33 f1v5s12 39.000000
|
||||
f3v8s33 f1v4s11 39.000000
|
||||
f3v8s33 f1v9s16 39.000000
|
||||
f3v8s33 f1v10s17 40.000000
|
||||
f3v8s33 f1v0s7 39.000000
|
||||
f3v8s33 f3v9s34 63.000000
|
||||
f3v8s33 f4v0s40 37.000000
|
||||
f3v8s33 f1v7s14 39.000000
|
||||
f3v8s33 f3v2s27 64.000000
|
||||
f3v8s33 f4v1s41 37.000000
|
||||
f3v8s33 f2v0s22 42.000000
|
||||
f3v8s33 f1v2s9 41.000000
|
||||
f3v8s33 f1v3s10 39.000000
|
||||
f3v8s33 f3v0s25 65.000000
|
||||
f3v8s33 f3v3s28 64.000000
|
||||
f3v8s33 f3v13s38 65.000000
|
||||
f3v8s33 f3v7s32 63.000000
|
||||
f3v8s33 f3v1s26 63.000000
|
||||
f3v8s33 f3v6s31 63.000000
|
||||
f3v8s33 f1v13s20 38.000000
|
||||
f3v8s33 f2v2s24 34.000000
|
||||
f3v8s33 f3v11s36 62.000000
|
||||
f3v8s33 f0v5s5 41.000000
|
||||
f3v8s33 f1v11s18 39.000000
|
||||
f3v8s33 f0v6s6 41.000000
|
||||
f3v8s33 f3v4s29 64.000000
|
||||
f3v8s33 f0v2s2 42.000000
|
||||
f3v8s33 f3v12s37 64.000000
|
||||
f3v8s33 f0v3s3 41.000000
|
||||
f3v8s33 f3v14s39 65.000000
|
||||
f3v8s33 f0v0s0 42.000000
|
||||
f3v8s33 f1v12s19 38.000000
|
||||
f1v1s8 f1v14s21 55.000000
|
||||
f1v1s8 f0v1s1 38.000000
|
||||
f1v1s8 f1v5s12 54.000000
|
||||
f1v1s8 f1v4s11 56.000000
|
||||
f1v1s8 f1v9s16 55.000000
|
||||
f1v1s8 f1v10s17 54.000000
|
||||
f1v1s8 f1v0s7 56.000000
|
||||
f1v1s8 f3v9s34 41.000000
|
||||
f1v1s8 f4v0s40 36.000000
|
||||
f1v1s8 f1v7s14 56.000000
|
||||
f1v1s8 f3v2s27 40.000000
|
||||
f1v1s8 f4v1s41 36.000000
|
||||
f1v1s8 f2v0s22 39.000000
|
||||
f1v1s8 f1v2s9 38.000000
|
||||
f1v1s8 f1v3s10 56.000000
|
||||
f1v1s8 f3v0s25 40.000000
|
||||
f1v1s8 f3v3s28 40.000000
|
||||
f1v1s8 f3v13s38 41.000000
|
||||
f1v1s8 f3v7s32 41.000000
|
||||
f1v1s8 f3v1s26 40.000000
|
||||
f1v1s8 f3v6s31 41.000000
|
||||
f1v1s8 f1v13s20 54.000000
|
||||
f1v1s8 f2v2s24 33.000000
|
||||
f1v1s8 f3v11s36 39.000000
|
||||
f1v1s8 f0v5s5 39.000000
|
||||
f1v1s8 f1v11s18 55.000000
|
||||
f1v1s8 f0v6s6 38.000000
|
||||
f1v1s8 f3v4s29 41.000000
|
||||
f1v1s8 f0v2s2 39.000000
|
||||
f1v1s8 f3v12s37 41.000000
|
||||
f1v1s8 f0v3s3 39.000000
|
||||
f1v1s8 f3v14s39 40.000000
|
||||
f1v1s8 f0v0s0 39.000000
|
||||
f1v1s8 f1v12s19 55.000000
|
||||
f1v14s21 f0v1s1 38.000000
|
||||
f1v14s21 f1v5s12 53.000000
|
||||
f1v14s21 f1v4s11 55.000000
|
||||
f1v14s21 f1v9s16 54.000000
|
||||
f1v14s21 f1v10s17 53.000000
|
||||
f1v14s21 f1v0s7 55.000000
|
||||
f1v14s21 f3v9s34 39.000000
|
||||
f1v14s21 f4v0s40 33.000000
|
||||
f1v14s21 f1v7s14 55.000000
|
||||
f1v14s21 f3v2s27 38.000000
|
||||
f1v14s21 f4v1s41 34.000000
|
||||
f1v14s21 f2v0s22 39.000000
|
||||
f1v14s21 f1v2s9 38.000000
|
||||
f1v14s21 f1v3s10 55.000000
|
||||
f1v14s21 f3v0s25 38.000000
|
||||
f1v14s21 f3v3s28 38.000000
|
||||
f1v14s21 f3v13s38 38.000000
|
||||
f1v14s21 f3v7s32 39.000000
|
||||
f1v14s21 f3v1s26 38.000000
|
||||
f1v14s21 f3v6s31 39.000000
|
||||
f1v14s21 f1v13s20 53.000000
|
||||
f1v14s21 f2v2s24 34.000000
|
||||
f1v14s21 f3v11s36 38.000000
|
||||
f1v14s21 f0v5s5 39.000000
|
||||
f1v14s21 f1v11s18 54.000000
|
||||
f1v14s21 f0v6s6 38.000000
|
||||
f1v14s21 f3v4s29 39.000000
|
||||
f1v14s21 f0v2s2 39.000000
|
||||
f1v14s21 f3v12s37 39.000000
|
||||
f1v14s21 f0v3s3 39.000000
|
||||
f1v14s21 f3v14s39 38.000000
|
||||
f1v14s21 f0v0s0 39.000000
|
||||
f1v14s21 f1v12s19 53.000000
|
||||
f0v1s1 f1v5s12 39.000000
|
||||
f0v1s1 f1v4s11 38.000000
|
||||
f0v1s1 f1v9s16 39.000000
|
||||
f0v1s1 f1v10s17 39.000000
|
||||
f0v1s1 f1v0s7 38.000000
|
||||
f0v1s1 f3v9s34 40.000000
|
||||
f0v1s1 f4v0s40 38.000000
|
||||
f0v1s1 f1v7s14 38.000000
|
||||
f0v1s1 f3v2s27 40.000000
|
||||
f0v1s1 f4v1s41 38.000000
|
||||
f0v1s1 f2v0s22 67.000000
|
||||
f0v1s1 f1v2s9 69.000000
|
||||
f0v1s1 f1v3s10 38.000000
|
||||
f0v1s1 f3v0s25 40.000000
|
||||
f0v1s1 f3v3s28 40.000000
|
||||
f0v1s1 f3v13s38 40.000000
|
||||
f0v1s1 f3v7s32 40.000000
|
||||
f0v1s1 f3v1s26 39.000000
|
||||
f0v1s1 f3v6s31 40.000000
|
||||
f0v1s1 f1v13s20 37.000000
|
||||
f0v1s1 f2v2s24 35.000000
|
||||
f0v1s1 f3v11s36 37.000000
|
||||
f0v1s1 f0v5s5 67.000000
|
||||
f0v1s1 f1v11s18 38.000000
|
||||
f0v1s1 f0v6s6 64.000000
|
||||
f0v1s1 f3v4s29 42.000000
|
||||
f0v1s1 f0v2s2 67.000000
|
||||
f0v1s1 f3v12s37 40.000000
|
||||
f0v1s1 f0v3s3 65.000000
|
||||
f0v1s1 f3v14s39 40.000000
|
||||
f0v1s1 f0v0s0 68.000000
|
||||
f0v1s1 f1v12s19 38.000000
|
||||
f1v5s12 f1v4s11 56.000000
|
||||
f1v5s12 f1v9s16 55.000000
|
||||
f1v5s12 f1v10s17 55.000000
|
||||
f1v5s12 f1v0s7 56.000000
|
||||
f1v5s12 f3v9s34 40.000000
|
||||
f1v5s12 f4v0s40 35.000000
|
||||
f1v5s12 f1v7s14 56.000000
|
||||
f1v5s12 f3v2s27 39.000000
|
||||
f1v5s12 f4v1s41 35.000000
|
||||
f1v5s12 f2v0s22 40.000000
|
||||
f1v5s12 f1v2s9 39.000000
|
||||
f1v5s12 f1v3s10 56.000000
|
||||
f1v5s12 f3v0s25 39.000000
|
||||
f1v5s12 f3v3s28 38.000000
|
||||
f1v5s12 f3v13s38 40.000000
|
||||
f1v5s12 f3v7s32 40.000000
|
||||
f1v5s12 f3v1s26 38.000000
|
||||
f1v5s12 f3v6s31 40.000000
|
||||
f1v5s12 f1v13s20 54.000000
|
||||
f1v5s12 f2v2s24 32.000000
|
||||
f1v5s12 f3v11s36 39.000000
|
||||
f1v5s12 f0v5s5 39.000000
|
||||
f1v5s12 f1v11s18 55.000000
|
||||
f1v5s12 f0v6s6 39.000000
|
||||
f1v5s12 f3v4s29 40.000000
|
||||
f1v5s12 f0v2s2 40.000000
|
||||
f1v5s12 f3v12s37 40.000000
|
||||
f1v5s12 f0v3s3 39.000000
|
||||
f1v5s12 f3v14s39 39.000000
|
||||
f1v5s12 f0v0s0 40.000000
|
||||
f1v5s12 f1v12s19 55.000000
|
||||
f1v4s11 f1v9s16 57.000000
|
||||
f1v4s11 f1v10s17 56.000000
|
||||
f1v4s11 f1v0s7 58.000000
|
||||
f1v4s11 f3v9s34 40.000000
|
||||
f1v4s11 f4v0s40 35.000000
|
||||
f1v4s11 f1v7s14 58.000000
|
||||
f1v4s11 f3v2s27 39.000000
|
||||
f1v4s11 f4v1s41 35.000000
|
||||
f1v4s11 f2v0s22 39.000000
|
||||
f1v4s11 f1v2s9 38.000000
|
||||
f1v4s11 f1v3s10 58.000000
|
||||
f1v4s11 f3v0s25 39.000000
|
||||
f1v4s11 f3v3s28 39.000000
|
||||
f1v4s11 f3v13s38 40.000000
|
||||
f1v4s11 f3v7s32 40.000000
|
||||
f1v4s11 f3v1s26 39.000000
|
||||
f1v4s11 f3v6s31 40.000000
|
||||
f1v4s11 f1v13s20 56.000000
|
||||
f1v4s11 f2v2s24 34.000000
|
||||
f1v4s11 f3v11s36 39.000000
|
||||
f1v4s11 f0v5s5 39.000000
|
||||
f1v4s11 f1v11s18 57.000000
|
||||
f1v4s11 f0v6s6 38.000000
|
||||
f1v4s11 f3v4s29 40.000000
|
||||
f1v4s11 f0v2s2 39.000000
|
||||
f1v4s11 f3v12s37 40.000000
|
||||
f1v4s11 f0v3s3 39.000000
|
||||
f1v4s11 f3v14s39 39.000000
|
||||
f1v4s11 f0v0s0 39.000000
|
||||
f1v4s11 f1v12s19 56.000000
|
||||
f1v9s16 f1v10s17 55.000000
|
||||
f1v9s16 f1v0s7 57.000000
|
||||
f1v9s16 f3v9s34 39.000000
|
||||
f1v9s16 f4v0s40 36.000000
|
||||
f1v9s16 f1v7s14 57.000000
|
||||
f1v9s16 f3v2s27 39.000000
|
||||
f1v9s16 f4v1s41 36.000000
|
||||
f1v9s16 f2v0s22 40.000000
|
||||
f1v9s16 f1v2s9 39.000000
|
||||
f1v9s16 f1v3s10 57.000000
|
||||
f1v9s16 f3v0s25 39.000000
|
||||
f1v9s16 f3v3s28 39.000000
|
||||
f1v9s16 f3v13s38 40.000000
|
||||
f1v9s16 f3v7s32 39.000000
|
||||
f1v9s16 f3v1s26 38.000000
|
||||
f1v9s16 f3v6s31 39.000000
|
||||
f1v9s16 f1v13s20 55.000000
|
||||
f1v9s16 f2v2s24 35.000000
|
||||
f1v9s16 f3v11s36 39.000000
|
||||
f1v9s16 f0v5s5 40.000000
|
||||
f1v9s16 f1v11s18 56.000000
|
||||
f1v9s16 f0v6s6 39.000000
|
||||
f1v9s16 f3v4s29 40.000000
|
||||
f1v9s16 f0v2s2 40.000000
|
||||
f1v9s16 f3v12s37 40.000000
|
||||
f1v9s16 f0v3s3 41.000000
|
||||
f1v9s16 f3v14s39 39.000000
|
||||
f1v9s16 f0v0s0 40.000000
|
||||
f1v9s16 f1v12s19 55.000000
|
||||
f1v10s17 f1v0s7 56.000000
|
||||
f1v10s17 f3v9s34 41.000000
|
||||
f1v10s17 f4v0s40 35.000000
|
||||
f1v10s17 f1v7s14 56.000000
|
||||
f1v10s17 f3v2s27 40.000000
|
||||
f1v10s17 f4v1s41 36.000000
|
||||
f1v10s17 f2v0s22 39.000000
|
||||
f1v10s17 f1v2s9 39.000000
|
||||
f1v10s17 f1v3s10 56.000000
|
||||
f1v10s17 f3v0s25 40.000000
|
||||
f1v10s17 f3v3s28 40.000000
|
||||
f1v10s17 f3v13s38 41.000000
|
||||
f1v10s17 f3v7s32 41.000000
|
||||
f1v10s17 f3v1s26 39.000000
|
||||
f1v10s17 f3v6s31 41.000000
|
||||
f1v10s17 f1v13s20 54.000000
|
||||
f1v10s17 f2v2s24 33.000000
|
||||
f1v10s17 f3v11s36 41.000000
|
||||
f1v10s17 f0v5s5 39.000000
|
||||
f1v10s17 f1v11s18 55.000000
|
||||
f1v10s17 f0v6s6 39.000000
|
||||
f1v10s17 f3v4s29 40.000000
|
||||
f1v10s17 f0v2s2 39.000000
|
||||
f1v10s17 f3v12s37 41.000000
|
||||
f1v10s17 f0v3s3 40.000000
|
||||
f1v10s17 f3v14s39 40.000000
|
||||
f1v10s17 f0v0s0 40.000000
|
||||
f1v10s17 f1v12s19 55.000000
|
||||
f1v0s7 f3v9s34 40.000000
|
||||
f1v0s7 f4v0s40 35.000000
|
||||
f1v0s7 f1v7s14 58.000000
|
||||
f1v0s7 f3v2s27 39.000000
|
||||
f1v0s7 f4v1s41 35.000000
|
||||
f1v0s7 f2v0s22 39.000000
|
||||
f1v0s7 f1v2s9 38.000000
|
||||
f1v0s7 f1v3s10 58.000000
|
||||
f1v0s7 f3v0s25 39.000000
|
||||
f1v0s7 f3v3s28 39.000000
|
||||
f1v0s7 f3v13s38 40.000000
|
||||
f1v0s7 f3v7s32 40.000000
|
||||
f1v0s7 f3v1s26 39.000000
|
||||
f1v0s7 f3v6s31 40.000000
|
||||
f1v0s7 f1v13s20 56.000000
|
||||
f1v0s7 f2v2s24 34.000000
|
||||
f1v0s7 f3v11s36 39.000000
|
||||
f1v0s7 f0v5s5 39.000000
|
||||
f1v0s7 f1v11s18 57.000000
|
||||
f1v0s7 f0v6s6 38.000000
|
||||
f1v0s7 f3v4s29 40.000000
|
||||
f1v0s7 f0v2s2 39.000000
|
||||
f1v0s7 f3v12s37 40.000000
|
||||
f1v0s7 f0v3s3 39.000000
|
||||
f1v0s7 f3v14s39 39.000000
|
||||
f1v0s7 f0v0s0 39.000000
|
||||
f1v0s7 f1v12s19 56.000000
|
||||
f3v9s34 f4v0s40 35.000000
|
||||
f3v9s34 f1v7s14 40.000000
|
||||
f3v9s34 f3v2s27 63.000000
|
||||
f3v9s34 f4v1s41 35.000000
|
||||
f3v9s34 f2v0s22 40.000000
|
||||
f3v9s34 f1v2s9 40.000000
|
||||
f3v9s34 f1v3s10 40.000000
|
||||
f3v9s34 f3v0s25 64.000000
|
||||
f3v9s34 f3v3s28 63.000000
|
||||
f3v9s34 f3v13s38 64.000000
|
||||
f3v9s34 f3v7s32 65.000000
|
||||
f3v9s34 f3v1s26 62.000000
|
||||
f3v9s34 f3v6s31 65.000000
|
||||
f3v9s34 f1v13s20 39.000000
|
||||
f3v9s34 f2v2s24 34.000000
|
||||
f3v9s34 f3v11s36 61.000000
|
||||
f3v9s34 f0v5s5 40.000000
|
||||
f3v9s34 f1v11s18 40.000000
|
||||
f3v9s34 f0v6s6 39.000000
|
||||
f3v9s34 f3v4s29 63.000000
|
||||
f3v9s34 f0v2s2 40.000000
|
||||
f3v9s34 f3v12s37 63.000000
|
||||
f3v9s34 f0v3s3 41.000000
|
||||
f3v9s34 f3v14s39 64.000000
|
||||
f3v9s34 f0v0s0 41.000000
|
||||
f3v9s34 f1v12s19 39.000000
|
||||
f4v0s40 f1v7s14 35.000000
|
||||
f4v0s40 f3v2s27 36.000000
|
||||
f4v0s40 f4v1s41 60.000000
|
||||
f4v0s40 f2v0s22 39.000000
|
||||
f4v0s40 f1v2s9 38.000000
|
||||
f4v0s40 f1v3s10 35.000000
|
||||
f4v0s40 f3v0s25 36.000000
|
||||
f4v0s40 f3v3s28 36.000000
|
||||
f4v0s40 f3v13s38 37.000000
|
||||
f4v0s40 f3v7s32 35.000000
|
||||
f4v0s40 f3v1s26 36.000000
|
||||
f4v0s40 f3v6s31 35.000000
|
||||
f4v0s40 f1v13s20 34.000000
|
||||
f4v0s40 f2v2s24 34.000000
|
||||
f4v0s40 f3v11s36 36.000000
|
||||
f4v0s40 f0v5s5 38.000000
|
||||
f4v0s40 f1v11s18 35.000000
|
||||
f4v0s40 f0v6s6 39.000000
|
||||
f4v0s40 f3v4s29 38.000000
|
||||
f4v0s40 f0v2s2 39.000000
|
||||
f4v0s40 f3v12s37 37.000000
|
||||
f4v0s40 f0v3s3 37.000000
|
||||
f4v0s40 f3v14s39 36.000000
|
||||
f4v0s40 f0v0s0 38.000000
|
||||
f4v0s40 f1v12s19 33.000000
|
||||
f1v7s14 f3v2s27 39.000000
|
||||
f1v7s14 f4v1s41 35.000000
|
||||
f1v7s14 f2v0s22 39.000000
|
||||
f1v7s14 f1v2s9 38.000000
|
||||
f1v7s14 f1v3s10 58.000000
|
||||
f1v7s14 f3v0s25 39.000000
|
||||
f1v7s14 f3v3s28 39.000000
|
||||
f1v7s14 f3v13s38 40.000000
|
||||
f1v7s14 f3v7s32 40.000000
|
||||
f1v7s14 f3v1s26 39.000000
|
||||
f1v7s14 f3v6s31 40.000000
|
||||
f1v7s14 f1v13s20 56.000000
|
||||
f1v7s14 f2v2s24 34.000000
|
||||
f1v7s14 f3v11s36 39.000000
|
||||
f1v7s14 f0v5s5 39.000000
|
||||
f1v7s14 f1v11s18 57.000000
|
||||
f1v7s14 f0v6s6 38.000000
|
||||
f1v7s14 f3v4s29 40.000000
|
||||
f1v7s14 f0v2s2 39.000000
|
||||
f1v7s14 f3v12s37 40.000000
|
||||
f1v7s14 f0v3s3 39.000000
|
||||
f1v7s14 f3v14s39 39.000000
|
||||
f1v7s14 f0v0s0 39.000000
|
||||
f1v7s14 f1v12s19 56.000000
|
||||
f3v2s27 f4v1s41 36.000000
|
||||
f3v2s27 f2v0s22 41.000000
|
||||
f3v2s27 f1v2s9 40.000000
|
||||
f3v2s27 f1v3s10 39.000000
|
||||
f3v2s27 f3v0s25 65.000000
|
||||
f3v2s27 f3v3s28 64.000000
|
||||
f3v2s27 f3v13s38 65.000000
|
||||
f3v2s27 f3v7s32 63.000000
|
||||
f3v2s27 f3v1s26 63.000000
|
||||
f3v2s27 f3v6s31 63.000000
|
||||
f3v2s27 f1v13s20 38.000000
|
||||
f3v2s27 f2v2s24 35.000000
|
||||
f3v2s27 f3v11s36 62.000000
|
||||
f3v2s27 f0v5s5 40.000000
|
||||
f3v2s27 f1v11s18 39.000000
|
||||
f3v2s27 f0v6s6 40.000000
|
||||
f3v2s27 f3v4s29 64.000000
|
||||
f3v2s27 f0v2s2 41.000000
|
||||
f3v2s27 f3v12s37 64.000000
|
||||
f3v2s27 f0v3s3 41.000000
|
||||
f3v2s27 f3v14s39 65.000000
|
||||
f3v2s27 f0v0s0 41.000000
|
||||
f3v2s27 f1v12s19 38.000000
|
||||
f4v1s41 f2v0s22 39.000000
|
||||
f4v1s41 f1v2s9 38.000000
|
||||
f4v1s41 f1v3s10 35.000000
|
||||
f4v1s41 f3v0s25 36.000000
|
||||
f4v1s41 f3v3s28 36.000000
|
||||
f4v1s41 f3v13s38 37.000000
|
||||
f4v1s41 f3v7s32 35.000000
|
||||
f4v1s41 f3v1s26 36.000000
|
||||
f4v1s41 f3v6s31 35.000000
|
||||
f4v1s41 f1v13s20 34.000000
|
||||
f4v1s41 f2v2s24 34.000000
|
||||
f4v1s41 f3v11s36 36.000000
|
||||
f4v1s41 f0v5s5 38.000000
|
||||
f4v1s41 f1v11s18 35.000000
|
||||
f4v1s41 f0v6s6 39.000000
|
||||
f4v1s41 f3v4s29 38.000000
|
||||
f4v1s41 f0v2s2 39.000000
|
||||
f4v1s41 f3v12s37 37.000000
|
||||
f4v1s41 f0v3s3 37.000000
|
||||
f4v1s41 f3v14s39 36.000000
|
||||
f4v1s41 f0v0s0 38.000000
|
||||
f4v1s41 f1v12s19 33.000000
|
||||
f2v0s22 f1v2s9 67.000000
|
||||
f2v0s22 f1v3s10 39.000000
|
||||
f2v0s22 f3v0s25 41.000000
|
||||
f2v0s22 f3v3s28 41.000000
|
||||
f2v0s22 f3v13s38 41.000000
|
||||
f2v0s22 f3v7s32 40.000000
|
||||
f2v0s22 f3v1s26 40.000000
|
||||
f2v0s22 f3v6s31 40.000000
|
||||
f2v0s22 f1v13s20 38.000000
|
||||
f2v0s22 f2v2s24 35.000000
|
||||
f2v0s22 f3v11s36 38.000000
|
||||
f2v0s22 f0v5s5 67.000000
|
||||
f2v0s22 f1v11s18 39.000000
|
||||
f2v0s22 f0v6s6 64.000000
|
||||
f2v0s22 f3v4s29 43.000000
|
||||
f2v0s22 f0v2s2 69.000000
|
||||
f2v0s22 f3v12s37 42.000000
|
||||
f2v0s22 f0v3s3 65.000000
|
||||
f2v0s22 f3v14s39 41.000000
|
||||
f2v0s22 f0v0s0 68.000000
|
||||
f2v0s22 f1v12s19 39.000000
|
||||
f1v2s9 f1v3s10 38.000000
|
||||
f1v2s9 f3v0s25 40.000000
|
||||
f1v2s9 f3v3s28 40.000000
|
||||
f1v2s9 f3v13s38 40.000000
|
||||
f1v2s9 f3v7s32 40.000000
|
||||
f1v2s9 f3v1s26 39.000000
|
||||
f1v2s9 f3v6s31 40.000000
|
||||
f1v2s9 f1v13s20 37.000000
|
||||
f1v2s9 f2v2s24 35.000000
|
||||
f1v2s9 f3v11s36 37.000000
|
||||
f1v2s9 f0v5s5 67.000000
|
||||
f1v2s9 f1v11s18 38.000000
|
||||
f1v2s9 f0v6s6 64.000000
|
||||
f1v2s9 f3v4s29 42.000000
|
||||
f1v2s9 f0v2s2 67.000000
|
||||
f1v2s9 f3v12s37 40.000000
|
||||
f1v2s9 f0v3s3 65.000000
|
||||
f1v2s9 f3v14s39 40.000000
|
||||
f1v2s9 f0v0s0 68.000000
|
||||
f1v2s9 f1v12s19 38.000000
|
||||
f1v3s10 f3v0s25 39.000000
|
||||
f1v3s10 f3v3s28 39.000000
|
||||
f1v3s10 f3v13s38 40.000000
|
||||
f1v3s10 f3v7s32 40.000000
|
||||
f1v3s10 f3v1s26 39.000000
|
||||
f1v3s10 f3v6s31 40.000000
|
||||
f1v3s10 f1v13s20 56.000000
|
||||
f1v3s10 f2v2s24 34.000000
|
||||
f1v3s10 f3v11s36 39.000000
|
||||
f1v3s10 f0v5s5 39.000000
|
||||
f1v3s10 f1v11s18 57.000000
|
||||
f1v3s10 f0v6s6 38.000000
|
||||
f1v3s10 f3v4s29 40.000000
|
||||
f1v3s10 f0v2s2 39.000000
|
||||
f1v3s10 f3v12s37 40.000000
|
||||
f1v3s10 f0v3s3 39.000000
|
||||
f1v3s10 f3v14s39 39.000000
|
||||
f1v3s10 f0v0s0 39.000000
|
||||
f1v3s10 f1v12s19 56.000000
|
||||
f3v0s25 f3v3s28 65.000000
|
||||
f3v0s25 f3v13s38 66.000000
|
||||
f3v0s25 f3v7s32 64.000000
|
||||
f3v0s25 f3v1s26 64.000000
|
||||
f3v0s25 f3v6s31 64.000000
|
||||
f3v0s25 f1v13s20 38.000000
|
||||
f3v0s25 f2v2s24 35.000000
|
||||
f3v0s25 f3v11s36 63.000000
|
||||
f3v0s25 f0v5s5 40.000000
|
||||
f3v0s25 f1v11s18 39.000000
|
||||
f3v0s25 f0v6s6 40.000000
|
||||
f3v0s25 f3v4s29 65.000000
|
||||
f3v0s25 f0v2s2 41.000000
|
||||
f3v0s25 f3v12s37 65.000000
|
||||
f3v0s25 f0v3s3 41.000000
|
||||
f3v0s25 f3v14s39 66.000000
|
||||
f3v0s25 f0v0s0 41.000000
|
||||
f3v0s25 f1v12s19 38.000000
|
||||
f3v3s28 f3v13s38 65.000000
|
||||
f3v3s28 f3v7s32 63.000000
|
||||
f3v3s28 f3v1s26 63.000000
|
||||
f3v3s28 f3v6s31 63.000000
|
||||
f3v3s28 f1v13s20 38.000000
|
||||
f3v3s28 f2v2s24 36.000000
|
||||
f3v3s28 f3v11s36 62.000000
|
||||
f3v3s28 f0v5s5 40.000000
|
||||
f3v3s28 f1v11s18 39.000000
|
||||
f3v3s28 f0v6s6 40.000000
|
||||
f3v3s28 f3v4s29 64.000000
|
||||
f3v3s28 f0v2s2 41.000000
|
||||
f3v3s28 f3v12s37 64.000000
|
||||
f3v3s28 f0v3s3 41.000000
|
||||
f3v3s28 f3v14s39 65.000000
|
||||
f3v3s28 f0v0s0 41.000000
|
||||
f3v3s28 f1v12s19 38.000000
|
||||
f3v13s38 f3v7s32 64.000000
|
||||
f3v13s38 f3v1s26 64.000000
|
||||
f3v13s38 f3v6s31 64.000000
|
||||
f3v13s38 f1v13s20 39.000000
|
||||
f3v13s38 f2v2s24 36.000000
|
||||
f3v13s38 f3v11s36 63.000000
|
||||
f3v13s38 f0v5s5 40.000000
|
||||
f3v13s38 f1v11s18 40.000000
|
||||
f3v13s38 f0v6s6 40.000000
|
||||
f3v13s38 f3v4s29 65.000000
|
||||
f3v13s38 f0v2s2 41.000000
|
||||
f3v13s38 f3v12s37 65.000000
|
||||
f3v13s38 f0v3s3 41.000000
|
||||
f3v13s38 f3v14s39 66.000000
|
||||
f3v13s38 f0v0s0 41.000000
|
||||
f3v13s38 f1v12s19 39.000000
|
||||
f3v7s32 f3v1s26 62.000000
|
||||
f3v7s32 f3v6s31 65.000000
|
||||
f3v7s32 f1v13s20 39.000000
|
||||
f3v7s32 f2v2s24 34.000000
|
||||
f3v7s32 f3v11s36 61.000000
|
||||
f3v7s32 f0v5s5 40.000000
|
||||
f3v7s32 f1v11s18 40.000000
|
||||
f3v7s32 f0v6s6 39.000000
|
||||
f3v7s32 f3v4s29 63.000000
|
||||
f3v7s32 f0v2s2 40.000000
|
||||
f3v7s32 f3v12s37 63.000000
|
||||
f3v7s32 f0v3s3 41.000000
|
||||
f3v7s32 f3v14s39 64.000000
|
||||
f3v7s32 f0v0s0 41.000000
|
||||
f3v7s32 f1v12s19 39.000000
|
||||
f3v1s26 f3v6s31 62.000000
|
||||
f3v1s26 f1v13s20 38.000000
|
||||
f3v1s26 f2v2s24 35.000000
|
||||
f3v1s26 f3v11s36 61.000000
|
||||
f3v1s26 f0v5s5 39.000000
|
||||
f3v1s26 f1v11s18 39.000000
|
||||
f3v1s26 f0v6s6 39.000000
|
||||
f3v1s26 f3v4s29 63.000000
|
||||
f3v1s26 f0v2s2 40.000000
|
||||
f3v1s26 f3v12s37 63.000000
|
||||
f3v1s26 f0v3s3 40.000000
|
||||
f3v1s26 f3v14s39 64.000000
|
||||
f3v1s26 f0v0s0 40.000000
|
||||
f3v1s26 f1v12s19 38.000000
|
||||
f3v6s31 f1v13s20 39.000000
|
||||
f3v6s31 f2v2s24 34.000000
|
||||
f3v6s31 f3v11s36 61.000000
|
||||
f3v6s31 f0v5s5 40.000000
|
||||
f3v6s31 f1v11s18 40.000000
|
||||
f3v6s31 f0v6s6 39.000000
|
||||
f3v6s31 f3v4s29 63.000000
|
||||
f3v6s31 f0v2s2 40.000000
|
||||
f3v6s31 f3v12s37 63.000000
|
||||
f3v6s31 f0v3s3 41.000000
|
||||
f3v6s31 f3v14s39 64.000000
|
||||
f3v6s31 f0v0s0 41.000000
|
||||
f3v6s31 f1v12s19 39.000000
|
||||
f1v13s20 f2v2s24 34.000000
|
||||
f1v13s20 f3v11s36 38.000000
|
||||
f1v13s20 f0v5s5 39.000000
|
||||
f1v13s20 f1v11s18 55.000000
|
||||
f1v13s20 f0v6s6 37.000000
|
||||
f1v13s20 f3v4s29 39.000000
|
||||
f1v13s20 f0v2s2 38.000000
|
||||
f1v13s20 f3v12s37 39.000000
|
||||
f1v13s20 f0v3s3 38.000000
|
||||
f1v13s20 f3v14s39 38.000000
|
||||
f1v13s20 f0v0s0 38.000000
|
||||
f1v13s20 f1v12s19 54.000000
|
||||
f2v2s24 f3v11s36 34.000000
|
||||
f2v2s24 f0v5s5 35.000000
|
||||
f2v2s24 f1v11s18 34.000000
|
||||
f2v2s24 f0v6s6 35.000000
|
||||
f2v2s24 f3v4s29 36.000000
|
||||
f2v2s24 f0v2s2 35.000000
|
||||
f2v2s24 f3v12s37 36.000000
|
||||
f2v2s24 f0v3s3 34.000000
|
||||
f2v2s24 f3v14s39 35.000000
|
||||
f2v2s24 f0v0s0 35.000000
|
||||
f2v2s24 f1v12s19 33.000000
|
||||
f3v11s36 f0v5s5 38.000000
|
||||
f3v11s36 f1v11s18 39.000000
|
||||
f3v11s36 f0v6s6 38.000000
|
||||
f3v11s36 f3v4s29 62.000000
|
||||
f3v11s36 f0v2s2 38.000000
|
||||
f3v11s36 f3v12s37 62.000000
|
||||
f3v11s36 f0v3s3 38.000000
|
||||
f3v11s36 f3v14s39 63.000000
|
||||
f3v11s36 f0v0s0 38.000000
|
||||
f3v11s36 f1v12s19 38.000000
|
||||
f0v5s5 f1v11s18 40.000000
|
||||
f0v5s5 f0v6s6 64.000000
|
||||
f0v5s5 f3v4s29 42.000000
|
||||
f0v5s5 f0v2s2 67.000000
|
||||
f0v5s5 f3v12s37 40.000000
|
||||
f0v5s5 f0v3s3 65.000000
|
||||
f0v5s5 f3v14s39 40.000000
|
||||
f0v5s5 f0v0s0 68.000000
|
||||
f0v5s5 f1v12s19 38.000000
|
||||
f1v11s18 f0v6s6 38.000000
|
||||
f1v11s18 f3v4s29 40.000000
|
||||
f1v11s18 f0v2s2 39.000000
|
||||
f1v11s18 f3v12s37 40.000000
|
||||
f1v11s18 f0v3s3 39.000000
|
||||
f1v11s18 f3v14s39 39.000000
|
||||
f1v11s18 f0v0s0 39.000000
|
||||
f1v11s18 f1v12s19 55.000000
|
||||
f0v6s6 f3v4s29 42.000000
|
||||
f0v6s6 f0v2s2 64.000000
|
||||
f0v6s6 f3v12s37 40.000000
|
||||
f0v6s6 f0v3s3 62.000000
|
||||
f0v6s6 f3v14s39 40.000000
|
||||
f0v6s6 f0v0s0 65.000000
|
||||
f0v6s6 f1v12s19 38.000000
|
||||
f3v4s29 f0v2s2 43.000000
|
||||
f3v4s29 f3v12s37 64.000000
|
||||
f3v4s29 f0v3s3 43.000000
|
||||
f3v4s29 f3v14s39 65.000000
|
||||
f3v4s29 f0v0s0 43.000000
|
||||
f3v4s29 f1v12s19 39.000000
|
||||
f0v2s2 f3v12s37 42.000000
|
||||
f0v2s2 f0v3s3 65.000000
|
||||
f0v2s2 f3v14s39 41.000000
|
||||
f0v2s2 f0v0s0 68.000000
|
||||
f0v2s2 f1v12s19 39.000000
|
||||
f3v12s37 f0v3s3 41.000000
|
||||
f3v12s37 f3v14s39 65.000000
|
||||
f3v12s37 f0v0s0 41.000000
|
||||
f3v12s37 f1v12s19 39.000000
|
||||
f0v3s3 f3v14s39 41.000000
|
||||
f0v3s3 f0v0s0 66.000000
|
||||
f0v3s3 f1v12s19 38.000000
|
||||
f3v14s39 f0v0s0 41.000000
|
||||
f3v14s39 f1v12s19 38.000000
|
||||
f0v0s0 f1v12s19 39.000000
|
||||
@@ -0,0 +1,903 @@
|
||||
f3v10s35 f3v5s30 0.920635
|
||||
f3v10s35 f1v8s15 0.649123
|
||||
f3v10s35 f2v1s23 0.655172
|
||||
f3v10s35 f4v2s42 0.622951
|
||||
f3v10s35 f0v4s4 0.615385
|
||||
f3v10s35 f1v6s13 0.660714
|
||||
f3v10s35 f3v8s33 0.938462
|
||||
f3v10s35 f1v1s8 0.650000
|
||||
f3v10s35 f1v14s21 0.678571
|
||||
f3v10s35 f0v1s1 0.615385
|
||||
f3v10s35 f1v5s12 0.633333
|
||||
f3v10s35 f1v4s11 0.655172
|
||||
f3v10s35 f1v9s16 0.650000
|
||||
f3v10s35 f1v10s17 0.650000
|
||||
f3v10s35 f1v0s7 0.655172
|
||||
f3v10s35 f3v9s34 0.938462
|
||||
f3v10s35 f4v0s40 0.633333
|
||||
f3v10s35 f1v7s14 0.655172
|
||||
f3v10s35 f3v2s27 0.938462
|
||||
f3v10s35 f4v1s41 0.622951
|
||||
f3v10s35 f2v0s22 0.615385
|
||||
f3v10s35 f1v2s9 0.615385
|
||||
f3v10s35 f1v3s10 0.655172
|
||||
f3v10s35 f3v0s25 0.953846
|
||||
f3v10s35 f3v3s28 0.938462
|
||||
f3v10s35 f3v13s38 0.953846
|
||||
f3v10s35 f3v7s32 0.938462
|
||||
f3v10s35 f3v1s26 0.938462
|
||||
f3v10s35 f3v6s31 0.938462
|
||||
f3v10s35 f1v13s20 0.660714
|
||||
f3v10s35 f2v2s24 0.714286
|
||||
f3v10s35 f3v11s36 0.907692
|
||||
f3v10s35 f0v5s5 0.600000
|
||||
f3v10s35 f1v11s18 0.655172
|
||||
f3v10s35 f0v6s6 0.584615
|
||||
f3v10s35 f3v4s29 0.938462
|
||||
f3v10s35 f0v2s2 0.615385
|
||||
f3v10s35 f3v12s37 0.938462
|
||||
f3v10s35 f0v3s3 0.615385
|
||||
f3v10s35 f3v14s39 0.953846
|
||||
f3v10s35 f0v0s0 0.615385
|
||||
f3v10s35 f1v12s19 0.649123
|
||||
f3v5s30 f1v8s15 0.666667
|
||||
f3v5s30 f2v1s23 0.655172
|
||||
f3v5s30 f4v2s42 0.606557
|
||||
f3v5s30 f0v4s4 0.619048
|
||||
f3v5s30 f1v6s13 0.696429
|
||||
f3v5s30 f3v8s33 0.968254
|
||||
f3v5s30 f1v1s8 0.650000
|
||||
f3v5s30 f1v14s21 0.660714
|
||||
f3v5s30 f0v1s1 0.619048
|
||||
f3v5s30 f1v5s12 0.633333
|
||||
f3v5s30 f1v4s11 0.655172
|
||||
f3v5s30 f1v9s16 0.633333
|
||||
f3v5s30 f1v10s17 0.650000
|
||||
f3v5s30 f1v0s7 0.655172
|
||||
f3v5s30 f3v9s34 0.952381
|
||||
f3v5s30 f4v0s40 0.616667
|
||||
f3v5s30 f1v7s14 0.655172
|
||||
f3v5s30 f3v2s27 0.968254
|
||||
f3v5s30 f4v1s41 0.606557
|
||||
f3v5s30 f2v0s22 0.634921
|
||||
f3v5s30 f1v2s9 0.619048
|
||||
f3v5s30 f1v3s10 0.655172
|
||||
f3v5s30 f3v0s25 0.984127
|
||||
f3v5s30 f3v3s28 0.968254
|
||||
f3v5s30 f3v13s38 0.984127
|
||||
f3v5s30 f3v7s32 0.952381
|
||||
f3v5s30 f3v1s26 0.968254
|
||||
f3v5s30 f3v6s31 0.952381
|
||||
f3v5s30 f1v13s20 0.678571
|
||||
f3v5s30 f2v2s24 0.693878
|
||||
f3v5s30 f3v11s36 0.936508
|
||||
f3v5s30 f0v5s5 0.619048
|
||||
f3v5s30 f1v11s18 0.655172
|
||||
f3v5s30 f0v6s6 0.650794
|
||||
f3v5s30 f3v4s29 0.968254
|
||||
f3v5s30 f0v2s2 0.634921
|
||||
f3v5s30 f3v12s37 0.968254
|
||||
f3v5s30 f0v3s3 0.634921
|
||||
f3v5s30 f3v14s39 0.984127
|
||||
f3v5s30 f0v0s0 0.634921
|
||||
f3v5s30 f1v12s19 0.649123
|
||||
f1v8s15 f2v1s23 1.000000
|
||||
f1v8s15 f4v2s42 0.596491
|
||||
f1v8s15 f0v4s4 0.666667
|
||||
f1v8s15 f1v6s13 0.964286
|
||||
f1v8s15 f3v8s33 0.684211
|
||||
f1v8s15 f1v1s8 0.964912
|
||||
f1v8s15 f1v14s21 0.964286
|
||||
f1v8s15 f0v1s1 0.666667
|
||||
f1v8s15 f1v5s12 0.964912
|
||||
f1v8s15 f1v4s11 1.000000
|
||||
f1v8s15 f1v9s16 0.982456
|
||||
f1v8s15 f1v10s17 0.964912
|
||||
f1v8s15 f1v0s7 1.000000
|
||||
f1v8s15 f3v9s34 0.701754
|
||||
f1v8s15 f4v0s40 0.614035
|
||||
f1v8s15 f1v7s14 1.000000
|
||||
f1v8s15 f3v2s27 0.684211
|
||||
f1v8s15 f4v1s41 0.614035
|
||||
f1v8s15 f2v0s22 0.684211
|
||||
f1v8s15 f1v2s9 0.666667
|
||||
f1v8s15 f1v3s10 1.000000
|
||||
f1v8s15 f3v0s25 0.684211
|
||||
f1v8s15 f3v3s28 0.684211
|
||||
f1v8s15 f3v13s38 0.701754
|
||||
f1v8s15 f3v7s32 0.701754
|
||||
f1v8s15 f3v1s26 0.684211
|
||||
f1v8s15 f3v6s31 0.701754
|
||||
f1v8s15 f1v13s20 0.982143
|
||||
f1v8s15 f2v2s24 0.693878
|
||||
f1v8s15 f3v11s36 0.684211
|
||||
f1v8s15 f0v5s5 0.684211
|
||||
f1v8s15 f1v11s18 0.982456
|
||||
f1v8s15 f0v6s6 0.666667
|
||||
f1v8s15 f3v4s29 0.701754
|
||||
f1v8s15 f0v2s2 0.684211
|
||||
f1v8s15 f3v12s37 0.701754
|
||||
f1v8s15 f0v3s3 0.684211
|
||||
f1v8s15 f3v14s39 0.684211
|
||||
f1v8s15 f0v0s0 0.684211
|
||||
f1v8s15 f1v12s19 0.964912
|
||||
f2v1s23 f4v2s42 0.586207
|
||||
f2v1s23 f0v4s4 0.655172
|
||||
f2v1s23 f1v6s13 0.964286
|
||||
f2v1s23 f3v8s33 0.672414
|
||||
f2v1s23 f1v1s8 0.965517
|
||||
f2v1s23 f1v14s21 0.982143
|
||||
f2v1s23 f0v1s1 0.655172
|
||||
f2v1s23 f1v5s12 0.965517
|
||||
f2v1s23 f1v4s11 1.000000
|
||||
f2v1s23 f1v9s16 0.982759
|
||||
f2v1s23 f1v10s17 0.965517
|
||||
f2v1s23 f1v0s7 1.000000
|
||||
f2v1s23 f3v9s34 0.689655
|
||||
f2v1s23 f4v0s40 0.603448
|
||||
f2v1s23 f1v7s14 1.000000
|
||||
f2v1s23 f3v2s27 0.672414
|
||||
f2v1s23 f4v1s41 0.603448
|
||||
f2v1s23 f2v0s22 0.672414
|
||||
f2v1s23 f1v2s9 0.655172
|
||||
f2v1s23 f1v3s10 1.000000
|
||||
f2v1s23 f3v0s25 0.672414
|
||||
f2v1s23 f3v3s28 0.672414
|
||||
f2v1s23 f3v13s38 0.689655
|
||||
f2v1s23 f3v7s32 0.689655
|
||||
f2v1s23 f3v1s26 0.672414
|
||||
f2v1s23 f3v6s31 0.689655
|
||||
f2v1s23 f1v13s20 1.000000
|
||||
f2v1s23 f2v2s24 0.693878
|
||||
f2v1s23 f3v11s36 0.672414
|
||||
f2v1s23 f0v5s5 0.672414
|
||||
f2v1s23 f1v11s18 0.982759
|
||||
f2v1s23 f0v6s6 0.655172
|
||||
f2v1s23 f3v4s29 0.689655
|
||||
f2v1s23 f0v2s2 0.672414
|
||||
f2v1s23 f3v12s37 0.689655
|
||||
f2v1s23 f0v3s3 0.672414
|
||||
f2v1s23 f3v14s39 0.672414
|
||||
f2v1s23 f0v0s0 0.672414
|
||||
f2v1s23 f1v12s19 0.982456
|
||||
f4v2s42 f0v4s4 0.639344
|
||||
f4v2s42 f1v6s13 0.589286
|
||||
f4v2s42 f3v8s33 0.606557
|
||||
f4v2s42 f1v1s8 0.600000
|
||||
f4v2s42 f1v14s21 0.589286
|
||||
f4v2s42 f0v1s1 0.639344
|
||||
f4v2s42 f1v5s12 0.566667
|
||||
f4v2s42 f1v4s11 0.586207
|
||||
f4v2s42 f1v9s16 0.600000
|
||||
f4v2s42 f1v10s17 0.583333
|
||||
f4v2s42 f1v0s7 0.586207
|
||||
f4v2s42 f3v9s34 0.573770
|
||||
f4v2s42 f4v0s40 0.983333
|
||||
f4v2s42 f1v7s14 0.586207
|
||||
f4v2s42 f3v2s27 0.590164
|
||||
f4v2s42 f4v1s41 0.967213
|
||||
f4v2s42 f2v0s22 0.672131
|
||||
f4v2s42 f1v2s9 0.639344
|
||||
f4v2s42 f1v3s10 0.586207
|
||||
f4v2s42 f3v0s25 0.590164
|
||||
f4v2s42 f3v3s28 0.590164
|
||||
f4v2s42 f3v13s38 0.606557
|
||||
f4v2s42 f3v7s32 0.573770
|
||||
f4v2s42 f3v1s26 0.590164
|
||||
f4v2s42 f3v6s31 0.573770
|
||||
f4v2s42 f1v13s20 0.589286
|
||||
f4v2s42 f2v2s24 0.714286
|
||||
f4v2s42 f3v11s36 0.590164
|
||||
f4v2s42 f0v5s5 0.655738
|
||||
f4v2s42 f1v11s18 0.586207
|
||||
f4v2s42 f0v6s6 0.672131
|
||||
f4v2s42 f3v4s29 0.622951
|
||||
f4v2s42 f0v2s2 0.672131
|
||||
f4v2s42 f3v12s37 0.606557
|
||||
f4v2s42 f0v3s3 0.639344
|
||||
f4v2s42 f3v14s39 0.590164
|
||||
f4v2s42 f0v0s0 0.655738
|
||||
f4v2s42 f1v12s19 0.578947
|
||||
f0v4s4 f1v6s13 0.660714
|
||||
f0v4s4 f3v8s33 0.621212
|
||||
f0v4s4 f1v1s8 0.633333
|
||||
f0v4s4 f1v14s21 0.678571
|
||||
f0v4s4 f0v1s1 1.000000
|
||||
f0v4s4 f1v5s12 0.650000
|
||||
f0v4s4 f1v4s11 0.655172
|
||||
f0v4s4 f1v9s16 0.650000
|
||||
f0v4s4 f1v10s17 0.650000
|
||||
f0v4s4 f1v0s7 0.655172
|
||||
f0v4s4 f3v9s34 0.615385
|
||||
f0v4s4 f4v0s40 0.633333
|
||||
f0v4s4 f1v7s14 0.655172
|
||||
f0v4s4 f3v2s27 0.615385
|
||||
f0v4s4 f4v1s41 0.622951
|
||||
f0v4s4 f2v0s22 0.971014
|
||||
f0v4s4 f1v2s9 1.000000
|
||||
f0v4s4 f1v3s10 0.655172
|
||||
f0v4s4 f3v0s25 0.606061
|
||||
f0v4s4 f3v3s28 0.606061
|
||||
f0v4s4 f3v13s38 0.588235
|
||||
f0v4s4 f3v7s32 0.615385
|
||||
f0v4s4 f3v1s26 0.600000
|
||||
f0v4s4 f3v6s31 0.615385
|
||||
f0v4s4 f1v13s20 0.660714
|
||||
f0v4s4 f2v2s24 0.714286
|
||||
f0v4s4 f3v11s36 0.569231
|
||||
f0v4s4 f0v5s5 0.971014
|
||||
f0v4s4 f1v11s18 0.655172
|
||||
f0v4s4 f0v6s6 0.927536
|
||||
f0v4s4 f3v4s29 0.617647
|
||||
f0v4s4 f0v2s2 0.971014
|
||||
f0v4s4 f3v12s37 0.597015
|
||||
f0v4s4 f0v3s3 0.970149
|
||||
f0v4s4 f3v14s39 0.606061
|
||||
f0v4s4 f0v0s0 0.985507
|
||||
f0v4s4 f1v12s19 0.666667
|
||||
f1v6s13 f3v8s33 0.696429
|
||||
f1v6s13 f1v1s8 0.928571
|
||||
f1v6s13 f1v14s21 0.910714
|
||||
f1v6s13 f0v1s1 0.660714
|
||||
f1v6s13 f1v5s12 0.928571
|
||||
f1v6s13 f1v4s11 0.964286
|
||||
f1v6s13 f1v9s16 0.946429
|
||||
f1v6s13 f1v10s17 0.946429
|
||||
f1v6s13 f1v0s7 0.964286
|
||||
f1v6s13 f3v9s34 0.696429
|
||||
f1v6s13 f4v0s40 0.607143
|
||||
f1v6s13 f1v7s14 0.964286
|
||||
f1v6s13 f3v2s27 0.696429
|
||||
f1v6s13 f4v1s41 0.607143
|
||||
f1v6s13 f2v0s22 0.678571
|
||||
f1v6s13 f1v2s9 0.660714
|
||||
f1v6s13 f1v3s10 0.964286
|
||||
f1v6s13 f3v0s25 0.696429
|
||||
f1v6s13 f3v3s28 0.696429
|
||||
f1v6s13 f3v13s38 0.696429
|
||||
f1v6s13 f3v7s32 0.696429
|
||||
f1v6s13 f3v1s26 0.696429
|
||||
f1v6s13 f3v6s31 0.696429
|
||||
f1v6s13 f1v13s20 0.928571
|
||||
f1v6s13 f2v2s24 0.673469
|
||||
f1v6s13 f3v11s36 0.696429
|
||||
f1v6s13 f0v5s5 0.678571
|
||||
f1v6s13 f1v11s18 0.946429
|
||||
f1v6s13 f0v6s6 0.678571
|
||||
f1v6s13 f3v4s29 0.714286
|
||||
f1v6s13 f0v2s2 0.678571
|
||||
f1v6s13 f3v12s37 0.714286
|
||||
f1v6s13 f0v3s3 0.660714
|
||||
f1v6s13 f3v14s39 0.696429
|
||||
f1v6s13 f0v0s0 0.678571
|
||||
f1v6s13 f1v12s19 0.928571
|
||||
f3v8s33 f1v1s8 0.666667
|
||||
f3v8s33 f1v14s21 0.678571
|
||||
f3v8s33 f0v1s1 0.621212
|
||||
f3v8s33 f1v5s12 0.650000
|
||||
f3v8s33 f1v4s11 0.672414
|
||||
f3v8s33 f1v9s16 0.650000
|
||||
f3v8s33 f1v10s17 0.666667
|
||||
f3v8s33 f1v0s7 0.672414
|
||||
f3v8s33 f3v9s34 0.969231
|
||||
f3v8s33 f4v0s40 0.616667
|
||||
f3v8s33 f1v7s14 0.672414
|
||||
f3v8s33 f3v2s27 0.984615
|
||||
f3v8s33 f4v1s41 0.606557
|
||||
f3v8s33 f2v0s22 0.636364
|
||||
f3v8s33 f1v2s9 0.621212
|
||||
f3v8s33 f1v3s10 0.672414
|
||||
f3v8s33 f3v0s25 0.984848
|
||||
f3v8s33 f3v3s28 0.969697
|
||||
f3v8s33 f3v13s38 0.984848
|
||||
f3v8s33 f3v7s32 0.969231
|
||||
f3v8s33 f3v1s26 0.969231
|
||||
f3v8s33 f3v6s31 0.969231
|
||||
f3v8s33 f1v13s20 0.678571
|
||||
f3v8s33 f2v2s24 0.693878
|
||||
f3v8s33 f3v11s36 0.953846
|
||||
f3v8s33 f0v5s5 0.621212
|
||||
f3v8s33 f1v11s18 0.672414
|
||||
f3v8s33 f0v6s6 0.621212
|
||||
f3v8s33 f3v4s29 0.969697
|
||||
f3v8s33 f0v2s2 0.636364
|
||||
f3v8s33 f3v12s37 0.969697
|
||||
f3v8s33 f0v3s3 0.621212
|
||||
f3v8s33 f3v14s39 0.984848
|
||||
f3v8s33 f0v0s0 0.636364
|
||||
f3v8s33 f1v12s19 0.666667
|
||||
f1v1s8 f1v14s21 0.982143
|
||||
f1v1s8 f0v1s1 0.633333
|
||||
f1v1s8 f1v5s12 0.900000
|
||||
f1v1s8 f1v4s11 0.965517
|
||||
f1v1s8 f1v9s16 0.916667
|
||||
f1v1s8 f1v10s17 0.900000
|
||||
f1v1s8 f1v0s7 0.965517
|
||||
f1v1s8 f3v9s34 0.683333
|
||||
f1v1s8 f4v0s40 0.600000
|
||||
f1v1s8 f1v7s14 0.965517
|
||||
f1v1s8 f3v2s27 0.666667
|
||||
f1v1s8 f4v1s41 0.600000
|
||||
f1v1s8 f2v0s22 0.650000
|
||||
f1v1s8 f1v2s9 0.633333
|
||||
f1v1s8 f1v3s10 0.965517
|
||||
f1v1s8 f3v0s25 0.666667
|
||||
f1v1s8 f3v3s28 0.666667
|
||||
f1v1s8 f3v13s38 0.683333
|
||||
f1v1s8 f3v7s32 0.683333
|
||||
f1v1s8 f3v1s26 0.666667
|
||||
f1v1s8 f3v6s31 0.683333
|
||||
f1v1s8 f1v13s20 0.964286
|
||||
f1v1s8 f2v2s24 0.673469
|
||||
f1v1s8 f3v11s36 0.650000
|
||||
f1v1s8 f0v5s5 0.650000
|
||||
f1v1s8 f1v11s18 0.948276
|
||||
f1v1s8 f0v6s6 0.633333
|
||||
f1v1s8 f3v4s29 0.683333
|
||||
f1v1s8 f0v2s2 0.650000
|
||||
f1v1s8 f3v12s37 0.683333
|
||||
f1v1s8 f0v3s3 0.650000
|
||||
f1v1s8 f3v14s39 0.666667
|
||||
f1v1s8 f0v0s0 0.650000
|
||||
f1v1s8 f1v12s19 0.964912
|
||||
f1v14s21 f0v1s1 0.678571
|
||||
f1v14s21 f1v5s12 0.946429
|
||||
f1v14s21 f1v4s11 0.982143
|
||||
f1v14s21 f1v9s16 0.964286
|
||||
f1v14s21 f1v10s17 0.946429
|
||||
f1v14s21 f1v0s7 0.982143
|
||||
f1v14s21 f3v9s34 0.696429
|
||||
f1v14s21 f4v0s40 0.589286
|
||||
f1v14s21 f1v7s14 0.982143
|
||||
f1v14s21 f3v2s27 0.678571
|
||||
f1v14s21 f4v1s41 0.607143
|
||||
f1v14s21 f2v0s22 0.696429
|
||||
f1v14s21 f1v2s9 0.678571
|
||||
f1v14s21 f1v3s10 0.982143
|
||||
f1v14s21 f3v0s25 0.678571
|
||||
f1v14s21 f3v3s28 0.678571
|
||||
f1v14s21 f3v13s38 0.678571
|
||||
f1v14s21 f3v7s32 0.696429
|
||||
f1v14s21 f3v1s26 0.678571
|
||||
f1v14s21 f3v6s31 0.696429
|
||||
f1v14s21 f1v13s20 0.946429
|
||||
f1v14s21 f2v2s24 0.693878
|
||||
f1v14s21 f3v11s36 0.678571
|
||||
f1v14s21 f0v5s5 0.696429
|
||||
f1v14s21 f1v11s18 0.964286
|
||||
f1v14s21 f0v6s6 0.678571
|
||||
f1v14s21 f3v4s29 0.696429
|
||||
f1v14s21 f0v2s2 0.696429
|
||||
f1v14s21 f3v12s37 0.696429
|
||||
f1v14s21 f0v3s3 0.696429
|
||||
f1v14s21 f3v14s39 0.678571
|
||||
f1v14s21 f0v0s0 0.696429
|
||||
f1v14s21 f1v12s19 0.946429
|
||||
f0v1s1 f1v5s12 0.650000
|
||||
f0v1s1 f1v4s11 0.655172
|
||||
f0v1s1 f1v9s16 0.650000
|
||||
f0v1s1 f1v10s17 0.650000
|
||||
f0v1s1 f1v0s7 0.655172
|
||||
f0v1s1 f3v9s34 0.615385
|
||||
f0v1s1 f4v0s40 0.633333
|
||||
f0v1s1 f1v7s14 0.655172
|
||||
f0v1s1 f3v2s27 0.615385
|
||||
f0v1s1 f4v1s41 0.622951
|
||||
f0v1s1 f2v0s22 0.971014
|
||||
f0v1s1 f1v2s9 1.000000
|
||||
f0v1s1 f1v3s10 0.655172
|
||||
f0v1s1 f3v0s25 0.606061
|
||||
f0v1s1 f3v3s28 0.606061
|
||||
f0v1s1 f3v13s38 0.588235
|
||||
f0v1s1 f3v7s32 0.615385
|
||||
f0v1s1 f3v1s26 0.600000
|
||||
f0v1s1 f3v6s31 0.615385
|
||||
f0v1s1 f1v13s20 0.660714
|
||||
f0v1s1 f2v2s24 0.714286
|
||||
f0v1s1 f3v11s36 0.569231
|
||||
f0v1s1 f0v5s5 0.971014
|
||||
f0v1s1 f1v11s18 0.655172
|
||||
f0v1s1 f0v6s6 0.927536
|
||||
f0v1s1 f3v4s29 0.617647
|
||||
f0v1s1 f0v2s2 0.971014
|
||||
f0v1s1 f3v12s37 0.597015
|
||||
f0v1s1 f0v3s3 0.970149
|
||||
f0v1s1 f3v14s39 0.606061
|
||||
f0v1s1 f0v0s0 0.985507
|
||||
f0v1s1 f1v12s19 0.666667
|
||||
f1v5s12 f1v4s11 0.965517
|
||||
f1v5s12 f1v9s16 0.916667
|
||||
f1v5s12 f1v10s17 0.916667
|
||||
f1v5s12 f1v0s7 0.965517
|
||||
f1v5s12 f3v9s34 0.666667
|
||||
f1v5s12 f4v0s40 0.583333
|
||||
f1v5s12 f1v7s14 0.965517
|
||||
f1v5s12 f3v2s27 0.650000
|
||||
f1v5s12 f4v1s41 0.583333
|
||||
f1v5s12 f2v0s22 0.666667
|
||||
f1v5s12 f1v2s9 0.650000
|
||||
f1v5s12 f1v3s10 0.965517
|
||||
f1v5s12 f3v0s25 0.650000
|
||||
f1v5s12 f3v3s28 0.633333
|
||||
f1v5s12 f3v13s38 0.666667
|
||||
f1v5s12 f3v7s32 0.666667
|
||||
f1v5s12 f3v1s26 0.633333
|
||||
f1v5s12 f3v6s31 0.666667
|
||||
f1v5s12 f1v13s20 0.964286
|
||||
f1v5s12 f2v2s24 0.653061
|
||||
f1v5s12 f3v11s36 0.650000
|
||||
f1v5s12 f0v5s5 0.650000
|
||||
f1v5s12 f1v11s18 0.948276
|
||||
f1v5s12 f0v6s6 0.650000
|
||||
f1v5s12 f3v4s29 0.666667
|
||||
f1v5s12 f0v2s2 0.666667
|
||||
f1v5s12 f3v12s37 0.666667
|
||||
f1v5s12 f0v3s3 0.650000
|
||||
f1v5s12 f3v14s39 0.650000
|
||||
f1v5s12 f0v0s0 0.666667
|
||||
f1v5s12 f1v12s19 0.964912
|
||||
f1v4s11 f1v9s16 0.982759
|
||||
f1v4s11 f1v10s17 0.965517
|
||||
f1v4s11 f1v0s7 1.000000
|
||||
f1v4s11 f3v9s34 0.689655
|
||||
f1v4s11 f4v0s40 0.603448
|
||||
f1v4s11 f1v7s14 1.000000
|
||||
f1v4s11 f3v2s27 0.672414
|
||||
f1v4s11 f4v1s41 0.603448
|
||||
f1v4s11 f2v0s22 0.672414
|
||||
f1v4s11 f1v2s9 0.655172
|
||||
f1v4s11 f1v3s10 1.000000
|
||||
f1v4s11 f3v0s25 0.672414
|
||||
f1v4s11 f3v3s28 0.672414
|
||||
f1v4s11 f3v13s38 0.689655
|
||||
f1v4s11 f3v7s32 0.689655
|
||||
f1v4s11 f3v1s26 0.672414
|
||||
f1v4s11 f3v6s31 0.689655
|
||||
f1v4s11 f1v13s20 1.000000
|
||||
f1v4s11 f2v2s24 0.693878
|
||||
f1v4s11 f3v11s36 0.672414
|
||||
f1v4s11 f0v5s5 0.672414
|
||||
f1v4s11 f1v11s18 0.982759
|
||||
f1v4s11 f0v6s6 0.655172
|
||||
f1v4s11 f3v4s29 0.689655
|
||||
f1v4s11 f0v2s2 0.672414
|
||||
f1v4s11 f3v12s37 0.689655
|
||||
f1v4s11 f0v3s3 0.672414
|
||||
f1v4s11 f3v14s39 0.672414
|
||||
f1v4s11 f0v0s0 0.672414
|
||||
f1v4s11 f1v12s19 0.982456
|
||||
f1v9s16 f1v10s17 0.916667
|
||||
f1v9s16 f1v0s7 0.982759
|
||||
f1v9s16 f3v9s34 0.650000
|
||||
f1v9s16 f4v0s40 0.600000
|
||||
f1v9s16 f1v7s14 0.982759
|
||||
f1v9s16 f3v2s27 0.650000
|
||||
f1v9s16 f4v1s41 0.600000
|
||||
f1v9s16 f2v0s22 0.666667
|
||||
f1v9s16 f1v2s9 0.650000
|
||||
f1v9s16 f1v3s10 0.982759
|
||||
f1v9s16 f3v0s25 0.650000
|
||||
f1v9s16 f3v3s28 0.650000
|
||||
f1v9s16 f3v13s38 0.666667
|
||||
f1v9s16 f3v7s32 0.650000
|
||||
f1v9s16 f3v1s26 0.633333
|
||||
f1v9s16 f3v6s31 0.650000
|
||||
f1v9s16 f1v13s20 0.982143
|
||||
f1v9s16 f2v2s24 0.714286
|
||||
f1v9s16 f3v11s36 0.650000
|
||||
f1v9s16 f0v5s5 0.666667
|
||||
f1v9s16 f1v11s18 0.965517
|
||||
f1v9s16 f0v6s6 0.650000
|
||||
f1v9s16 f3v4s29 0.666667
|
||||
f1v9s16 f0v2s2 0.666667
|
||||
f1v9s16 f3v12s37 0.666667
|
||||
f1v9s16 f0v3s3 0.683333
|
||||
f1v9s16 f3v14s39 0.650000
|
||||
f1v9s16 f0v0s0 0.666667
|
||||
f1v9s16 f1v12s19 0.964912
|
||||
f1v10s17 f1v0s7 0.965517
|
||||
f1v10s17 f3v9s34 0.683333
|
||||
f1v10s17 f4v0s40 0.583333
|
||||
f1v10s17 f1v7s14 0.965517
|
||||
f1v10s17 f3v2s27 0.666667
|
||||
f1v10s17 f4v1s41 0.600000
|
||||
f1v10s17 f2v0s22 0.650000
|
||||
f1v10s17 f1v2s9 0.650000
|
||||
f1v10s17 f1v3s10 0.965517
|
||||
f1v10s17 f3v0s25 0.666667
|
||||
f1v10s17 f3v3s28 0.666667
|
||||
f1v10s17 f3v13s38 0.683333
|
||||
f1v10s17 f3v7s32 0.683333
|
||||
f1v10s17 f3v1s26 0.650000
|
||||
f1v10s17 f3v6s31 0.683333
|
||||
f1v10s17 f1v13s20 0.964286
|
||||
f1v10s17 f2v2s24 0.673469
|
||||
f1v10s17 f3v11s36 0.683333
|
||||
f1v10s17 f0v5s5 0.650000
|
||||
f1v10s17 f1v11s18 0.948276
|
||||
f1v10s17 f0v6s6 0.650000
|
||||
f1v10s17 f3v4s29 0.666667
|
||||
f1v10s17 f0v2s2 0.650000
|
||||
f1v10s17 f3v12s37 0.683333
|
||||
f1v10s17 f0v3s3 0.666667
|
||||
f1v10s17 f3v14s39 0.666667
|
||||
f1v10s17 f0v0s0 0.666667
|
||||
f1v10s17 f1v12s19 0.964912
|
||||
f1v0s7 f3v9s34 0.689655
|
||||
f1v0s7 f4v0s40 0.603448
|
||||
f1v0s7 f1v7s14 1.000000
|
||||
f1v0s7 f3v2s27 0.672414
|
||||
f1v0s7 f4v1s41 0.603448
|
||||
f1v0s7 f2v0s22 0.672414
|
||||
f1v0s7 f1v2s9 0.655172
|
||||
f1v0s7 f1v3s10 1.000000
|
||||
f1v0s7 f3v0s25 0.672414
|
||||
f1v0s7 f3v3s28 0.672414
|
||||
f1v0s7 f3v13s38 0.689655
|
||||
f1v0s7 f3v7s32 0.689655
|
||||
f1v0s7 f3v1s26 0.672414
|
||||
f1v0s7 f3v6s31 0.689655
|
||||
f1v0s7 f1v13s20 1.000000
|
||||
f1v0s7 f2v2s24 0.693878
|
||||
f1v0s7 f3v11s36 0.672414
|
||||
f1v0s7 f0v5s5 0.672414
|
||||
f1v0s7 f1v11s18 0.982759
|
||||
f1v0s7 f0v6s6 0.655172
|
||||
f1v0s7 f3v4s29 0.689655
|
||||
f1v0s7 f0v2s2 0.672414
|
||||
f1v0s7 f3v12s37 0.689655
|
||||
f1v0s7 f0v3s3 0.672414
|
||||
f1v0s7 f3v14s39 0.672414
|
||||
f1v0s7 f0v0s0 0.672414
|
||||
f1v0s7 f1v12s19 0.982456
|
||||
f3v9s34 f4v0s40 0.583333
|
||||
f3v9s34 f1v7s14 0.689655
|
||||
f3v9s34 f3v2s27 0.969231
|
||||
f3v9s34 f4v1s41 0.573770
|
||||
f3v9s34 f2v0s22 0.615385
|
||||
f3v9s34 f1v2s9 0.615385
|
||||
f3v9s34 f1v3s10 0.689655
|
||||
f3v9s34 f3v0s25 0.984615
|
||||
f3v9s34 f3v3s28 0.969231
|
||||
f3v9s34 f3v13s38 0.984615
|
||||
f3v9s34 f3v7s32 1.000000
|
||||
f3v9s34 f3v1s26 0.953846
|
||||
f3v9s34 f3v6s31 1.000000
|
||||
f3v9s34 f1v13s20 0.696429
|
||||
f3v9s34 f2v2s24 0.693878
|
||||
f3v9s34 f3v11s36 0.938462
|
||||
f3v9s34 f0v5s5 0.615385
|
||||
f3v9s34 f1v11s18 0.689655
|
||||
f3v9s34 f0v6s6 0.600000
|
||||
f3v9s34 f3v4s29 0.969231
|
||||
f3v9s34 f0v2s2 0.615385
|
||||
f3v9s34 f3v12s37 0.969231
|
||||
f3v9s34 f0v3s3 0.630769
|
||||
f3v9s34 f3v14s39 0.984615
|
||||
f3v9s34 f0v0s0 0.630769
|
||||
f3v9s34 f1v12s19 0.684211
|
||||
f4v0s40 f1v7s14 0.603448
|
||||
f4v0s40 f3v2s27 0.600000
|
||||
f4v0s40 f4v1s41 1.000000
|
||||
f4v0s40 f2v0s22 0.650000
|
||||
f4v0s40 f1v2s9 0.633333
|
||||
f4v0s40 f1v3s10 0.603448
|
||||
f4v0s40 f3v0s25 0.600000
|
||||
f4v0s40 f3v3s28 0.600000
|
||||
f4v0s40 f3v13s38 0.616667
|
||||
f4v0s40 f3v7s32 0.583333
|
||||
f4v0s40 f3v1s26 0.600000
|
||||
f4v0s40 f3v6s31 0.583333
|
||||
f4v0s40 f1v13s20 0.607143
|
||||
f4v0s40 f2v2s24 0.693878
|
||||
f4v0s40 f3v11s36 0.600000
|
||||
f4v0s40 f0v5s5 0.633333
|
||||
f4v0s40 f1v11s18 0.603448
|
||||
f4v0s40 f0v6s6 0.650000
|
||||
f4v0s40 f3v4s29 0.633333
|
||||
f4v0s40 f0v2s2 0.650000
|
||||
f4v0s40 f3v12s37 0.616667
|
||||
f4v0s40 f0v3s3 0.616667
|
||||
f4v0s40 f3v14s39 0.600000
|
||||
f4v0s40 f0v0s0 0.633333
|
||||
f4v0s40 f1v12s19 0.578947
|
||||
f1v7s14 f3v2s27 0.672414
|
||||
f1v7s14 f4v1s41 0.603448
|
||||
f1v7s14 f2v0s22 0.672414
|
||||
f1v7s14 f1v2s9 0.655172
|
||||
f1v7s14 f1v3s10 1.000000
|
||||
f1v7s14 f3v0s25 0.672414
|
||||
f1v7s14 f3v3s28 0.672414
|
||||
f1v7s14 f3v13s38 0.689655
|
||||
f1v7s14 f3v7s32 0.689655
|
||||
f1v7s14 f3v1s26 0.672414
|
||||
f1v7s14 f3v6s31 0.689655
|
||||
f1v7s14 f1v13s20 1.000000
|
||||
f1v7s14 f2v2s24 0.693878
|
||||
f1v7s14 f3v11s36 0.672414
|
||||
f1v7s14 f0v5s5 0.672414
|
||||
f1v7s14 f1v11s18 0.982759
|
||||
f1v7s14 f0v6s6 0.655172
|
||||
f1v7s14 f3v4s29 0.689655
|
||||
f1v7s14 f0v2s2 0.672414
|
||||
f1v7s14 f3v12s37 0.689655
|
||||
f1v7s14 f0v3s3 0.672414
|
||||
f1v7s14 f3v14s39 0.672414
|
||||
f1v7s14 f0v0s0 0.672414
|
||||
f1v7s14 f1v12s19 0.982456
|
||||
f3v2s27 f4v1s41 0.590164
|
||||
f3v2s27 f2v0s22 0.630769
|
||||
f3v2s27 f1v2s9 0.615385
|
||||
f3v2s27 f1v3s10 0.672414
|
||||
f3v2s27 f3v0s25 1.000000
|
||||
f3v2s27 f3v3s28 0.984615
|
||||
f3v2s27 f3v13s38 1.000000
|
||||
f3v2s27 f3v7s32 0.969231
|
||||
f3v2s27 f3v1s26 0.969231
|
||||
f3v2s27 f3v6s31 0.969231
|
||||
f3v2s27 f1v13s20 0.678571
|
||||
f3v2s27 f2v2s24 0.714286
|
||||
f3v2s27 f3v11s36 0.953846
|
||||
f3v2s27 f0v5s5 0.615385
|
||||
f3v2s27 f1v11s18 0.672414
|
||||
f3v2s27 f0v6s6 0.615385
|
||||
f3v2s27 f3v4s29 0.984615
|
||||
f3v2s27 f0v2s2 0.630769
|
||||
f3v2s27 f3v12s37 0.984615
|
||||
f3v2s27 f0v3s3 0.630769
|
||||
f3v2s27 f3v14s39 1.000000
|
||||
f3v2s27 f0v0s0 0.630769
|
||||
f3v2s27 f1v12s19 0.666667
|
||||
f4v1s41 f2v0s22 0.639344
|
||||
f4v1s41 f1v2s9 0.622951
|
||||
f4v1s41 f1v3s10 0.603448
|
||||
f4v1s41 f3v0s25 0.590164
|
||||
f4v1s41 f3v3s28 0.590164
|
||||
f4v1s41 f3v13s38 0.606557
|
||||
f4v1s41 f3v7s32 0.573770
|
||||
f4v1s41 f3v1s26 0.590164
|
||||
f4v1s41 f3v6s31 0.573770
|
||||
f4v1s41 f1v13s20 0.607143
|
||||
f4v1s41 f2v2s24 0.693878
|
||||
f4v1s41 f3v11s36 0.590164
|
||||
f4v1s41 f0v5s5 0.622951
|
||||
f4v1s41 f1v11s18 0.603448
|
||||
f4v1s41 f0v6s6 0.639344
|
||||
f4v1s41 f3v4s29 0.622951
|
||||
f4v1s41 f0v2s2 0.639344
|
||||
f4v1s41 f3v12s37 0.606557
|
||||
f4v1s41 f0v3s3 0.606557
|
||||
f4v1s41 f3v14s39 0.590164
|
||||
f4v1s41 f0v0s0 0.622951
|
||||
f4v1s41 f1v12s19 0.578947
|
||||
f2v0s22 f1v2s9 0.971014
|
||||
f2v0s22 f1v3s10 0.672414
|
||||
f2v0s22 f3v0s25 0.621212
|
||||
f2v0s22 f3v3s28 0.621212
|
||||
f2v0s22 f3v13s38 0.602941
|
||||
f2v0s22 f3v7s32 0.615385
|
||||
f2v0s22 f3v1s26 0.615385
|
||||
f2v0s22 f3v6s31 0.615385
|
||||
f2v0s22 f1v13s20 0.678571
|
||||
f2v0s22 f2v2s24 0.714286
|
||||
f2v0s22 f3v11s36 0.584615
|
||||
f2v0s22 f0v5s5 0.971014
|
||||
f2v0s22 f1v11s18 0.672414
|
||||
f2v0s22 f0v6s6 0.927536
|
||||
f2v0s22 f3v4s29 0.632353
|
||||
f2v0s22 f0v2s2 1.000000
|
||||
f2v0s22 f3v12s37 0.626866
|
||||
f2v0s22 f0v3s3 0.970149
|
||||
f2v0s22 f3v14s39 0.621212
|
||||
f2v0s22 f0v0s0 0.985507
|
||||
f2v0s22 f1v12s19 0.684211
|
||||
f1v2s9 f1v3s10 0.655172
|
||||
f1v2s9 f3v0s25 0.606061
|
||||
f1v2s9 f3v3s28 0.606061
|
||||
f1v2s9 f3v13s38 0.588235
|
||||
f1v2s9 f3v7s32 0.615385
|
||||
f1v2s9 f3v1s26 0.600000
|
||||
f1v2s9 f3v6s31 0.615385
|
||||
f1v2s9 f1v13s20 0.660714
|
||||
f1v2s9 f2v2s24 0.714286
|
||||
f1v2s9 f3v11s36 0.569231
|
||||
f1v2s9 f0v5s5 0.971014
|
||||
f1v2s9 f1v11s18 0.655172
|
||||
f1v2s9 f0v6s6 0.927536
|
||||
f1v2s9 f3v4s29 0.617647
|
||||
f1v2s9 f0v2s2 0.971014
|
||||
f1v2s9 f3v12s37 0.597015
|
||||
f1v2s9 f0v3s3 0.970149
|
||||
f1v2s9 f3v14s39 0.606061
|
||||
f1v2s9 f0v0s0 0.985507
|
||||
f1v2s9 f1v12s19 0.666667
|
||||
f1v3s10 f3v0s25 0.672414
|
||||
f1v3s10 f3v3s28 0.672414
|
||||
f1v3s10 f3v13s38 0.689655
|
||||
f1v3s10 f3v7s32 0.689655
|
||||
f1v3s10 f3v1s26 0.672414
|
||||
f1v3s10 f3v6s31 0.689655
|
||||
f1v3s10 f1v13s20 1.000000
|
||||
f1v3s10 f2v2s24 0.693878
|
||||
f1v3s10 f3v11s36 0.672414
|
||||
f1v3s10 f0v5s5 0.672414
|
||||
f1v3s10 f1v11s18 0.982759
|
||||
f1v3s10 f0v6s6 0.655172
|
||||
f1v3s10 f3v4s29 0.689655
|
||||
f1v3s10 f0v2s2 0.672414
|
||||
f1v3s10 f3v12s37 0.689655
|
||||
f1v3s10 f0v3s3 0.672414
|
||||
f1v3s10 f3v14s39 0.672414
|
||||
f1v3s10 f0v0s0 0.672414
|
||||
f1v3s10 f1v12s19 0.982456
|
||||
f3v0s25 f3v3s28 0.984848
|
||||
f3v0s25 f3v13s38 1.000000
|
||||
f3v0s25 f3v7s32 0.984615
|
||||
f3v0s25 f3v1s26 0.984615
|
||||
f3v0s25 f3v6s31 0.984615
|
||||
f3v0s25 f1v13s20 0.678571
|
||||
f3v0s25 f2v2s24 0.714286
|
||||
f3v0s25 f3v11s36 0.969231
|
||||
f3v0s25 f0v5s5 0.606061
|
||||
f3v0s25 f1v11s18 0.672414
|
||||
f3v0s25 f0v6s6 0.606061
|
||||
f3v0s25 f3v4s29 0.984848
|
||||
f3v0s25 f0v2s2 0.621212
|
||||
f3v0s25 f3v12s37 0.984848
|
||||
f3v0s25 f0v3s3 0.621212
|
||||
f3v0s25 f3v14s39 1.000000
|
||||
f3v0s25 f0v0s0 0.621212
|
||||
f3v0s25 f1v12s19 0.666667
|
||||
f3v3s28 f3v13s38 0.984848
|
||||
f3v3s28 f3v7s32 0.969231
|
||||
f3v3s28 f3v1s26 0.969231
|
||||
f3v3s28 f3v6s31 0.969231
|
||||
f3v3s28 f1v13s20 0.678571
|
||||
f3v3s28 f2v2s24 0.734694
|
||||
f3v3s28 f3v11s36 0.953846
|
||||
f3v3s28 f0v5s5 0.606061
|
||||
f3v3s28 f1v11s18 0.672414
|
||||
f3v3s28 f0v6s6 0.606061
|
||||
f3v3s28 f3v4s29 0.969697
|
||||
f3v3s28 f0v2s2 0.621212
|
||||
f3v3s28 f3v12s37 0.969697
|
||||
f3v3s28 f0v3s3 0.621212
|
||||
f3v3s28 f3v14s39 0.984848
|
||||
f3v3s28 f0v0s0 0.621212
|
||||
f3v3s28 f1v12s19 0.666667
|
||||
f3v13s38 f3v7s32 0.984615
|
||||
f3v13s38 f3v1s26 0.984615
|
||||
f3v13s38 f3v6s31 0.984615
|
||||
f3v13s38 f1v13s20 0.696429
|
||||
f3v13s38 f2v2s24 0.734694
|
||||
f3v13s38 f3v11s36 0.969231
|
||||
f3v13s38 f0v5s5 0.588235
|
||||
f3v13s38 f1v11s18 0.689655
|
||||
f3v13s38 f0v6s6 0.588235
|
||||
f3v13s38 f3v4s29 0.955882
|
||||
f3v13s38 f0v2s2 0.602941
|
||||
f3v13s38 f3v12s37 0.970149
|
||||
f3v13s38 f0v3s3 0.611940
|
||||
f3v13s38 f3v14s39 1.000000
|
||||
f3v13s38 f0v0s0 0.602941
|
||||
f3v13s38 f1v12s19 0.684211
|
||||
f3v7s32 f3v1s26 0.953846
|
||||
f3v7s32 f3v6s31 1.000000
|
||||
f3v7s32 f1v13s20 0.696429
|
||||
f3v7s32 f2v2s24 0.693878
|
||||
f3v7s32 f3v11s36 0.938462
|
||||
f3v7s32 f0v5s5 0.615385
|
||||
f3v7s32 f1v11s18 0.689655
|
||||
f3v7s32 f0v6s6 0.600000
|
||||
f3v7s32 f3v4s29 0.969231
|
||||
f3v7s32 f0v2s2 0.615385
|
||||
f3v7s32 f3v12s37 0.969231
|
||||
f3v7s32 f0v3s3 0.630769
|
||||
f3v7s32 f3v14s39 0.984615
|
||||
f3v7s32 f0v0s0 0.630769
|
||||
f3v7s32 f1v12s19 0.684211
|
||||
f3v1s26 f3v6s31 0.953846
|
||||
f3v1s26 f1v13s20 0.678571
|
||||
f3v1s26 f2v2s24 0.714286
|
||||
f3v1s26 f3v11s36 0.938462
|
||||
f3v1s26 f0v5s5 0.600000
|
||||
f3v1s26 f1v11s18 0.672414
|
||||
f3v1s26 f0v6s6 0.600000
|
||||
f3v1s26 f3v4s29 0.969231
|
||||
f3v1s26 f0v2s2 0.615385
|
||||
f3v1s26 f3v12s37 0.969231
|
||||
f3v1s26 f0v3s3 0.615385
|
||||
f3v1s26 f3v14s39 0.984615
|
||||
f3v1s26 f0v0s0 0.615385
|
||||
f3v1s26 f1v12s19 0.666667
|
||||
f3v6s31 f1v13s20 0.696429
|
||||
f3v6s31 f2v2s24 0.693878
|
||||
f3v6s31 f3v11s36 0.938462
|
||||
f3v6s31 f0v5s5 0.615385
|
||||
f3v6s31 f1v11s18 0.689655
|
||||
f3v6s31 f0v6s6 0.600000
|
||||
f3v6s31 f3v4s29 0.969231
|
||||
f3v6s31 f0v2s2 0.615385
|
||||
f3v6s31 f3v12s37 0.969231
|
||||
f3v6s31 f0v3s3 0.630769
|
||||
f3v6s31 f3v14s39 0.984615
|
||||
f3v6s31 f0v0s0 0.630769
|
||||
f3v6s31 f1v12s19 0.684211
|
||||
f1v13s20 f2v2s24 0.693878
|
||||
f1v13s20 f3v11s36 0.678571
|
||||
f1v13s20 f0v5s5 0.696429
|
||||
f1v13s20 f1v11s18 0.982143
|
||||
f1v13s20 f0v6s6 0.660714
|
||||
f1v13s20 f3v4s29 0.696429
|
||||
f1v13s20 f0v2s2 0.678571
|
||||
f1v13s20 f3v12s37 0.696429
|
||||
f1v13s20 f0v3s3 0.678571
|
||||
f1v13s20 f3v14s39 0.678571
|
||||
f1v13s20 f0v0s0 0.678571
|
||||
f1v13s20 f1v12s19 0.964286
|
||||
f2v2s24 f3v11s36 0.693878
|
||||
f2v2s24 f0v5s5 0.714286
|
||||
f2v2s24 f1v11s18 0.693878
|
||||
f2v2s24 f0v6s6 0.714286
|
||||
f2v2s24 f3v4s29 0.734694
|
||||
f2v2s24 f0v2s2 0.714286
|
||||
f2v2s24 f3v12s37 0.734694
|
||||
f2v2s24 f0v3s3 0.693878
|
||||
f2v2s24 f3v14s39 0.714286
|
||||
f2v2s24 f0v0s0 0.714286
|
||||
f2v2s24 f1v12s19 0.673469
|
||||
f3v11s36 f0v5s5 0.584615
|
||||
f3v11s36 f1v11s18 0.672414
|
||||
f3v11s36 f0v6s6 0.584615
|
||||
f3v11s36 f3v4s29 0.953846
|
||||
f3v11s36 f0v2s2 0.584615
|
||||
f3v11s36 f3v12s37 0.953846
|
||||
f3v11s36 f0v3s3 0.584615
|
||||
f3v11s36 f3v14s39 0.969231
|
||||
f3v11s36 f0v0s0 0.584615
|
||||
f3v11s36 f1v12s19 0.666667
|
||||
f0v5s5 f1v11s18 0.689655
|
||||
f0v5s5 f0v6s6 0.927536
|
||||
f0v5s5 f3v4s29 0.617647
|
||||
f0v5s5 f0v2s2 0.971014
|
||||
f0v5s5 f3v12s37 0.597015
|
||||
f0v5s5 f0v3s3 0.970149
|
||||
f0v5s5 f3v14s39 0.606061
|
||||
f0v5s5 f0v0s0 0.985507
|
||||
f0v5s5 f1v12s19 0.666667
|
||||
f1v11s18 f0v6s6 0.655172
|
||||
f1v11s18 f3v4s29 0.689655
|
||||
f1v11s18 f0v2s2 0.672414
|
||||
f1v11s18 f3v12s37 0.689655
|
||||
f1v11s18 f0v3s3 0.672414
|
||||
f1v11s18 f3v14s39 0.672414
|
||||
f1v11s18 f0v0s0 0.672414
|
||||
f1v11s18 f1v12s19 0.964912
|
||||
f0v6s6 f3v4s29 0.617647
|
||||
f0v6s6 f0v2s2 0.927536
|
||||
f0v6s6 f3v12s37 0.597015
|
||||
f0v6s6 f0v3s3 0.925373
|
||||
f0v6s6 f3v14s39 0.606061
|
||||
f0v6s6 f0v0s0 0.942029
|
||||
f0v6s6 f1v12s19 0.666667
|
||||
f3v4s29 f0v2s2 0.632353
|
||||
f3v4s29 f3v12s37 0.955224
|
||||
f3v4s29 f0v3s3 0.641791
|
||||
f3v4s29 f3v14s39 0.984848
|
||||
f3v4s29 f0v0s0 0.632353
|
||||
f3v4s29 f1v12s19 0.684211
|
||||
f0v2s2 f3v12s37 0.626866
|
||||
f0v2s2 f0v3s3 0.970149
|
||||
f0v2s2 f3v14s39 0.621212
|
||||
f0v2s2 f0v0s0 0.985507
|
||||
f0v2s2 f1v12s19 0.684211
|
||||
f3v12s37 f0v3s3 0.611940
|
||||
f3v12s37 f3v14s39 0.984848
|
||||
f3v12s37 f0v0s0 0.611940
|
||||
f3v12s37 f1v12s19 0.684211
|
||||
f0v3s3 f3v14s39 0.621212
|
||||
f0v3s3 f0v0s0 0.985075
|
||||
f0v3s3 f1v12s19 0.666667
|
||||
f3v14s39 f0v0s0 0.621212
|
||||
f3v14s39 f1v12s19 0.666667
|
||||
f0v0s0 f1v12s19 0.684211
|
||||
+224
@@ -0,0 +1,224 @@
|
||||
f3v10s35 f3v8s33 0.910448 87579 88635 65 66
|
||||
f3v10s35 f3v9s34 0.910448 87579 40677 65 65
|
||||
f3v10s35 f3v2s27 0.910448 87579 74030 65 65
|
||||
f3v10s35 f3v0s25 0.925373 87579 62755 65 66
|
||||
f3v10s35 f3v7s32 0.910448 87579 53710 65 65
|
||||
f3v10s35 f3v1s26 0.910448 87579 41283 65 65
|
||||
f3v10s35 f3v6s31 0.910448 87579 94783 65 65
|
||||
f3v10s35 f3v14s39 0.925373 87579 55015 65 66
|
||||
f3v5s30 f3v8s33 0.924242 39802 88635 63 66
|
||||
f3v5s30 f3v9s34 0.909091 39802 40677 63 65
|
||||
f3v5s30 f3v2s27 0.924242 39802 74030 63 65
|
||||
f3v5s30 f3v0s25 0.939394 39802 62755 63 66
|
||||
f3v5s30 f3v3s28 0.910448 39802 66465 63 66
|
||||
f3v5s30 f3v13s38 0.911765 39802 26948 63 68
|
||||
f3v5s30 f3v7s32 0.909091 39802 53710 63 65
|
||||
f3v5s30 f3v1s26 0.910448 39802 41283 63 65
|
||||
f3v5s30 f3v6s31 0.909091 39802 94783 63 65
|
||||
f3v5s30 f3v12s37 0.910448 39802 74202 63 67
|
||||
f3v5s30 f3v14s39 0.939394 39802 55015 63 66
|
||||
f1v8s15 f2v1s23 0.982759 66109 35696 57 58
|
||||
f1v8s15 f1v6s13 0.947368 66109 80246 57 56
|
||||
f1v8s15 f1v1s8 0.916667 66109 17651 57 60
|
||||
f1v8s15 f1v14s21 0.931034 66109 85030 57 56
|
||||
f1v8s15 f1v5s12 0.916667 66109 1410 57 60
|
||||
f1v8s15 f1v4s11 0.982759 66109 74527 57 58
|
||||
f1v8s15 f1v9s16 0.933333 66109 65777 57 60
|
||||
f1v8s15 f1v10s17 0.916667 66109 98659 57 60
|
||||
f1v8s15 f1v0s7 0.982759 66109 84420 57 58
|
||||
f1v8s15 f1v7s14 0.982759 66109 42277 57 58
|
||||
f1v8s15 f1v3s10 0.982759 66109 43230 57 58
|
||||
f1v8s15 f1v13s20 0.948276 66109 80913 57 56
|
||||
f1v8s15 f1v11s18 0.965517 66109 51814 57 58
|
||||
f1v8s15 f1v12s19 0.948276 66109 58178 57 57
|
||||
f2v1s23 f1v6s13 0.931034 35696 80246 58 56
|
||||
f2v1s23 f1v1s8 0.933333 35696 17651 58 60
|
||||
f2v1s23 f1v14s21 0.948276 35696 85030 58 56
|
||||
f2v1s23 f1v5s12 0.933333 35696 1410 58 60
|
||||
f2v1s23 f1v4s11 1.000000 35696 74527 58 58
|
||||
f2v1s23 f1v9s16 0.950000 35696 65777 58 60
|
||||
f2v1s23 f1v10s17 0.933333 35696 98659 58 60
|
||||
f2v1s23 f1v0s7 1.000000 35696 84420 58 58
|
||||
f2v1s23 f1v7s14 1.000000 35696 42277 58 58
|
||||
f2v1s23 f1v3s10 1.000000 35696 43230 58 58
|
||||
f2v1s23 f1v13s20 0.965517 35696 80913 58 56
|
||||
f2v1s23 f1v11s18 0.982759 35696 51814 58 58
|
||||
f2v1s23 f1v12s19 0.965517 35696 58178 58 57
|
||||
f4v2s42 f4v0s40 0.967213 17302 75843 61 60
|
||||
f4v2s42 f4v1s41 0.951613 17302 45686 61 61
|
||||
f0v4s4 f0v1s1 1.000000 86916 43883 69 69
|
||||
f0v4s4 f2v0s22 0.943662 86916 43219 69 69
|
||||
f0v4s4 f1v2s9 1.000000 86916 99108 69 69
|
||||
f0v4s4 f0v5s5 0.943662 86916 2668 69 69
|
||||
f0v4s4 f0v6s6 0.901408 86916 16273 69 69
|
||||
f0v4s4 f0v2s2 0.943662 86916 10896 69 69
|
||||
f0v4s4 f0v3s3 0.915493 86916 73040 69 67
|
||||
f0v4s4 f0v0s0 0.971429 86916 1332 69 69
|
||||
f1v6s13 f1v4s11 0.931034 80246 74527 56 58
|
||||
f1v6s13 f1v0s7 0.931034 80246 84420 56 58
|
||||
f1v6s13 f1v7s14 0.931034 80246 42277 56 58
|
||||
f1v6s13 f1v3s10 0.931034 80246 43230 56 58
|
||||
f1v6s13 f1v11s18 0.913793 80246 51814 56 58
|
||||
f3v8s33 f3v9s34 0.954545 88635 40677 66 65
|
||||
f3v8s33 f3v2s27 0.969697 88635 74030 66 65
|
||||
f3v8s33 f3v0s25 0.984848 88635 62755 66 66
|
||||
f3v8s33 f3v3s28 0.955224 88635 66465 66 66
|
||||
f3v8s33 f3v13s38 0.955882 88635 26948 66 68
|
||||
f3v8s33 f3v7s32 0.954545 88635 53710 66 65
|
||||
f3v8s33 f3v1s26 0.954545 88635 41283 66 65
|
||||
f3v8s33 f3v6s31 0.954545 88635 94783 66 65
|
||||
f3v8s33 f3v11s36 0.925373 88635 91927 66 65
|
||||
f3v8s33 f3v4s29 0.941176 88635 94356 66 68
|
||||
f3v8s33 f3v12s37 0.955224 88635 74202 66 67
|
||||
f3v8s33 f3v14s39 0.984848 88635 55015 66 66
|
||||
f1v1s8 f1v14s21 0.916667 17651 85030 60 56
|
||||
f1v1s8 f1v4s11 0.933333 17651 74527 60 58
|
||||
f1v1s8 f1v0s7 0.933333 17651 84420 60 58
|
||||
f1v1s8 f1v7s14 0.933333 17651 42277 60 58
|
||||
f1v1s8 f1v3s10 0.933333 17651 43230 60 58
|
||||
f1v1s8 f1v13s20 0.900000 17651 80913 60 56
|
||||
f1v1s8 f1v11s18 0.916667 17651 51814 60 58
|
||||
f1v1s8 f1v12s19 0.916667 17651 58178 60 57
|
||||
f1v14s21 f1v4s11 0.948276 85030 74527 56 58
|
||||
f1v14s21 f1v9s16 0.900000 85030 65777 56 60
|
||||
f1v14s21 f1v0s7 0.948276 85030 84420 56 58
|
||||
f1v14s21 f1v7s14 0.948276 85030 42277 56 58
|
||||
f1v14s21 f1v3s10 0.948276 85030 43230 56 58
|
||||
f1v14s21 f1v13s20 0.913793 85030 80913 56 56
|
||||
f1v14s21 f1v11s18 0.931034 85030 51814 56 58
|
||||
f1v14s21 f1v12s19 0.913793 85030 58178 56 57
|
||||
f0v1s1 f2v0s22 0.943662 43883 43219 69 69
|
||||
f0v1s1 f1v2s9 1.000000 43883 99108 69 69
|
||||
f0v1s1 f0v5s5 0.943662 43883 2668 69 69
|
||||
f0v1s1 f0v6s6 0.901408 43883 16273 69 69
|
||||
f0v1s1 f0v2s2 0.943662 43883 10896 69 69
|
||||
f0v1s1 f0v3s3 0.915493 43883 73040 69 67
|
||||
f0v1s1 f0v0s0 0.971429 43883 1332 69 69
|
||||
f1v5s12 f1v4s11 0.933333 1410 74527 60 58
|
||||
f1v5s12 f1v0s7 0.933333 1410 84420 60 58
|
||||
f1v5s12 f1v7s14 0.933333 1410 42277 60 58
|
||||
f1v5s12 f1v3s10 0.933333 1410 43230 60 58
|
||||
f1v5s12 f1v13s20 0.900000 1410 80913 60 56
|
||||
f1v5s12 f1v11s18 0.916667 1410 51814 60 58
|
||||
f1v5s12 f1v12s19 0.916667 1410 58178 60 57
|
||||
f1v4s11 f1v9s16 0.950000 74527 65777 58 60
|
||||
f1v4s11 f1v10s17 0.933333 74527 98659 58 60
|
||||
f1v4s11 f1v0s7 1.000000 74527 84420 58 58
|
||||
f1v4s11 f1v7s14 1.000000 74527 42277 58 58
|
||||
f1v4s11 f1v3s10 1.000000 74527 43230 58 58
|
||||
f1v4s11 f1v13s20 0.965517 74527 80913 58 56
|
||||
f1v4s11 f1v11s18 0.982759 74527 51814 58 58
|
||||
f1v4s11 f1v12s19 0.965517 74527 58178 58 57
|
||||
f1v9s16 f1v0s7 0.950000 65777 84420 60 58
|
||||
f1v9s16 f1v7s14 0.950000 65777 42277 60 58
|
||||
f1v9s16 f1v3s10 0.950000 65777 43230 60 58
|
||||
f1v9s16 f1v13s20 0.916667 65777 80913 60 56
|
||||
f1v9s16 f1v11s18 0.933333 65777 51814 60 58
|
||||
f1v9s16 f1v12s19 0.916667 65777 58178 60 57
|
||||
f1v10s17 f1v0s7 0.933333 98659 84420 60 58
|
||||
f1v10s17 f1v7s14 0.933333 98659 42277 60 58
|
||||
f1v10s17 f1v3s10 0.933333 98659 43230 60 58
|
||||
f1v10s17 f1v13s20 0.900000 98659 80913 60 56
|
||||
f1v10s17 f1v11s18 0.916667 98659 51814 60 58
|
||||
f1v10s17 f1v12s19 0.916667 98659 58178 60 57
|
||||
f1v0s7 f1v7s14 1.000000 84420 42277 58 58
|
||||
f1v0s7 f1v3s10 1.000000 84420 43230 58 58
|
||||
f1v0s7 f1v13s20 0.965517 84420 80913 58 56
|
||||
f1v0s7 f1v11s18 0.982759 84420 51814 58 58
|
||||
f1v0s7 f1v12s19 0.965517 84420 58178 58 57
|
||||
f3v9s34 f3v2s27 0.954545 40677 74030 65 65
|
||||
f3v9s34 f3v0s25 0.969697 40677 62755 65 66
|
||||
f3v9s34 f3v3s28 0.940299 40677 66465 65 66
|
||||
f3v9s34 f3v13s38 0.941176 40677 26948 65 68
|
||||
f3v9s34 f3v7s32 1.000000 40677 53710 65 65
|
||||
f3v9s34 f3v1s26 0.939394 40677 41283 65 65
|
||||
f3v9s34 f3v6s31 1.000000 40677 94783 65 65
|
||||
f3v9s34 f3v11s36 0.910448 40677 91927 65 65
|
||||
f3v9s34 f3v4s29 0.926471 40677 94356 65 68
|
||||
f3v9s34 f3v12s37 0.940299 40677 74202 65 67
|
||||
f3v9s34 f3v14s39 0.969697 40677 55015 65 66
|
||||
f4v0s40 f4v1s41 0.983607 75843 45686 60 61
|
||||
f1v7s14 f1v3s10 1.000000 42277 43230 58 58
|
||||
f1v7s14 f1v13s20 0.965517 42277 80913 58 56
|
||||
f1v7s14 f1v11s18 0.982759 42277 51814 58 58
|
||||
f1v7s14 f1v12s19 0.965517 42277 58178 58 57
|
||||
f3v2s27 f3v0s25 0.984848 74030 62755 65 66
|
||||
f3v2s27 f3v3s28 0.955224 74030 66465 65 66
|
||||
f3v2s27 f3v13s38 0.955882 74030 26948 65 68
|
||||
f3v2s27 f3v7s32 0.954545 74030 53710 65 65
|
||||
f3v2s27 f3v1s26 0.969231 74030 41283 65 65
|
||||
f3v2s27 f3v6s31 0.954545 74030 94783 65 65
|
||||
f3v2s27 f3v11s36 0.925373 74030 91927 65 65
|
||||
f3v2s27 f3v4s29 0.941176 74030 94356 65 68
|
||||
f3v2s27 f3v12s37 0.955224 74030 74202 65 67
|
||||
f3v2s27 f3v14s39 0.984848 74030 55015 65 66
|
||||
f2v0s22 f1v2s9 0.943662 43219 99108 69 69
|
||||
f2v0s22 f0v5s5 0.943662 43219 2668 69 69
|
||||
f2v0s22 f0v6s6 0.901408 43219 16273 69 69
|
||||
f2v0s22 f0v2s2 1.000000 43219 10896 69 69
|
||||
f2v0s22 f0v3s3 0.915493 43219 73040 69 67
|
||||
f2v0s22 f0v0s0 0.971429 43219 1332 69 69
|
||||
f1v2s9 f0v5s5 0.943662 99108 2668 69 69
|
||||
f1v2s9 f0v6s6 0.901408 99108 16273 69 69
|
||||
f1v2s9 f0v2s2 0.943662 99108 10896 69 69
|
||||
f1v2s9 f0v3s3 0.915493 99108 73040 69 67
|
||||
f1v2s9 f0v0s0 0.971429 99108 1332 69 69
|
||||
f1v3s10 f1v13s20 0.965517 43230 80913 58 56
|
||||
f1v3s10 f1v11s18 0.982759 43230 51814 58 58
|
||||
f1v3s10 f1v12s19 0.965517 43230 58178 58 57
|
||||
f3v0s25 f3v3s28 0.970149 62755 66465 66 66
|
||||
f3v0s25 f3v13s38 0.970588 62755 26948 66 68
|
||||
f3v0s25 f3v7s32 0.969697 62755 53710 66 65
|
||||
f3v0s25 f3v1s26 0.969697 62755 41283 66 65
|
||||
f3v0s25 f3v6s31 0.969697 62755 94783 66 65
|
||||
f3v0s25 f3v11s36 0.940299 62755 91927 66 65
|
||||
f3v0s25 f3v4s29 0.955882 62755 94356 66 68
|
||||
f3v0s25 f3v12s37 0.970149 62755 74202 66 67
|
||||
f3v0s25 f3v14s39 1.000000 62755 55015 66 66
|
||||
f3v3s28 f3v13s38 0.955882 66465 26948 66 68
|
||||
f3v3s28 f3v7s32 0.940299 66465 53710 66 65
|
||||
f3v3s28 f3v1s26 0.940299 66465 41283 66 65
|
||||
f3v3s28 f3v6s31 0.940299 66465 94783 66 65
|
||||
f3v3s28 f3v11s36 0.911765 66465 91927 66 65
|
||||
f3v3s28 f3v4s29 0.941176 66465 94356 66 68
|
||||
f3v3s28 f3v12s37 0.941176 66465 74202 66 67
|
||||
f3v3s28 f3v14s39 0.970149 66465 55015 66 66
|
||||
f3v13s38 f3v7s32 0.941176 26948 53710 68 65
|
||||
f3v13s38 f3v1s26 0.941176 26948 41283 68 65
|
||||
f3v13s38 f3v6s31 0.941176 26948 94783 68 65
|
||||
f3v13s38 f3v11s36 0.913043 26948 91927 68 65
|
||||
f3v13s38 f3v4s29 0.942029 26948 94356 68 68
|
||||
f3v13s38 f3v12s37 0.942029 26948 74202 68 67
|
||||
f3v13s38 f3v14s39 0.970588 26948 55015 68 66
|
||||
f3v7s32 f3v1s26 0.939394 53710 41283 65 65
|
||||
f3v7s32 f3v6s31 1.000000 53710 94783 65 65
|
||||
f3v7s32 f3v11s36 0.910448 53710 91927 65 65
|
||||
f3v7s32 f3v4s29 0.926471 53710 94356 65 68
|
||||
f3v7s32 f3v12s37 0.940299 53710 74202 65 67
|
||||
f3v7s32 f3v14s39 0.969697 53710 55015 65 66
|
||||
f3v1s26 f3v6s31 0.939394 41283 94783 65 65
|
||||
f3v1s26 f3v11s36 0.910448 41283 91927 65 65
|
||||
f3v1s26 f3v4s29 0.926471 41283 94356 65 68
|
||||
f3v1s26 f3v12s37 0.940299 41283 74202 65 67
|
||||
f3v1s26 f3v14s39 0.969697 41283 55015 65 66
|
||||
f3v6s31 f3v11s36 0.910448 94783 91927 65 65
|
||||
f3v6s31 f3v4s29 0.926471 94783 94356 65 68
|
||||
f3v6s31 f3v12s37 0.940299 94783 74202 65 67
|
||||
f3v6s31 f3v14s39 0.969697 94783 55015 65 66
|
||||
f1v13s20 f1v11s18 0.948276 80913 51814 56 58
|
||||
f1v13s20 f1v12s19 0.931034 80913 58178 56 57
|
||||
f3v11s36 f3v12s37 0.911765 91927 74202 65 67
|
||||
f3v11s36 f3v14s39 0.940299 91927 55015 65 66
|
||||
f0v5s5 f0v6s6 0.901408 2668 16273 69 69
|
||||
f0v5s5 f0v2s2 0.943662 2668 10896 69 69
|
||||
f0v5s5 f0v3s3 0.915493 2668 73040 69 67
|
||||
f0v5s5 f0v0s0 0.971429 2668 1332 69 69
|
||||
f1v11s18 f1v12s19 0.948276 51814 58178 58 57
|
||||
f0v6s6 f0v2s2 0.901408 16273 10896 69 69
|
||||
f0v6s6 f0v0s0 0.928571 16273 1332 69 69
|
||||
f3v4s29 f3v12s37 0.927536 94356 74202 68 67
|
||||
f3v4s29 f3v14s39 0.955882 94356 55015 68 66
|
||||
f0v2s2 f0v3s3 0.915493 10896 73040 69 67
|
||||
f0v2s2 f0v0s0 0.971429 10896 1332 69 69
|
||||
f3v12s37 f3v14s39 0.970149 74202 55015 67 66
|
||||
f0v3s3 f0v0s0 0.942857 73040 1332 67 69
|
||||
@@ -0,0 +1,224 @@
|
||||
f3v10s35 f3v8s33 0.089552
|
||||
f3v10s35 f3v9s34 0.089552
|
||||
f3v10s35 f3v2s27 0.089552
|
||||
f3v10s35 f3v0s25 0.074627
|
||||
f3v10s35 f3v7s32 0.089552
|
||||
f3v10s35 f3v1s26 0.089552
|
||||
f3v10s35 f3v6s31 0.089552
|
||||
f3v10s35 f3v14s39 0.074627
|
||||
f3v5s30 f3v8s33 0.075758
|
||||
f3v5s30 f3v9s34 0.090909
|
||||
f3v5s30 f3v2s27 0.075758
|
||||
f3v5s30 f3v0s25 0.060606
|
||||
f3v5s30 f3v3s28 0.089552
|
||||
f3v5s30 f3v13s38 0.088235
|
||||
f3v5s30 f3v7s32 0.090909
|
||||
f3v5s30 f3v1s26 0.089552
|
||||
f3v5s30 f3v6s31 0.090909
|
||||
f3v5s30 f3v12s37 0.089552
|
||||
f3v5s30 f3v14s39 0.060606
|
||||
f1v8s15 f2v1s23 0.017241
|
||||
f1v8s15 f1v6s13 0.052632
|
||||
f1v8s15 f1v1s8 0.083333
|
||||
f1v8s15 f1v14s21 0.068966
|
||||
f1v8s15 f1v5s12 0.083333
|
||||
f1v8s15 f1v4s11 0.017241
|
||||
f1v8s15 f1v9s16 0.066667
|
||||
f1v8s15 f1v10s17 0.083333
|
||||
f1v8s15 f1v0s7 0.017241
|
||||
f1v8s15 f1v7s14 0.017241
|
||||
f1v8s15 f1v3s10 0.017241
|
||||
f1v8s15 f1v13s20 0.051724
|
||||
f1v8s15 f1v11s18 0.034483
|
||||
f1v8s15 f1v12s19 0.051724
|
||||
f2v1s23 f1v6s13 0.068966
|
||||
f2v1s23 f1v1s8 0.066667
|
||||
f2v1s23 f1v14s21 0.051724
|
||||
f2v1s23 f1v5s12 0.066667
|
||||
f2v1s23 f1v4s11 0.000000
|
||||
f2v1s23 f1v9s16 0.050000
|
||||
f2v1s23 f1v10s17 0.066667
|
||||
f2v1s23 f1v0s7 0.000000
|
||||
f2v1s23 f1v7s14 0.000000
|
||||
f2v1s23 f1v3s10 0.000000
|
||||
f2v1s23 f1v13s20 0.034483
|
||||
f2v1s23 f1v11s18 0.017241
|
||||
f2v1s23 f1v12s19 0.034483
|
||||
f4v2s42 f4v0s40 0.032787
|
||||
f4v2s42 f4v1s41 0.048387
|
||||
f0v4s4 f0v1s1 0.000000
|
||||
f0v4s4 f2v0s22 0.056338
|
||||
f0v4s4 f1v2s9 0.000000
|
||||
f0v4s4 f0v5s5 0.056338
|
||||
f0v4s4 f0v6s6 0.098592
|
||||
f0v4s4 f0v2s2 0.056338
|
||||
f0v4s4 f0v3s3 0.084507
|
||||
f0v4s4 f0v0s0 0.028571
|
||||
f1v6s13 f1v4s11 0.068966
|
||||
f1v6s13 f1v0s7 0.068966
|
||||
f1v6s13 f1v7s14 0.068966
|
||||
f1v6s13 f1v3s10 0.068966
|
||||
f1v6s13 f1v11s18 0.086207
|
||||
f3v8s33 f3v9s34 0.045455
|
||||
f3v8s33 f3v2s27 0.030303
|
||||
f3v8s33 f3v0s25 0.015152
|
||||
f3v8s33 f3v3s28 0.044776
|
||||
f3v8s33 f3v13s38 0.044118
|
||||
f3v8s33 f3v7s32 0.045455
|
||||
f3v8s33 f3v1s26 0.045455
|
||||
f3v8s33 f3v6s31 0.045455
|
||||
f3v8s33 f3v11s36 0.074627
|
||||
f3v8s33 f3v4s29 0.058824
|
||||
f3v8s33 f3v12s37 0.044776
|
||||
f3v8s33 f3v14s39 0.015152
|
||||
f1v1s8 f1v14s21 0.083333
|
||||
f1v1s8 f1v4s11 0.066667
|
||||
f1v1s8 f1v0s7 0.066667
|
||||
f1v1s8 f1v7s14 0.066667
|
||||
f1v1s8 f1v3s10 0.066667
|
||||
f1v1s8 f1v13s20 0.100000
|
||||
f1v1s8 f1v11s18 0.083333
|
||||
f1v1s8 f1v12s19 0.083333
|
||||
f1v14s21 f1v4s11 0.051724
|
||||
f1v14s21 f1v9s16 0.100000
|
||||
f1v14s21 f1v0s7 0.051724
|
||||
f1v14s21 f1v7s14 0.051724
|
||||
f1v14s21 f1v3s10 0.051724
|
||||
f1v14s21 f1v13s20 0.086207
|
||||
f1v14s21 f1v11s18 0.068966
|
||||
f1v14s21 f1v12s19 0.086207
|
||||
f0v1s1 f2v0s22 0.056338
|
||||
f0v1s1 f1v2s9 0.000000
|
||||
f0v1s1 f0v5s5 0.056338
|
||||
f0v1s1 f0v6s6 0.098592
|
||||
f0v1s1 f0v2s2 0.056338
|
||||
f0v1s1 f0v3s3 0.084507
|
||||
f0v1s1 f0v0s0 0.028571
|
||||
f1v5s12 f1v4s11 0.066667
|
||||
f1v5s12 f1v0s7 0.066667
|
||||
f1v5s12 f1v7s14 0.066667
|
||||
f1v5s12 f1v3s10 0.066667
|
||||
f1v5s12 f1v13s20 0.100000
|
||||
f1v5s12 f1v11s18 0.083333
|
||||
f1v5s12 f1v12s19 0.083333
|
||||
f1v4s11 f1v9s16 0.050000
|
||||
f1v4s11 f1v10s17 0.066667
|
||||
f1v4s11 f1v0s7 0.000000
|
||||
f1v4s11 f1v7s14 0.000000
|
||||
f1v4s11 f1v3s10 0.000000
|
||||
f1v4s11 f1v13s20 0.034483
|
||||
f1v4s11 f1v11s18 0.017241
|
||||
f1v4s11 f1v12s19 0.034483
|
||||
f1v9s16 f1v0s7 0.050000
|
||||
f1v9s16 f1v7s14 0.050000
|
||||
f1v9s16 f1v3s10 0.050000
|
||||
f1v9s16 f1v13s20 0.083333
|
||||
f1v9s16 f1v11s18 0.066667
|
||||
f1v9s16 f1v12s19 0.083333
|
||||
f1v10s17 f1v0s7 0.066667
|
||||
f1v10s17 f1v7s14 0.066667
|
||||
f1v10s17 f1v3s10 0.066667
|
||||
f1v10s17 f1v13s20 0.100000
|
||||
f1v10s17 f1v11s18 0.083333
|
||||
f1v10s17 f1v12s19 0.083333
|
||||
f1v0s7 f1v7s14 0.000000
|
||||
f1v0s7 f1v3s10 0.000000
|
||||
f1v0s7 f1v13s20 0.034483
|
||||
f1v0s7 f1v11s18 0.017241
|
||||
f1v0s7 f1v12s19 0.034483
|
||||
f3v9s34 f3v2s27 0.045455
|
||||
f3v9s34 f3v0s25 0.030303
|
||||
f3v9s34 f3v3s28 0.059701
|
||||
f3v9s34 f3v13s38 0.058824
|
||||
f3v9s34 f3v7s32 0.000000
|
||||
f3v9s34 f3v1s26 0.060606
|
||||
f3v9s34 f3v6s31 0.000000
|
||||
f3v9s34 f3v11s36 0.089552
|
||||
f3v9s34 f3v4s29 0.073529
|
||||
f3v9s34 f3v12s37 0.059701
|
||||
f3v9s34 f3v14s39 0.030303
|
||||
f4v0s40 f4v1s41 0.016393
|
||||
f1v7s14 f1v3s10 0.000000
|
||||
f1v7s14 f1v13s20 0.034483
|
||||
f1v7s14 f1v11s18 0.017241
|
||||
f1v7s14 f1v12s19 0.034483
|
||||
f3v2s27 f3v0s25 0.015152
|
||||
f3v2s27 f3v3s28 0.044776
|
||||
f3v2s27 f3v13s38 0.044118
|
||||
f3v2s27 f3v7s32 0.045455
|
||||
f3v2s27 f3v1s26 0.030769
|
||||
f3v2s27 f3v6s31 0.045455
|
||||
f3v2s27 f3v11s36 0.074627
|
||||
f3v2s27 f3v4s29 0.058824
|
||||
f3v2s27 f3v12s37 0.044776
|
||||
f3v2s27 f3v14s39 0.015152
|
||||
f2v0s22 f1v2s9 0.056338
|
||||
f2v0s22 f0v5s5 0.056338
|
||||
f2v0s22 f0v6s6 0.098592
|
||||
f2v0s22 f0v2s2 0.000000
|
||||
f2v0s22 f0v3s3 0.084507
|
||||
f2v0s22 f0v0s0 0.028571
|
||||
f1v2s9 f0v5s5 0.056338
|
||||
f1v2s9 f0v6s6 0.098592
|
||||
f1v2s9 f0v2s2 0.056338
|
||||
f1v2s9 f0v3s3 0.084507
|
||||
f1v2s9 f0v0s0 0.028571
|
||||
f1v3s10 f1v13s20 0.034483
|
||||
f1v3s10 f1v11s18 0.017241
|
||||
f1v3s10 f1v12s19 0.034483
|
||||
f3v0s25 f3v3s28 0.029851
|
||||
f3v0s25 f3v13s38 0.029412
|
||||
f3v0s25 f3v7s32 0.030303
|
||||
f3v0s25 f3v1s26 0.030303
|
||||
f3v0s25 f3v6s31 0.030303
|
||||
f3v0s25 f3v11s36 0.059701
|
||||
f3v0s25 f3v4s29 0.044118
|
||||
f3v0s25 f3v12s37 0.029851
|
||||
f3v0s25 f3v14s39 0.000000
|
||||
f3v3s28 f3v13s38 0.044118
|
||||
f3v3s28 f3v7s32 0.059701
|
||||
f3v3s28 f3v1s26 0.059701
|
||||
f3v3s28 f3v6s31 0.059701
|
||||
f3v3s28 f3v11s36 0.088235
|
||||
f3v3s28 f3v4s29 0.058824
|
||||
f3v3s28 f3v12s37 0.058824
|
||||
f3v3s28 f3v14s39 0.029851
|
||||
f3v13s38 f3v7s32 0.058824
|
||||
f3v13s38 f3v1s26 0.058824
|
||||
f3v13s38 f3v6s31 0.058824
|
||||
f3v13s38 f3v11s36 0.086957
|
||||
f3v13s38 f3v4s29 0.057971
|
||||
f3v13s38 f3v12s37 0.057971
|
||||
f3v13s38 f3v14s39 0.029412
|
||||
f3v7s32 f3v1s26 0.060606
|
||||
f3v7s32 f3v6s31 0.000000
|
||||
f3v7s32 f3v11s36 0.089552
|
||||
f3v7s32 f3v4s29 0.073529
|
||||
f3v7s32 f3v12s37 0.059701
|
||||
f3v7s32 f3v14s39 0.030303
|
||||
f3v1s26 f3v6s31 0.060606
|
||||
f3v1s26 f3v11s36 0.089552
|
||||
f3v1s26 f3v4s29 0.073529
|
||||
f3v1s26 f3v12s37 0.059701
|
||||
f3v1s26 f3v14s39 0.030303
|
||||
f3v6s31 f3v11s36 0.089552
|
||||
f3v6s31 f3v4s29 0.073529
|
||||
f3v6s31 f3v12s37 0.059701
|
||||
f3v6s31 f3v14s39 0.030303
|
||||
f1v13s20 f1v11s18 0.051724
|
||||
f1v13s20 f1v12s19 0.068966
|
||||
f3v11s36 f3v12s37 0.088235
|
||||
f3v11s36 f3v14s39 0.059701
|
||||
f0v5s5 f0v6s6 0.098592
|
||||
f0v5s5 f0v2s2 0.056338
|
||||
f0v5s5 f0v3s3 0.084507
|
||||
f0v5s5 f0v0s0 0.028571
|
||||
f1v11s18 f1v12s19 0.051724
|
||||
f0v6s6 f0v2s2 0.098592
|
||||
f0v6s6 f0v0s0 0.071429
|
||||
f3v4s29 f3v12s37 0.072464
|
||||
f3v4s29 f3v14s39 0.044118
|
||||
f0v2s2 f0v3s3 0.084507
|
||||
f0v2s2 f0v0s0 0.028571
|
||||
f3v12s37 f3v14s39 0.029851
|
||||
f0v3s3 f0v0s0 0.057143
|
||||
+249
@@ -0,0 +1,249 @@
|
||||
f3v10s35 f3v5s30 0.892308
|
||||
f3v10s35 f3v8s33 0.924242
|
||||
f3v10s35 f3v9s34 0.938462
|
||||
f3v10s35 f3v2s27 0.938462
|
||||
f3v10s35 f3v0s25 0.939394
|
||||
f3v10s35 f3v3s28 0.924242
|
||||
f3v10s35 f3v13s38 0.911765
|
||||
f3v10s35 f3v7s32 0.938462
|
||||
f3v10s35 f3v1s26 0.938462
|
||||
f3v10s35 f3v6s31 0.938462
|
||||
f3v10s35 f3v11s36 0.907692
|
||||
f3v10s35 f3v4s29 0.897059
|
||||
f3v10s35 f3v12s37 0.910448
|
||||
f3v10s35 f3v14s39 0.939394
|
||||
f3v5s30 f3v8s33 0.924242
|
||||
f3v5s30 f3v9s34 0.923077
|
||||
f3v5s30 f3v2s27 0.938462
|
||||
f3v5s30 f3v0s25 0.939394
|
||||
f3v5s30 f3v3s28 0.924242
|
||||
f3v5s30 f3v13s38 0.911765
|
||||
f3v5s30 f3v7s32 0.923077
|
||||
f3v5s30 f3v1s26 0.938462
|
||||
f3v5s30 f3v6s31 0.923077
|
||||
f3v5s30 f3v11s36 0.907692
|
||||
f3v5s30 f3v4s29 0.897059
|
||||
f3v5s30 f3v12s37 0.910448
|
||||
f3v5s30 f3v14s39 0.939394
|
||||
f1v8s15 f2v1s23 0.982759
|
||||
f1v8s15 f1v6s13 0.947368
|
||||
f1v8s15 f1v1s8 0.916667
|
||||
f1v8s15 f1v14s21 0.947368
|
||||
f1v8s15 f1v5s12 0.916667
|
||||
f1v8s15 f1v4s11 0.982759
|
||||
f1v8s15 f1v9s16 0.933333
|
||||
f1v8s15 f1v10s17 0.916667
|
||||
f1v8s15 f1v0s7 0.982759
|
||||
f1v8s15 f1v7s14 0.982759
|
||||
f1v8s15 f1v3s10 0.982759
|
||||
f1v8s15 f1v13s20 0.964912
|
||||
f1v8s15 f1v11s18 0.965517
|
||||
f1v8s15 f1v12s19 0.964912
|
||||
f2v1s23 f1v6s13 0.931034
|
||||
f2v1s23 f1v1s8 0.933333
|
||||
f2v1s23 f1v14s21 0.948276
|
||||
f2v1s23 f1v5s12 0.933333
|
||||
f2v1s23 f1v4s11 1.000000
|
||||
f2v1s23 f1v9s16 0.950000
|
||||
f2v1s23 f1v10s17 0.933333
|
||||
f2v1s23 f1v0s7 1.000000
|
||||
f2v1s23 f1v7s14 1.000000
|
||||
f2v1s23 f1v3s10 1.000000
|
||||
f2v1s23 f1v13s20 0.965517
|
||||
f2v1s23 f1v11s18 0.982759
|
||||
f2v1s23 f1v12s19 0.965517
|
||||
f4v2s42 f4v0s40 0.967213
|
||||
f4v2s42 f4v1s41 0.967213
|
||||
f0v4s4 f0v1s1 1.000000
|
||||
f0v4s4 f2v0s22 0.971014
|
||||
f0v4s4 f1v2s9 1.000000
|
||||
f0v4s4 f0v5s5 0.971014
|
||||
f0v4s4 f0v6s6 0.927536
|
||||
f0v4s4 f0v2s2 0.971014
|
||||
f0v4s4 f0v3s3 0.942029
|
||||
f0v4s4 f0v0s0 0.985507
|
||||
f1v6s13 f1v1s8 0.866667
|
||||
f1v6s13 f1v14s21 0.910714
|
||||
f1v6s13 f1v5s12 0.866667
|
||||
f1v6s13 f1v4s11 0.931034
|
||||
f1v6s13 f1v9s16 0.883333
|
||||
f1v6s13 f1v10s17 0.883333
|
||||
f1v6s13 f1v0s7 0.931034
|
||||
f1v6s13 f1v7s14 0.931034
|
||||
f1v6s13 f1v3s10 0.931034
|
||||
f1v6s13 f1v13s20 0.928571
|
||||
f1v6s13 f1v11s18 0.913793
|
||||
f1v6s13 f1v12s19 0.912281
|
||||
f3v8s33 f3v9s34 0.954545
|
||||
f3v8s33 f3v2s27 0.969697
|
||||
f3v8s33 f3v0s25 0.984848
|
||||
f3v8s33 f3v3s28 0.969697
|
||||
f3v8s33 f3v13s38 0.955882
|
||||
f3v8s33 f3v7s32 0.954545
|
||||
f3v8s33 f3v1s26 0.954545
|
||||
f3v8s33 f3v6s31 0.954545
|
||||
f3v8s33 f3v11s36 0.939394
|
||||
f3v8s33 f3v4s29 0.941176
|
||||
f3v8s33 f3v12s37 0.955224
|
||||
f3v8s33 f3v14s39 0.984848
|
||||
f1v1s8 f1v14s21 0.916667
|
||||
f1v1s8 f1v5s12 0.900000
|
||||
f1v1s8 f1v4s11 0.933333
|
||||
f1v1s8 f1v9s16 0.916667
|
||||
f1v1s8 f1v10s17 0.900000
|
||||
f1v1s8 f1v0s7 0.933333
|
||||
f1v1s8 f1v7s14 0.933333
|
||||
f1v1s8 f1v3s10 0.933333
|
||||
f1v1s8 f1v13s20 0.900000
|
||||
f1v1s8 f1v11s18 0.916667
|
||||
f1v1s8 f1v12s19 0.916667
|
||||
f1v14s21 f1v5s12 0.883333
|
||||
f1v14s21 f1v4s11 0.948276
|
||||
f1v14s21 f1v9s16 0.900000
|
||||
f1v14s21 f1v10s17 0.883333
|
||||
f1v14s21 f1v0s7 0.948276
|
||||
f1v14s21 f1v7s14 0.948276
|
||||
f1v14s21 f1v3s10 0.948276
|
||||
f1v14s21 f1v13s20 0.946429
|
||||
f1v14s21 f1v11s18 0.931034
|
||||
f1v14s21 f1v12s19 0.929825
|
||||
f0v1s1 f2v0s22 0.971014
|
||||
f0v1s1 f1v2s9 1.000000
|
||||
f0v1s1 f0v5s5 0.971014
|
||||
f0v1s1 f0v6s6 0.927536
|
||||
f0v1s1 f0v2s2 0.971014
|
||||
f0v1s1 f0v3s3 0.942029
|
||||
f0v1s1 f0v0s0 0.985507
|
||||
f1v5s12 f1v4s11 0.933333
|
||||
f1v5s12 f1v9s16 0.916667
|
||||
f1v5s12 f1v10s17 0.916667
|
||||
f1v5s12 f1v0s7 0.933333
|
||||
f1v5s12 f1v7s14 0.933333
|
||||
f1v5s12 f1v3s10 0.933333
|
||||
f1v5s12 f1v13s20 0.900000
|
||||
f1v5s12 f1v11s18 0.916667
|
||||
f1v5s12 f1v12s19 0.916667
|
||||
f1v4s11 f1v9s16 0.950000
|
||||
f1v4s11 f1v10s17 0.933333
|
||||
f1v4s11 f1v0s7 1.000000
|
||||
f1v4s11 f1v7s14 1.000000
|
||||
f1v4s11 f1v3s10 1.000000
|
||||
f1v4s11 f1v13s20 0.965517
|
||||
f1v4s11 f1v11s18 0.982759
|
||||
f1v4s11 f1v12s19 0.965517
|
||||
f1v9s16 f1v10s17 0.916667
|
||||
f1v9s16 f1v0s7 0.950000
|
||||
f1v9s16 f1v7s14 0.950000
|
||||
f1v9s16 f1v3s10 0.950000
|
||||
f1v9s16 f1v13s20 0.916667
|
||||
f1v9s16 f1v11s18 0.933333
|
||||
f1v9s16 f1v12s19 0.916667
|
||||
f1v10s17 f1v0s7 0.933333
|
||||
f1v10s17 f1v7s14 0.933333
|
||||
f1v10s17 f1v3s10 0.933333
|
||||
f1v10s17 f1v13s20 0.900000
|
||||
f1v10s17 f1v11s18 0.916667
|
||||
f1v10s17 f1v12s19 0.916667
|
||||
f1v0s7 f1v7s14 1.000000
|
||||
f1v0s7 f1v3s10 1.000000
|
||||
f1v0s7 f1v13s20 0.965517
|
||||
f1v0s7 f1v11s18 0.982759
|
||||
f1v0s7 f1v12s19 0.965517
|
||||
f3v9s34 f3v2s27 0.969231
|
||||
f3v9s34 f3v0s25 0.969697
|
||||
f3v9s34 f3v3s28 0.954545
|
||||
f3v9s34 f3v13s38 0.941176
|
||||
f3v9s34 f3v7s32 1.000000
|
||||
f3v9s34 f3v1s26 0.953846
|
||||
f3v9s34 f3v6s31 1.000000
|
||||
f3v9s34 f3v11s36 0.938462
|
||||
f3v9s34 f3v4s29 0.926471
|
||||
f3v9s34 f3v12s37 0.940299
|
||||
f3v9s34 f3v14s39 0.969697
|
||||
f4v0s40 f4v1s41 0.983607
|
||||
f1v7s14 f1v3s10 1.000000
|
||||
f1v7s14 f1v13s20 0.965517
|
||||
f1v7s14 f1v11s18 0.982759
|
||||
f1v7s14 f1v12s19 0.965517
|
||||
f3v2s27 f3v0s25 0.984848
|
||||
f3v2s27 f3v3s28 0.969697
|
||||
f3v2s27 f3v13s38 0.955882
|
||||
f3v2s27 f3v7s32 0.969231
|
||||
f3v2s27 f3v1s26 0.969231
|
||||
f3v2s27 f3v6s31 0.969231
|
||||
f3v2s27 f3v11s36 0.953846
|
||||
f3v2s27 f3v4s29 0.941176
|
||||
f3v2s27 f3v12s37 0.955224
|
||||
f3v2s27 f3v14s39 0.984848
|
||||
f2v0s22 f1v2s9 0.971014
|
||||
f2v0s22 f0v5s5 0.971014
|
||||
f2v0s22 f0v6s6 0.927536
|
||||
f2v0s22 f0v2s2 1.000000
|
||||
f2v0s22 f0v3s3 0.942029
|
||||
f2v0s22 f0v0s0 0.985507
|
||||
f1v2s9 f0v5s5 0.971014
|
||||
f1v2s9 f0v6s6 0.927536
|
||||
f1v2s9 f0v2s2 0.971014
|
||||
f1v2s9 f0v3s3 0.942029
|
||||
f1v2s9 f0v0s0 0.985507
|
||||
f1v3s10 f1v13s20 0.965517
|
||||
f1v3s10 f1v11s18 0.982759
|
||||
f1v3s10 f1v12s19 0.965517
|
||||
f3v0s25 f3v3s28 0.984848
|
||||
f3v0s25 f3v13s38 0.970588
|
||||
f3v0s25 f3v7s32 0.969697
|
||||
f3v0s25 f3v1s26 0.969697
|
||||
f3v0s25 f3v6s31 0.969697
|
||||
f3v0s25 f3v11s36 0.954545
|
||||
f3v0s25 f3v4s29 0.955882
|
||||
f3v0s25 f3v12s37 0.970149
|
||||
f3v0s25 f3v14s39 1.000000
|
||||
f3v3s28 f3v13s38 0.955882
|
||||
f3v3s28 f3v7s32 0.954545
|
||||
f3v3s28 f3v1s26 0.954545
|
||||
f3v3s28 f3v6s31 0.954545
|
||||
f3v3s28 f3v11s36 0.939394
|
||||
f3v3s28 f3v4s29 0.941176
|
||||
f3v3s28 f3v12s37 0.955224
|
||||
f3v3s28 f3v14s39 0.984848
|
||||
f3v13s38 f3v7s32 0.941176
|
||||
f3v13s38 f3v1s26 0.941176
|
||||
f3v13s38 f3v6s31 0.941176
|
||||
f3v13s38 f3v11s36 0.926471
|
||||
f3v13s38 f3v4s29 0.955882
|
||||
f3v13s38 f3v12s37 0.955882
|
||||
f3v13s38 f3v14s39 0.970588
|
||||
f3v7s32 f3v1s26 0.953846
|
||||
f3v7s32 f3v6s31 1.000000
|
||||
f3v7s32 f3v11s36 0.938462
|
||||
f3v7s32 f3v4s29 0.926471
|
||||
f3v7s32 f3v12s37 0.940299
|
||||
f3v7s32 f3v14s39 0.969697
|
||||
f3v1s26 f3v6s31 0.953846
|
||||
f3v1s26 f3v11s36 0.938462
|
||||
f3v1s26 f3v4s29 0.926471
|
||||
f3v1s26 f3v12s37 0.940299
|
||||
f3v1s26 f3v14s39 0.969697
|
||||
f3v6s31 f3v11s36 0.938462
|
||||
f3v6s31 f3v4s29 0.926471
|
||||
f3v6s31 f3v12s37 0.940299
|
||||
f3v6s31 f3v14s39 0.969697
|
||||
f1v13s20 f1v11s18 0.948276
|
||||
f1v13s20 f1v12s19 0.947368
|
||||
f3v11s36 f3v4s29 0.911765
|
||||
f3v11s36 f3v12s37 0.925373
|
||||
f3v11s36 f3v14s39 0.954545
|
||||
f0v5s5 f0v6s6 0.927536
|
||||
f0v5s5 f0v2s2 0.971014
|
||||
f0v5s5 f0v3s3 0.942029
|
||||
f0v5s5 f0v0s0 0.985507
|
||||
f1v11s18 f1v12s19 0.948276
|
||||
f0v6s6 f0v2s2 0.927536
|
||||
f0v6s6 f0v3s3 0.898551
|
||||
f0v6s6 f0v0s0 0.942029
|
||||
f3v4s29 f3v12s37 0.941176
|
||||
f3v4s29 f3v14s39 0.955882
|
||||
f0v2s2 f0v3s3 0.942029
|
||||
f0v2s2 f0v0s0 0.985507
|
||||
f3v12s37 f3v14s39 0.970149
|
||||
f0v3s3 f0v0s0 0.956522
|
||||
+249
@@ -0,0 +1,249 @@
|
||||
f3v10s35 f3v5s30 0.865672
|
||||
f3v10s35 f3v8s33 0.910448
|
||||
f3v10s35 f3v9s34 0.910448
|
||||
f3v10s35 f3v2s27 0.910448
|
||||
f3v10s35 f3v0s25 0.925373
|
||||
f3v10s35 f3v3s28 0.897059
|
||||
f3v10s35 f3v13s38 0.898551
|
||||
f3v10s35 f3v7s32 0.910448
|
||||
f3v10s35 f3v1s26 0.910448
|
||||
f3v10s35 f3v6s31 0.910448
|
||||
f3v10s35 f3v11s36 0.867647
|
||||
f3v10s35 f3v4s29 0.884058
|
||||
f3v10s35 f3v12s37 0.897059
|
||||
f3v10s35 f3v14s39 0.925373
|
||||
f3v5s30 f3v8s33 0.924242
|
||||
f3v5s30 f3v9s34 0.909091
|
||||
f3v5s30 f3v2s27 0.924242
|
||||
f3v5s30 f3v0s25 0.939394
|
||||
f3v5s30 f3v3s28 0.910448
|
||||
f3v5s30 f3v13s38 0.911765
|
||||
f3v5s30 f3v7s32 0.909091
|
||||
f3v5s30 f3v1s26 0.910448
|
||||
f3v5s30 f3v6s31 0.909091
|
||||
f3v5s30 f3v11s36 0.893939
|
||||
f3v5s30 f3v4s29 0.897059
|
||||
f3v5s30 f3v12s37 0.910448
|
||||
f3v5s30 f3v14s39 0.939394
|
||||
f1v8s15 f2v1s23 0.982759
|
||||
f1v8s15 f1v6s13 0.947368
|
||||
f1v8s15 f1v1s8 0.916667
|
||||
f1v8s15 f1v14s21 0.931034
|
||||
f1v8s15 f1v5s12 0.916667
|
||||
f1v8s15 f1v4s11 0.982759
|
||||
f1v8s15 f1v9s16 0.933333
|
||||
f1v8s15 f1v10s17 0.916667
|
||||
f1v8s15 f1v0s7 0.982759
|
||||
f1v8s15 f1v7s14 0.982759
|
||||
f1v8s15 f1v3s10 0.982759
|
||||
f1v8s15 f1v13s20 0.948276
|
||||
f1v8s15 f1v11s18 0.965517
|
||||
f1v8s15 f1v12s19 0.948276
|
||||
f2v1s23 f1v6s13 0.931034
|
||||
f2v1s23 f1v1s8 0.933333
|
||||
f2v1s23 f1v14s21 0.948276
|
||||
f2v1s23 f1v5s12 0.933333
|
||||
f2v1s23 f1v4s11 1.000000
|
||||
f2v1s23 f1v9s16 0.950000
|
||||
f2v1s23 f1v10s17 0.933333
|
||||
f2v1s23 f1v0s7 1.000000
|
||||
f2v1s23 f1v7s14 1.000000
|
||||
f2v1s23 f1v3s10 1.000000
|
||||
f2v1s23 f1v13s20 0.965517
|
||||
f2v1s23 f1v11s18 0.982759
|
||||
f2v1s23 f1v12s19 0.965517
|
||||
f4v2s42 f4v0s40 0.967213
|
||||
f4v2s42 f4v1s41 0.951613
|
||||
f0v4s4 f0v1s1 1.000000
|
||||
f0v4s4 f2v0s22 0.943662
|
||||
f0v4s4 f1v2s9 1.000000
|
||||
f0v4s4 f0v5s5 0.943662
|
||||
f0v4s4 f0v6s6 0.901408
|
||||
f0v4s4 f0v2s2 0.943662
|
||||
f0v4s4 f0v3s3 0.915493
|
||||
f0v4s4 f0v0s0 0.971429
|
||||
f1v6s13 f1v1s8 0.866667
|
||||
f1v6s13 f1v14s21 0.879310
|
||||
f1v6s13 f1v5s12 0.866667
|
||||
f1v6s13 f1v4s11 0.931034
|
||||
f1v6s13 f1v9s16 0.883333
|
||||
f1v6s13 f1v10s17 0.883333
|
||||
f1v6s13 f1v0s7 0.931034
|
||||
f1v6s13 f1v7s14 0.931034
|
||||
f1v6s13 f1v3s10 0.931034
|
||||
f1v6s13 f1v13s20 0.896552
|
||||
f1v6s13 f1v11s18 0.913793
|
||||
f1v6s13 f1v12s19 0.896552
|
||||
f3v8s33 f3v9s34 0.954545
|
||||
f3v8s33 f3v2s27 0.969697
|
||||
f3v8s33 f3v0s25 0.984848
|
||||
f3v8s33 f3v3s28 0.955224
|
||||
f3v8s33 f3v13s38 0.955882
|
||||
f3v8s33 f3v7s32 0.954545
|
||||
f3v8s33 f3v1s26 0.954545
|
||||
f3v8s33 f3v6s31 0.954545
|
||||
f3v8s33 f3v11s36 0.925373
|
||||
f3v8s33 f3v4s29 0.941176
|
||||
f3v8s33 f3v12s37 0.955224
|
||||
f3v8s33 f3v14s39 0.984848
|
||||
f1v1s8 f1v14s21 0.916667
|
||||
f1v1s8 f1v5s12 0.870968
|
||||
f1v1s8 f1v4s11 0.933333
|
||||
f1v1s8 f1v9s16 0.887097
|
||||
f1v1s8 f1v10s17 0.870968
|
||||
f1v1s8 f1v0s7 0.933333
|
||||
f1v1s8 f1v7s14 0.933333
|
||||
f1v1s8 f1v3s10 0.933333
|
||||
f1v1s8 f1v13s20 0.900000
|
||||
f1v1s8 f1v11s18 0.916667
|
||||
f1v1s8 f1v12s19 0.916667
|
||||
f1v14s21 f1v5s12 0.883333
|
||||
f1v14s21 f1v4s11 0.948276
|
||||
f1v14s21 f1v9s16 0.900000
|
||||
f1v14s21 f1v10s17 0.883333
|
||||
f1v14s21 f1v0s7 0.948276
|
||||
f1v14s21 f1v7s14 0.948276
|
||||
f1v14s21 f1v3s10 0.948276
|
||||
f1v14s21 f1v13s20 0.913793
|
||||
f1v14s21 f1v11s18 0.931034
|
||||
f1v14s21 f1v12s19 0.913793
|
||||
f0v1s1 f2v0s22 0.943662
|
||||
f0v1s1 f1v2s9 1.000000
|
||||
f0v1s1 f0v5s5 0.943662
|
||||
f0v1s1 f0v6s6 0.901408
|
||||
f0v1s1 f0v2s2 0.943662
|
||||
f0v1s1 f0v3s3 0.915493
|
||||
f0v1s1 f0v0s0 0.971429
|
||||
f1v5s12 f1v4s11 0.933333
|
||||
f1v5s12 f1v9s16 0.887097
|
||||
f1v5s12 f1v10s17 0.887097
|
||||
f1v5s12 f1v0s7 0.933333
|
||||
f1v5s12 f1v7s14 0.933333
|
||||
f1v5s12 f1v3s10 0.933333
|
||||
f1v5s12 f1v13s20 0.900000
|
||||
f1v5s12 f1v11s18 0.916667
|
||||
f1v5s12 f1v12s19 0.916667
|
||||
f1v4s11 f1v9s16 0.950000
|
||||
f1v4s11 f1v10s17 0.933333
|
||||
f1v4s11 f1v0s7 1.000000
|
||||
f1v4s11 f1v7s14 1.000000
|
||||
f1v4s11 f1v3s10 1.000000
|
||||
f1v4s11 f1v13s20 0.965517
|
||||
f1v4s11 f1v11s18 0.982759
|
||||
f1v4s11 f1v12s19 0.965517
|
||||
f1v9s16 f1v10s17 0.887097
|
||||
f1v9s16 f1v0s7 0.950000
|
||||
f1v9s16 f1v7s14 0.950000
|
||||
f1v9s16 f1v3s10 0.950000
|
||||
f1v9s16 f1v13s20 0.916667
|
||||
f1v9s16 f1v11s18 0.933333
|
||||
f1v9s16 f1v12s19 0.916667
|
||||
f1v10s17 f1v0s7 0.933333
|
||||
f1v10s17 f1v7s14 0.933333
|
||||
f1v10s17 f1v3s10 0.933333
|
||||
f1v10s17 f1v13s20 0.900000
|
||||
f1v10s17 f1v11s18 0.916667
|
||||
f1v10s17 f1v12s19 0.916667
|
||||
f1v0s7 f1v7s14 1.000000
|
||||
f1v0s7 f1v3s10 1.000000
|
||||
f1v0s7 f1v13s20 0.965517
|
||||
f1v0s7 f1v11s18 0.982759
|
||||
f1v0s7 f1v12s19 0.965517
|
||||
f3v9s34 f3v2s27 0.954545
|
||||
f3v9s34 f3v0s25 0.969697
|
||||
f3v9s34 f3v3s28 0.940299
|
||||
f3v9s34 f3v13s38 0.941176
|
||||
f3v9s34 f3v7s32 1.000000
|
||||
f3v9s34 f3v1s26 0.939394
|
||||
f3v9s34 f3v6s31 1.000000
|
||||
f3v9s34 f3v11s36 0.910448
|
||||
f3v9s34 f3v4s29 0.926471
|
||||
f3v9s34 f3v12s37 0.940299
|
||||
f3v9s34 f3v14s39 0.969697
|
||||
f4v0s40 f4v1s41 0.983607
|
||||
f1v7s14 f1v3s10 1.000000
|
||||
f1v7s14 f1v13s20 0.965517
|
||||
f1v7s14 f1v11s18 0.982759
|
||||
f1v7s14 f1v12s19 0.965517
|
||||
f3v2s27 f3v0s25 0.984848
|
||||
f3v2s27 f3v3s28 0.955224
|
||||
f3v2s27 f3v13s38 0.955882
|
||||
f3v2s27 f3v7s32 0.954545
|
||||
f3v2s27 f3v1s26 0.969231
|
||||
f3v2s27 f3v6s31 0.954545
|
||||
f3v2s27 f3v11s36 0.925373
|
||||
f3v2s27 f3v4s29 0.941176
|
||||
f3v2s27 f3v12s37 0.955224
|
||||
f3v2s27 f3v14s39 0.984848
|
||||
f2v0s22 f1v2s9 0.943662
|
||||
f2v0s22 f0v5s5 0.943662
|
||||
f2v0s22 f0v6s6 0.901408
|
||||
f2v0s22 f0v2s2 1.000000
|
||||
f2v0s22 f0v3s3 0.915493
|
||||
f2v0s22 f0v0s0 0.971429
|
||||
f1v2s9 f0v5s5 0.943662
|
||||
f1v2s9 f0v6s6 0.901408
|
||||
f1v2s9 f0v2s2 0.943662
|
||||
f1v2s9 f0v3s3 0.915493
|
||||
f1v2s9 f0v0s0 0.971429
|
||||
f1v3s10 f1v13s20 0.965517
|
||||
f1v3s10 f1v11s18 0.982759
|
||||
f1v3s10 f1v12s19 0.965517
|
||||
f3v0s25 f3v3s28 0.970149
|
||||
f3v0s25 f3v13s38 0.970588
|
||||
f3v0s25 f3v7s32 0.969697
|
||||
f3v0s25 f3v1s26 0.969697
|
||||
f3v0s25 f3v6s31 0.969697
|
||||
f3v0s25 f3v11s36 0.940299
|
||||
f3v0s25 f3v4s29 0.955882
|
||||
f3v0s25 f3v12s37 0.970149
|
||||
f3v0s25 f3v14s39 1.000000
|
||||
f3v3s28 f3v13s38 0.955882
|
||||
f3v3s28 f3v7s32 0.940299
|
||||
f3v3s28 f3v1s26 0.940299
|
||||
f3v3s28 f3v6s31 0.940299
|
||||
f3v3s28 f3v11s36 0.911765
|
||||
f3v3s28 f3v4s29 0.941176
|
||||
f3v3s28 f3v12s37 0.941176
|
||||
f3v3s28 f3v14s39 0.970149
|
||||
f3v13s38 f3v7s32 0.941176
|
||||
f3v13s38 f3v1s26 0.941176
|
||||
f3v13s38 f3v6s31 0.941176
|
||||
f3v13s38 f3v11s36 0.913043
|
||||
f3v13s38 f3v4s29 0.942029
|
||||
f3v13s38 f3v12s37 0.942029
|
||||
f3v13s38 f3v14s39 0.970588
|
||||
f3v7s32 f3v1s26 0.939394
|
||||
f3v7s32 f3v6s31 1.000000
|
||||
f3v7s32 f3v11s36 0.910448
|
||||
f3v7s32 f3v4s29 0.926471
|
||||
f3v7s32 f3v12s37 0.940299
|
||||
f3v7s32 f3v14s39 0.969697
|
||||
f3v1s26 f3v6s31 0.939394
|
||||
f3v1s26 f3v11s36 0.910448
|
||||
f3v1s26 f3v4s29 0.926471
|
||||
f3v1s26 f3v12s37 0.940299
|
||||
f3v1s26 f3v14s39 0.969697
|
||||
f3v6s31 f3v11s36 0.910448
|
||||
f3v6s31 f3v4s29 0.926471
|
||||
f3v6s31 f3v12s37 0.940299
|
||||
f3v6s31 f3v14s39 0.969697
|
||||
f1v13s20 f1v11s18 0.948276
|
||||
f1v13s20 f1v12s19 0.931034
|
||||
f3v11s36 f3v4s29 0.898551
|
||||
f3v11s36 f3v12s37 0.911765
|
||||
f3v11s36 f3v14s39 0.940299
|
||||
f0v5s5 f0v6s6 0.901408
|
||||
f0v5s5 f0v2s2 0.943662
|
||||
f0v5s5 f0v3s3 0.915493
|
||||
f0v5s5 f0v0s0 0.971429
|
||||
f1v11s18 f1v12s19 0.948276
|
||||
f0v6s6 f0v2s2 0.901408
|
||||
f0v6s6 f0v3s3 0.873239
|
||||
f0v6s6 f0v0s0 0.928571
|
||||
f3v4s29 f3v12s37 0.927536
|
||||
f3v4s29 f3v14s39 0.955882
|
||||
f0v2s2 f0v3s3 0.915493
|
||||
f0v2s2 f0v0s0 0.971429
|
||||
f3v12s37 f3v14s39 0.970149
|
||||
f0v3s3 f0v0s0 0.942857
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
f3v5s30 f3v0s25 4.000000
|
||||
f3v5s30 f3v14s39 4.000000
|
||||
f1v8s15 f2v1s23 1.000000
|
||||
f1v8s15 f1v6s13 3.000000
|
||||
f1v8s15 f1v14s21 4.000000
|
||||
f1v8s15 f1v4s11 1.000000
|
||||
f1v8s15 f1v9s16 4.000000
|
||||
f1v8s15 f1v0s7 1.000000
|
||||
f1v8s15 f1v7s14 1.000000
|
||||
f1v8s15 f1v3s10 1.000000
|
||||
f1v8s15 f1v13s20 3.000000
|
||||
f1v8s15 f1v11s18 2.000000
|
||||
f1v8s15 f1v12s19 3.000000
|
||||
f2v1s23 f1v6s13 4.000000
|
||||
f2v1s23 f1v1s8 4.000000
|
||||
f2v1s23 f1v14s21 3.000000
|
||||
f2v1s23 f1v5s12 4.000000
|
||||
f2v1s23 f1v4s11 0.000000
|
||||
f2v1s23 f1v9s16 3.000000
|
||||
f2v1s23 f1v10s17 4.000000
|
||||
f2v1s23 f1v0s7 0.000000
|
||||
f2v1s23 f1v7s14 0.000000
|
||||
f2v1s23 f1v3s10 0.000000
|
||||
f2v1s23 f1v13s20 2.000000
|
||||
f2v1s23 f1v11s18 1.000000
|
||||
f2v1s23 f1v12s19 2.000000
|
||||
f4v2s42 f4v0s40 2.000000
|
||||
f4v2s42 f4v1s41 3.000000
|
||||
f0v4s4 f0v1s1 0.000000
|
||||
f0v4s4 f2v0s22 4.000000
|
||||
f0v4s4 f1v2s9 0.000000
|
||||
f0v4s4 f0v5s5 4.000000
|
||||
f0v4s4 f0v2s2 4.000000
|
||||
f0v4s4 f0v0s0 2.000000
|
||||
f1v6s13 f1v4s11 4.000000
|
||||
f1v6s13 f1v0s7 4.000000
|
||||
f1v6s13 f1v7s14 4.000000
|
||||
f1v6s13 f1v3s10 4.000000
|
||||
f3v8s33 f3v9s34 3.000000
|
||||
f3v8s33 f3v2s27 2.000000
|
||||
f3v8s33 f3v0s25 1.000000
|
||||
f3v8s33 f3v3s28 3.000000
|
||||
f3v8s33 f3v13s38 3.000000
|
||||
f3v8s33 f3v7s32 3.000000
|
||||
f3v8s33 f3v1s26 3.000000
|
||||
f3v8s33 f3v6s31 3.000000
|
||||
f3v8s33 f3v4s29 4.000000
|
||||
f3v8s33 f3v12s37 3.000000
|
||||
f3v8s33 f3v14s39 1.000000
|
||||
f1v1s8 f1v4s11 4.000000
|
||||
f1v1s8 f1v0s7 4.000000
|
||||
f1v1s8 f1v7s14 4.000000
|
||||
f1v1s8 f1v3s10 4.000000
|
||||
f1v14s21 f1v4s11 3.000000
|
||||
f1v14s21 f1v0s7 3.000000
|
||||
f1v14s21 f1v7s14 3.000000
|
||||
f1v14s21 f1v3s10 3.000000
|
||||
f1v14s21 f1v11s18 4.000000
|
||||
f0v1s1 f2v0s22 4.000000
|
||||
f0v1s1 f1v2s9 0.000000
|
||||
f0v1s1 f0v5s5 4.000000
|
||||
f0v1s1 f0v2s2 4.000000
|
||||
f0v1s1 f0v0s0 2.000000
|
||||
f1v5s12 f1v4s11 4.000000
|
||||
f1v5s12 f1v0s7 4.000000
|
||||
f1v5s12 f1v7s14 4.000000
|
||||
f1v5s12 f1v3s10 4.000000
|
||||
f1v4s11 f1v9s16 3.000000
|
||||
f1v4s11 f1v10s17 4.000000
|
||||
f1v4s11 f1v0s7 0.000000
|
||||
f1v4s11 f1v7s14 0.000000
|
||||
f1v4s11 f1v3s10 0.000000
|
||||
f1v4s11 f1v13s20 2.000000
|
||||
f1v4s11 f1v11s18 1.000000
|
||||
f1v4s11 f1v12s19 2.000000
|
||||
f1v9s16 f1v0s7 3.000000
|
||||
f1v9s16 f1v7s14 3.000000
|
||||
f1v9s16 f1v3s10 3.000000
|
||||
f1v9s16 f1v11s18 4.000000
|
||||
f1v10s17 f1v0s7 4.000000
|
||||
f1v10s17 f1v7s14 4.000000
|
||||
f1v10s17 f1v3s10 4.000000
|
||||
f1v0s7 f1v7s14 0.000000
|
||||
f1v0s7 f1v3s10 0.000000
|
||||
f1v0s7 f1v13s20 2.000000
|
||||
f1v0s7 f1v11s18 1.000000
|
||||
f1v0s7 f1v12s19 2.000000
|
||||
f3v9s34 f3v2s27 3.000000
|
||||
f3v9s34 f3v0s25 2.000000
|
||||
f3v9s34 f3v3s28 4.000000
|
||||
f3v9s34 f3v13s38 4.000000
|
||||
f3v9s34 f3v7s32 0.000000
|
||||
f3v9s34 f3v1s26 4.000000
|
||||
f3v9s34 f3v6s31 0.000000
|
||||
f3v9s34 f3v12s37 4.000000
|
||||
f3v9s34 f3v14s39 2.000000
|
||||
f4v0s40 f4v1s41 1.000000
|
||||
f1v7s14 f1v3s10 0.000000
|
||||
f1v7s14 f1v13s20 2.000000
|
||||
f1v7s14 f1v11s18 1.000000
|
||||
f1v7s14 f1v12s19 2.000000
|
||||
f3v2s27 f3v0s25 1.000000
|
||||
f3v2s27 f3v3s28 3.000000
|
||||
f3v2s27 f3v13s38 3.000000
|
||||
f3v2s27 f3v7s32 3.000000
|
||||
f3v2s27 f3v1s26 2.000000
|
||||
f3v2s27 f3v6s31 3.000000
|
||||
f3v2s27 f3v4s29 4.000000
|
||||
f3v2s27 f3v12s37 3.000000
|
||||
f3v2s27 f3v14s39 1.000000
|
||||
f2v0s22 f1v2s9 4.000000
|
||||
f2v0s22 f0v5s5 4.000000
|
||||
f2v0s22 f0v2s2 0.000000
|
||||
f2v0s22 f0v0s0 2.000000
|
||||
f1v2s9 f0v5s5 4.000000
|
||||
f1v2s9 f0v2s2 4.000000
|
||||
f1v2s9 f0v0s0 2.000000
|
||||
f1v3s10 f1v13s20 2.000000
|
||||
f1v3s10 f1v11s18 1.000000
|
||||
f1v3s10 f1v12s19 2.000000
|
||||
f3v0s25 f3v3s28 2.000000
|
||||
f3v0s25 f3v13s38 2.000000
|
||||
f3v0s25 f3v7s32 2.000000
|
||||
f3v0s25 f3v1s26 2.000000
|
||||
f3v0s25 f3v6s31 2.000000
|
||||
f3v0s25 f3v11s36 4.000000
|
||||
f3v0s25 f3v4s29 3.000000
|
||||
f3v0s25 f3v12s37 2.000000
|
||||
f3v0s25 f3v14s39 0.000000
|
||||
f3v3s28 f3v13s38 3.000000
|
||||
f3v3s28 f3v7s32 4.000000
|
||||
f3v3s28 f3v1s26 4.000000
|
||||
f3v3s28 f3v6s31 4.000000
|
||||
f3v3s28 f3v4s29 4.000000
|
||||
f3v3s28 f3v12s37 4.000000
|
||||
f3v3s28 f3v14s39 2.000000
|
||||
f3v13s38 f3v7s32 4.000000
|
||||
f3v13s38 f3v1s26 4.000000
|
||||
f3v13s38 f3v6s31 4.000000
|
||||
f3v13s38 f3v4s29 4.000000
|
||||
f3v13s38 f3v12s37 4.000000
|
||||
f3v13s38 f3v14s39 2.000000
|
||||
f3v7s32 f3v1s26 4.000000
|
||||
f3v7s32 f3v6s31 0.000000
|
||||
f3v7s32 f3v12s37 4.000000
|
||||
f3v7s32 f3v14s39 2.000000
|
||||
f3v1s26 f3v6s31 4.000000
|
||||
f3v1s26 f3v12s37 4.000000
|
||||
f3v1s26 f3v14s39 2.000000
|
||||
f3v6s31 f3v12s37 4.000000
|
||||
f3v6s31 f3v14s39 2.000000
|
||||
f1v13s20 f1v11s18 3.000000
|
||||
f1v13s20 f1v12s19 4.000000
|
||||
f3v11s36 f3v14s39 4.000000
|
||||
f0v5s5 f0v2s2 4.000000
|
||||
f0v5s5 f0v0s0 2.000000
|
||||
f1v11s18 f1v12s19 3.000000
|
||||
f3v4s29 f3v14s39 3.000000
|
||||
f0v2s2 f0v0s0 2.000000
|
||||
f3v12s37 f3v14s39 2.000000
|
||||
f0v3s3 f0v0s0 4.000000
|
||||
+454
@@ -0,0 +1,454 @@
|
||||
f3v10s35 f3v5s30 58.000000
|
||||
f3v10s35 f0v4s4 40.000000
|
||||
f3v10s35 f3v8s33 61.000000
|
||||
f3v10s35 f0v1s1 40.000000
|
||||
f3v10s35 f3v9s34 61.000000
|
||||
f3v10s35 f3v2s27 61.000000
|
||||
f3v10s35 f2v0s22 40.000000
|
||||
f3v10s35 f1v2s9 40.000000
|
||||
f3v10s35 f3v0s25 62.000000
|
||||
f3v10s35 f3v3s28 61.000000
|
||||
f3v10s35 f3v13s38 62.000000
|
||||
f3v10s35 f3v7s32 61.000000
|
||||
f3v10s35 f3v1s26 61.000000
|
||||
f3v10s35 f3v6s31 61.000000
|
||||
f3v10s35 f3v11s36 59.000000
|
||||
f3v10s35 f3v4s29 61.000000
|
||||
f3v10s35 f0v2s2 40.000000
|
||||
f3v10s35 f3v12s37 61.000000
|
||||
f3v10s35 f0v3s3 40.000000
|
||||
f3v10s35 f3v14s39 62.000000
|
||||
f3v10s35 f0v0s0 40.000000
|
||||
f3v5s30 f3v8s33 61.000000
|
||||
f3v5s30 f3v9s34 60.000000
|
||||
f3v5s30 f3v2s27 61.000000
|
||||
f3v5s30 f2v0s22 40.000000
|
||||
f3v5s30 f3v0s25 62.000000
|
||||
f3v5s30 f3v3s28 61.000000
|
||||
f3v5s30 f3v13s38 62.000000
|
||||
f3v5s30 f3v7s32 60.000000
|
||||
f3v5s30 f3v1s26 61.000000
|
||||
f3v5s30 f3v6s31 60.000000
|
||||
f3v5s30 f3v11s36 59.000000
|
||||
f3v5s30 f0v6s6 41.000000
|
||||
f3v5s30 f3v4s29 61.000000
|
||||
f3v5s30 f0v2s2 40.000000
|
||||
f3v5s30 f3v12s37 61.000000
|
||||
f3v5s30 f0v3s3 40.000000
|
||||
f3v5s30 f3v14s39 62.000000
|
||||
f3v5s30 f0v0s0 40.000000
|
||||
f1v8s15 f2v1s23 57.000000
|
||||
f1v8s15 f1v6s13 54.000000
|
||||
f1v8s15 f1v1s8 55.000000
|
||||
f1v8s15 f1v14s21 54.000000
|
||||
f1v8s15 f1v5s12 55.000000
|
||||
f1v8s15 f1v4s11 57.000000
|
||||
f1v8s15 f1v9s16 56.000000
|
||||
f1v8s15 f1v10s17 55.000000
|
||||
f1v8s15 f1v0s7 57.000000
|
||||
f1v8s15 f3v9s34 40.000000
|
||||
f1v8s15 f1v7s14 57.000000
|
||||
f1v8s15 f1v3s10 57.000000
|
||||
f1v8s15 f3v13s38 40.000000
|
||||
f1v8s15 f3v7s32 40.000000
|
||||
f1v8s15 f3v6s31 40.000000
|
||||
f1v8s15 f1v13s20 55.000000
|
||||
f1v8s15 f1v11s18 56.000000
|
||||
f1v8s15 f3v4s29 40.000000
|
||||
f1v8s15 f3v12s37 40.000000
|
||||
f1v8s15 f1v12s19 55.000000
|
||||
f2v1s23 f1v6s13 54.000000
|
||||
f2v1s23 f1v1s8 56.000000
|
||||
f2v1s23 f1v14s21 55.000000
|
||||
f2v1s23 f1v5s12 56.000000
|
||||
f2v1s23 f1v4s11 58.000000
|
||||
f2v1s23 f1v9s16 57.000000
|
||||
f2v1s23 f1v10s17 56.000000
|
||||
f2v1s23 f1v0s7 58.000000
|
||||
f2v1s23 f3v9s34 40.000000
|
||||
f2v1s23 f1v7s14 58.000000
|
||||
f2v1s23 f1v3s10 58.000000
|
||||
f2v1s23 f3v13s38 40.000000
|
||||
f2v1s23 f3v7s32 40.000000
|
||||
f2v1s23 f3v6s31 40.000000
|
||||
f2v1s23 f1v13s20 56.000000
|
||||
f2v1s23 f1v11s18 57.000000
|
||||
f2v1s23 f3v4s29 40.000000
|
||||
f2v1s23 f3v12s37 40.000000
|
||||
f2v1s23 f1v12s19 56.000000
|
||||
f4v2s42 f4v0s40 59.000000
|
||||
f4v2s42 f4v1s41 59.000000
|
||||
f4v2s42 f2v0s22 41.000000
|
||||
f4v2s42 f0v5s5 40.000000
|
||||
f4v2s42 f0v6s6 41.000000
|
||||
f4v2s42 f0v2s2 41.000000
|
||||
f4v2s42 f0v0s0 40.000000
|
||||
f0v4s4 f3v8s33 41.000000
|
||||
f0v4s4 f0v1s1 69.000000
|
||||
f0v4s4 f3v9s34 40.000000
|
||||
f0v4s4 f3v2s27 40.000000
|
||||
f0v4s4 f2v0s22 67.000000
|
||||
f0v4s4 f1v2s9 69.000000
|
||||
f0v4s4 f3v0s25 40.000000
|
||||
f0v4s4 f3v3s28 40.000000
|
||||
f0v4s4 f3v13s38 40.000000
|
||||
f0v4s4 f3v7s32 40.000000
|
||||
f0v4s4 f3v6s31 40.000000
|
||||
f0v4s4 f0v5s5 67.000000
|
||||
f0v4s4 f0v6s6 64.000000
|
||||
f0v4s4 f3v4s29 42.000000
|
||||
f0v4s4 f0v2s2 67.000000
|
||||
f0v4s4 f3v12s37 40.000000
|
||||
f0v4s4 f0v3s3 65.000000
|
||||
f0v4s4 f3v14s39 40.000000
|
||||
f0v4s4 f0v0s0 68.000000
|
||||
f1v6s13 f1v1s8 52.000000
|
||||
f1v6s13 f1v14s21 51.000000
|
||||
f1v6s13 f1v5s12 52.000000
|
||||
f1v6s13 f1v4s11 54.000000
|
||||
f1v6s13 f1v9s16 53.000000
|
||||
f1v6s13 f1v10s17 53.000000
|
||||
f1v6s13 f1v0s7 54.000000
|
||||
f1v6s13 f1v7s14 54.000000
|
||||
f1v6s13 f1v3s10 54.000000
|
||||
f1v6s13 f1v13s20 52.000000
|
||||
f1v6s13 f1v11s18 53.000000
|
||||
f1v6s13 f3v4s29 40.000000
|
||||
f1v6s13 f3v12s37 40.000000
|
||||
f1v6s13 f1v12s19 52.000000
|
||||
f3v8s33 f1v1s8 40.000000
|
||||
f3v8s33 f0v1s1 41.000000
|
||||
f3v8s33 f1v10s17 40.000000
|
||||
f3v8s33 f3v9s34 63.000000
|
||||
f3v8s33 f3v2s27 64.000000
|
||||
f3v8s33 f2v0s22 42.000000
|
||||
f3v8s33 f1v2s9 41.000000
|
||||
f3v8s33 f3v0s25 65.000000
|
||||
f3v8s33 f3v3s28 64.000000
|
||||
f3v8s33 f3v13s38 65.000000
|
||||
f3v8s33 f3v7s32 63.000000
|
||||
f3v8s33 f3v1s26 63.000000
|
||||
f3v8s33 f3v6s31 63.000000
|
||||
f3v8s33 f3v11s36 62.000000
|
||||
f3v8s33 f0v5s5 41.000000
|
||||
f3v8s33 f0v6s6 41.000000
|
||||
f3v8s33 f3v4s29 64.000000
|
||||
f3v8s33 f0v2s2 42.000000
|
||||
f3v8s33 f3v12s37 64.000000
|
||||
f3v8s33 f0v3s3 41.000000
|
||||
f3v8s33 f3v14s39 65.000000
|
||||
f3v8s33 f0v0s0 42.000000
|
||||
f1v1s8 f1v14s21 55.000000
|
||||
f1v1s8 f1v5s12 54.000000
|
||||
f1v1s8 f1v4s11 56.000000
|
||||
f1v1s8 f1v9s16 55.000000
|
||||
f1v1s8 f1v10s17 54.000000
|
||||
f1v1s8 f1v0s7 56.000000
|
||||
f1v1s8 f3v9s34 41.000000
|
||||
f1v1s8 f1v7s14 56.000000
|
||||
f1v1s8 f3v2s27 40.000000
|
||||
f1v1s8 f1v3s10 56.000000
|
||||
f1v1s8 f3v0s25 40.000000
|
||||
f1v1s8 f3v3s28 40.000000
|
||||
f1v1s8 f3v13s38 41.000000
|
||||
f1v1s8 f3v7s32 41.000000
|
||||
f1v1s8 f3v1s26 40.000000
|
||||
f1v1s8 f3v6s31 41.000000
|
||||
f1v1s8 f1v13s20 54.000000
|
||||
f1v1s8 f1v11s18 55.000000
|
||||
f1v1s8 f3v4s29 41.000000
|
||||
f1v1s8 f3v12s37 41.000000
|
||||
f1v1s8 f3v14s39 40.000000
|
||||
f1v1s8 f1v12s19 55.000000
|
||||
f1v14s21 f1v5s12 53.000000
|
||||
f1v14s21 f1v4s11 55.000000
|
||||
f1v14s21 f1v9s16 54.000000
|
||||
f1v14s21 f1v10s17 53.000000
|
||||
f1v14s21 f1v0s7 55.000000
|
||||
f1v14s21 f1v7s14 55.000000
|
||||
f1v14s21 f1v3s10 55.000000
|
||||
f1v14s21 f1v13s20 53.000000
|
||||
f1v14s21 f1v11s18 54.000000
|
||||
f1v14s21 f1v12s19 53.000000
|
||||
f0v1s1 f3v9s34 40.000000
|
||||
f0v1s1 f3v2s27 40.000000
|
||||
f0v1s1 f2v0s22 67.000000
|
||||
f0v1s1 f1v2s9 69.000000
|
||||
f0v1s1 f3v0s25 40.000000
|
||||
f0v1s1 f3v3s28 40.000000
|
||||
f0v1s1 f3v13s38 40.000000
|
||||
f0v1s1 f3v7s32 40.000000
|
||||
f0v1s1 f3v6s31 40.000000
|
||||
f0v1s1 f0v5s5 67.000000
|
||||
f0v1s1 f0v6s6 64.000000
|
||||
f0v1s1 f3v4s29 42.000000
|
||||
f0v1s1 f0v2s2 67.000000
|
||||
f0v1s1 f3v12s37 40.000000
|
||||
f0v1s1 f0v3s3 65.000000
|
||||
f0v1s1 f3v14s39 40.000000
|
||||
f0v1s1 f0v0s0 68.000000
|
||||
f1v5s12 f1v4s11 56.000000
|
||||
f1v5s12 f1v9s16 55.000000
|
||||
f1v5s12 f1v10s17 55.000000
|
||||
f1v5s12 f1v0s7 56.000000
|
||||
f1v5s12 f3v9s34 40.000000
|
||||
f1v5s12 f1v7s14 56.000000
|
||||
f1v5s12 f2v0s22 40.000000
|
||||
f1v5s12 f1v3s10 56.000000
|
||||
f1v5s12 f3v13s38 40.000000
|
||||
f1v5s12 f3v7s32 40.000000
|
||||
f1v5s12 f3v6s31 40.000000
|
||||
f1v5s12 f1v13s20 54.000000
|
||||
f1v5s12 f1v11s18 55.000000
|
||||
f1v5s12 f3v4s29 40.000000
|
||||
f1v5s12 f0v2s2 40.000000
|
||||
f1v5s12 f3v12s37 40.000000
|
||||
f1v5s12 f0v0s0 40.000000
|
||||
f1v5s12 f1v12s19 55.000000
|
||||
f1v4s11 f1v9s16 57.000000
|
||||
f1v4s11 f1v10s17 56.000000
|
||||
f1v4s11 f1v0s7 58.000000
|
||||
f1v4s11 f3v9s34 40.000000
|
||||
f1v4s11 f1v7s14 58.000000
|
||||
f1v4s11 f1v3s10 58.000000
|
||||
f1v4s11 f3v13s38 40.000000
|
||||
f1v4s11 f3v7s32 40.000000
|
||||
f1v4s11 f3v6s31 40.000000
|
||||
f1v4s11 f1v13s20 56.000000
|
||||
f1v4s11 f1v11s18 57.000000
|
||||
f1v4s11 f3v4s29 40.000000
|
||||
f1v4s11 f3v12s37 40.000000
|
||||
f1v4s11 f1v12s19 56.000000
|
||||
f1v9s16 f1v10s17 55.000000
|
||||
f1v9s16 f1v0s7 57.000000
|
||||
f1v9s16 f1v7s14 57.000000
|
||||
f1v9s16 f2v0s22 40.000000
|
||||
f1v9s16 f1v3s10 57.000000
|
||||
f1v9s16 f3v13s38 40.000000
|
||||
f1v9s16 f1v13s20 55.000000
|
||||
f1v9s16 f0v5s5 40.000000
|
||||
f1v9s16 f1v11s18 56.000000
|
||||
f1v9s16 f3v4s29 40.000000
|
||||
f1v9s16 f0v2s2 40.000000
|
||||
f1v9s16 f3v12s37 40.000000
|
||||
f1v9s16 f0v3s3 41.000000
|
||||
f1v9s16 f0v0s0 40.000000
|
||||
f1v9s16 f1v12s19 55.000000
|
||||
f1v10s17 f1v0s7 56.000000
|
||||
f1v10s17 f3v9s34 41.000000
|
||||
f1v10s17 f1v7s14 56.000000
|
||||
f1v10s17 f3v2s27 40.000000
|
||||
f1v10s17 f1v3s10 56.000000
|
||||
f1v10s17 f3v0s25 40.000000
|
||||
f1v10s17 f3v3s28 40.000000
|
||||
f1v10s17 f3v13s38 41.000000
|
||||
f1v10s17 f3v7s32 41.000000
|
||||
f1v10s17 f3v6s31 41.000000
|
||||
f1v10s17 f1v13s20 54.000000
|
||||
f1v10s17 f3v11s36 41.000000
|
||||
f1v10s17 f1v11s18 55.000000
|
||||
f1v10s17 f3v4s29 40.000000
|
||||
f1v10s17 f3v12s37 41.000000
|
||||
f1v10s17 f0v3s3 40.000000
|
||||
f1v10s17 f3v14s39 40.000000
|
||||
f1v10s17 f0v0s0 40.000000
|
||||
f1v10s17 f1v12s19 55.000000
|
||||
f1v0s7 f3v9s34 40.000000
|
||||
f1v0s7 f1v7s14 58.000000
|
||||
f1v0s7 f1v3s10 58.000000
|
||||
f1v0s7 f3v13s38 40.000000
|
||||
f1v0s7 f3v7s32 40.000000
|
||||
f1v0s7 f3v6s31 40.000000
|
||||
f1v0s7 f1v13s20 56.000000
|
||||
f1v0s7 f1v11s18 57.000000
|
||||
f1v0s7 f3v4s29 40.000000
|
||||
f1v0s7 f3v12s37 40.000000
|
||||
f1v0s7 f1v12s19 56.000000
|
||||
f3v9s34 f1v7s14 40.000000
|
||||
f3v9s34 f3v2s27 63.000000
|
||||
f3v9s34 f2v0s22 40.000000
|
||||
f3v9s34 f1v2s9 40.000000
|
||||
f3v9s34 f1v3s10 40.000000
|
||||
f3v9s34 f3v0s25 64.000000
|
||||
f3v9s34 f3v3s28 63.000000
|
||||
f3v9s34 f3v13s38 64.000000
|
||||
f3v9s34 f3v7s32 65.000000
|
||||
f3v9s34 f3v1s26 62.000000
|
||||
f3v9s34 f3v6s31 65.000000
|
||||
f3v9s34 f3v11s36 61.000000
|
||||
f3v9s34 f0v5s5 40.000000
|
||||
f3v9s34 f1v11s18 40.000000
|
||||
f3v9s34 f3v4s29 63.000000
|
||||
f3v9s34 f0v2s2 40.000000
|
||||
f3v9s34 f3v12s37 63.000000
|
||||
f3v9s34 f0v3s3 41.000000
|
||||
f3v9s34 f3v14s39 64.000000
|
||||
f3v9s34 f0v0s0 41.000000
|
||||
f4v0s40 f4v1s41 60.000000
|
||||
f1v7s14 f1v3s10 58.000000
|
||||
f1v7s14 f3v13s38 40.000000
|
||||
f1v7s14 f3v7s32 40.000000
|
||||
f1v7s14 f3v6s31 40.000000
|
||||
f1v7s14 f1v13s20 56.000000
|
||||
f1v7s14 f1v11s18 57.000000
|
||||
f1v7s14 f3v4s29 40.000000
|
||||
f1v7s14 f3v12s37 40.000000
|
||||
f1v7s14 f1v12s19 56.000000
|
||||
f3v2s27 f2v0s22 41.000000
|
||||
f3v2s27 f1v2s9 40.000000
|
||||
f3v2s27 f3v0s25 65.000000
|
||||
f3v2s27 f3v3s28 64.000000
|
||||
f3v2s27 f3v13s38 65.000000
|
||||
f3v2s27 f3v7s32 63.000000
|
||||
f3v2s27 f3v1s26 63.000000
|
||||
f3v2s27 f3v6s31 63.000000
|
||||
f3v2s27 f3v11s36 62.000000
|
||||
f3v2s27 f0v5s5 40.000000
|
||||
f3v2s27 f0v6s6 40.000000
|
||||
f3v2s27 f3v4s29 64.000000
|
||||
f3v2s27 f0v2s2 41.000000
|
||||
f3v2s27 f3v12s37 64.000000
|
||||
f3v2s27 f0v3s3 41.000000
|
||||
f3v2s27 f3v14s39 65.000000
|
||||
f3v2s27 f0v0s0 41.000000
|
||||
f2v0s22 f1v2s9 67.000000
|
||||
f2v0s22 f3v0s25 41.000000
|
||||
f2v0s22 f3v3s28 41.000000
|
||||
f2v0s22 f3v13s38 41.000000
|
||||
f2v0s22 f3v7s32 40.000000
|
||||
f2v0s22 f3v1s26 40.000000
|
||||
f2v0s22 f3v6s31 40.000000
|
||||
f2v0s22 f0v5s5 67.000000
|
||||
f2v0s22 f0v6s6 64.000000
|
||||
f2v0s22 f3v4s29 43.000000
|
||||
f2v0s22 f0v2s2 69.000000
|
||||
f2v0s22 f3v12s37 42.000000
|
||||
f2v0s22 f0v3s3 65.000000
|
||||
f2v0s22 f3v14s39 41.000000
|
||||
f2v0s22 f0v0s0 68.000000
|
||||
f1v2s9 f3v0s25 40.000000
|
||||
f1v2s9 f3v3s28 40.000000
|
||||
f1v2s9 f3v13s38 40.000000
|
||||
f1v2s9 f3v7s32 40.000000
|
||||
f1v2s9 f3v6s31 40.000000
|
||||
f1v2s9 f0v5s5 67.000000
|
||||
f1v2s9 f0v6s6 64.000000
|
||||
f1v2s9 f3v4s29 42.000000
|
||||
f1v2s9 f0v2s2 67.000000
|
||||
f1v2s9 f3v12s37 40.000000
|
||||
f1v2s9 f0v3s3 65.000000
|
||||
f1v2s9 f3v14s39 40.000000
|
||||
f1v2s9 f0v0s0 68.000000
|
||||
f1v3s10 f3v13s38 40.000000
|
||||
f1v3s10 f3v7s32 40.000000
|
||||
f1v3s10 f3v6s31 40.000000
|
||||
f1v3s10 f1v13s20 56.000000
|
||||
f1v3s10 f1v11s18 57.000000
|
||||
f1v3s10 f3v4s29 40.000000
|
||||
f1v3s10 f3v12s37 40.000000
|
||||
f1v3s10 f1v12s19 56.000000
|
||||
f3v0s25 f3v3s28 65.000000
|
||||
f3v0s25 f3v13s38 66.000000
|
||||
f3v0s25 f3v7s32 64.000000
|
||||
f3v0s25 f3v1s26 64.000000
|
||||
f3v0s25 f3v6s31 64.000000
|
||||
f3v0s25 f3v11s36 63.000000
|
||||
f3v0s25 f0v5s5 40.000000
|
||||
f3v0s25 f0v6s6 40.000000
|
||||
f3v0s25 f3v4s29 65.000000
|
||||
f3v0s25 f0v2s2 41.000000
|
||||
f3v0s25 f3v12s37 65.000000
|
||||
f3v0s25 f0v3s3 41.000000
|
||||
f3v0s25 f3v14s39 66.000000
|
||||
f3v0s25 f0v0s0 41.000000
|
||||
f3v3s28 f3v13s38 65.000000
|
||||
f3v3s28 f3v7s32 63.000000
|
||||
f3v3s28 f3v1s26 63.000000
|
||||
f3v3s28 f3v6s31 63.000000
|
||||
f3v3s28 f3v11s36 62.000000
|
||||
f3v3s28 f0v5s5 40.000000
|
||||
f3v3s28 f0v6s6 40.000000
|
||||
f3v3s28 f3v4s29 64.000000
|
||||
f3v3s28 f0v2s2 41.000000
|
||||
f3v3s28 f3v12s37 64.000000
|
||||
f3v3s28 f0v3s3 41.000000
|
||||
f3v3s28 f3v14s39 65.000000
|
||||
f3v3s28 f0v0s0 41.000000
|
||||
f3v13s38 f3v7s32 64.000000
|
||||
f3v13s38 f3v1s26 64.000000
|
||||
f3v13s38 f3v6s31 64.000000
|
||||
f3v13s38 f3v11s36 63.000000
|
||||
f3v13s38 f0v5s5 40.000000
|
||||
f3v13s38 f1v11s18 40.000000
|
||||
f3v13s38 f0v6s6 40.000000
|
||||
f3v13s38 f3v4s29 65.000000
|
||||
f3v13s38 f0v2s2 41.000000
|
||||
f3v13s38 f3v12s37 65.000000
|
||||
f3v13s38 f0v3s3 41.000000
|
||||
f3v13s38 f3v14s39 66.000000
|
||||
f3v13s38 f0v0s0 41.000000
|
||||
f3v7s32 f3v1s26 62.000000
|
||||
f3v7s32 f3v6s31 65.000000
|
||||
f3v7s32 f3v11s36 61.000000
|
||||
f3v7s32 f0v5s5 40.000000
|
||||
f3v7s32 f1v11s18 40.000000
|
||||
f3v7s32 f3v4s29 63.000000
|
||||
f3v7s32 f0v2s2 40.000000
|
||||
f3v7s32 f3v12s37 63.000000
|
||||
f3v7s32 f0v3s3 41.000000
|
||||
f3v7s32 f3v14s39 64.000000
|
||||
f3v7s32 f0v0s0 41.000000
|
||||
f3v1s26 f3v6s31 62.000000
|
||||
f3v1s26 f3v11s36 61.000000
|
||||
f3v1s26 f3v4s29 63.000000
|
||||
f3v1s26 f0v2s2 40.000000
|
||||
f3v1s26 f3v12s37 63.000000
|
||||
f3v1s26 f0v3s3 40.000000
|
||||
f3v1s26 f3v14s39 64.000000
|
||||
f3v1s26 f0v0s0 40.000000
|
||||
f3v6s31 f3v11s36 61.000000
|
||||
f3v6s31 f0v5s5 40.000000
|
||||
f3v6s31 f1v11s18 40.000000
|
||||
f3v6s31 f3v4s29 63.000000
|
||||
f3v6s31 f0v2s2 40.000000
|
||||
f3v6s31 f3v12s37 63.000000
|
||||
f3v6s31 f0v3s3 41.000000
|
||||
f3v6s31 f3v14s39 64.000000
|
||||
f3v6s31 f0v0s0 41.000000
|
||||
f1v13s20 f1v11s18 55.000000
|
||||
f1v13s20 f1v12s19 54.000000
|
||||
f3v11s36 f3v4s29 62.000000
|
||||
f3v11s36 f3v12s37 62.000000
|
||||
f3v11s36 f3v14s39 63.000000
|
||||
f0v5s5 f1v11s18 40.000000
|
||||
f0v5s5 f0v6s6 64.000000
|
||||
f0v5s5 f3v4s29 42.000000
|
||||
f0v5s5 f0v2s2 67.000000
|
||||
f0v5s5 f3v12s37 40.000000
|
||||
f0v5s5 f0v3s3 65.000000
|
||||
f0v5s5 f3v14s39 40.000000
|
||||
f0v5s5 f0v0s0 68.000000
|
||||
f1v11s18 f3v4s29 40.000000
|
||||
f1v11s18 f3v12s37 40.000000
|
||||
f1v11s18 f1v12s19 55.000000
|
||||
f0v6s6 f3v4s29 42.000000
|
||||
f0v6s6 f0v2s2 64.000000
|
||||
f0v6s6 f3v12s37 40.000000
|
||||
f0v6s6 f0v3s3 62.000000
|
||||
f0v6s6 f3v14s39 40.000000
|
||||
f0v6s6 f0v0s0 65.000000
|
||||
f3v4s29 f0v2s2 43.000000
|
||||
f3v4s29 f3v12s37 64.000000
|
||||
f3v4s29 f0v3s3 43.000000
|
||||
f3v4s29 f3v14s39 65.000000
|
||||
f3v4s29 f0v0s0 43.000000
|
||||
f0v2s2 f3v12s37 42.000000
|
||||
f0v2s2 f0v3s3 65.000000
|
||||
f0v2s2 f3v14s39 41.000000
|
||||
f0v2s2 f0v0s0 68.000000
|
||||
f3v12s37 f0v3s3 41.000000
|
||||
f3v12s37 f3v14s39 65.000000
|
||||
f3v12s37 f0v0s0 41.000000
|
||||
f0v3s3 f3v14s39 41.000000
|
||||
f0v3s3 f0v0s0 66.000000
|
||||
f3v14s39 f0v0s0 41.000000
|
||||
@@ -0,0 +1,249 @@
|
||||
f3v10s35 f3v5s30 58.000000
|
||||
f3v10s35 f3v8s33 61.000000
|
||||
f3v10s35 f3v9s34 61.000000
|
||||
f3v10s35 f3v2s27 61.000000
|
||||
f3v10s35 f3v0s25 62.000000
|
||||
f3v10s35 f3v3s28 61.000000
|
||||
f3v10s35 f3v13s38 62.000000
|
||||
f3v10s35 f3v7s32 61.000000
|
||||
f3v10s35 f3v1s26 61.000000
|
||||
f3v10s35 f3v6s31 61.000000
|
||||
f3v10s35 f3v11s36 59.000000
|
||||
f3v10s35 f3v4s29 61.000000
|
||||
f3v10s35 f3v12s37 61.000000
|
||||
f3v10s35 f3v14s39 62.000000
|
||||
f3v5s30 f3v8s33 61.000000
|
||||
f3v5s30 f3v9s34 60.000000
|
||||
f3v5s30 f3v2s27 61.000000
|
||||
f3v5s30 f3v0s25 62.000000
|
||||
f3v5s30 f3v3s28 61.000000
|
||||
f3v5s30 f3v13s38 62.000000
|
||||
f3v5s30 f3v7s32 60.000000
|
||||
f3v5s30 f3v1s26 61.000000
|
||||
f3v5s30 f3v6s31 60.000000
|
||||
f3v5s30 f3v11s36 59.000000
|
||||
f3v5s30 f3v4s29 61.000000
|
||||
f3v5s30 f3v12s37 61.000000
|
||||
f3v5s30 f3v14s39 62.000000
|
||||
f1v8s15 f2v1s23 57.000000
|
||||
f1v8s15 f1v6s13 54.000000
|
||||
f1v8s15 f1v1s8 55.000000
|
||||
f1v8s15 f1v14s21 54.000000
|
||||
f1v8s15 f1v5s12 55.000000
|
||||
f1v8s15 f1v4s11 57.000000
|
||||
f1v8s15 f1v9s16 56.000000
|
||||
f1v8s15 f1v10s17 55.000000
|
||||
f1v8s15 f1v0s7 57.000000
|
||||
f1v8s15 f1v7s14 57.000000
|
||||
f1v8s15 f1v3s10 57.000000
|
||||
f1v8s15 f1v13s20 55.000000
|
||||
f1v8s15 f1v11s18 56.000000
|
||||
f1v8s15 f1v12s19 55.000000
|
||||
f2v1s23 f1v6s13 54.000000
|
||||
f2v1s23 f1v1s8 56.000000
|
||||
f2v1s23 f1v14s21 55.000000
|
||||
f2v1s23 f1v5s12 56.000000
|
||||
f2v1s23 f1v4s11 58.000000
|
||||
f2v1s23 f1v9s16 57.000000
|
||||
f2v1s23 f1v10s17 56.000000
|
||||
f2v1s23 f1v0s7 58.000000
|
||||
f2v1s23 f1v7s14 58.000000
|
||||
f2v1s23 f1v3s10 58.000000
|
||||
f2v1s23 f1v13s20 56.000000
|
||||
f2v1s23 f1v11s18 57.000000
|
||||
f2v1s23 f1v12s19 56.000000
|
||||
f4v2s42 f4v0s40 59.000000
|
||||
f4v2s42 f4v1s41 59.000000
|
||||
f0v4s4 f0v1s1 69.000000
|
||||
f0v4s4 f2v0s22 67.000000
|
||||
f0v4s4 f1v2s9 69.000000
|
||||
f0v4s4 f0v5s5 67.000000
|
||||
f0v4s4 f0v6s6 64.000000
|
||||
f0v4s4 f0v2s2 67.000000
|
||||
f0v4s4 f0v3s3 65.000000
|
||||
f0v4s4 f0v0s0 68.000000
|
||||
f1v6s13 f1v1s8 52.000000
|
||||
f1v6s13 f1v14s21 51.000000
|
||||
f1v6s13 f1v5s12 52.000000
|
||||
f1v6s13 f1v4s11 54.000000
|
||||
f1v6s13 f1v9s16 53.000000
|
||||
f1v6s13 f1v10s17 53.000000
|
||||
f1v6s13 f1v0s7 54.000000
|
||||
f1v6s13 f1v7s14 54.000000
|
||||
f1v6s13 f1v3s10 54.000000
|
||||
f1v6s13 f1v13s20 52.000000
|
||||
f1v6s13 f1v11s18 53.000000
|
||||
f1v6s13 f1v12s19 52.000000
|
||||
f3v8s33 f3v9s34 63.000000
|
||||
f3v8s33 f3v2s27 64.000000
|
||||
f3v8s33 f3v0s25 65.000000
|
||||
f3v8s33 f3v3s28 64.000000
|
||||
f3v8s33 f3v13s38 65.000000
|
||||
f3v8s33 f3v7s32 63.000000
|
||||
f3v8s33 f3v1s26 63.000000
|
||||
f3v8s33 f3v6s31 63.000000
|
||||
f3v8s33 f3v11s36 62.000000
|
||||
f3v8s33 f3v4s29 64.000000
|
||||
f3v8s33 f3v12s37 64.000000
|
||||
f3v8s33 f3v14s39 65.000000
|
||||
f1v1s8 f1v14s21 55.000000
|
||||
f1v1s8 f1v5s12 54.000000
|
||||
f1v1s8 f1v4s11 56.000000
|
||||
f1v1s8 f1v9s16 55.000000
|
||||
f1v1s8 f1v10s17 54.000000
|
||||
f1v1s8 f1v0s7 56.000000
|
||||
f1v1s8 f1v7s14 56.000000
|
||||
f1v1s8 f1v3s10 56.000000
|
||||
f1v1s8 f1v13s20 54.000000
|
||||
f1v1s8 f1v11s18 55.000000
|
||||
f1v1s8 f1v12s19 55.000000
|
||||
f1v14s21 f1v5s12 53.000000
|
||||
f1v14s21 f1v4s11 55.000000
|
||||
f1v14s21 f1v9s16 54.000000
|
||||
f1v14s21 f1v10s17 53.000000
|
||||
f1v14s21 f1v0s7 55.000000
|
||||
f1v14s21 f1v7s14 55.000000
|
||||
f1v14s21 f1v3s10 55.000000
|
||||
f1v14s21 f1v13s20 53.000000
|
||||
f1v14s21 f1v11s18 54.000000
|
||||
f1v14s21 f1v12s19 53.000000
|
||||
f0v1s1 f2v0s22 67.000000
|
||||
f0v1s1 f1v2s9 69.000000
|
||||
f0v1s1 f0v5s5 67.000000
|
||||
f0v1s1 f0v6s6 64.000000
|
||||
f0v1s1 f0v2s2 67.000000
|
||||
f0v1s1 f0v3s3 65.000000
|
||||
f0v1s1 f0v0s0 68.000000
|
||||
f1v5s12 f1v4s11 56.000000
|
||||
f1v5s12 f1v9s16 55.000000
|
||||
f1v5s12 f1v10s17 55.000000
|
||||
f1v5s12 f1v0s7 56.000000
|
||||
f1v5s12 f1v7s14 56.000000
|
||||
f1v5s12 f1v3s10 56.000000
|
||||
f1v5s12 f1v13s20 54.000000
|
||||
f1v5s12 f1v11s18 55.000000
|
||||
f1v5s12 f1v12s19 55.000000
|
||||
f1v4s11 f1v9s16 57.000000
|
||||
f1v4s11 f1v10s17 56.000000
|
||||
f1v4s11 f1v0s7 58.000000
|
||||
f1v4s11 f1v7s14 58.000000
|
||||
f1v4s11 f1v3s10 58.000000
|
||||
f1v4s11 f1v13s20 56.000000
|
||||
f1v4s11 f1v11s18 57.000000
|
||||
f1v4s11 f1v12s19 56.000000
|
||||
f1v9s16 f1v10s17 55.000000
|
||||
f1v9s16 f1v0s7 57.000000
|
||||
f1v9s16 f1v7s14 57.000000
|
||||
f1v9s16 f1v3s10 57.000000
|
||||
f1v9s16 f1v13s20 55.000000
|
||||
f1v9s16 f1v11s18 56.000000
|
||||
f1v9s16 f1v12s19 55.000000
|
||||
f1v10s17 f1v0s7 56.000000
|
||||
f1v10s17 f1v7s14 56.000000
|
||||
f1v10s17 f1v3s10 56.000000
|
||||
f1v10s17 f1v13s20 54.000000
|
||||
f1v10s17 f1v11s18 55.000000
|
||||
f1v10s17 f1v12s19 55.000000
|
||||
f1v0s7 f1v7s14 58.000000
|
||||
f1v0s7 f1v3s10 58.000000
|
||||
f1v0s7 f1v13s20 56.000000
|
||||
f1v0s7 f1v11s18 57.000000
|
||||
f1v0s7 f1v12s19 56.000000
|
||||
f3v9s34 f3v2s27 63.000000
|
||||
f3v9s34 f3v0s25 64.000000
|
||||
f3v9s34 f3v3s28 63.000000
|
||||
f3v9s34 f3v13s38 64.000000
|
||||
f3v9s34 f3v7s32 65.000000
|
||||
f3v9s34 f3v1s26 62.000000
|
||||
f3v9s34 f3v6s31 65.000000
|
||||
f3v9s34 f3v11s36 61.000000
|
||||
f3v9s34 f3v4s29 63.000000
|
||||
f3v9s34 f3v12s37 63.000000
|
||||
f3v9s34 f3v14s39 64.000000
|
||||
f4v0s40 f4v1s41 60.000000
|
||||
f1v7s14 f1v3s10 58.000000
|
||||
f1v7s14 f1v13s20 56.000000
|
||||
f1v7s14 f1v11s18 57.000000
|
||||
f1v7s14 f1v12s19 56.000000
|
||||
f3v2s27 f3v0s25 65.000000
|
||||
f3v2s27 f3v3s28 64.000000
|
||||
f3v2s27 f3v13s38 65.000000
|
||||
f3v2s27 f3v7s32 63.000000
|
||||
f3v2s27 f3v1s26 63.000000
|
||||
f3v2s27 f3v6s31 63.000000
|
||||
f3v2s27 f3v11s36 62.000000
|
||||
f3v2s27 f3v4s29 64.000000
|
||||
f3v2s27 f3v12s37 64.000000
|
||||
f3v2s27 f3v14s39 65.000000
|
||||
f2v0s22 f1v2s9 67.000000
|
||||
f2v0s22 f0v5s5 67.000000
|
||||
f2v0s22 f0v6s6 64.000000
|
||||
f2v0s22 f0v2s2 69.000000
|
||||
f2v0s22 f0v3s3 65.000000
|
||||
f2v0s22 f0v0s0 68.000000
|
||||
f1v2s9 f0v5s5 67.000000
|
||||
f1v2s9 f0v6s6 64.000000
|
||||
f1v2s9 f0v2s2 67.000000
|
||||
f1v2s9 f0v3s3 65.000000
|
||||
f1v2s9 f0v0s0 68.000000
|
||||
f1v3s10 f1v13s20 56.000000
|
||||
f1v3s10 f1v11s18 57.000000
|
||||
f1v3s10 f1v12s19 56.000000
|
||||
f3v0s25 f3v3s28 65.000000
|
||||
f3v0s25 f3v13s38 66.000000
|
||||
f3v0s25 f3v7s32 64.000000
|
||||
f3v0s25 f3v1s26 64.000000
|
||||
f3v0s25 f3v6s31 64.000000
|
||||
f3v0s25 f3v11s36 63.000000
|
||||
f3v0s25 f3v4s29 65.000000
|
||||
f3v0s25 f3v12s37 65.000000
|
||||
f3v0s25 f3v14s39 66.000000
|
||||
f3v3s28 f3v13s38 65.000000
|
||||
f3v3s28 f3v7s32 63.000000
|
||||
f3v3s28 f3v1s26 63.000000
|
||||
f3v3s28 f3v6s31 63.000000
|
||||
f3v3s28 f3v11s36 62.000000
|
||||
f3v3s28 f3v4s29 64.000000
|
||||
f3v3s28 f3v12s37 64.000000
|
||||
f3v3s28 f3v14s39 65.000000
|
||||
f3v13s38 f3v7s32 64.000000
|
||||
f3v13s38 f3v1s26 64.000000
|
||||
f3v13s38 f3v6s31 64.000000
|
||||
f3v13s38 f3v11s36 63.000000
|
||||
f3v13s38 f3v4s29 65.000000
|
||||
f3v13s38 f3v12s37 65.000000
|
||||
f3v13s38 f3v14s39 66.000000
|
||||
f3v7s32 f3v1s26 62.000000
|
||||
f3v7s32 f3v6s31 65.000000
|
||||
f3v7s32 f3v11s36 61.000000
|
||||
f3v7s32 f3v4s29 63.000000
|
||||
f3v7s32 f3v12s37 63.000000
|
||||
f3v7s32 f3v14s39 64.000000
|
||||
f3v1s26 f3v6s31 62.000000
|
||||
f3v1s26 f3v11s36 61.000000
|
||||
f3v1s26 f3v4s29 63.000000
|
||||
f3v1s26 f3v12s37 63.000000
|
||||
f3v1s26 f3v14s39 64.000000
|
||||
f3v6s31 f3v11s36 61.000000
|
||||
f3v6s31 f3v4s29 63.000000
|
||||
f3v6s31 f3v12s37 63.000000
|
||||
f3v6s31 f3v14s39 64.000000
|
||||
f1v13s20 f1v11s18 55.000000
|
||||
f1v13s20 f1v12s19 54.000000
|
||||
f3v11s36 f3v4s29 62.000000
|
||||
f3v11s36 f3v12s37 62.000000
|
||||
f3v11s36 f3v14s39 63.000000
|
||||
f0v5s5 f0v6s6 64.000000
|
||||
f0v5s5 f0v2s2 67.000000
|
||||
f0v5s5 f0v3s3 65.000000
|
||||
f0v5s5 f0v0s0 68.000000
|
||||
f1v11s18 f1v12s19 55.000000
|
||||
f0v6s6 f0v2s2 64.000000
|
||||
f0v6s6 f0v3s3 62.000000
|
||||
f0v6s6 f0v0s0 65.000000
|
||||
f3v4s29 f3v12s37 64.000000
|
||||
f3v4s29 f3v14s39 65.000000
|
||||
f0v2s2 f0v3s3 65.000000
|
||||
f0v2s2 f0v0s0 68.000000
|
||||
f3v12s37 f3v14s39 65.000000
|
||||
f0v3s3 f0v0s0 66.000000
|
||||
@@ -0,0 +1,249 @@
|
||||
f3v10s35 f3v5s30 0.920635
|
||||
f3v10s35 f3v8s33 0.938462
|
||||
f3v10s35 f3v9s34 0.938462
|
||||
f3v10s35 f3v2s27 0.938462
|
||||
f3v10s35 f3v0s25 0.953846
|
||||
f3v10s35 f3v3s28 0.938462
|
||||
f3v10s35 f3v13s38 0.953846
|
||||
f3v10s35 f3v7s32 0.938462
|
||||
f3v10s35 f3v1s26 0.938462
|
||||
f3v10s35 f3v6s31 0.938462
|
||||
f3v10s35 f3v11s36 0.907692
|
||||
f3v10s35 f3v4s29 0.938462
|
||||
f3v10s35 f3v12s37 0.938462
|
||||
f3v10s35 f3v14s39 0.953846
|
||||
f3v5s30 f3v8s33 0.968254
|
||||
f3v5s30 f3v9s34 0.952381
|
||||
f3v5s30 f3v2s27 0.968254
|
||||
f3v5s30 f3v0s25 0.984127
|
||||
f3v5s30 f3v3s28 0.968254
|
||||
f3v5s30 f3v13s38 0.984127
|
||||
f3v5s30 f3v7s32 0.952381
|
||||
f3v5s30 f3v1s26 0.968254
|
||||
f3v5s30 f3v6s31 0.952381
|
||||
f3v5s30 f3v11s36 0.936508
|
||||
f3v5s30 f3v4s29 0.968254
|
||||
f3v5s30 f3v12s37 0.968254
|
||||
f3v5s30 f3v14s39 0.984127
|
||||
f1v8s15 f2v1s23 1.000000
|
||||
f1v8s15 f1v6s13 0.964286
|
||||
f1v8s15 f1v1s8 0.964912
|
||||
f1v8s15 f1v14s21 0.964286
|
||||
f1v8s15 f1v5s12 0.964912
|
||||
f1v8s15 f1v4s11 1.000000
|
||||
f1v8s15 f1v9s16 0.982456
|
||||
f1v8s15 f1v10s17 0.964912
|
||||
f1v8s15 f1v0s7 1.000000
|
||||
f1v8s15 f1v7s14 1.000000
|
||||
f1v8s15 f1v3s10 1.000000
|
||||
f1v8s15 f1v13s20 0.982143
|
||||
f1v8s15 f1v11s18 0.982456
|
||||
f1v8s15 f1v12s19 0.964912
|
||||
f2v1s23 f1v6s13 0.964286
|
||||
f2v1s23 f1v1s8 0.965517
|
||||
f2v1s23 f1v14s21 0.982143
|
||||
f2v1s23 f1v5s12 0.965517
|
||||
f2v1s23 f1v4s11 1.000000
|
||||
f2v1s23 f1v9s16 0.982759
|
||||
f2v1s23 f1v10s17 0.965517
|
||||
f2v1s23 f1v0s7 1.000000
|
||||
f2v1s23 f1v7s14 1.000000
|
||||
f2v1s23 f1v3s10 1.000000
|
||||
f2v1s23 f1v13s20 1.000000
|
||||
f2v1s23 f1v11s18 0.982759
|
||||
f2v1s23 f1v12s19 0.982456
|
||||
f4v2s42 f4v0s40 0.983333
|
||||
f4v2s42 f4v1s41 0.967213
|
||||
f0v4s4 f0v1s1 1.000000
|
||||
f0v4s4 f2v0s22 0.971014
|
||||
f0v4s4 f1v2s9 1.000000
|
||||
f0v4s4 f0v5s5 0.971014
|
||||
f0v4s4 f0v6s6 0.927536
|
||||
f0v4s4 f0v2s2 0.971014
|
||||
f0v4s4 f0v3s3 0.970149
|
||||
f0v4s4 f0v0s0 0.985507
|
||||
f1v6s13 f1v1s8 0.928571
|
||||
f1v6s13 f1v14s21 0.910714
|
||||
f1v6s13 f1v5s12 0.928571
|
||||
f1v6s13 f1v4s11 0.964286
|
||||
f1v6s13 f1v9s16 0.946429
|
||||
f1v6s13 f1v10s17 0.946429
|
||||
f1v6s13 f1v0s7 0.964286
|
||||
f1v6s13 f1v7s14 0.964286
|
||||
f1v6s13 f1v3s10 0.964286
|
||||
f1v6s13 f1v13s20 0.928571
|
||||
f1v6s13 f1v11s18 0.946429
|
||||
f1v6s13 f1v12s19 0.928571
|
||||
f3v8s33 f3v9s34 0.969231
|
||||
f3v8s33 f3v2s27 0.984615
|
||||
f3v8s33 f3v0s25 0.984848
|
||||
f3v8s33 f3v3s28 0.969697
|
||||
f3v8s33 f3v13s38 0.984848
|
||||
f3v8s33 f3v7s32 0.969231
|
||||
f3v8s33 f3v1s26 0.969231
|
||||
f3v8s33 f3v6s31 0.969231
|
||||
f3v8s33 f3v11s36 0.953846
|
||||
f3v8s33 f3v4s29 0.969697
|
||||
f3v8s33 f3v12s37 0.969697
|
||||
f3v8s33 f3v14s39 0.984848
|
||||
f1v1s8 f1v14s21 0.982143
|
||||
f1v1s8 f1v5s12 0.900000
|
||||
f1v1s8 f1v4s11 0.965517
|
||||
f1v1s8 f1v9s16 0.916667
|
||||
f1v1s8 f1v10s17 0.900000
|
||||
f1v1s8 f1v0s7 0.965517
|
||||
f1v1s8 f1v7s14 0.965517
|
||||
f1v1s8 f1v3s10 0.965517
|
||||
f1v1s8 f1v13s20 0.964286
|
||||
f1v1s8 f1v11s18 0.948276
|
||||
f1v1s8 f1v12s19 0.964912
|
||||
f1v14s21 f1v5s12 0.946429
|
||||
f1v14s21 f1v4s11 0.982143
|
||||
f1v14s21 f1v9s16 0.964286
|
||||
f1v14s21 f1v10s17 0.946429
|
||||
f1v14s21 f1v0s7 0.982143
|
||||
f1v14s21 f1v7s14 0.982143
|
||||
f1v14s21 f1v3s10 0.982143
|
||||
f1v14s21 f1v13s20 0.946429
|
||||
f1v14s21 f1v11s18 0.964286
|
||||
f1v14s21 f1v12s19 0.946429
|
||||
f0v1s1 f2v0s22 0.971014
|
||||
f0v1s1 f1v2s9 1.000000
|
||||
f0v1s1 f0v5s5 0.971014
|
||||
f0v1s1 f0v6s6 0.927536
|
||||
f0v1s1 f0v2s2 0.971014
|
||||
f0v1s1 f0v3s3 0.970149
|
||||
f0v1s1 f0v0s0 0.985507
|
||||
f1v5s12 f1v4s11 0.965517
|
||||
f1v5s12 f1v9s16 0.916667
|
||||
f1v5s12 f1v10s17 0.916667
|
||||
f1v5s12 f1v0s7 0.965517
|
||||
f1v5s12 f1v7s14 0.965517
|
||||
f1v5s12 f1v3s10 0.965517
|
||||
f1v5s12 f1v13s20 0.964286
|
||||
f1v5s12 f1v11s18 0.948276
|
||||
f1v5s12 f1v12s19 0.964912
|
||||
f1v4s11 f1v9s16 0.982759
|
||||
f1v4s11 f1v10s17 0.965517
|
||||
f1v4s11 f1v0s7 1.000000
|
||||
f1v4s11 f1v7s14 1.000000
|
||||
f1v4s11 f1v3s10 1.000000
|
||||
f1v4s11 f1v13s20 1.000000
|
||||
f1v4s11 f1v11s18 0.982759
|
||||
f1v4s11 f1v12s19 0.982456
|
||||
f1v9s16 f1v10s17 0.916667
|
||||
f1v9s16 f1v0s7 0.982759
|
||||
f1v9s16 f1v7s14 0.982759
|
||||
f1v9s16 f1v3s10 0.982759
|
||||
f1v9s16 f1v13s20 0.982143
|
||||
f1v9s16 f1v11s18 0.965517
|
||||
f1v9s16 f1v12s19 0.964912
|
||||
f1v10s17 f1v0s7 0.965517
|
||||
f1v10s17 f1v7s14 0.965517
|
||||
f1v10s17 f1v3s10 0.965517
|
||||
f1v10s17 f1v13s20 0.964286
|
||||
f1v10s17 f1v11s18 0.948276
|
||||
f1v10s17 f1v12s19 0.964912
|
||||
f1v0s7 f1v7s14 1.000000
|
||||
f1v0s7 f1v3s10 1.000000
|
||||
f1v0s7 f1v13s20 1.000000
|
||||
f1v0s7 f1v11s18 0.982759
|
||||
f1v0s7 f1v12s19 0.982456
|
||||
f3v9s34 f3v2s27 0.969231
|
||||
f3v9s34 f3v0s25 0.984615
|
||||
f3v9s34 f3v3s28 0.969231
|
||||
f3v9s34 f3v13s38 0.984615
|
||||
f3v9s34 f3v7s32 1.000000
|
||||
f3v9s34 f3v1s26 0.953846
|
||||
f3v9s34 f3v6s31 1.000000
|
||||
f3v9s34 f3v11s36 0.938462
|
||||
f3v9s34 f3v4s29 0.969231
|
||||
f3v9s34 f3v12s37 0.969231
|
||||
f3v9s34 f3v14s39 0.984615
|
||||
f4v0s40 f4v1s41 1.000000
|
||||
f1v7s14 f1v3s10 1.000000
|
||||
f1v7s14 f1v13s20 1.000000
|
||||
f1v7s14 f1v11s18 0.982759
|
||||
f1v7s14 f1v12s19 0.982456
|
||||
f3v2s27 f3v0s25 1.000000
|
||||
f3v2s27 f3v3s28 0.984615
|
||||
f3v2s27 f3v13s38 1.000000
|
||||
f3v2s27 f3v7s32 0.969231
|
||||
f3v2s27 f3v1s26 0.969231
|
||||
f3v2s27 f3v6s31 0.969231
|
||||
f3v2s27 f3v11s36 0.953846
|
||||
f3v2s27 f3v4s29 0.984615
|
||||
f3v2s27 f3v12s37 0.984615
|
||||
f3v2s27 f3v14s39 1.000000
|
||||
f2v0s22 f1v2s9 0.971014
|
||||
f2v0s22 f0v5s5 0.971014
|
||||
f2v0s22 f0v6s6 0.927536
|
||||
f2v0s22 f0v2s2 1.000000
|
||||
f2v0s22 f0v3s3 0.970149
|
||||
f2v0s22 f0v0s0 0.985507
|
||||
f1v2s9 f0v5s5 0.971014
|
||||
f1v2s9 f0v6s6 0.927536
|
||||
f1v2s9 f0v2s2 0.971014
|
||||
f1v2s9 f0v3s3 0.970149
|
||||
f1v2s9 f0v0s0 0.985507
|
||||
f1v3s10 f1v13s20 1.000000
|
||||
f1v3s10 f1v11s18 0.982759
|
||||
f1v3s10 f1v12s19 0.982456
|
||||
f3v0s25 f3v3s28 0.984848
|
||||
f3v0s25 f3v13s38 1.000000
|
||||
f3v0s25 f3v7s32 0.984615
|
||||
f3v0s25 f3v1s26 0.984615
|
||||
f3v0s25 f3v6s31 0.984615
|
||||
f3v0s25 f3v11s36 0.969231
|
||||
f3v0s25 f3v4s29 0.984848
|
||||
f3v0s25 f3v12s37 0.984848
|
||||
f3v0s25 f3v14s39 1.000000
|
||||
f3v3s28 f3v13s38 0.984848
|
||||
f3v3s28 f3v7s32 0.969231
|
||||
f3v3s28 f3v1s26 0.969231
|
||||
f3v3s28 f3v6s31 0.969231
|
||||
f3v3s28 f3v11s36 0.953846
|
||||
f3v3s28 f3v4s29 0.969697
|
||||
f3v3s28 f3v12s37 0.969697
|
||||
f3v3s28 f3v14s39 0.984848
|
||||
f3v13s38 f3v7s32 0.984615
|
||||
f3v13s38 f3v1s26 0.984615
|
||||
f3v13s38 f3v6s31 0.984615
|
||||
f3v13s38 f3v11s36 0.969231
|
||||
f3v13s38 f3v4s29 0.955882
|
||||
f3v13s38 f3v12s37 0.970149
|
||||
f3v13s38 f3v14s39 1.000000
|
||||
f3v7s32 f3v1s26 0.953846
|
||||
f3v7s32 f3v6s31 1.000000
|
||||
f3v7s32 f3v11s36 0.938462
|
||||
f3v7s32 f3v4s29 0.969231
|
||||
f3v7s32 f3v12s37 0.969231
|
||||
f3v7s32 f3v14s39 0.984615
|
||||
f3v1s26 f3v6s31 0.953846
|
||||
f3v1s26 f3v11s36 0.938462
|
||||
f3v1s26 f3v4s29 0.969231
|
||||
f3v1s26 f3v12s37 0.969231
|
||||
f3v1s26 f3v14s39 0.984615
|
||||
f3v6s31 f3v11s36 0.938462
|
||||
f3v6s31 f3v4s29 0.969231
|
||||
f3v6s31 f3v12s37 0.969231
|
||||
f3v6s31 f3v14s39 0.984615
|
||||
f1v13s20 f1v11s18 0.982143
|
||||
f1v13s20 f1v12s19 0.964286
|
||||
f3v11s36 f3v4s29 0.953846
|
||||
f3v11s36 f3v12s37 0.953846
|
||||
f3v11s36 f3v14s39 0.969231
|
||||
f0v5s5 f0v6s6 0.927536
|
||||
f0v5s5 f0v2s2 0.971014
|
||||
f0v5s5 f0v3s3 0.970149
|
||||
f0v5s5 f0v0s0 0.985507
|
||||
f1v11s18 f1v12s19 0.964912
|
||||
f0v6s6 f0v2s2 0.927536
|
||||
f0v6s6 f0v3s3 0.925373
|
||||
f0v6s6 f0v0s0 0.942029
|
||||
f3v4s29 f3v12s37 0.955224
|
||||
f3v4s29 f3v14s39 0.984848
|
||||
f0v2s2 f0v3s3 0.970149
|
||||
f0v2s2 f0v0s0 0.985507
|
||||
f3v12s37 f3v14s39 0.984848
|
||||
f0v3s3 f0v0s0 0.985075
|
||||
+1075
File diff suppressed because it is too large.
Load diff
+1075
File diff suppressed because it is too large.
Load diff
+1075
File diff suppressed because it is too large.
Load diff
+1075
File diff suppressed because it is too large.
Load diff
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
+265
@@ -0,0 +1,265 @@
|
||||
f3v10s35 f2v9s19 40.000000
|
||||
f3v10s35 f2v12s22 40.000000
|
||||
f3v10s35 f2v6s16 40.000000
|
||||
f3v10s35 f2v1s11 40.000000
|
||||
f3v10s35 f2v11s21 40.000000
|
||||
f3v10s35 f2v14s24 40.000000
|
||||
f2v1s23 f0v0s0 40.000000
|
||||
f2v1s23 f1v6s8 40.000000
|
||||
f2v1s23 f2v6s16 40.000000
|
||||
f2v1s23 f0v1s1 40.000000
|
||||
f2v1s23 f2v5s15 40.000000
|
||||
f2v1s23 f2v11s21 40.000000
|
||||
f4v2s42 f2v9s19 40.000000
|
||||
f4v2s42 f2v12s22 40.000000
|
||||
f4v2s42 f0v0s0 43.000000
|
||||
f4v2s42 f1v6s8 43.000000
|
||||
f4v2s42 f2v13s23 40.000000
|
||||
f4v2s42 f2v7s17 40.000000
|
||||
f4v2s42 f2v10s20 40.000000
|
||||
f4v2s42 f0v1s1 43.000000
|
||||
f4v2s42 f2v0s10 40.000000
|
||||
f4v2s42 f2v14s24 41.000000
|
||||
f0v4s4 f2v9s19 40.000000
|
||||
f0v4s4 f2v12s22 40.000000
|
||||
f0v4s4 f0v0s0 44.000000
|
||||
f0v4s4 f1v6s8 44.000000
|
||||
f0v4s4 f2v13s23 40.000000
|
||||
f0v4s4 f2v3s13 40.000000
|
||||
f0v4s4 f2v2s12 40.000000
|
||||
f0v4s4 f2v6s16 40.000000
|
||||
f0v4s4 f2v7s17 40.000000
|
||||
f0v4s4 f2v10s20 40.000000
|
||||
f0v4s4 f2v1s11 41.000000
|
||||
f0v4s4 f0v1s1 44.000000
|
||||
f0v4s4 f2v0s10 40.000000
|
||||
f0v4s4 f2v11s21 40.000000
|
||||
f0v4s4 f2v14s24 41.000000
|
||||
f1v1s8 f2v9s19 40.000000
|
||||
f1v1s8 f2v12s22 40.000000
|
||||
f1v1s8 f0v0s0 40.000000
|
||||
f1v1s8 f1v6s8 40.000000
|
||||
f1v1s8 f2v13s23 40.000000
|
||||
f1v1s8 f2v2s12 40.000000
|
||||
f1v1s8 f2v6s16 41.000000
|
||||
f1v1s8 f2v7s17 40.000000
|
||||
f1v1s8 f2v10s20 40.000000
|
||||
f1v1s8 f0v1s1 40.000000
|
||||
f1v1s8 f2v0s10 40.000000
|
||||
f1v1s8 f2v5s15 41.000000
|
||||
f1v1s8 f2v11s21 41.000000
|
||||
f1v1s8 f2v14s24 40.000000
|
||||
f1v14s21 f0v0s0 40.000000
|
||||
f1v14s21 f1v6s8 40.000000
|
||||
f1v14s21 f0v1s1 40.000000
|
||||
f0v1s1 f2v9s19 40.000000
|
||||
f0v1s1 f2v12s22 40.000000
|
||||
f0v1s1 f0v0s0 44.000000
|
||||
f0v1s1 f1v6s8 44.000000
|
||||
f0v1s1 f2v13s23 40.000000
|
||||
f0v1s1 f2v3s13 40.000000
|
||||
f0v1s1 f2v2s12 40.000000
|
||||
f0v1s1 f2v6s16 40.000000
|
||||
f0v1s1 f2v7s17 40.000000
|
||||
f0v1s1 f2v10s20 40.000000
|
||||
f0v1s1 f2v1s11 41.000000
|
||||
f0v1s1 f0v1s1 44.000000
|
||||
f0v1s1 f2v0s10 40.000000
|
||||
f0v1s1 f2v11s21 40.000000
|
||||
f0v1s1 f2v14s24 41.000000
|
||||
f1v5s12 f0v0s0 40.000000
|
||||
f1v5s12 f1v6s8 40.000000
|
||||
f1v5s12 f0v1s1 40.000000
|
||||
f1v4s11 f0v0s0 40.000000
|
||||
f1v4s11 f1v6s8 40.000000
|
||||
f1v4s11 f2v6s16 40.000000
|
||||
f1v4s11 f0v1s1 40.000000
|
||||
f1v4s11 f2v5s15 40.000000
|
||||
f1v4s11 f2v11s21 40.000000
|
||||
f1v9s16 f2v9s19 40.000000
|
||||
f1v9s16 f2v12s22 40.000000
|
||||
f1v9s16 f0v0s0 42.000000
|
||||
f1v9s16 f1v6s8 42.000000
|
||||
f1v9s16 f2v13s23 40.000000
|
||||
f1v9s16 f2v2s12 40.000000
|
||||
f1v9s16 f2v6s16 40.000000
|
||||
f1v9s16 f2v7s17 40.000000
|
||||
f1v9s16 f2v10s20 40.000000
|
||||
f1v9s16 f0v1s1 42.000000
|
||||
f1v9s16 f2v0s10 40.000000
|
||||
f1v9s16 f2v5s15 41.000000
|
||||
f1v9s16 f2v11s21 40.000000
|
||||
f1v9s16 f2v14s24 40.000000
|
||||
f1v10s17 f0v0s0 42.000000
|
||||
f1v10s17 f1v6s8 42.000000
|
||||
f1v10s17 f0v1s1 42.000000
|
||||
f1v0s7 f0v0s0 40.000000
|
||||
f1v0s7 f1v6s8 40.000000
|
||||
f1v0s7 f2v6s16 40.000000
|
||||
f1v0s7 f0v1s1 40.000000
|
||||
f1v0s7 f2v5s15 40.000000
|
||||
f1v0s7 f2v11s21 40.000000
|
||||
f4v0s40 f2v9s19 40.000000
|
||||
f4v0s40 f0v0s0 42.000000
|
||||
f4v0s40 f1v6s8 42.000000
|
||||
f4v0s40 f2v13s23 40.000000
|
||||
f4v0s40 f2v7s17 40.000000
|
||||
f4v0s40 f2v10s20 40.000000
|
||||
f4v0s40 f0v1s1 42.000000
|
||||
f4v0s40 f2v0s10 40.000000
|
||||
f1v7s14 f0v0s0 40.000000
|
||||
f1v7s14 f1v6s8 40.000000
|
||||
f1v7s14 f2v6s16 40.000000
|
||||
f1v7s14 f0v1s1 40.000000
|
||||
f1v7s14 f2v5s15 40.000000
|
||||
f1v7s14 f2v11s21 40.000000
|
||||
f4v1s41 f2v9s19 40.000000
|
||||
f4v1s41 f0v0s0 42.000000
|
||||
f4v1s41 f1v6s8 42.000000
|
||||
f4v1s41 f2v13s23 40.000000
|
||||
f4v1s41 f2v6s16 40.000000
|
||||
f4v1s41 f2v7s17 40.000000
|
||||
f4v1s41 f2v10s20 40.000000
|
||||
f4v1s41 f0v1s1 42.000000
|
||||
f4v1s41 f2v0s10 40.000000
|
||||
f4v1s41 f2v11s21 40.000000
|
||||
f2v0s22 f2v9s19 41.000000
|
||||
f2v0s22 f2v12s22 41.000000
|
||||
f2v0s22 f0v0s0 44.000000
|
||||
f2v0s22 f1v6s8 44.000000
|
||||
f2v0s22 f2v13s23 41.000000
|
||||
f2v0s22 f2v4s14 40.000000
|
||||
f2v0s22 f2v3s13 40.000000
|
||||
f2v0s22 f2v2s12 40.000000
|
||||
f2v0s22 f2v6s16 40.000000
|
||||
f2v0s22 f2v7s17 41.000000
|
||||
f2v0s22 f2v10s20 41.000000
|
||||
f2v0s22 f2v1s11 41.000000
|
||||
f2v0s22 f0v1s1 44.000000
|
||||
f2v0s22 f2v8s18 40.000000
|
||||
f2v0s22 f2v0s10 41.000000
|
||||
f2v0s22 f2v5s15 40.000000
|
||||
f2v0s22 f2v11s21 40.000000
|
||||
f2v0s22 f2v14s24 41.000000
|
||||
f1v2s9 f2v9s19 40.000000
|
||||
f1v2s9 f2v12s22 40.000000
|
||||
f1v2s9 f0v0s0 44.000000
|
||||
f1v2s9 f1v6s8 44.000000
|
||||
f1v2s9 f2v13s23 40.000000
|
||||
f1v2s9 f2v3s13 40.000000
|
||||
f1v2s9 f2v2s12 40.000000
|
||||
f1v2s9 f2v6s16 40.000000
|
||||
f1v2s9 f2v7s17 40.000000
|
||||
f1v2s9 f2v10s20 40.000000
|
||||
f1v2s9 f2v1s11 41.000000
|
||||
f1v2s9 f0v1s1 44.000000
|
||||
f1v2s9 f2v0s10 40.000000
|
||||
f1v2s9 f2v11s21 40.000000
|
||||
f1v2s9 f2v14s24 41.000000
|
||||
f1v3s10 f0v0s0 40.000000
|
||||
f1v3s10 f1v6s8 40.000000
|
||||
f1v3s10 f2v6s16 40.000000
|
||||
f1v3s10 f0v1s1 40.000000
|
||||
f1v3s10 f2v5s15 40.000000
|
||||
f1v3s10 f2v11s21 40.000000
|
||||
f3v13s38 f2v9s19 40.000000
|
||||
f3v13s38 f2v14s24 40.000000
|
||||
f1v13s20 f2v6s16 40.000000
|
||||
f1v13s20 f2v11s21 40.000000
|
||||
f0v5s5 f2v9s19 40.000000
|
||||
f0v5s5 f2v12s22 40.000000
|
||||
f0v5s5 f0v0s0 43.000000
|
||||
f0v5s5 f1v6s8 43.000000
|
||||
f0v5s5 f2v13s23 40.000000
|
||||
f0v5s5 f2v3s13 40.000000
|
||||
f0v5s5 f2v7s17 40.000000
|
||||
f0v5s5 f2v10s20 40.000000
|
||||
f0v5s5 f2v1s11 40.000000
|
||||
f0v5s5 f0v1s1 43.000000
|
||||
f0v5s5 f2v0s10 40.000000
|
||||
f0v5s5 f2v14s24 41.000000
|
||||
f1v11s18 f0v0s0 41.000000
|
||||
f1v11s18 f1v6s8 41.000000
|
||||
f1v11s18 f2v6s16 40.000000
|
||||
f1v11s18 f0v1s1 41.000000
|
||||
f1v11s18 f2v5s15 40.000000
|
||||
f1v11s18 f2v11s21 40.000000
|
||||
f0v6s6 f2v9s19 40.000000
|
||||
f0v6s6 f2v12s22 40.000000
|
||||
f0v6s6 f0v0s0 43.000000
|
||||
f0v6s6 f1v6s8 43.000000
|
||||
f0v6s6 f2v13s23 40.000000
|
||||
f0v6s6 f2v3s13 40.000000
|
||||
f0v6s6 f2v2s12 40.000000
|
||||
f0v6s6 f2v6s16 40.000000
|
||||
f0v6s6 f2v7s17 40.000000
|
||||
f0v6s6 f2v10s20 40.000000
|
||||
f0v6s6 f2v1s11 41.000000
|
||||
f0v6s6 f0v1s1 43.000000
|
||||
f0v6s6 f2v0s10 40.000000
|
||||
f0v6s6 f2v11s21 40.000000
|
||||
f0v6s6 f2v14s24 42.000000
|
||||
f3v4s29 f2v12s22 40.000000
|
||||
f3v4s29 f0v0s0 40.000000
|
||||
f3v4s29 f1v6s8 40.000000
|
||||
f3v4s29 f0v1s1 40.000000
|
||||
f0v2s2 f2v9s19 41.000000
|
||||
f0v2s2 f2v12s22 41.000000
|
||||
f0v2s2 f0v0s0 44.000000
|
||||
f0v2s2 f1v6s8 44.000000
|
||||
f0v2s2 f2v13s23 41.000000
|
||||
f0v2s2 f2v4s14 40.000000
|
||||
f0v2s2 f2v3s13 40.000000
|
||||
f0v2s2 f2v2s12 40.000000
|
||||
f0v2s2 f2v6s16 40.000000
|
||||
f0v2s2 f2v7s17 41.000000
|
||||
f0v2s2 f2v10s20 41.000000
|
||||
f0v2s2 f2v1s11 41.000000
|
||||
f0v2s2 f0v1s1 44.000000
|
||||
f0v2s2 f2v8s18 40.000000
|
||||
f0v2s2 f2v0s10 41.000000
|
||||
f0v2s2 f2v5s15 40.000000
|
||||
f0v2s2 f2v11s21 40.000000
|
||||
f0v2s2 f2v14s24 41.000000
|
||||
f3v12s37 f2v9s19 41.000000
|
||||
f3v12s37 f2v12s22 40.000000
|
||||
f3v12s37 f0v0s0 40.000000
|
||||
f3v12s37 f1v6s8 40.000000
|
||||
f3v12s37 f2v13s23 40.000000
|
||||
f3v12s37 f2v4s14 40.000000
|
||||
f3v12s37 f2v3s13 40.000000
|
||||
f3v12s37 f2v2s12 40.000000
|
||||
f3v12s37 f2v7s17 40.000000
|
||||
f3v12s37 f2v10s20 40.000000
|
||||
f3v12s37 f0v1s1 40.000000
|
||||
f3v12s37 f2v8s18 40.000000
|
||||
f3v12s37 f2v0s10 40.000000
|
||||
f3v12s37 f2v14s24 40.000000
|
||||
f0v3s3 f2v9s19 40.000000
|
||||
f0v3s3 f2v12s22 40.000000
|
||||
f0v3s3 f0v0s0 42.000000
|
||||
f0v3s3 f1v6s8 42.000000
|
||||
f0v3s3 f2v13s23 40.000000
|
||||
f0v3s3 f2v7s17 40.000000
|
||||
f0v3s3 f2v10s20 40.000000
|
||||
f0v3s3 f2v1s11 40.000000
|
||||
f0v3s3 f0v1s1 42.000000
|
||||
f0v3s3 f2v0s10 40.000000
|
||||
f0v3s3 f2v14s24 40.000000
|
||||
f0v0s0 f2v9s19 40.000000
|
||||
f0v0s0 f2v12s22 40.000000
|
||||
f0v0s0 f0v0s0 44.000000
|
||||
f0v0s0 f1v6s8 44.000000
|
||||
f0v0s0 f2v13s23 40.000000
|
||||
f0v0s0 f2v2s12 40.000000
|
||||
f0v0s0 f2v6s16 40.000000
|
||||
f0v0s0 f2v7s17 40.000000
|
||||
f0v0s0 f2v10s20 40.000000
|
||||
f0v0s0 f2v1s11 41.000000
|
||||
f0v0s0 f0v1s1 44.000000
|
||||
f0v0s0 f2v0s10 40.000000
|
||||
f0v0s0 f2v11s21 40.000000
|
||||
f0v0s0 f2v14s24 41.000000
|
||||
f1v12s19 f0v0s0 40.000000
|
||||
f1v12s19 f1v6s8 40.000000
|
||||
f1v12s19 f0v1s1 40.000000
|
||||
Whitespace-only changes.
Whitespace-only changes.
@@ -1,136 +0,0 @@
|
||||
package obiclust
|
||||
|
||||
import (
|
||||
"math"
|
||||
"sort"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
)
|
||||
|
||||
// center is a copy of the entry of a center, with its own table: scanning
|
||||
// the centers of a list then reads contiguous memory.
|
||||
type center struct {
|
||||
entry
|
||||
idx int // index of the entry in the dataset
|
||||
rank int // rank of the center in the order of creation
|
||||
}
|
||||
|
||||
const tabChunk = 1024
|
||||
|
||||
// A bucket holds the centers of one length, in the order of creation, and
|
||||
// their tables by blocks (see tableBlock).
|
||||
type bucket struct {
|
||||
cents []center
|
||||
blocks []tableBlock
|
||||
}
|
||||
|
||||
// centerSet stores the centers by length. A sequence can only be attached to a
|
||||
// center whose length is compatible with its own (see lengthCompatible), so
|
||||
// it only visits the buckets of these lengths, instead of all the centers.
|
||||
type centerSet struct {
|
||||
width int // centers per block of transposed tables, 0 if unused
|
||||
byLen map[int]*bucket
|
||||
lens []int // lengths that have a bucket, increasing
|
||||
tabs [][]table4 // chunks holding the tables of the centers
|
||||
n int
|
||||
}
|
||||
|
||||
func newCenterSet(width int) *centerSet {
|
||||
return ¢erSet{width: width, byLen: make(map[int]*bucket)}
|
||||
}
|
||||
|
||||
// add stores a copy of the entry e, which is the entry idx of the dataset, as
|
||||
// the next center, and returns it.
|
||||
func (s *centerSet) add(e entry, idx int) center {
|
||||
if s.n%tabChunk == 0 {
|
||||
s.tabs = append(s.tabs, make([]table4, tabChunk))
|
||||
}
|
||||
tab := &s.tabs[len(s.tabs)-1][s.n%tabChunk]
|
||||
if e.table != nil {
|
||||
*tab = *e.table
|
||||
}
|
||||
e.table = tab
|
||||
|
||||
b := s.byLen[e.length]
|
||||
if b == nil {
|
||||
b = new(bucket)
|
||||
s.byLen[e.length] = b
|
||||
s.lens = append(s.lens, e.length)
|
||||
sort.Ints(s.lens)
|
||||
}
|
||||
if w := s.width; w > 0 && e.table != nil {
|
||||
if len(b.cents)%w == 0 {
|
||||
b.blocks = append(b.blocks, newTableBlock(w))
|
||||
}
|
||||
b.blocks[len(b.blocks)-1].set(w, len(b.cents)%w, tab)
|
||||
}
|
||||
|
||||
ctr := center{entry: e, idx: idx, rank: s.n}
|
||||
b.cents = append(b.cents, ctr)
|
||||
s.n++
|
||||
return ctr
|
||||
}
|
||||
|
||||
// scan compares entry i with all the centers of the set, and returns the
|
||||
// first one it matches (in fast mode) or the best one (in exact mode, the
|
||||
// first of them in case of tie), exactly as compare would on the list of the
|
||||
// centers in the order of creation.
|
||||
//
|
||||
// Only the buckets of compatible lengths are visited: the other centers would
|
||||
// give the worst score. In each bucket the first match is the one of lowest
|
||||
// rank, so the first match of the whole set is the one of lowest rank among
|
||||
// the buckets. In exact mode, the best of each bucket is compared, ties going
|
||||
// to the lowest rank.
|
||||
func (c *clustering) scan(i int, buf *obialign.BandedLCSBuffer) attachment {
|
||||
q := &c.entries[i]
|
||||
set := c.set
|
||||
width := set.width
|
||||
useBlocks := width > 0 && q.sparse != nil
|
||||
|
||||
best := attachment{-1, c.sc.worst}
|
||||
bestRank := math.MaxInt
|
||||
var common [64]uint8
|
||||
|
||||
for _, length := range set.lens {
|
||||
if !c.sc.lengthCompatible(q.length, length) {
|
||||
continue
|
||||
}
|
||||
b := set.byLen[length]
|
||||
local := attachment{-1, c.sc.worst}
|
||||
localRank := 0
|
||||
|
||||
for k := range b.cents {
|
||||
ctr := &b.cents[k]
|
||||
if c.fast && ctr.rank > bestRank {
|
||||
break // a center of lower rank has been found in another bucket
|
||||
}
|
||||
cw := -1
|
||||
if useBlocks {
|
||||
if k%width == 0 {
|
||||
b.blocks[k/width].common(width, q.sparse, common[:])
|
||||
}
|
||||
cw = int(common[k%width])
|
||||
}
|
||||
s := c.sc.pairScore(q, &ctr.entry, cw, buf)
|
||||
if c.sc.selects(s, local.score) {
|
||||
local, localRank = attachment{ctr.idx, s}, ctr.rank
|
||||
if c.fast {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if local.center < 0 {
|
||||
continue
|
||||
}
|
||||
if c.fast {
|
||||
if localRank < bestRank {
|
||||
best, bestRank = local, localRank
|
||||
}
|
||||
} else if best.center < 0 || c.sc.beats(local.score, best.score) ||
|
||||
(local.score == best.score && localRank < bestRank) {
|
||||
best, bestRank = local, localRank
|
||||
}
|
||||
}
|
||||
return best
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"sync/atomic"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
)
|
||||
|
||||
// clustering is the state of the star clustering of the distinct sequences,
|
||||
@@ -32,16 +33,16 @@ import (
|
||||
// The result does not depend on the size of the blocks, which only trades the
|
||||
// sequential work of phase B against the synchronizations.
|
||||
type clustering struct {
|
||||
entries []entry
|
||||
sc *scoring
|
||||
entries []sim.Entry
|
||||
sc *sim.Scoring
|
||||
fast bool
|
||||
workers int
|
||||
// bounds of the size of the blocks, 0 for the defaults (tests only)
|
||||
blockMin, blockMax int
|
||||
|
||||
centers []int // indices of the centers, in the order of creation
|
||||
set *centerSet
|
||||
fresh []center // the centers created in the current block
|
||||
index *sim.Index
|
||||
fresh []sim.Member // the centers created in the current block
|
||||
|
||||
center []int // for each entry, the index of its center, -1 if it has none
|
||||
score []float64 // for each entry, the score with its center
|
||||
@@ -54,7 +55,7 @@ type attachment struct {
|
||||
score float64
|
||||
}
|
||||
|
||||
func newClustering(entries []entry, sc *scoring, fast bool, workers int) *clustering {
|
||||
func newClustering(entries []sim.Entry, sc *sim.Scoring, fast bool, workers int) *clustering {
|
||||
c := &clustering{
|
||||
entries: entries,
|
||||
sc: sc,
|
||||
@@ -67,26 +68,32 @@ func newClustering(entries []entry, sc *scoring, fast bool, workers int) *cluste
|
||||
for i := range c.center {
|
||||
c.center[i] = -1
|
||||
}
|
||||
c.set = newCenterSet(simdBlockWidth())
|
||||
c.index = sim.NewIndex()
|
||||
return c
|
||||
}
|
||||
|
||||
func (c *clustering) addCenter(i int) {
|
||||
c.fresh = append(c.fresh, c.set.add(c.entries[i], i))
|
||||
c.fresh = append(c.fresh, c.index.Add(c.entries[i], i))
|
||||
c.centers = append(c.centers, i)
|
||||
c.center[i] = i
|
||||
c.score[i] = c.sc.centerScore(c.entries[i].length)
|
||||
c.score[i] = c.sc.SelfScore(c.entries[i].Length)
|
||||
}
|
||||
|
||||
// selects tells if a pair of score s, ok telling that it was scored, must
|
||||
// replace the best attachment found so far.
|
||||
func (c *clustering) selects(s float64, ok bool, best attachment) bool {
|
||||
return ok && c.sc.Passes(s) && (best.center < 0 || c.sc.Beats(s, best.score))
|
||||
}
|
||||
|
||||
// compare looks for the best center of entry i among the given ones. The
|
||||
// attachment `from` is the best one already known. The search stops at the
|
||||
// first match in fast mode.
|
||||
func (c *clustering) compare(i int, cents []center, from attachment, buf *obialign.BandedLCSBuffer) attachment {
|
||||
func (c *clustering) compare(i int, cents []sim.Member, from attachment, buf *obialign.BandedLCSBuffer) attachment {
|
||||
best := from
|
||||
for k := range cents {
|
||||
s := c.sc.pairScore(&c.entries[i], ¢s[k].entry, -1, buf)
|
||||
if c.sc.selects(s, best.score) {
|
||||
best = attachment{cents[k].idx, s}
|
||||
s, ok := c.sc.PairScore(&c.entries[i], ¢s[k].Entry, -1, buf)
|
||||
if c.selects(s, ok, best) {
|
||||
best = attachment{cents[k].ID, s}
|
||||
if c.fast {
|
||||
break
|
||||
}
|
||||
@@ -162,7 +169,7 @@ func (c *clustering) run(progress func(done int)) {
|
||||
}
|
||||
unmatched++
|
||||
*a = c.compare(i, c.fresh, *a, &c.bufs[0])
|
||||
if a.center < 0 && !c.entries[i].ambiguous {
|
||||
if a.center < 0 && !c.entries[i].Ambiguous {
|
||||
newCenters = append(newCenters, i)
|
||||
c.addCenter(i)
|
||||
}
|
||||
@@ -181,7 +188,7 @@ func (c *clustering) run(progress func(done int)) {
|
||||
for i := pos; i < end; i++ {
|
||||
if a := att[i-pos]; a.center >= 0 {
|
||||
c.center[i] = a.center
|
||||
c.score[i] = c.sc.memberScore(a.score)
|
||||
c.score[i] = c.sc.Reported(a.score)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
package obiclust
|
||||
|
||||
// table4 is the 4-mer occurrence table of a sequence, as sumaclust builds it:
|
||||
// one saturating counter per word, and the number of occurrences that did
|
||||
// not fit in the counters.
|
||||
type table4 struct {
|
||||
count [256]uint8
|
||||
overflow int
|
||||
}
|
||||
|
||||
// buildTable4 counts the 4-mers of a sequence made of the letters a, c, g
|
||||
// and t. The 2-bit code of a base is (letter>>1)&3, i.e. a=0, c=1, t=2, g=3,
|
||||
// which is the encoding of sumaclust.
|
||||
func buildTable4(seq []byte) *table4 {
|
||||
t := new(table4)
|
||||
t.fill(seq)
|
||||
return t
|
||||
}
|
||||
|
||||
// fill counts the 4-mers of seq in a zeroed table.
|
||||
func (t *table4) fill(seq []byte) {
|
||||
if len(seq) < 4 {
|
||||
return
|
||||
}
|
||||
w := uint(0)
|
||||
for i, c := range seq {
|
||||
w = (w<<2 | uint(c>>1)&3) & 0xFF
|
||||
if i < 3 {
|
||||
continue
|
||||
}
|
||||
if t.count[w] < 255 {
|
||||
t.count[w]++
|
||||
} else {
|
||||
t.overflow++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// minCommonWords is the minimum number of 4-mers that two sequences must
|
||||
// share when the longest has length reflen and they have a common
|
||||
// subsequence of length lcs (integer arithmetic of sumaclust, thresholdLCS4).
|
||||
func minCommonWords(reflen, lcs int) int {
|
||||
nbfrag := (reflen-lcs)*2 + 1
|
||||
smin := lcs / nbfrag
|
||||
r := lcs - smin*nbfrag
|
||||
return max(smin-2, 0)*r + max(smin-3, 0)*(nbfrag-r)
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
//go:build !goexperiment.simd
|
||||
|
||||
package obiclust
|
||||
|
||||
// commonWords is the upper bound sumaclust uses for the number of 4-mers
|
||||
// shared by two sequences: the sum of the minima of the counters, plus the
|
||||
// minimum of the two overflows.
|
||||
func commonWords(t1, t2 *table4) int {
|
||||
total := 0
|
||||
for i := range t1.count {
|
||||
total += int(min(t1.count[i], t2.count[i]))
|
||||
}
|
||||
return total + min(t1.overflow, t2.overflow)
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
package obiclust
|
||||
|
||||
import (
|
||||
"math/rand"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// commonWordsRef is the definition of commonWords, spelled out.
|
||||
func commonWordsRef(t1, t2 *table4) int {
|
||||
total := 0
|
||||
for i := range t1.count {
|
||||
total += int(min(t1.count[i], t2.count[i]))
|
||||
}
|
||||
return total + min(t1.overflow, t2.overflow)
|
||||
}
|
||||
|
||||
func TestCommonWords(t *testing.T) {
|
||||
rng := rand.New(rand.NewSource(3))
|
||||
seq := func(n int, alpha string) []byte {
|
||||
s := make([]byte, n)
|
||||
for i := range s {
|
||||
s[i] = alpha[rng.Intn(len(alpha))]
|
||||
}
|
||||
return s
|
||||
}
|
||||
for it := 0; it < 3000; it++ {
|
||||
alpha := []string{"acgt", "ac", "a"}[it%3]
|
||||
t1 := buildTable4(seq(rng.Intn(1200), alpha))
|
||||
t2 := buildTable4(seq(rng.Intn(1200), alpha))
|
||||
if got, want := commonWords(t1, t2), commonWordsRef(t1, t2); got != want {
|
||||
t.Fatalf("commonWords = %d, want %d", got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestBuildTable4 checks the table against the 4-mers counted the long way,
|
||||
// including the saturation of the counters.
|
||||
func TestBuildTable4(t *testing.T) {
|
||||
code := map[byte]int{'a': 0, 'c': 1, 't': 2, 'g': 3}
|
||||
rng := rand.New(rand.NewSource(4))
|
||||
for it := 0; it < 500; it++ {
|
||||
alpha := []string{"acgt", "a", "ac"}[it%3]
|
||||
n := rng.Intn(900)
|
||||
s := make([]byte, n)
|
||||
for i := range s {
|
||||
s[i] = alpha[rng.Intn(len(alpha))]
|
||||
}
|
||||
var counts [256]int
|
||||
for i := 0; i+4 <= n; i++ {
|
||||
w := 0
|
||||
for _, c := range s[i : i+4] {
|
||||
w = w<<2 | code[c]
|
||||
}
|
||||
counts[w]++
|
||||
}
|
||||
tab := buildTable4(s)
|
||||
over := 0
|
||||
for w, c := range counts {
|
||||
if c > 255 {
|
||||
over += c - 255
|
||||
c = 255
|
||||
}
|
||||
if int(tab.count[w]) != c {
|
||||
t.Fatalf("word %d: got %d, want %d", w, tab.count[w], c)
|
||||
}
|
||||
}
|
||||
if tab.overflow != over {
|
||||
t.Fatalf("overflow = %d, want %d", tab.overflow, over)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,57 +2,18 @@ package obiclust
|
||||
|
||||
import (
|
||||
"os"
|
||||
"sync"
|
||||
"sync/atomic"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obidefault"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obiconvert"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obicsv"
|
||||
"github.com/schollz/progressbar/v3"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// buildEntries describes the distinct sequences of the groups, the 4-mer
|
||||
// tables being computed in parallel.
|
||||
func buildEntries(recs []record, groups []group, workers int) []entry {
|
||||
entries := make([]entry, len(groups))
|
||||
tables := make([]table4, len(groups)) // contiguous, in the order the centers are scanned
|
||||
|
||||
var next atomic.Int64
|
||||
var wg sync.WaitGroup
|
||||
for w := 0; w < max(workers, 1); w++ {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
for {
|
||||
g := int(next.Add(1)) - 1
|
||||
if g >= len(groups) {
|
||||
return
|
||||
}
|
||||
head := &recs[groups[g].start]
|
||||
var sparse []uint16
|
||||
if !head.ambiguous {
|
||||
tables[g].fill(head.clean)
|
||||
sparse = sparseWords(&tables[g])
|
||||
}
|
||||
entries[g] = entry{
|
||||
seq: head.clean,
|
||||
length: len(head.clean),
|
||||
count: groups[g].count,
|
||||
table: &tables[g],
|
||||
sparse: sparse,
|
||||
ambiguous: head.ambiguous,
|
||||
}
|
||||
}
|
||||
}()
|
||||
}
|
||||
wg.Wait()
|
||||
return entries
|
||||
}
|
||||
|
||||
// Params are the parameters of the clustering.
|
||||
type Params struct {
|
||||
Threshold float64
|
||||
@@ -60,7 +21,7 @@ type Params struct {
|
||||
Exact bool // attach a sequence to the best center, not to the first matching one
|
||||
Distance bool // the score is a distance, not a similarity
|
||||
Normalized bool // the score is normalized by the reference length
|
||||
Reference reference
|
||||
Reference sim.Reference
|
||||
SortKey string // "count", "None", or an attribute
|
||||
Ascending bool
|
||||
AcceptAmbiguous bool // keep the sequences with IUPAC letters other than acgt (they cannot be centers)
|
||||
@@ -84,34 +45,20 @@ func ParamsFromCLI() Params {
|
||||
}
|
||||
|
||||
// newScoring builds the scoring from the parameters, checking them as sumaclust does.
|
||||
func newScoring(p Params, entries []entry) *scoring {
|
||||
threshold := p.Threshold
|
||||
|
||||
if threshold <= 0 || (p.Normalized && threshold > 1.0) {
|
||||
func newScoring(p Params, entries []sim.Entry) *sim.Scoring {
|
||||
if p.Threshold <= 0 {
|
||||
log.Fatal("Please specify a threshold > 0, and < 1 when scores are normalized.")
|
||||
}
|
||||
|
||||
sc := &scoring{
|
||||
normalize: p.Normalized,
|
||||
lcsmode: !p.Distance,
|
||||
ref: p.Reference,
|
||||
ratio: p.Ratio,
|
||||
sc, err := sim.NewScoring(sim.Params{
|
||||
Threshold: p.Threshold,
|
||||
Normalized: p.Normalized,
|
||||
Distance: p.Distance,
|
||||
Reference: p.Reference,
|
||||
Ratio: p.Ratio,
|
||||
}, entries)
|
||||
if err != nil {
|
||||
log.Fatalf("Please specify a threshold > 0, and < 1 when scores are normalized: %v", err)
|
||||
}
|
||||
if !sc.lcsmode && sc.normalize {
|
||||
threshold = 1.0 - threshold
|
||||
}
|
||||
sc.threshold = threshold
|
||||
|
||||
lmax := 0
|
||||
for i := range entries {
|
||||
lmax = max(lmax, entries[i].length)
|
||||
}
|
||||
if sc.similarityLike() {
|
||||
sc.worst = 0.0
|
||||
} else {
|
||||
sc.worst = float64(lmax)
|
||||
}
|
||||
sc.prepareLengths(lmax)
|
||||
return sc
|
||||
}
|
||||
|
||||
@@ -153,19 +100,22 @@ func Cluster(db obiseq.BioSequenceSlice, p Params, progress func(done, total int
|
||||
}
|
||||
log.Infof("%d distinct sequences", len(groups))
|
||||
|
||||
entries := buildEntries(recs, groups, p.Workers)
|
||||
entries := sim.BuildEntries(len(groups), func(g int) ([]byte, int, bool) {
|
||||
head := &recs[groups[g].start]
|
||||
return head.clean, groups[g].count, head.ambiguous
|
||||
}, p.Workers)
|
||||
for i := range entries {
|
||||
if entries[i].length > obialign.MaxBandedLCSLength {
|
||||
if entries[i].Length > obialign.MaxBandedLCSLength {
|
||||
log.Fatalf("The sequence %s is too long (%d bp, maximum %d bp)",
|
||||
recs[groups[i].start].seq.Id(), entries[i].length, obialign.MaxBandedLCSLength)
|
||||
recs[groups[i].start].seq.Id(), entries[i].Length, obialign.MaxBandedLCSLength)
|
||||
}
|
||||
}
|
||||
|
||||
sc := newScoring(p, entries)
|
||||
if sc.similarityLike() {
|
||||
log.Infof("Clustering sequences when similarity >= %f", sc.threshold)
|
||||
if sc.SimilarityLike() {
|
||||
log.Infof("Clustering sequences when similarity >= %f", sc.Threshold())
|
||||
} else {
|
||||
log.Infof("Clustering sequences when distance <= %f", sc.threshold)
|
||||
log.Infof("Clustering sequences when distance <= %f", sc.Threshold())
|
||||
}
|
||||
|
||||
cl := newClustering(entries, sc, !p.Exact, p.Workers)
|
||||
@@ -185,10 +135,11 @@ func CLIOBIClust(iterator obiiter.IBioSequence) obiiter.IBioSequence {
|
||||
log.Infof("Sequence dataset of %d sequences loaded", len(db))
|
||||
|
||||
var bar *progressbar.ProgressBar
|
||||
barChecked := false // the bar is created once, even when it is disabled
|
||||
last := 0
|
||||
res := Cluster(db, ParamsFromCLI(), func(done, total int) {
|
||||
if bar == nil {
|
||||
bar = progressBar(total)
|
||||
if !barChecked {
|
||||
bar, barChecked = progressBar(total), true
|
||||
}
|
||||
if bar != nil {
|
||||
bar.Add(done - last)
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
)
|
||||
|
||||
// readTestFasta reads a fasta file whose headers are "id count=N; key=V;".
|
||||
@@ -75,11 +76,11 @@ func paramsFromSumaclust(t testing.TB, args []string) Params {
|
||||
case "-e":
|
||||
p.Exact = true
|
||||
case "-l":
|
||||
p.Reference = refShortest
|
||||
p.Reference = sim.RefShortest
|
||||
case "-L":
|
||||
p.Reference = refLongest
|
||||
p.Reference = sim.RefLongest
|
||||
case "-a":
|
||||
p.Reference = refAlignment
|
||||
p.Reference = sim.RefAlignment
|
||||
case "-d":
|
||||
p.Distance = true
|
||||
case "-r":
|
||||
@@ -138,37 +139,37 @@ func TestSumaclustResults(t *testing.T) {
|
||||
}
|
||||
|
||||
// referenceCluster transcribes the sequential algorithm of sumaclust.
|
||||
func referenceCluster(entries []entry, sc *scoring, fast bool) (center []int, score []float64) {
|
||||
func referenceCluster(entries []sim.Entry, sc *sim.Scoring, fast bool) (center []int, score []float64) {
|
||||
n := len(entries)
|
||||
center, score = make([]int, n), make([]float64, n)
|
||||
var centers []int
|
||||
var buf obialign.BandedLCSBuffer
|
||||
for i := range entries {
|
||||
scoremax, best := sc.worst, -1
|
||||
best, bestScore := -1, 0.0
|
||||
for _, c := range centers {
|
||||
s := sc.pairScore(&entries[i], &entries[c], -1, &buf)
|
||||
if sc.selects(s, scoremax) {
|
||||
scoremax, best = s, c
|
||||
s, ok := sc.PairScore(&entries[i], &entries[c], -1, &buf)
|
||||
if ok && sc.Passes(s) && (best < 0 || sc.Beats(s, bestScore)) {
|
||||
best, bestScore = c, s
|
||||
if fast {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if best >= 0 {
|
||||
center[i], score[i] = best, sc.memberScore(scoremax)
|
||||
} else if entries[i].ambiguous {
|
||||
center[i], score[i] = best, sc.Reported(bestScore)
|
||||
} else if entries[i].Ambiguous {
|
||||
center[i] = -1
|
||||
} else {
|
||||
center[i], score[i] = i, sc.centerScore(entries[i].length)
|
||||
center[i], score[i] = i, sc.SelfScore(entries[i].Length)
|
||||
centers = append(centers, i)
|
||||
}
|
||||
}
|
||||
return center, score
|
||||
}
|
||||
|
||||
func randomEntries(rng *rand.Rand, n int) []entry {
|
||||
func randomEntries(rng *rand.Rand, n int) []sim.Entry {
|
||||
var roots [][]byte
|
||||
entries := make([]entry, 0, n)
|
||||
entries := make([]sim.Entry, 0, n)
|
||||
for len(entries) < n {
|
||||
var s []byte
|
||||
if len(roots) == 0 || rng.Intn(5) == 0 {
|
||||
@@ -191,8 +192,8 @@ func randomEntries(rng *rand.Rand, n int) []entry {
|
||||
}
|
||||
}
|
||||
}
|
||||
tab := buildTable4(s)
|
||||
entries = append(entries, entry{seq: s, length: len(s), count: 1 + rng.Intn(20), table: tab, sparse: sparseWords(tab)})
|
||||
tab := sim.NewTable4(s)
|
||||
entries = append(entries, sim.Entry{Seq: s, Length: len(s), Count: 1 + rng.Intn(20), Table: tab, Sparse: sim.SparseWords(tab)})
|
||||
}
|
||||
return entries
|
||||
}
|
||||
@@ -202,22 +203,25 @@ func randomEntries(rng *rand.Rand, n int) []entry {
|
||||
// result of the sequential algorithm.
|
||||
func TestParallelClusteringIsSequential(t *testing.T) {
|
||||
rng := rand.New(rand.NewSource(21))
|
||||
scorings := []scoring{
|
||||
{threshold: 0.9, normalize: true, lcsmode: true, ref: refAlignment, ratio: 1, worst: 0},
|
||||
{threshold: 0.85, normalize: true, lcsmode: true, ref: refShortest, ratio: 2, worst: 0},
|
||||
{threshold: 0.9, normalize: true, lcsmode: false, ref: refLongest, ratio: 1, worst: 0},
|
||||
{threshold: 35, normalize: false, lcsmode: true, ref: refAlignment, ratio: 1, worst: 0},
|
||||
{threshold: 5, normalize: false, lcsmode: false, ref: refAlignment, ratio: 1, worst: 80},
|
||||
scorings := []sim.Params{
|
||||
{Threshold: 0.9, Normalized: true, Reference: sim.RefAlignment, Ratio: 1},
|
||||
{Threshold: 0.85, Normalized: true, Reference: sim.RefShortest, Ratio: 2},
|
||||
{Threshold: 0.9, Normalized: true, Distance: true, Reference: sim.RefLongest, Ratio: 1},
|
||||
{Threshold: 35, Reference: sim.RefAlignment, Ratio: 1},
|
||||
{Threshold: 5, Distance: true, Reference: sim.RefAlignment, Ratio: 1},
|
||||
}
|
||||
for round := 0; round < 4; round++ {
|
||||
entries := randomEntries(rng, 300)
|
||||
for si := range scorings {
|
||||
sc := scorings[si]
|
||||
sc, err := sim.NewScoring(scorings[si], entries)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, fast := range []bool{true, false} {
|
||||
wantCenter, wantScore := referenceCluster(entries, &sc, fast)
|
||||
wantCenter, wantScore := referenceCluster(entries, sc, fast)
|
||||
for _, workers := range []int{1, 3, 8} {
|
||||
for _, blocks := range [][2]int{{0, 0}, {1, 1}, {2, 5}, {7, 7}, {50, 300}} {
|
||||
cl := newClustering(entries, &sc, fast, workers)
|
||||
cl := newClustering(entries, sc, fast, workers)
|
||||
cl.blockMin, cl.blockMax = blocks[0], blocks[1]
|
||||
cl.run(func(int) {})
|
||||
for i := range entries {
|
||||
@@ -233,28 +237,6 @@ func TestParallelClusteringIsSequential(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestClassify(t *testing.T) {
|
||||
cases := []struct {
|
||||
in string
|
||||
accept bool
|
||||
kept bool
|
||||
ambiguous bool
|
||||
}{
|
||||
{"acgt", false, true, false}, {"acgt", true, true, false},
|
||||
{"acgtn", false, false, false}, {"acgtn", true, true, true},
|
||||
{"acgtx", true, false, false}, {"nacgt", false, false, false},
|
||||
{"acgt-", true, false, false}, {"acgu", true, true, true},
|
||||
{"ACGT", true, false, false}, {"", true, false, false},
|
||||
{"rykmswbdhvn", true, true, true}, {"rykmswbdhvn", false, false, false},
|
||||
}
|
||||
for _, c := range cases {
|
||||
got, amb := classify([]byte(c.in), c.accept)
|
||||
if (got != nil) != c.kept || amb != c.ambiguous {
|
||||
t.Errorf("classify(%q, %v) = (%q, %v), want kept=%v ambiguous=%v", c.in, c.accept, got, amb, c.kept, c.ambiguous)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func makeSeq(id, seq string, count int, key float64) *obiseq.BioSequence {
|
||||
s := obiseq.NewBioSequence(id, []byte(seq), "")
|
||||
s.SetAttribute("count", count)
|
||||
@@ -353,82 +335,3 @@ func TestAmbiguousSequences(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestLengthTable checks that the values precomputed by length give the
|
||||
// scores of the direct computation, in every mode.
|
||||
func TestLengthTable(t *testing.T) {
|
||||
rng := rand.New(rand.NewSource(33))
|
||||
entries := randomEntries(rng, 120)
|
||||
for i := 0; i < 20; i++ { // some very short sequences, which skip the filter
|
||||
s := entries[i].seq[:8+rng.Intn(10)]
|
||||
entries[i] = entry{seq: s, length: len(s), count: 1, table: buildTable4(s)}
|
||||
}
|
||||
lmax := 0
|
||||
for i := range entries {
|
||||
lmax = max(lmax, entries[i].length)
|
||||
}
|
||||
var buf obialign.BandedLCSBuffer
|
||||
for _, ref := range []reference{refAlignment, refLongest, refShortest} {
|
||||
for _, mode := range []scoring{
|
||||
{threshold: 0.9, normalize: true, lcsmode: true},
|
||||
{threshold: 0.8, normalize: true, lcsmode: false},
|
||||
{threshold: 30, normalize: false, lcsmode: true},
|
||||
{threshold: 6, normalize: false, lcsmode: false},
|
||||
} {
|
||||
direct := mode
|
||||
direct.ref, direct.ratio = ref, 3
|
||||
table := direct
|
||||
table.prepareLengths(lmax)
|
||||
if (ref == refShortest) != (table.byLength == nil) {
|
||||
t.Fatalf("ref %v: table presence is wrong", ref)
|
||||
}
|
||||
for i := range entries {
|
||||
for j := range entries {
|
||||
a, b := direct.pairScore(&entries[i], &entries[j], -1, &buf), table.pairScore(&entries[i], &entries[j], -1, &buf)
|
||||
if a != b {
|
||||
t.Fatalf("ref %v mode %+v pair %d,%d: %v with the table, %v directly", ref, mode, i, j, b, a)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestBlockCommon checks the sums of a block of transposed tables against
|
||||
// commonWords.
|
||||
func TestBlockCommon(t *testing.T) {
|
||||
width := simdBlockWidth()
|
||||
if width == 0 {
|
||||
t.Skip("blocks of tables are used with GOEXPERIMENT=simd only")
|
||||
}
|
||||
rng := rand.New(rand.NewSource(8))
|
||||
seq := func(n int, alpha string) []byte {
|
||||
s := make([]byte, n)
|
||||
for i := range s {
|
||||
s[i] = alpha[rng.Intn(len(alpha))]
|
||||
}
|
||||
return s
|
||||
}
|
||||
for it := 0; it < 200; it++ {
|
||||
alpha := []string{"acgt", "ac", "a"}[it%3]
|
||||
block := newTableBlock(width)
|
||||
tabs := make([]*table4, width)
|
||||
for j := range tabs {
|
||||
tabs[j] = buildTable4(seq(rng.Intn(600), alpha))
|
||||
block.set(width, j, tabs[j])
|
||||
}
|
||||
q := buildTable4(seq(rng.Intn(260), alpha))
|
||||
words := sparseWords(q)
|
||||
if words == nil {
|
||||
continue
|
||||
}
|
||||
out := make([]uint8, 64)
|
||||
block.common(width, words, out)
|
||||
for j, tab := range tabs {
|
||||
want := commonWordsRef(q, tab) - min(q.overflow, tab.overflow)
|
||||
if int(out[j]) != want {
|
||||
t.Fatalf("lane %d: %d, want %d", j, out[j], want)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,12 @@
|
||||
package obiclust
|
||||
|
||||
import (
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obiconvert"
|
||||
"github.com/DavidGamba/go-getoptions"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// reference is the length used to normalize a score (or to express a raw
|
||||
// distance): the alignment length, the longest or the shortest sequence.
|
||||
type reference int
|
||||
|
||||
const (
|
||||
refAlignment reference = iota
|
||||
refLongest
|
||||
refShortest
|
||||
)
|
||||
|
||||
var _threshold = 0.97
|
||||
var _ratio = 1.0
|
||||
var _exact = false
|
||||
@@ -76,7 +67,7 @@ func ObiclustOptionSet(options *getoptions.GetOpt) {
|
||||
options.Alias("R"),
|
||||
options.ArgName("RATIO"),
|
||||
options.Description("Maximum ratio between the counts of two sequences so that the less abundant one "+
|
||||
"can be considered as a variant of the more abundant one (default: %3.2f)."))
|
||||
"can be considered as a variant of the more abundant one."))
|
||||
|
||||
options.StringVar(&_sortKey, "sort", _sortKey,
|
||||
options.Alias("s"),
|
||||
@@ -133,16 +124,16 @@ func CLINormalized() bool {
|
||||
}
|
||||
|
||||
// CLIReference returns the length used as reference to normalize the score.
|
||||
func CLIReference() reference {
|
||||
func CLIReference() sim.Reference {
|
||||
n := 0
|
||||
ref := refAlignment
|
||||
ref := sim.RefAlignment
|
||||
if _refShortest {
|
||||
n++
|
||||
ref = refShortest
|
||||
ref = sim.RefShortest
|
||||
}
|
||||
if _refLongest {
|
||||
n++
|
||||
ref = refLongest
|
||||
ref = sim.RefLongest
|
||||
}
|
||||
if _refAlignment {
|
||||
n++
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiutils"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
@@ -30,45 +31,6 @@ type group struct {
|
||||
key float64
|
||||
}
|
||||
|
||||
// nucleotide classes of a byte
|
||||
const (
|
||||
notNucleotide = iota
|
||||
plainNucleotide
|
||||
ambiguousNucleotide
|
||||
)
|
||||
|
||||
var nucleotideClass = func() (t [256]uint8) {
|
||||
for _, c := range "acgt" {
|
||||
t[c] = plainNucleotide
|
||||
}
|
||||
for _, c := range "umrwsykvhdbn" {
|
||||
t[c] = ambiguousNucleotide
|
||||
}
|
||||
return t
|
||||
}()
|
||||
|
||||
// classify returns the nucleotides of a sequence and tells if it contains
|
||||
// IUPAC letters other than a, c, g and t. nil is returned if the sequence is
|
||||
// empty, or contains anything else than IUPAC letters (and also IUPAC letters
|
||||
// other than a, c, g and t unless ambiguous ones are accepted).
|
||||
func classify(s []byte, acceptAmbiguous bool) (clean []byte, ambiguous bool) {
|
||||
if len(s) == 0 {
|
||||
return nil, false
|
||||
}
|
||||
for _, c := range s {
|
||||
switch nucleotideClass[c] {
|
||||
case notNucleotide:
|
||||
return nil, false
|
||||
case ambiguousNucleotide:
|
||||
if !acceptAmbiguous {
|
||||
return nil, false
|
||||
}
|
||||
ambiguous = true
|
||||
}
|
||||
}
|
||||
return s, ambiguous
|
||||
}
|
||||
|
||||
// atof reads the leading number of a string as C atof does.
|
||||
func atof(v interface{}) float64 {
|
||||
if s, ok := v.(string); ok {
|
||||
@@ -120,12 +82,12 @@ func prepare(db obiseq.BioSequenceSlice, key string, ascending, acceptAmbiguous
|
||||
discarded := 0
|
||||
|
||||
for pos, s := range db {
|
||||
clean, ambiguous := classify(s.Sequence(), acceptAmbiguous)
|
||||
if clean == nil {
|
||||
ok, ambiguous := sim.Classify(s.Sequence(), acceptAmbiguous)
|
||||
if !ok {
|
||||
discarded++
|
||||
continue
|
||||
}
|
||||
r := record{seq: s, pos: pos, clean: clean, count: s.Count(), ambiguous: ambiguous}
|
||||
r := record{seq: s, pos: pos, clean: s.Sequence(), count: s.Count(), ambiguous: ambiguous}
|
||||
if key != "None" {
|
||||
r.key = sortKeyOf(s, key)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
package obiclust
|
||||
|
||||
import (
|
||||
"math"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
sim "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obisimilarity"
|
||||
)
|
||||
|
||||
// scan compares entry i with all the centers of the index, and returns the
|
||||
// first one it matches (in fast mode) or the best one (in exact mode, the
|
||||
// first of them in case of tie), exactly as compare would on the list of the
|
||||
// centers in the order of creation.
|
||||
//
|
||||
// Only the buckets of compatible lengths are visited: the other centers would
|
||||
// not match. In each bucket the first match is the one of lowest rank, so the
|
||||
// first match of the whole index is the one of lowest rank among the buckets.
|
||||
// In exact mode, the best of each bucket is compared, ties going to the
|
||||
// lowest rank.
|
||||
func (c *clustering) scan(i int, buf *obialign.BandedLCSBuffer) attachment {
|
||||
q := &c.entries[i]
|
||||
|
||||
best := attachment{-1, 0}
|
||||
bestRank := math.MaxInt
|
||||
var commons sim.Commons
|
||||
|
||||
for _, length := range c.index.Lengths() {
|
||||
if !c.sc.LengthCompatible(q.Length, length) {
|
||||
continue
|
||||
}
|
||||
b := c.index.Bucket(length)
|
||||
commons.Reset()
|
||||
local := attachment{-1, 0}
|
||||
localRank := 0
|
||||
|
||||
for k := range b.Members {
|
||||
m := &b.Members[k]
|
||||
if c.fast && m.Rank > bestRank {
|
||||
break // a center of lower rank has been found in another bucket
|
||||
}
|
||||
s, ok := c.sc.PairScore(q, &m.Entry, b.Common(k, q.Sparse, &commons), buf)
|
||||
if c.selects(s, ok, local) {
|
||||
local, localRank = attachment{m.ID, s}, m.Rank
|
||||
if c.fast {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if local.center < 0 {
|
||||
continue
|
||||
}
|
||||
if c.fast {
|
||||
if localRank < bestRank {
|
||||
best, bestRank = local, localRank
|
||||
}
|
||||
} else if best.center < 0 || c.sc.Beats(local.score, best.score) ||
|
||||
(local.score == best.score && localRank < bestRank) {
|
||||
best, bestRank = local, localRank
|
||||
}
|
||||
}
|
||||
return best
|
||||
}
|
||||
@@ -1,233 +0,0 @@
|
||||
package obiclust
|
||||
|
||||
import (
|
||||
"math"
|
||||
|
||||
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obialign"
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// entry is a distinct sequence of the dataset with what the clustering needs.
|
||||
type entry struct {
|
||||
seq []byte
|
||||
length int
|
||||
count int // cumulated count of the identical sequences
|
||||
table *table4
|
||||
sparse []uint16 // words of the table (see sparseWords), nil if unusable
|
||||
// ambiguous sequences contain IUPAC letters other than a, c, g and t:
|
||||
// they have no 4-mer table, and cannot be the center of a cluster
|
||||
ambiguous bool
|
||||
}
|
||||
|
||||
// scoring holds the way sumaclust scores a pair of sequences and decides
|
||||
// whether it passes the threshold. It reproduces the arithmetic of the
|
||||
// reference implementation (integer truncations, floating point
|
||||
// comparisons) so that the same pairs are accepted with the same scores.
|
||||
type scoring struct {
|
||||
threshold float64 // threshold as used for the comparison (1 - t for a normalized distance)
|
||||
normalize bool
|
||||
lcsmode bool // true: score is a similarity, false: it is a distance
|
||||
ref reference
|
||||
ratio float64
|
||||
worst float64 // score of a pair that cannot be attached
|
||||
|
||||
// byLength gives, for the pairs whose longest sequence has a length l,
|
||||
// the values that depend on l only. It is built when the reference is not
|
||||
// the shortest sequence, otherwise those values depend on both lengths.
|
||||
byLength []lengthInfo
|
||||
}
|
||||
|
||||
type lengthInfo struct {
|
||||
lcsMin int32 // see lcsMin
|
||||
minCommon int32 // see minCommon
|
||||
}
|
||||
|
||||
// prepareLengths fills byLength for the lengths up to lmax.
|
||||
func (sc *scoring) prepareLengths(lmax int) {
|
||||
if sc.ref == refShortest {
|
||||
return
|
||||
}
|
||||
sc.byLength = make([]lengthInfo, lmax+1)
|
||||
for l := range sc.byLength {
|
||||
sc.byLength[l] = lengthInfo{int32(sc.lcsMin(l, l)), int32(sc.minCommon(l, l))}
|
||||
}
|
||||
}
|
||||
|
||||
// similarityLike tells if the comparison with the threshold is "score >= threshold".
|
||||
func (sc *scoring) similarityLike() bool { return sc.lcsmode || sc.normalize }
|
||||
|
||||
// lcsMin is the smallest LCS score that a pair of lengths l1 >= l2 can have
|
||||
// and still pass the threshold (calculateLCSmin of sumaclust).
|
||||
func (sc *scoring) lcsMin(l1, l2 int) int {
|
||||
switch {
|
||||
case sc.threshold <= 0:
|
||||
return 0
|
||||
case sc.normalize:
|
||||
if sc.ref == refShortest {
|
||||
return int(sc.threshold * float64(l2))
|
||||
}
|
||||
return int(sc.threshold * float64(l1))
|
||||
case sc.lcsmode:
|
||||
return int(sc.threshold)
|
||||
case sc.ref == refShortest:
|
||||
return int(float64(l2) - sc.threshold)
|
||||
default:
|
||||
return int(float64(l1) - sc.threshold)
|
||||
}
|
||||
}
|
||||
|
||||
// minCommon is the number of 4-mers that two sequences of lengths l1 >= l2
|
||||
// must share to be possibly similar enough (isPossibleSumathings).
|
||||
func (sc *scoring) minCommon(l1, l2 int) int {
|
||||
reflen := l2
|
||||
if sc.ref == refAlignment || sc.ref == refLongest {
|
||||
reflen = l1
|
||||
}
|
||||
var lcs int
|
||||
if sc.normalize {
|
||||
lcs = int(math.Ceil(float64(reflen) * sc.threshold))
|
||||
} else {
|
||||
th := sc.threshold
|
||||
if !sc.lcsmode {
|
||||
th = float64(reflen) - th
|
||||
}
|
||||
lcs = int(th)
|
||||
}
|
||||
return minCommonWords(l1, lcs)
|
||||
}
|
||||
|
||||
// pairScore returns the score of a query sequence against a center, or the
|
||||
// worst score when the pair cannot be attached.
|
||||
//
|
||||
// common, if not negative, is the sum of the minima of the 4-mer counters of
|
||||
// the two sequences, already computed by a block of tables.
|
||||
func (sc *scoring) pairScore(q, c *entry, common int, buf *obialign.BandedLCSBuffer) float64 {
|
||||
// The quotient of two counts is not above 1 when the first is not above
|
||||
// the second, which spares the division in the usual case.
|
||||
if !(sc.ratio >= 1 && q.count <= c.count) && float64(q.count)/float64(c.count) > sc.ratio {
|
||||
return sc.worst
|
||||
}
|
||||
|
||||
l1, l2 := q.length, c.length
|
||||
long, short := q, c
|
||||
if l1 < l2 {
|
||||
l1, l2 = l2, l1
|
||||
long, short = c, q
|
||||
}
|
||||
var lcsMin, minCommon int
|
||||
if sc.byLength != nil {
|
||||
info := sc.byLength[l1]
|
||||
lcsMin, minCommon = int(info.lcsMin), int(info.minCommon)
|
||||
} else {
|
||||
lcsMin, minCommon = sc.lcsMin(l1, l2), sc.minCommon(l1, l2)
|
||||
}
|
||||
if l2 < lcsMin {
|
||||
return sc.worst
|
||||
}
|
||||
// The 4-mer filter counts identical words: it does not hold when IUPAC
|
||||
// codes can match different letters. It lets short sequences pass.
|
||||
if l1 >= 12 && l2 >= 12 && !long.ambiguous && !short.ambiguous {
|
||||
if common >= 0 {
|
||||
common += min(long.table.overflow, short.table.overflow)
|
||||
} else {
|
||||
common = commonWords(long.table, short.table)
|
||||
}
|
||||
if common < minCommon {
|
||||
return sc.worst
|
||||
}
|
||||
}
|
||||
|
||||
// The length of the alignment is needed only to normalize by it, or to
|
||||
// express a distance with it; the score alone is much cheaper.
|
||||
var lcs, alilen int
|
||||
var err error
|
||||
if sc.ref == refAlignment && (sc.normalize || !sc.lcsmode) {
|
||||
lcs, alilen, err = buf.AtLeast(q.seq, c.seq, lcsMin)
|
||||
} else {
|
||||
lcs, err = buf.ScoreAtLeast(q.seq, c.seq, lcsMin)
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatalf("Cannot align two sequences: %v", err)
|
||||
}
|
||||
if lcs < 0 {
|
||||
// The best alignment has a score under lcsMin: the pair cannot pass.
|
||||
return sc.worst
|
||||
}
|
||||
|
||||
id := float64(lcs)
|
||||
if !sc.lcsmode && !sc.normalize {
|
||||
switch sc.ref {
|
||||
case refAlignment:
|
||||
id = float64(alilen) - id
|
||||
case refLongest:
|
||||
id = float64(l1) - id
|
||||
case refShortest:
|
||||
id = float64(l2) - id
|
||||
}
|
||||
}
|
||||
if sc.normalize {
|
||||
switch sc.ref {
|
||||
case refAlignment:
|
||||
id /= float64(alilen)
|
||||
case refLongest:
|
||||
id /= float64(l1)
|
||||
case refShortest:
|
||||
id /= float64(l2)
|
||||
}
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
// beats tells if the score s is better than the score best (without any
|
||||
// threshold).
|
||||
func (sc *scoring) beats(s, best float64) bool {
|
||||
if sc.similarityLike() {
|
||||
return s > best
|
||||
}
|
||||
return s < best
|
||||
}
|
||||
|
||||
// lcsMinFor is lcsMin for sequences of lengths l1 >= l2, from the table when it exists.
|
||||
func (sc *scoring) lcsMinFor(l1, l2 int) int {
|
||||
if sc.byLength != nil {
|
||||
return int(sc.byLength[l1].lcsMin)
|
||||
}
|
||||
return sc.lcsMin(l1, l2)
|
||||
}
|
||||
|
||||
// lengthCompatible tells if two sequences of these lengths may be similar enough:
|
||||
// the shortest cannot be shorter than the minimum LCS score of the pair.
|
||||
func (sc *scoring) lengthCompatible(la, lb int) bool {
|
||||
l1, l2 := max(la, lb), min(la, lb)
|
||||
return l2 >= sc.lcsMinFor(l1, l2)
|
||||
}
|
||||
|
||||
// selects tells if a pair of score s must replace the best pair found so far,
|
||||
// of score best.
|
||||
func (sc *scoring) selects(s, best float64) bool {
|
||||
if sc.similarityLike() {
|
||||
return s >= sc.threshold && s > best
|
||||
}
|
||||
return s <= sc.threshold && s < best
|
||||
}
|
||||
|
||||
// centerScore is the score of a sequence with itself.
|
||||
func (sc *scoring) centerScore(length int) float64 {
|
||||
switch {
|
||||
case sc.normalize && sc.lcsmode:
|
||||
return 1.0
|
||||
case !sc.lcsmode:
|
||||
return 0.0
|
||||
default:
|
||||
return float64(length)
|
||||
}
|
||||
}
|
||||
|
||||
// memberScore is the score reported for a sequence attached to a center
|
||||
// with the score s.
|
||||
func (sc *scoring) memberScore(s float64) float64 {
|
||||
if !sc.lcsmode && sc.normalize {
|
||||
return 1.0 - s
|
||||
}
|
||||
return s
|
||||
}
|
||||
Reference in new issue
Block a user