따라서 탭으로 구분된 텍스트 파일인 두 개의 파일이 있고 두 개의 열을 기반으로 두 파일을 병합하려고 합니다. 두 파일 모두 정렬되지 않았으며 헤더를 포함하지 않습니다. 또 다른 점은 Final.tsv가 약 200만 행을 포함할 정도로 거대하다는 것입니다.
**`final.tsv`**
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000028 Cryptorchidism MONDO:0010645 oculocerebrorenal syndrome
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000083 Renal insufficiency MONDO:0010645 oculocerebrorenal syndrome
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000091 Abnormal renal tubule morphology MONDO:0010645 oculocerebrorenal syndrome
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000093 Proteinuria MONDO:0010645 oculocerebrorenal syndrome
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000121 Nephrocalcinosis MONDO:0010645 oculocerebrorenal syndrome
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000164 Abnormality of the dentition MONDO:0010645 oculocerebrorenal syndrome
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000189 Narrow palate MONDO:0010645 oculocerebrorenal syndrome
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000194 Open mouth MONDO:0010645 oculocerebrorenal syndrome
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000219 Thin upper lip vermilion MONDO:0010645 oculocerebrorenal syndrome
**om.tsv**
309000 LOWE OCULOCEREBRORENAL SYNDROME HP:0000028 OMIM:309000 XLR
309000 LOWE OCULOCEREBRORENAL SYNDROME HP:0000083 OMIM:309000 XLR
309000 LOWE OCULOCEREBRORENAL SYNDROME HP:0000093 OMIM:309000 XLR
309000 LOWE OCULOCEREBRORENAL SYNDROME HP:0000501 OMIM:309000 XLR
309000 LOWE OCULOCEREBRORENAL SYNDROME HP:0000505 OMIM:309000 XLR
따라서 여기서 작업은 Final.tsv 파일의 열 6 및 3을 om.tsv 파일의 열 2 및 3과 일치시키는 것입니다. 두 개의 열을 일치시킬 때 두 파일을 병합하여 일치하는 파일에 저장해야 합니다. 불일치가 있는 경우 전체 행을 다른 불일치 파일로 인쇄해야 합니다. 또한 키워드를 기반으로 일치하는 경우 대소문자를 구분하지 않는 접근 방식이 필요합니다.
예를 들어, 위의 내용을 토대로 눈뇌신증후군은 낮은 눈뇌신증후군과 일치해야 합니다.
Output
ClinVarVariant:208014 OCRL:exon 6-12 del HP:0000028 Cryptorchidism MONDO:0010645 oculocerebrorenal syndrome 309000 LOWE OCULOCEREBRORENAL SYNDROME HP:0000028 OMIM:309000 XLR
이러한 복잡성을 해결하기 위해 다양한 방법(예: awk, Join 및 일부 Pandas 방법)이 시도되었습니다. 어떤 제안이 있으십니까? 미리 감사드립니다! :)