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('메싸이오닌-류신-아스파라진-메싸이오닌-트레오닌-류신-아르지닌-프롤린')
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)
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'
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'
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))]
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 결실
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