DNA 복제 문제 생성기
주형 가닥 서열과 조건식을 입력하면, 프라이머 경계·미지 문자 배정·가닥/방향의 모든 경우를 전수 탐색해 조건을 만족하는 해를 찾습니다. 선도가닥 = X(프라이머)+I, 지연가닥 = Y+II+Z+III, ① = 첫 주형, ② = 마지막 주형.
정규화 길이 L = 12 (A·C·G·T · ㄱㄴㄷㄹ · X=빈칸(모든 염기 대입))
2. 미지 문자 후보 염기
은 각각중 서로 다른 하나
ㄱ·ㄴ·ㄷ = {A, C, G, T} 중 서로 다른 하나씩. 실제 탐색에는 서열/조건에 등장하는 문자만 반영됩니다.
3. 조건식 (한 줄에 하나)
문법 도움말
카운트 항 Base[Segment] — Base: A C G T U N(전체) 또는 ㄱㄴㄷㄹ / Segment: X Y Z I II III X+I Y+II Z+III
산술 + - * / 와 괄호. 비교 = != < > <= >=. 논리 and or xor not.
염기 종류 수 types[세그먼트] — 그 세그먼트에 존재하는 염기 종류 개수(A·C·G·T, T·U 동일 취급). 예: “Y가 3종류” → types[Y] = 3.
헬퍼 exactlyOne(…), seq(X)=seq(Y)(서열 동일), seq(X)=revcomp(seq(Y))(상보적=역상보). comp(…)는 같은 순서 상보라 보통 “상보적”에는 revcomp를 씁니다.
프라이머(X·Y·Z)는 RNA라 T[*]=0, U는 T-대응 개수. ㄱㄴㄷㄹ은 염기 정체 기준으로 셉니다.
주의 Y는 “첫(5′쪽) 프라이머”, Z는 “둘째 프라이머”로 고정입니다. 어느 절편인지 모르는 조건은 seq(X)=seq(Y) or seq(X)=seq(Z) 처럼 둘 다 적어주세요.
결과
입력 후 “계산”을 누르면 결과가 표시됩니다.