COVID-19 백신 검색에서 GNN 및 RNN을 사용하여 mRNA 분해 예측

Kaggle OpenVaccine 대회에 대한 4 위 솔루션에 대한 글

현재의 COVID-19 대유행은이 바이러스와의 싸움에서 승리하기 위해 효과적인 백신이 필요합니다. 스탠포드 대학의 연구원들은 mRNA 백신이 후보 솔루션을 빠르게 제공 할 수 있기 때문에 연구하고 있습니다. 이러한 유형의 백신에 대한 한 가지 도전은 안정성입니다. 냉장 보관하지 않으면 자연적으로 분해되는 경향이 있습니다. 안정적인 mRNA 서열을 찾기 위해 Stanford University의 사람들은 OpenVaccine : COVID-19 mRNA 백신 분해 예측 대회 에서 Kaggle 커뮤니티에 연락 했습니다. 이 대회는 9 월 11 일에 시작되어 26 일 동안 만 지속되었는데, 이는 긴박한 상황으로 인해 Kaggle에게 비정상적으로 짧습니다. 상위 3 개 경쟁자에게는 $ 25,000의 상금이있었습니다. Bram Steenwinckel , Michele Tinti그리고 나는 4 위를 달성 할 수 있었고, 돈을 1 인치 놓쳤습니다! COVID-19 백신 검색에 조금이라도 기여할 수 있기를 바라며 저희 솔루션에 대해 설명하는이 블로그 게시물을 게시하고 있습니다.

“FromTheWheel & Dyed & StoneShop”팀이 4 위를 차지했습니다! 우리 팀 이름은 우리의 모국어 (네덜란드어와 이탈리아어)에서 영어로 번역 된 (말 그대로) 우리의 가족 이름으로 구성됩니다. 이 이미지는 Kaggle 리더 보드의 스크린 샷입니다.

문제 설명

이 경쟁의 목표는 제공된 RNA 서열의 각 염기 (A, C, G 또는 U)에 대해 고온 또는 높은 pH에서 마그네슘을 포함하거나 포함하지 않는 배양과 같은 특정 상황에서 반응성 및 분해를 예측하는 것이 었습니다. 요약하면 시퀀스의 각 염기 (즉, 시퀀스 대 시퀀스)에 대해 세 개의 연속 값 (즉, 회귀)을 예측해야합니다.

훈련 세트는 길이 107의 2400 시퀀스로 구성되고, 공개 테스트 세트에는 길이 107의 629 시퀀스가 ​​포함되며, 비공개 테스트 세트는 길이 130의 3005 시퀀스로 구성됩니다. 따라서 비공개 테스트 데이터에서 시퀀스 길이에 차이가 있습니다. 따라서 모델에 시퀀스 길이에 대한 불변성이 내장되어있는 것이 매우 중요합니다. 또한 시퀀스는 부분적으로 만 채점됩니다. 기차 및 공개 테스트 세트의 경우 107 개베이스 중 처음 68 개만 채점되고 개인 테스트 세트의 경우 130 개베이스 중 처음 91 개가 채점됩니다. 훈련 시퀀스 중 하나에 대한 목표의 예는 다음과 같습니다.

훈련 시퀀스 중 하나에 대한 목표 값의 시계열입니다. 작성자의 이미지.

또한 아래 예의 반응성에 대해 수행 한대로 이러한 표적 값을 RNA 시퀀스 그래프에 직접 표시 할 수 있습니다.

RNA 서열의 가능한 폴딩 중 하나입니다. 노드 색상은 반응성 값을 나타냅니다 (빨간색 = 높음, 파란색 = 낮음). 시퀀스의 꼬리에 대해 지정된 대상이 없기 때문에 107–68 노드는 색상이 지정되지 않습니다. 작성자의 이미지.

높은 수준의 솔루션 개요

대상을 살펴보면 특정 값이 시계열에서 인접한 값과 상관 관계가 있음을 알 수 있습니다. Recurrent Neural Networks는 내장 메모리가 근처의 예측 값을 고려하기 때문에 이러한 상황에 완벽하게 적합합니다. 시퀀스의 각 염기에 대한 표현을 배우고이를 2 (양방향) RNN 레이어를 통해 전달합니다. 각 노드에 대한 표현은 노드 자체의 정보와 관계 또는 에지 정보를 모두 사용하여 학습됩니다. 도입부에서 알 수 있듯이 RNA 염기 서열은 그래프로 표시 할 수 있으며 염기 서열의 특정 염기 사이의 관계가 존재합니다. 그래프 레이어를 사용하여이 관계 정보를 집계합니다. 최종 솔루션은 RNN 레이어 (LSTM + LSTM, LSTM + GRU, GRU + LSTM 및 GRU + GRU)를 변경하는 4 가지 모델의 혼합으로 구성됩니다. 이 고급 개요에서 일부 세부 정보는 생략되었습니다. 한 가지 중요한 세부 사항은 RNN 계층이 자동 인코더로 사용될 때까지 네트워크를 사전 훈련했다는 것입니다. 이를 통해 레이블이없는 테스트 데이터에 대해서도 교육 할 수있었습니다.

솔루션에 대한 높은 수준의 개요입니다. 작성자의 이미지.

ARNIE로 추가 정보 생성

ARNIE 는 각 시퀀스에 대한 추가 정보를 생성하는 데 사용할 수있는 6 개의 서로 다른 라이브러리를 래핑하는 소프트웨어 패키지입니다.

ARNIE에서 다른 라이브러리를 사용하여 추가 정보를 생성했습니다. 이것은 종종 모든 것을 설치하기 위해 약간의 bash 마법이 필요했습니다. 이 정보를 생성하는 방법을 보여주는 노트북을 제공합니다. 6 개의 라이브러리를 모두 실험했지만 CONTRAfold가 가장 유용한 것으로 나타 났으며 그 다음이 RNAsoft, RNAstructure 및 Vienna입니다.

노드 기능

높은 수준의 개요에서 네트워크에 필요한 두 가지 유형의 입력, 즉 노드 정보와 에지 정보를 볼 수 있습니다. 노드 정보는 RNA 염기 서열의 수, 염기 서열 의 길이 및 노드 당 특징의 수를 포함 하는 NxLxV매트릭스입니다 . 우리 는 총 기능을 사용 합니다.NLVV=25

  • 원-핫 인코딩 기반 ( 'A', 'G', 'C'또는 'U') (4 가지 기능)
  • 원-핫 인코딩 루프 유형 (제공 : 'S': 페어 드 스템, 'M': 멀티 루프, 'I': 내부 루프, 'B': 벌지, 'H': 헤어핀 루프, 'E': 댕글 링 엔드 또는 'X': 외부 루프) (7 가지 기능)
  • 원-핫 인코딩 위치 특성 (인덱스 % 3) (특징 3 개)
  • 확실성 : 예측 : 패키지 (비엔나, CONTRAfold 및 RNAstructure 3 다른 사람)의 비율 (, )또는 .(3 개 기능).
  • CapR 루프 유형 확률 (6 가지 기능)
  • BPP 합계 및 0 개수 (2 개 기능)

가장자리 정보는 RNA 서열의 수, 서열 의 길이 및 가장자리 특징의 수 NxLxLxE와 함께 매트릭스에 캡처됩니다 . 전체적으로 각 에지에 대한 기능 이 있습니다.NLEE=5

  • 3 가지 다른 BPP : 제공된 것, RNAsoft (ARNIE)로 생성되고 contrafold (ARNIE)로 생성 된 것
  • 구조에 표시된 기본 쌍이 있는지 여부 ( ())
  • 염기 사이 의 거리 (맨해튼), 시퀀스 길이로 정규화 됨

우리의 파이프 라인은 mrmakr 이 만든이 훌륭한 노트북개조 한 것 입니다. 해당 노트북에 찬성 투표를하세요! 원래 노트북을 몇 가지 수정했습니다.

  • 네트워크 분류 부분의 손실 기능을 수정했습니다.
  • 이진 표현에 맞게 조정 된 자동 인코더의 손실 함수를 변경했습니다 (이진 교차 엔트로피의 변형). 우리는 단순히 Reconstruction Loss / MAE (| y — y_hat |)를 사용했습니다.
  • 인코더 뒤에 2 개의 RNN 레이어를 추가했습니다. 대회 ( @tuckerarrants 등)에서 설명한 것처럼 GRU + GRU, LSTM + GRU, GRU + LSTM 및 LSTM + LSTM 모델을 혼합하면 약간의 향상을 가져옵니다. 이 4 가지 조합 (총 40 개 모델) 각각에 대해 10 배 CV로 모델을 생성하고 균일 한 가중치로 혼합했습니다.
  • 일부 하이퍼 매개 변수를 조정했습니다. AE의 시대, 분류 부분, GCN 레이어의 단위 수,…
  • @ its7171이 만든 노트북 에서 증강 데이터를 추가 합니다.
  • 모든 샘플에 대해 학습하지만 signal_to_noise에 따라 다른 샘플 가중치를 사용합니다. 이것에 대해 다시 @ its7171 에게 외쳐라 ! 평가는 SN_filter = 1 인 데이터에 대해서만 수행되었습니다. 우리는 사설 LB도 그렇게 할 것으로 기대했기 때문에;)

작동하지 않는 많은 것을 시도했습니다.

  • 우리는 모든 RNA의 3D 폴딩을 얻었고 RNA 염기 사이의 3D (유클리드) 거리를 계산했습니다. 또한 각도 정보를 사용하려고했습니다 (비닝 된 다음 범주 적으로 인코딩 됨). 이로 인해 간단한 LSTM 아키텍처가 향상되었지만 AE + LSTM의 성능이 저하되었습니다. 이러한 기능에는 확실히 잠재력이 있지만 좀 더 철저한 실험이 필요합니다. 이러한 실험을 허용하는 데이터 세트는 여기 에서 찾을 수 있습니다 .
  • 일부 RNA 기능을 제공하는 많은 소프트웨어 패키지는 유익하지 않았습니다. 여기에는 RNAup, Shaker, MXFold 등이 포함됩니다.
  • 이 백서 에서 논의 된 모든 스펙트럼 표현 .
  • 보다 풍부한 그래프 표현 (예 : 아미노산 정보 포함)
  • 엔트로피 기능
  • 원자 정보

이 대회가 정말 즐거웠습니다. 특히 짧은 시간 동안 만 지속된다는 사실이 마음에 들었습니다. 전체 대회 기간 동안 공개 순위표에서 목을 맞댄 경주였습니다. 매우 스트레스가 많지만 재미 있습니다! 이런 종류의 "블리츠"대회는 Kaggle에 의해 별도의 형식으로 간주 될 수 있습니다.

우리는 돈을 놓쳤지만 (1 순위) 여전히 우리의 결과를 매우 자랑스럽게 생각합니다! 그 결과 제 두 팀원 인 BramMichele 도 Kaggle Competition Masters가되었습니다. 그래서 그들에게 큰 축하를 보냅니다!

KaggleGithub 모두에서 솔루션 코드를 제공합니다 .

평소와 같이 불분명하거나 추가 설명이 필요한 경우 주저하지 말고 의견을 남기거나 저에게 연락하십시오!

가까운 미래에 업데이트를받을 수 있으므로이 게시물을 주시하십시오!

다음 대회에서 만나요!
Gilles, Bram 및 Michele

Suggested posts

우리 고양이는 혼란에도 불구하고 집에있을 때마다 사랑한다

때때로 의학적 위기는 변장 한 은색 안감을 가지고 있습니다.

우리 고양이는 혼란에도 불구하고 집에있을 때마다 사랑한다

Skye가 우리 삶에 들어 왔을 때 우리는 두 사람이 일하는 가족이었습니다. 우리는 아침 일찍 출발했고 저녁 시간까지 집에 도착하지 않았습니다.

나는 지하철에서 먹는 사람이고 COVID-19는 나를 위해 일을 바꾸지 않았습니다

나는 당신의 두려움과 미트볼 서브를 즐깁니다.

나는 지하철에서 먹는 사람이고 COVID-19는 나를 위해 일을 바꾸지 않았습니다

더러운 시선으로 그만 둘 수 있습니다. 지금 바로 여기 G 기차에서 점심을 먹으러 가면 마스크가 벗겨지고 있습니다.

Related posts

데이터 과학을위한 필수 수학 : 기초 및 기초 변경

데이터 과학을위한 필수 수학 : 기초 및 기초 변경

고유 분해 및 SVD에 유용한 기저의 선형 대수 개념 이해이 기사에서는 고유 분해 또는 특이 값 분해 (SVD)와 같은 행렬 분해 방법을 이해하는 흥미로운 방법 인 기저 개념에 대해 알아 봅니다. 정의 기본은 벡터 공간 (벡터 집합)을 설명하는 데 사용되는 좌표계입니다.

판다와 에라스무스 연구 교환 분석

판다와 에라스무스 연구 교환 분석

Erasmus 프로그램 2011-12에서 발생한 20 만 개의 연구 교환으로 데이터 세트를 분석 한 결과 1987 년 이후 Erasmus 프로그램은 매년 수십만 명의 유럽 학생들에게 한 학기 또는 1 년을 해외에서 보낼 기회를 다른 유럽에서 보낼 수있는 기회를 제공합니다. 경제적 인 지원뿐만 아니라 쉬운 교환 과정을 제공합니다. 유럽의 다양한 사람, 언어 및 문화에 대한 마음과 마음을 열어주는 정말 귀중한 경험입니다.

데이터 과학을위한 8 가지 기본 통계 개념

… 평범한 영어로 설명

데이터 과학을위한 8 가지 기본 통계 개념

통계는 "수량 데이터의 수집, 분석, 해석 및 표현을 다루는 수학의 한 분야"입니다. 프로그래밍과 기계 학습을 혼합하면 데이터 과학의 핵심 기술에 대해 꽤 잘 설명 할 수 있습니다.

데이터 과학의 9 가지 거리 측정

일반적인 거리 측정의 장점과 함정

데이터 과학의 9 가지 거리 측정

감독되거나 감독되지 않는 많은 알고리즘은 거리 측정을 사용합니다. 유클리드 거리 또는 코사인 유사성과 같은 이러한 측정은 종종 k-NN, UMAP, HDBSCAN 등과 같은 알고리즘에서 찾을 수 있습니다.