Facebook
From Random, 2 Months ago, written in Python.
Embed
Download Paste or View Raw
Hits: 48
  1. # -*- coding: utf-8 -*-
  2.  
  3. #ograniczenie - score (optimisticScore, BranchAndBound)
  4.  
  5. DNA = ['tagtggtcttttgagtgtagatctgaaggg',
  6. 'cgcgactcggcgctcacagtcggagtcctt',
  7. 'gttacttgtgagcctggttagacccgaaat']
  8.  
  9. def NextLeaf(a, L, k):
  10.     '''
  11.    a - sekwencja, L - len(a), k - ilosć nukleotydów w łańcuchu
  12.    '''
  13.     for i in reversed(range(L)):
  14.         if (a[i] < k):
  15.             a[i]+=1
  16.             break
  17.         else:
  18.             a[i]=1
  19.     return a
  20.  
  21. def Bypass(a, i, L, k):
  22.     '''
  23.    pomija dzieci z gałęzi i przechodzi od razu do następnego wezła
  24.    '''
  25.     for j in reversed(range(L)):
  26.         if (a[j] < k):
  27.             a[j]+=1
  28.             return (a, j+1)
  29.         a[j]=0
  30.     return (a, 0)
  31.  
  32. def NextVertex(a, i, L, k):
  33.     '''
  34.    i - poziom drzewa
  35.    przechodzi do następnego węzła przez wszystkie dzieci aktualnego węzła
  36.    '''
  37.     if i < L:
  38.         a[i+1] == 1
  39.         return (a, i+1)
  40.     else:
  41.         for j in reversed(range(L)):
  42.             if a[j]<k:
  43.                 a[j]=a[j+1]
  44.                 return(a, j)
  45.     return(a, 0)
  46.            
  47.