분자정보공학 · 12주차

FASTQ 복호화 실습

4주차에 제출한 DNA를 오류정정으로 복원합니다.

1. 내 FASTQ 받기

학번을 입력하고 새로고침을 누릅니다. 준비된 FASTQ 다운로드 링크가 표시됩니다.

Google 계정에 로그인해야 합니다. FASTA 제출 폴더와 FASTQ 생성 폴더는 별도로 관리하며, 다운로드에는 학번을 사용합니다.

2. MATLAB에서 복호화

  1. FASTQ 전체 다운로드와 내 설정의 Decoding.m을 누른 뒤 표시되는 저장 링크로 두 파일을 받습니다. 큰 FASTQ는 여러 서버 파일을 자동으로 합쳐 noisy_reads.fastq 하나로 저장합니다.
  2. 두 파일을 같은 MATLAB 현재 폴더에 올립니다. 4주차에서 보관한 original_bytes.mat도 있으면 함께 둡니다.
  3. Decoding.m을 열고 전체 Run합니다. 4주차와 같은 디코더에 입력 파일명과 L, D, ext만 맞춰진 파일입니다.
  4. decoded.txt 또는 decoded.jpg와 RS·XOR 복원 수를 확인합니다. 원본 기록이 있으면 ROUNDTRIP PASS로 정확한 byte 일치를 확인합니다.

FASTQ의 품질 줄은 함께 생성하지만 현재 디코더는 품질 가중치를 사용하지 않습니다.

3. 실습 노이즈 조건

  • 가닥당 read 3개, 고정 seed 20260929로 재현 가능한 데이터 생성.
  • 보존된 가닥마다 서로 다른 RS byte 3개에서 염기 하나씩 치환. 세 read에 같은 치환을 주어 consensus 뒤에도 RS 정정이 필요합니다.
  • index와 primer는 보존. 삽입·삭제는 넣지 않습니다.
  • 각 read의 약 절반은 역상보 방향. 품질 문자열도 같은 방향으로 뒤집습니다.
  • XOR 묶음 j=1, 21, 41, …에서 데이터 행 하나를 소실. 같은 묶음의 다른 데이터와 XOR 행은 보존합니다.

기존 실습의 seed 기반 채널 시뮬레이션을 바탕으로, 현재 디코더의 정정 범위 안에서 RS와 XOR를 모두 연습하도록 제한한 교육용 채널입니다. 실제 시퀀싱 오류 분포를 재현한 모델은 아닙니다.

검증: 27 byte 이름 → read 6개 · Global RS 2 · XOR 1 · 원본 일치
35,298 byte JPG → read 9,195개 · Global RS 3,065 · XOR 52 · 원본 일치