4강 / 20강

FASTA 를 한 바이트씩 읽는다 — 머리글이 먼저다

Step 1 · 서열 파일의 유일한 규칙

FASTA 를 한 바이트씩 읽는다 — 머리글이 먼저다
규칙은 딱 하나입니다 — > 로 시작하는 줄은 설명, 나머지는 서열.

생물정보학에서 서열을 주고받는 형식은 사실상 하나입니다. FASTA 입니다. 규칙이 한 줄로 끝납니다.

> 로 시작하는 줄은 설명, 나머지 줄은 서열

이게 전부입니다. 사십 년 넘게 살아남은 형식의 규칙이 이 한 줄입니다. 단순해서 살아남았습니다.

세 부분으로 나눠 본다

>sp|P0DTC2|... Spike glycoprotein ... <- 머리글 (한 줄) MFVFLVLLPL ... (60글자) <- 서열 첫 줄 VSSQCVNLTT ... (60글자) <- 서열 둘째 줄 ...
부분규칙흔한 실수
머리글> 로 시작 · 한 줄 · 자유 형식> 를 빼먹고 서열로 오해
서열글자만 · 줄바꿈은 데이터가 아니다줄바꿈을 세어서 길이를 틀리게 잡는다
구분다음 > 가 나오면 새 서열여러 서열이 든 파일을 하나로 읽는다

둘째 줄의 실수가 가장 잦습니다. 줄바꿈은 보기 좋게 자른 것이고 서열의 일부가 아닙니다. 7강에서 직접 세어 봅니다.

커서를 밀어 보세요. 머리글의 어느 바이트가 어느 칸에 속하는지, 그리고 그 칸이 무엇을 뜻하는지 짚어 줍니다.
불러오는 중…
파서가 열 줄입니다. 줄바꿈을 버리는 것이 파서가 하는 일의 절반입니다.
Python 브라우저에서 실행
머스대가 아니라 규칙 두 개로 쪼갭니다 — 막대로 한 번, 등호로 한 번.
Python 브라우저에서 실행

왜 이 낡은 형식이 아직 쓰이나

얻는 것
사람이 눈으로 읽을 수 있다 · 어떤 언어로도 열 줄이면 파싱된다 · 이어 붙이면 여러 서열이 된다 · 망가진 파일도 일부는 살린다
잃는 것
머리글에 규격이 없다 · 좌표·판·종을 강제하지 않는다 · 품질 정보가 없다 · 같은 파일이 단백질인지 염기인지도 형식이 말해 주지 않는다

마지막 항목이 16강의 함정으로 이어집니다. ATGGTT… 만 보고서는 염기인지, 알라닌-트레오닌-글리신… 으로 읽어야 할 단백질인지 형식만으로는 알 수 없습니다.

🤔 확인 문제
FASTA 파일에서 서열의 길이를 셀 때 반드시 해야 하는 일은?
🤔 확인 문제
FASTA 형식이 알려 주지 않는 것은?
🤔 확인 문제
머리글의 SV=1 이 뜻하는 것은?