Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UNLV 해외 교육 프로그램 프로젝트

이 프로젝트는 UniProt XML 데이터셋(Uniport.xml, 약 8.5GB)을 처리하여 머신러닝 및 데이터 분석에 적합 한 구조로 변환하는 작업을 목표로 합니다. 주요 목표는 단백 질 서열과 그에 해당하는 EC 번호를 추출하고, 데이터를 정리한 후 패딩 및 레이블 인코딩을 적용하는 것입니다.

이후 ML과 NN 모델링을 하여 비교 분석후 최적의 모델을 찾아냅니다.

개요

원본 데이터는 UniProt이라는 종합적인 단백질 서열 및 기능 주석 데이터베이스에서 제공되는 XML 형식으로 제공됩니다. 이 프로젝트에서는 주로 다음 두 가지 정보를 추출합니다:

  • EC 번호 (Enzyme Commission numbers)
  • 단백질 서열 (Protein sequences)

샘플 XML 항목

<entry dataset="Swiss-Prot" created="1994-10-01" modified="2023-11-08" version="99" xmlns="http://uniprot.org/uniprot">
    <accession>Q07262</accession>
    <name>1A1C_TOBAC</name>
    <protein>
        <recommendedName>
            ...
            <ecNumber>4.4.1.14</ecNumber>
        </recommendedName>
    </protein>
    ...
    <sequence length="491" mass="55291" checksum="57B9FF4306686DFD" modified="1994-10-01" version="1">
        MGFENEKNSSILSKLATNEELGENSPYFDGWKAYDNDPFHPLKNPNGVIQMGLAENQLCFDLIEEWIKRNPNASICTTEGIKSFRAIANFQDYHGLPEFRSAIAKFMEKTRGGRVTFDPERVVMAGGATGANETIIFCLADTGDAFLVPSPYYPAFNRDLRWRTGVQLIPIPCDSSNNFQITTKAVREAYENAQKSNIKVKGLILTNPSNPLGTTLDRDTLKNLLTFTNQHNIHLVCDEIYAATVFNTPQFVSIAEILDDETSHCNKDLVHIVYSLSKDMGLPGFRVGIVYSFNDAVVNCARKMSSFGLVSTQTQYLLAEMLSDERFVSNFLTESSKRLAKRHKHFTNGLEEVGIKCLRSNAGLFCWMDLRPLLKESTFDSEMSLWRVIINDVKLNVSPGSSFDCQEPGFFRVCFANMDDETVDIALARIRSFVGVKKSGDESTPILMEKKQQWKKNNLRLSFSKRMYDESVNLSPLSSPIPHSPLVRART
    </sequence>
</entry>

데이터 변환 단계

1. EC Number와 서열 추출

entry에서 ecNumber와 sequence를 추출


'MDFNLTREQELVRQMVRGKIFR,1.3.8.1
'MDFNLTREQELVRQMVRGKIFR,1.3.8.51
'MDLCKFQSISFKLADMKMQIFGGYGVASDCTGGALLR,1.3.8.n

...

'MDFNLSKELQMLQKEVRMIIALDQLGVRKANR,1.3.99.32
'MDFNLSKELQMLQKEVRMIIALDQLGDSFVRKANR,1.-.-.-

2. 하나의 서열에 여러 EC Number인 경우

염기서열이 중복되는 Ecnumber 특징 통합

Sequences: ['MDFNLTREQELVRQMVRGKIFR']
EC Numbers: ['1.3.8.1', '1.3.8.51']
Sequences: ['MDFNLTREQELVRQ...MVRGKIFRADFASFD']
EC Numbers: ['2.3.1.23', '2.3.1.51', '2.3.1.n6', '2.3.1.n7', '2.3.-.-']

...

Sequences: ['BASDFTREQELVRQ...GADSFRADFASFD']
EC Numbers: ['2.3.1.23', '2.3.1.51', '2.3.1.63', '2.3.1.n6']
Sequences: ['GDAFTREQELVRQ...REQWDVDSAfSFD']
EC Numbers: ['2.3.1.23', '1.-.-.-']

3. 'n' 또는 '-'을 포함한 EC 번호 제거

'n' 또는 '-'을 포함하는 EC Number 제거

Sequences: ['MDFNLTREQELVRQMVRGKIFR']
EC Numbers: ['1.3.8.1', '1.3.8.51']
Sequences: ['MDFNLTREQELVRQ...MVRGKIFRADFASFD']
EC Numbers: ['2.3.1.23', '2.3.1.51', '2.3.-.-']
Sequences: ['BASDFTREQELVRQ...GADSFRADFASFD']
EC Numbers: ['2.3.1.23', '2.3.1.51', '2.3.1.63']

...

Sequences: ['GDAFTREQELVRQ...REQWDVDSAfSFD']
EC Numbers: ['2.3.1.23', '1.-.-.-']

4. 서열에 대한 레이블 인코딩

머신러닝 모델에 적합하게 라벨링을 적용합니다

'A': 1, 'C': 2, 'D': 3, 'E': 4, 'F': 5,
'G': 6, 'H': 7, 'I': 8, 'K': 9, 'L': 10,
'M': 11, 'N': 12, 'P': 13, 'Q': 14, 'R': 15,
'S': 16, 'T': 17, 'V': 18, 'W': 19, 'Y': 20,
 'X': 21

결과:

[11 12 10 4 9 3 19 15 ... 12 19], [2.3.1.23, 2.3.1.51]
[11  3 10 4 9 3 20 5  ... 5 2], [2.4.5.61]

...

[13 12 8 5 6 12 13 6  ...  7 13], [3.5.2.13]

5. Sequence Padding

Sequence의 길이가 모두 다를 수 있으므로 가장 긴 서열을 기준으로 패딩을 적용

[11 12 10 4 9 3 19 15 ... 0 0], [2.3.1.23, 2.3.1.51]
[11  3 10 4 9 3 20 5  ... 5 2], [2.4.5.61]

...

[13 12 8 5 6 12 13 6  ...  0 0], [3.5.2.13]

6. EC Number 정렬 및 레이블링

EC Number는 오름차순으로 정렬한 후, 각 EC Number에 대해 고유한 정수 라벨을 부여

Tokenized_Sequences,ECnum_Label
[11 12 10 4 9 3 19 15 ... 0 0], 1, 4
[11  3 10 4 9 3 20 5  ... 5 2], 13, 25

...

[13 12 8 5 6 12 13 6  ...  0 0], 2, 25, 453

결론

이 프로젝트는 UniProt 데이터에서 EC 번호단백질 서열을 추출하고, 이를 머신러닝 모델에 맞는 형태로 변환하는 과정을 다룹니다. EC 번호를 정리하고 서열에 패딩을 적용한 후, 레이블 인코딩을 통해 데이터를 전처리하여 모델 학습에 적합한 형태로 준비합니다.

이후 분석

전처리된 데이터를 바탕으로 다양한 머신러닝 모델을 학습하고 평가합니다. 모델은 다음과 같습니다:

  • Logistic Regression
  • Support Vector Machine (SVM)
  • K-Nearest Neighbors (KNN)
  • K-Means
  • Neural Network

이 모델들을 비교 분석하여 각 모델의 성능을 평가하고, 데이터의 특성에 가장 적합한 모델을 선택합니다. 모델 성능은 accuracy, F1-score, recall, precision을 통해 평가합니다. 이를 바탕으로 모델의 예측 성능을 객관적으로 판단하고, 가장 적합한 알고리즘을 선정하여 실제 데이터에 적용할 수 있는 방법을 제시합니다.

Machine Learning Model

ML Image

-> Logistic Regression

NeuralNetwork Model

NN Image

-> Optimal: [Hidden layer: 8192, Dropout rate: 0.3, Learning rate: 0.0001]

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages