4강 / 20강
FASTA 를 한 바이트씩 읽는다 — 머리글이 먼저다
Step 1 · 서열 파일의 유일한 규칙
> 로 시작하는 줄은 설명, 나머지는 서열.생물정보학에서 서열을 주고받는 형식은 사실상 하나입니다. FASTA 입니다. 규칙이 한 줄로 끝납니다.
> 로 시작하는 줄은 설명, 나머지 줄은 서열이게 전부입니다. 사십 년 넘게 살아남은 형식의 규칙이 이 한 줄입니다. 단순해서 살아남았습니다.
세 부분으로 나눠 본다
>sp|P0DTC2|... Spike glycoprotein ... <- 머리글 (한 줄)
MFVFLVLLPL ... (60글자) <- 서열 첫 줄
VSSQCVNLTT ... (60글자) <- 서열 둘째 줄
...
| 부분 | 규칙 | 흔한 실수 |
|---|---|---|
| 머리글 | > 로 시작 · 한 줄 · 자유 형식 | > 를 빼먹고 서열로 오해 |
| 서열 | 글자만 · 줄바꿈은 데이터가 아니다 | 줄바꿈을 세어서 길이를 틀리게 잡는다 |
| 구분 | 다음 > 가 나오면 새 서열 | 여러 서열이 든 파일을 하나로 읽는다 |
둘째 줄의 실수가 가장 잦습니다. 줄바꿈은 보기 좋게 자른 것이고 서열의 일부가 아닙니다. 7강에서 직접 세어 봅니다.
파서가 열 줄입니다. 줄바꿈을 버리는 것이 파서가 하는 일의 절반입니다.
Python
브라우저에서 실행
머스대가 아니라 규칙 두 개로 쪼갭니다 — 막대로 한 번, 등호로 한 번.
Python
브라우저에서 실행
왜 이 낡은 형식이 아직 쓰이나
얻는 것
사람이 눈으로 읽을 수 있다 · 어떤 언어로도 열 줄이면 파싱된다 ·
이어 붙이면 여러 서열이 된다 · 망가진 파일도 일부는 살린다
잃는 것
머리글에 규격이 없다 · 좌표·판·종을 강제하지 않는다 ·
품질 정보가 없다 · 같은 파일이 단백질인지 염기인지도 형식이 말해 주지 않는다
마지막 항목이 16강의 함정으로 이어집니다. ATGGTT… 만 보고서는
염기인지, 알라닌-트레오닌-글리신… 으로 읽어야 할 단백질인지 형식만으로는
알 수 없습니다.
🤔 확인 문제
FASTA 파일에서 서열의 길이를 셀 때 반드시 해야 하는 일은?
해설 줄바꿈은 보기 좋게 자른 것이고 데이터가 아닙니다. 줄 수 × 60 은 마지막 줄이 짧아서 늘 틀립니다.
🤔 확인 문제
FASTA 형식이 알려 주지 않는 것은?
해설 형식은
> 규칙 하나뿐입니다. 종류는 머리글의 관습과 글자 구성으로 짐작할 뿐이고, 짐작이 틀리면 16강의 사고가 납니다.🤔 확인 문제
머리글의
SV=1 이 뜻하는 것은?해설
SV 는 sequence version 입니다. 내용물이 고쳐지면 올라갑니다. 10강에서 이것이 재현성의 핵심임을 봅니다.