2022 개정 교육과정 연계 온디바이스 단분자생체물리학·나노역학 STEM 시리즈 #51

광집게(Optical Tweezers) DNA 중합효소 서보 엔진

단일 분자 1염기쌍($0.34\text{ nm}$) 전진 역학 및 0-Alloc C# 피코뉴턴($\text{pN}$) 항력 클램프 일시정지(Pause) 제어 루프

핵심 연구 개요 및 교과 연계

생명체의 유전 정보가 복제되는 분자 기계를 실시간으로 단일 분자 수준에서 관측하는 첨단 기술은 이중 빔 광집게(Dual-beam Optical Tweezers) 기반의 단일 분자 장력 분광법입니다. 단일 가닥 DNA 주형을 따라 상보적 dNTP를 결합하며 전진하는 DNA 중합효소(DNA Polymerase)는 $1\text{ bp}$마다 약 $0.34\text{ nm}$의 기계화학적 스텝을 밟습니다. 중합효소가 잘못된 염기를 삽입했을 때 복제를 멈추고 엑소뉴클레아제 부위로 이동하여 교정하는 일시정지 상태(Pause State)와 외력(저항 장력)에 따른 합성 속도 감쇄는 분자 모터의 핵심 특성입니다. 외부 장력이 요동치면 DNA 자체 탄성 신장과 효소의 실제 이동 거리가 뒤섞이므로, 장력을 일정하게 유지하는 항력 클램프(Constant Force Clamp) 서보가 필수적입니다.

본 백서는 2022 개정 생명과학 II (DNA 복제의 반보존적 복제 메커니즘, 중합효소의 교정 판독 기능), 물리학 II (빛의 굴절과 광압 트랩 탄성 복원력, 훅의 법칙 $F = -k x$, 점성 감쇠), 미적분 (DNA 고분자 탄성 웜-유사 체인(WLC) 비선형 방정식 및 마코프 3상태 전이 미분방정식), 그리고 정보 (C# 13 0-Alloc 스택 연산)를 결합하여, 4분할 광센서(QPD) 신호로부터 피코뉴턴($\text{pN}$) 힘을 계산하고 AOM 레이저 편향을 10,000Hz로 피드백하는 온디바이스 단분자 분광 서보 엔진을 완성합니다.

1. WLC 고분자 탄성 모델 및 중합효소 기계화학적 상태 전이 수리 모델

길이 $L$, 지속 길이 $P \approx 50\text{ nm}$인 이중가닥 DNA의 장력 $F$와 신장량 $x$의 관계는 마르코-시지아(Marko-Siggia) WLC 모델을 따릅니다:

$$\frac{F P}{k_B T} = \frac{1}{4 \left(1 - \frac{x}{L}\right)^2} - \frac{1}{4} + \frac{x}{L}$$

트랩 강성 $k_{trap}$인 광집게 속 미세 비드의 변위 $\Delta x_{bead}$로부터 가해지는 광학 복원력은 다음과 같습니다:

$$F_{trap} = k_{trap} \cdot \Delta x_{bead}$$

중합효소의 전진 합성 속도 $v(F)$는 볼츠만 인자에 따른 기계적 장력 저항 항을 포함하여 기술됩니다:

$$v(F) = v_0 \cdot \frac{1}{1 + \exp\left( \frac{F \cdot \delta - \Delta G_{ATP}^\circ}{k_B T} \right)}$$

여기서 $\delta = 0.34\text{ nm}$는 1염기쌍 스텝 크기입니다. 효소가 일시정지(Pause) 상태로 진입하면 속도가 0으로 수렴하면서 미세 비드의 열적 브라운 요동($\sim 1\text{ nm}$)만이 관측되므로, 서보 루프는 속도 분산(Variance) 감소를 감지하여 일시정지 이벤트를 실시간 플래그합니다.

2. 0-Alloc C# 스택 기반 광집게 항력 클램프 서보

QPD 센서 나노미터 변위로부터 외력을 산출하고 AOM 레이저 트랩 중심을 10,000Hz로 이송하는 ref struct 엔진입니다.

using System;
using System.Runtime.CompilerServices;

namespace ZeliDesk.Stem.SingleMoleculeBiophysics
{
    public readonly ref struct OpticalTrapTelemetry
    {
        public readonly double BeadDisplacementNm;
        public readonly double TrapCenterPositionNm;
        public readonly double DnaExtensionNm;
        public readonly double LaserPowerMw;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public OpticalTrapTelemetry(double beadDispNm, double trapCenterNm, double dnaExtNm, double powerMw)
        {
            BeadDisplacementNm = beadDispNm;
            TrapCenterPositionNm = trapCenterNm;
            DnaExtensionNm = dnaExtNm;
            LaserPowerMw = powerMw;
        }
    }

    public readonly ref struct ForceClampControlResult
    {
        public readonly double MeasuredForcePicoNewtons;
        public readonly double TargetTrapPositionNm;
        public readonly double PolymeraseVelocityNmPerSec;
        public readonly bool IsPauseStateActive;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public ForceClampControlResult(double forcePn, double targetPosNm, double velNmPs, bool isPause)
        {
            MeasuredForcePicoNewtons = forcePn;
            TargetTrapPositionNm = targetPosNm;
            PolymeraseVelocityNmPerSec = velNmPs;
            IsPauseStateActive = isPause;
        }
    }

    public ref struct OpticalTweezersServo
    {
        private const double TrapStiffnessPnPerNm = 0.12; // 0.12 pN/nm 강성
        private readonly double _targetClampForcePn;
        private readonly double _kpTrap;
        private readonly double _kiTrap;
        private double _integratedForceError;
        private double _prevDnaExtensionNm;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public OpticalTweezersServo(double targetForcePn, double kp, double ki)
        {
            _targetClampForcePn = targetForcePn;
            _kpTrap = kp;
            _kiTrap = ki;
            _integratedForceError = 0.0;
            _prevDnaExtensionNm = 0.0;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public ForceClampControlResult Step(in OpticalTrapTelemetry telemetry, double dt)
        {
            // 1. 훅의 법칙 기반 광학 트랩 장력 산출: F = k_trap * x_bead (pN)
            double measuredForcePn = TrapStiffnessPnPerNm * telemetry.BeadDisplacementNm;

            // 2. 항력 클램프 오차 및 PI 제어 (목표 장력 유지 위해 트랩 위치 이동)
            double forceError = _targetClampForcePn - measuredForcePn;
            _integratedForceError += forceError * dt;
            double trapOffsetNm = _kpTrap * forceError + _kiTrap * _integratedForceError;
            double targetTrapPositionNm = telemetry.TrapCenterPositionNm + trapOffsetNm;

            // 3. DNA 중합효소 합성 속도 계산 (유한 차분)
            double deltaExt = telemetry.DnaExtensionNm - _prevDnaExtensionNm;
            double velNmPs = dt > 0.0 ? deltaExt / dt : 0.0;
            _prevDnaExtensionNm = telemetry.DnaExtensionNm;

            // 4. 일시정지(Pause) 상태 판별: 속도가 0.5 nm/s 미만으로 억제된 경우
            bool isPause = Math.Abs(velNmPs) < 0.5;

            return new ForceClampControlResult(measuredForcePn, targetTrapPositionNm, velNmPs, isPause);
        }
    }
}

3. 교육적 가치 및 중고교 실험 시뮬레이션 적용

2022 개정 교육과정 연계 수업 가이드

  • 생명과학 II [유전 정보의 복제]: 교과서 속 정적인 효소 복제 모식도를 넘어 실제 DNA 중합효소가 기계적 힘에 저항하며 1염기쌍씩 전진하는 동역학 체험.
  • 물리학 II [미시 세계의 힘과 운동]: 중력의 수조 분의 일에 불과한 피코뉴턴($10^{-12}\text{ N}$) 단위 미세 복원력을 집속된 빛으로 구현하는 광집게 역학 탐구.
  • 정보 [임베디드 고속 서보 피드백 프로그래밍]: 효소의 합성 속도 변화에 맞추어 레이저 빔 위치를 마이크로초 단위로 추종시키는 실시간 폐루프 제어 구현.