def test_find_window_repetition(): p = Pattern([1, 1]) sqs = SQS(Database([[1, 1, 1, 2, 1, 1, 1, 1]])) list_window = [Window(p, 0, 1, 0), Window(p, 4, 5, 0), Window(p, 6, 7, 0)] assert list_window == sqs.find_windows(p)
def test_find_window_simple(): p = Pattern([1, 2]) sqs = SQS(Database([[1, 2, 3, 1, 2, 3, 1, 2, 3]])) list_window = [Window(p, 0, 1, 0), Window(p, 3, 4, 0), Window(p, 6, 7, 0)] assert list_window == sqs.find_windows(p)
def test_add_1(ct): t = Transaction([5, 2, 3]) p = Pattern(t) ct.add(p) assert p in ct.patternMap.keys() assert ct.patternMap[p] == 0 assert p.usage == 1 assert p.support == 1 # maybe useless
def test_index_sequence(): p = Pattern([1, 2]) sqs = SQS( Database([[1, 2, 3, 1, 2, 3], [1, 2, 3, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 1, 2], [3, 4, 5, 3, 2, 1], [1, 2]])) for w in sqs.find_windows(p): print("Sequence:{0}|Index:{1}", w.sequence, w.first)
def sct(): sct = CodeTable() sct.add(Pattern([1])) sct.add(Pattern([2])) sct.add(Pattern([3])) sct.add(Pattern([4])) sct.add(Pattern([5])) sct.add(Pattern([8])) sct.add(Pattern([9])) return sct
def test_find_window_long(): p = Pattern([1, 2, 3, 4, 3, 2, 1]) sqs = SQS( Database([[ 1, 2, 3, 1, 2, 3, 1, 2, 3, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 1, 2, 3, 4, 5, 3, 2, 1 ]])) list_window = [] list_window.append(Window(p, 6, 12, 0)) for w in sqs.find_windows(p): print(w.first) assert list_window == sqs.find_windows(p)
def make_standard_code_table(self): """ Make the standard code table of the database, i.e. Code table composed of singleton item of database :return: The Standard code table :rtype: CodeTableSlim """ sct = CodeTable() # map pattern code # On ajoute les singletons de la base à la SCT for trans in self.data_collection: for item in trans: pattern = Pattern([item]) sct.add(pattern, trans) return sct
from src.Pattern import Pattern from src.data_writer import DataWriter dataset = [] for i in range(30): dataset.append(Pattern(acnum=i)) DataWriter.file_writer(DataWriter.antigen_data_format(dataset), "data/antigen.tsv") DataWriter.file_writer(DataWriter.pattern_data_format(dataset), "data/pattern.tsv")
def union(self, pattern): res = [] res.extend(self.elements) res.extend(pattern.elements) return Pattern(res)
def test_find_window_4(): p = Pattern([1, 1, 2]) sqs = SQS(Database([[1, 1, 1, 2]])) for w in sqs.find_windows(p): print(w.first)
import pytest from src.CodeTable import CodeTable from src.Transaction import Transaction from src.Pattern import Pattern import math t1 = Transaction( [1, 2, 3]) # Change the transactions creation process using item_collection t2 = Transaction([5, 8, 9]) t3 = Transaction([2]) t4 = Transaction([1, 2, 3, 4]) p1 = Pattern(t1) p2 = Pattern(t2) p3 = Pattern(t3) @pytest.fixture def ct(): return CodeTable() @pytest.fixture def ct_full(): ct = CodeTable() ct.add(p1) ct.add(p2) return ct