프로젝트 2주차 타임라인 (Mon Jan 5 2026)


[2] Linear Epitope Prediction

Linear Epitope: 항체가 직접 결합하는 최소 아미노산 서열, 보통 길이는 8~25aa로 해당 범위만으로도 항체 결합 가능성 평가 가능

Conformational and Linear Epitope

 

BUT 실제 항원 epitope는 고립된 상태가 아님 (i.e. 노출도 surface accessibility, 유연성 flexibility, 국소 구조 local conformation)

1. Epitope 노출 여부 - epitope 서열이 좋아도 주변이 소수성/조밀하면 항체가 접근하지 못함

2. Proteasome 및 processing 영향 - 인접 서열이 cleavage site를 만들거나 epitope를 잘리게 하면 안정화시킴

3. 면역원성 (immunogenicity) - 같은 linear epitope라도 flanking region에 따라 항체 반응 세기가 달라짐

∴ Epitope + flanking residues (± X aa) = XXXXXX (     epitope   [core]    epitope    )XXXXXX

Note
Although linear epitopes are defined as continuous amino acid sequences, adjacent residues significantly influence antibody recognition by modulating epitope exposure and local structural flexibility.

Feature 설계 전략

  • Core-only feature (직접 결합)
    • amino acid composition, k-mer, BLOSUM / AA index, hydrophilicity, antigenicity score
  • Flanking-aware feature (백신/면역원성 핵심)
    • Surface accessibility proxy - 평균 hydrophilicity, flexible residue 비율, charged residue density
    • Sturctural tendency - secondary structure propensity, disorder score (IUPred 계열), beta-turn propensity
    • Processing stability - cleavage-prone motif 존재 여부, flanking aa polarity 차이
Setting Window = 8-25 aa
(1) Epitope core ≈ 5–15 aa
(2) Flank ≈ ± 3–10 aa

 

                       assay-conditional negative, label noise + bias 존재

Negative ([label] = 0) 정의:해당 assay 조건에서 항체 반응이 관측되지 않음”

                                                                                              입력 feature: assay / method (one-hot or embedding)

a. Assay-aware modeling - sequence window feature로 같은 어떤 조건에서 epitope로 관측될 가능성이 높은지 분석함

b. Assay-stratifed model - assay 별로 모델을 따로 학습해 성능을 비교하지만 데이터가 적은 assay는 불리

c. Pairwise (assay-fixed) - 같은 assay 안에서만 pair을 생성해 assay bias를 제거하고 서열 신호만 남김


문제 설명 solution.py
#114 N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시간은 도로별로 다릅니다. 현재 1번 마을에 있는 음식점에서 각 마을로 음식 배달을 하려고 합니다. 각 마을로부터 음식 주문을 받으려고 하는데, N개의 마을 중에서 K 시간 이하로 배달이 가능한 마을에서만 주문을 받으려고 합니다. 

마을의 개수 N, 각 마을을 연결하는 도로의 정보 road, 음식 배달이 가능한 시간 K가 매개변수로 주어질 때, 음식 주문을 받을 수 있는 마을의 개수를 return 하도록 solution 함수를 완성해주세요.
import sys
def solution(N, road, K):
     visited = [False] * (N + 1)
     D =
[sys.maxsize] * (N + 1)
     r = [[(None, None)]] + [[] for _ in range(N)]
     for e in road:
          r[e[0]].append((e[1],e[2]))
          r[e[1]].append((e[0],e[2]))
     D[1] = 0
     for _ in range(1, N + 1):
          min_ = sys.maxsize
          for i in range(1, N + 1):
               if not visited[i] and D[i] < min_:
                    min_ = D[i]
                    m = i
          visited[m] = True
          for w, wt in r[m]:
               if D[m] + wt < D[w]:
                    D[w] = D[m] + wt
     return len([d for d in D if d <= K])

 

+ Recent posts