한 파일의 두 열을 다른 파일의 두 열과 비교합니다. 파이썬이나 배쉬?

한 파일의 두 열을 다른 파일의 두 열과 비교합니다. 파이썬이나 배쉬?

따라서 탭으로 구분된 텍스트 파일인 두 개의 파일이 있고 두 개의 열을 기반으로 두 파일을 병합하려고 합니다. 두 파일 모두 정렬되지 않았으며 헤더를 포함하지 않습니다. 또 다른 점은 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 방법)이 시도되었습니다. 어떤 제안이 있으십니까? 미리 감사드립니다! :)

관련 정보