Exemplo n.º 1
0
from Code.DNA import DNA
from Code.Poly import Poly
from Code.Function import allSame
from Code.Specification import *
from itertools import permutations

''' 180617 예시 '''
nonTemplateStrand = DNA('CTATGCTGCATGGACGTTGCGACCGACCATAGGAT')


''' mutation 1 '''
mutationFrom1 = 'y'
mutationTo1 = 'x'
mutation1 = [
    (delete, DNA(1)),
    (insert, DNA(1))
]
def condition1(dna, poly):
    return poly.count(VAL) == 2 and poly.count(ALA) == 1 and poly.count(ASP) == 1 and poly.count(PRO) == 1 and poly.count(LEU) == 1 and poly.count(THR) == 1 and poly.count(HIS) == 1

''' mutation 2 '''
mutationFrom2 = 'x'
mutationTo2 = 'z'
mutation2 = [
    (delete, DNA(2, allSame)),
    (insert, DNA(2, allSame))
]
def condition2(dna, poly):
    return poly.haveSequence('메싸이오닌-류신-아스파라진-메싸이오닌-트레오닌-류신-아르지닌-프롤린')
Exemplo n.º 2
0
from Code.DNA import DNA
from Code.Poly import Poly
from Code.Function import allSame
from Code.Specification import *
from itertools import permutations
''' 200618 예시 '''

nonTemplateStrand = [
    DNA('메싸이오닌-발린-라이신-' + p1 + '-트레오닌-' + p2 + '-아이소류신-류신-글라이신')
    for p1, p2 in permutations(['아르지닌', '세린'])
]
''' mutation 1 '''
mutationFrom1 = 'x'
mutationTo1 = 'y'

mutation1 = [(delete, DNA(1)), (insert, DNA(1))]


def condition1(dna, poly):
    return dna.sequenceIs('메싸이오닌-발린-세린-발린-히스티딘-글루타민-타이로신-발린-글라이신')


''' mutation 2 '''
mutationFrom2 = 'x'
mutationTo2 = 'z'
mutation2 = [(delete, DNA(2, allSame)), (insert, DNA(2, allSame))]


def condition2(dna, poly):
    return dna.mutationStack[0][1] & dna.mutationStack[1][
        1] != None and dna.lengthIs(7) and dna.NthPeptideIs(4, TYR)
Exemplo n.º 3
0
from Code.DNA import DNA
from Code.Poly import Poly
from Code.Function import allSame
from Code.Specification import *
from itertools import permutations
''' 181117 예시 '''
nonTemplateStrand = DNA('GCATGTTACTCAGCGCTCGCAACTAGCATACATGT'), DNA(
    'GCATGTTACTCAGCGCTCGCAACTAGCATACATGT').complementReverse()
''' mutation 1 '''
mutationFrom1 = 'w'
mutationTo1 = 'x'
mutation1 = [(delete, DNA(1), range(8, 11))]


def condition1(dna, poly):
    return poly.havePeptide(LEU)


''' mutation 2 '''
mutationFrom2 = 'w'
mutationTo2 = 'y'
mutation2 = [(replace, DNA(1))]


def condition2(dna, poly):
    return poly.count(TYR) > dna.getBeforeMutated().getPoly().count(TYR)


''' mutation 3 '''
mutationFrom3 = 'w'
mutationTo3 = 'z'
Exemplo n.º 4
0
from Code.DNA import DNA
from Code.Poly import Poly
from Code.Function import allSame
from Code.Specification import *
''' 200915 예시 '''

nonTemplateStrand = DNA('CTATGCGGAGGATGGAAAGGAAGCTCTAGCTAG'), DNA(
    'CTATGCGGAGGATGGAAAGGAAGCTCTAGCTAG').complementReverse()
''' mutation 1 (w -> x)
    mutationFrom1 : w
    mutationTo1 : x
    dna[mutationFrom1] : mutationFrom1(w)의 염기 서열 (비주형 기준)
    mutation1 : 주형에서 CC 결실, 염기 하나 삽입
    condition1 : 6종류의 펩타이드, 3번째 아스파트산, 5번째 아르지닌
'''
mutationFrom1 = 'w'
mutationTo1 = 'x'
mutation1 = [(delete, DNA('CC')), (insert, DNA(1))]


def condition1(dna, poly):
    return poly.peptideKind() == 6 and poly.NthPeptide(
        3) == ASP and poly.NthPeptide(5) == ARG


''' mutation 2 (x -> y)
    mutation2 : 주형에서 T 결실, 염기 하나 삽입
    condition2 : 9종류의 펩타이드, 아스파트산과 히스티딘 가짐
'''
mutationFrom2 = 'x'
mutationTo2 = 'y'
Exemplo n.º 5
0
from Code.DNA import DNA
from Code.Poly import Poly
from Code.Function import allSame
from Code.Specification import *
from itertools import permutations
''' 191120 예시 '''
nonTemplateStrand = DNA('TTAGTTACGAGTGGTGGCTGCCCATTGTA').complementReverse()
''' mutation 1 '''
mutationFrom1 = 'w'
mutationTo1 = 'x'
mutation1 = [(insert, DNA('GG'))]


def condition1(dna, poly):
    return poly.length() == 8 and poly.peptideKind() == 8


''' mutation 2 '''
mutationFrom2 = 'x'
mutationTo2 = 'y'
mutation2 = [(replace, DNA('yy', allSame), DNA('GG'))]


def condition2(dna, poly):
    return poly.peptideKind() == 7


''' mutation 3 '''
mutationFrom3 = 'y'
mutationTo3 = 'z'
mutation3 = [(replace, DNA(2), DNA(2, allSame))]
Exemplo n.º 6
0
from Code.DNA import DNA
from Code.Poly import Poly
from Code.Function import allSame
from Code.Specification import *
from itertools import permutations
''' 201117 예시 '''

nonTemplateStrand = DNA(
    'GACTCACAAGCCATTGAACCAACTCGTTGCCATGC').complementReverse()
''' mutation 1 (y -> x)
    mutationFrom1 : y
    mutationTo1 : x
    dna[mutationFrom1] : mutationFrom1(w)의 염기 서열 (비주형 기준)
    mutation1 : 주형에서 연속된 2개 염기 삽입, 연속된 2개의 염기 결실
    condition1 : MET-ALA-Seq[0]-Seq[1]-Seq[2]의 아미노산 서열을 가짐 (Seq[0], Seq[1], Seq[2] : permutations 참조)
'''
mutationFrom1 = 'y'
mutationTo1 = 'x'

mutation1 = [(delete, DNA(2)), (insert, DNA(2))]


def condition1(dna, poly):
    for seq1, seq2, seq3 in permutations(['류신-발린', '발린-글루타민-트립토판', '라이신-류신']):
        if poly.haveSequence('메싸이오닌-알라닌-' + seq1 + '-' + seq2 + '-' + seq3):
            return True
    return False


''' mutation 2 (x -> z)
    mutation2 : 주형에서 C 결실
Exemplo n.º 7
0
from Code.DNA import DNA
from Code.Poly import Poly
from Code.Function import allSame
from Code.Specification import *
from itertools import permutations
''' 190919 예시 '''

nonTemplateStrand = DNA('TTATGTTAGCTACCTTCCATCGTACGCATTAG'), DNA(
    'TTATGTTAGCTACCTTCCATCGTACGCATTAG').complementReverse()
''' mutation 1 '''
mutationFrom1 = 'w'
mutationTo1 = 'x'
mutation1 = [(insert, DNA('u'))]


def condition1(dna, poly):
    return (poly.length() == 4 or poly.length()
            == 9) and not poly.havePeptide(LEU) and not poly.havePeptide(SER)


''' mutation 2 '''
mutationFrom2 = 'w'
mutationTo2 = 'y'
mutation2 = [(insert, DNA('u'))]


def condition2(dna, poly):
    return (poly.length() == 4 or poly.length() == 9) and not poly.havePeptide(
        LEU) and poly.count(SER) == 1 and poly.count(TYR) == 1