11강 / 20강
세 파일 — barcodes · features · matrix
【실습】 Matrix Market 파일을 손으로 뜯어 표로 되살린다
filtered_feature_bc_matrix/ 폴더를 열면 파일이 딱 세 개 있습니다.
filtered_feature_bc_matrix/
barcodes.tsv.gz <- 열 이름 (세포)
features.tsv.gz <- 행 이름 (유전자)
matrix.mtx.gz <- 알맹이
왜 셋으로 나눴을까요. 행렬이 거의 다 0 이기 때문입니다.
① barcodes.tsv — 열 이름
AAACATACAACCAC-1
AAACATTGAGCTAC-1
AAACATTGATCAGC-1
AAACCGTGCTTCCG-1
한 줄에 하나. 줄 번호가 곧 열 번호입니다 (1부터 셉니다). 이 파일의 줄 수가 곧 세포 수예요.
② features.tsv — 행 이름
한 줄에 세 칸이고, 칸 사이는 탭 문자입니다.
아래에서는 탭을 → 로 보이게 적었습니다.
ENSG00000243485 → MIR1302-2HG → Gene Expression
ENSG00000237613 → FAM138A → Gene Expression
ENSG00000186092 → OR4F5 → Gene Expression
| 칸 | 무엇 | 왜 있나 |
|---|---|---|
| 1 | Ensembl ID | 바뀌지 않는 이름. 계산은 이것으로 한다 |
| 2 | 유전자 기호 | 사람이 읽는 이름. 중복될 수 있다 |
| 3 | 종류 | Gene Expression · Antibody Capture 등 |
③ matrix.mtx — 알맹이
%%MatrixMarket matrix coordinate integer general
%metadata_json: {"software_version": "cellranger-7.1.0", ...}
32738 2700 2286884
32709 2 4
32707 2 1
32706 2 10
32704 2 1
| 줄 | 무엇 |
|---|---|
| 1 | 이 파일이 Matrix Market 좌표 형식이고 값이 정수라는 선언 |
| 2 | % 로 시작하는 주석. Cell Ranger 판번호가 여기 있다 |
| 3 | 행 수 · 열 수 · 0 이 아닌 칸 수 — 이 세 숫자가 머리글이다 |
| 4 이후 | 행번호 열번호 값. 한 줄에 칸 하나 |
32709 2 4 는
“32,709번째 유전자가 2번째 세포에서 UMI 4개 잡혔다” 는 뜻입니다.
그것이 전부예요.
여기서 만든 M 이 곧 모든 단일세포 분석의 출발점입니다.
Python
브라우저에서 실행
희소행렬을 쓰는 이유를 숫자로.
Python
브라우저에서 실행
🤔 확인 문제
matrix.mtx 의 32709 2 4 는 무슨 뜻인가?해설 순서는 행 · 열 · 값 이고, 이 파일에서 행은 유전자, 열은 세포입니다.
그리고 번호는 1부터 셉니다.
🤔 확인 문제
행렬을 세 파일로 쪼개 놓은 가장 큰 이유는?
해설 0 을 전부 적으면 파일이 수십 배 커집니다.
0 이 아닌 칸만 좌표로 적고, 행·열 이름은 따로 두는 것이
이 형식의 전부입니다.