åå®å šãªéºäŒåŠã®éèŠãªæŠå¿µãæ¢æ±ããDNAè§£æã«ãããåå®å šæ§ãã©ã®ããã«ããŒã¿ã€ã³ãã°ãªãã£ãä¿è·ãã粟床ãé«ããäžçäžã®ã²ãã ç ç©¶ãšå¿çšã«ä¿¡é Œãç¯ããã詳述ããŸãã
åå®å šãªéºäŒåŠïŒåå®å šæ§ã«ããDNAè§£æã®ç²ŸåºŠä¿èšŒ
éºäŒåŠã®åéã¯ãããŒã¿çæã«ãããŠåäŸã®ãªãæ¥å¢ãçµéšããŠããŸããå šã²ãã ã·ãŒã±ã³ã¹ããã¿ãŒã²ããéºäŒåããã«ãŸã§ãã²ãã æ å ±ã®éãšè€éãã¯ææ°é¢æ°çã«å¢å ããŠããŸãããã®ããŒã¿ã¯ãç»æçãªçºèŠãä¿é²ãããã¬ã·ãžã§ã³ã¡ãã£ã·ã³ãæšé²ããåœãæãããšãã§ãã蚺æããŒã«ãæ¯ããŠããŸãããããããã®è«å€§ãªå¯èœæ§ã«ã¯ãéèŠãªèª²é¡ã䌎ããŸããããã¯ããã®æ©å¯æ§ã®é«ãéèŠãªããŒã¿ã«å¯ŸããŠè¡ãããåæã®ç²ŸåºŠãä¿¡é Œæ§ãããã³å®å šæ§ãä¿èšŒããããšã§ããããã§ãçŸä»£ã®ããã°ã©ãã³ã°ãã©ãã€ã ããåçšããåå®å šæ§ã®ååããæçã§ããã ãã§ãªããéºäŒåŠã®å°æ¥ã«ãšã£ãŠäžå¯æ¬ ã«ãªããŸãã
ã²ãã ããŒã¿ãšåæã®æé·ããç¶æ³
ã²ãã ããŒã¿ã¯ãåŸæ¥ã®ããŒã¿ã»ãããšã¯æ ¹æ¬çã«ç°ãªããŸããããã¯åãªãæ°åãããã¹ãã®éãŸãã§ã¯ãããŸãããããã¯çåœã®èšèšå³ã衚ããŠããŸãããã®ããŒã¿ã®åæãŸãã¯è§£éã«ããããšã©ãŒã¯ãçŸæ£ã®èª€èšºãããæ¬ é¥ã®ããç ç©¶çµè«ãããã«ã¯å«ççãªãžã¬ã³ããŸã§ãæ·±å»ãªçµæãããããå¯èœæ§ããããŸããDNAè§£æãæãéèŠãªæ¬¡ã®åéãæ€èšããŠãã ããã
- èšåºèšºæïŒãããå¿è¡ç®¡çŸæ£ããŸãã¯ãŸããªéºäŒæ§çŸæ£ãªã©ã®çŸæ£ã«å¯ŸããéºäŒççŽ å ãç¹å®ããŸãã
- ãã¡ãŒãã³ã²ããã¯ã¹ïŒå人ã®éºäŒçæ§æã«åºã¥ããŠç¹å®ã®è¬ç©ã«å¯Ÿããåå¿ãäºæž¬ããè¬ç©ã®æå¹æ§ãæé©åããæå®³åå¿ãæå°éã«æããŸãã
- æ³å»åŠïŒåäºææ»ããã³èŠªåéå®ã«ãããDNAãããã¡ã€ãªã³ã°ãéããŠå人ãç¹å®ããŸãã
- ç¥å ãšç³»å³ïŒå®¶æã®æŽå²ããã©ããéå£éºäŒåŠãçè§£ããŸãã
- 蟲æ¥ç§åŠïŒäœç©ã®åéãèç æ§ãããã³æ€ç©ã®æ é€äŸ¡ãæ¹åããŸãã
- é²åçç©åŠïŒçš®ã®é²åã®æŽå²ãšé¢ä¿ãç ç©¶ããŸãã
ãããã®åã¢ããªã±ãŒã·ã§ã³ã¯ãèšå€§ãªéã®çã®ã·ãŒã±ã³ã¹ããŒã¿ïŒäŸïŒFASTQãã¡ã€ã«ïŒãã¢ã©ã€ã³ããããªãŒãïŒäŸïŒBAMãã¡ã€ã«ïŒãããªã¢ã³ãã³ãŒã«ïŒäŸïŒVCFãã¡ã€ã«ïŒãããã³ãã®ä»ã®ã²ãã ã¢ãããŒã·ã§ã³ãåŠçããé«åºŠãªèšç®ããŒã«ãšã¢ã«ãŽãªãºã ã«äŸåããŠããŸãã䜿çšãããããŒã«ã¯ãã«ã¹ã¿ã ã¹ã¯ãªããããªãŒãã³ãœãŒã¹ãã€ãã©ã€ã³ããŸãã¯åçšãœãããŠã§ã¢ã®ãããã§ãã£ãŠããããã°ã©ãã³ã°èšèªã䜿çšããŠæ§ç¯ãããŠããŸãããããŠãåå®å šæ§ãéèŠãªåœ¹å²ãæããã®ã¯ããããã®ããŒã«ã®èšèšãšå®è£ ã®äžã§ãã
åå®å šæ§ãšã¯ïŒããã°ã©ããŒä»¥å€ã®æ¹ãžã®å ¥éæž
ã³ã³ãã¥ãŒã¿ãŒãµã€ãšã³ã¹ã§ã¯ãåå®å šæ§ãšã¯ãããã°ã©ãã³ã°èšèªãããŒã¿åã®èª€çšã«é¢é£ãããšã©ãŒã鲿¢ãŸãã¯æ€åºããèœåãæããŸããããŒã¿åã¯ã倿°ãä¿æã§ããå€ã®çš®é¡ãšããã®å€ã«å¯ŸããŠå®è¡ã§ããæäœãå®çŸ©ããŸããããšãã°ãæ°å€åã¯ç®è¡æŒç®ã«äœ¿çšã§ããæåååã¯ããã¹ãã«äœ¿çšãããŸãã
åå®å šãªèšèªã¯ãæäœãé©åãªåã®å€ã«å¯ŸããŠã®ã¿å®è¡ãããããã«ããŸããããšãã°ãæååïŒãhelloããªã©ïŒãæ°å€ïŒ5ãªã©ïŒã§é€ç®ããããæ°å€ã倿°ã«å²ãåœãŠããããããšãé²ããŸããæåãä¿æããããšãç®çãšããŠããŸãããã®äžèŠåçŽãªæŠå¿µã¯ããã°ãæ¬çªç°å¢ã§ããŸãã¯ç§ãã¡ã®å Žåãç§åŠçåæã§çŸããåã«ãéçºããã»ã¹ã®åææ®µéã§ãã°ãæ€åºããããã®åŒ·åãªã¡ã«ããºã ã§ãã
顿šãèããŠã¿ãŸãããïŒæ è¡ã®æºåãããŠãããšæ³åããŠãã ãããåå®å šãªã¢ãããŒãã§ã¯ãããŸããŸãªã¢ã€ãã ãæç¢ºã«ã©ãã«ä»ããããã³ã³ããã«å ¥ããããšãå«ãŸããŸãããéŽäžãçšã®ã³ã³ããããæŽé¢çšåãçšã®ã³ã³ããããé»åæ©åšãçšã®ã³ã³ããããããŸããæ¯ãã©ã·ããéŽäžãã³ã³ããã«è©°ããããšã¯ããŸããããã®äºåå®çŸ©ãããç·šæã«ããããšã©ãŒã鲿¢ãããéŽäžãå¿ èŠãªãšãã«ããããå±ããå Žæã§èŠã€ããããšãã§ããŸããããã°ã©ãã³ã°ã§ã¯ãåã¯ãããã®ã©ãã«ãšããŠæ©èœããããŒã¿ã®äœ¿çšãã¬ã€ããããäžäžèŽãæäœãé²ããŸãã
DNAè§£æã«ãããŠåå®å šæ§ãéèŠãªçç±
DNAè§£æã®è€éãªã¯ãŒã¯ãããŒã«ã¯ãå€ãã®ã¹ããããå«ãŸãããããããããŒã¿ããã圢åŒããå¥ã®åœ¢åŒã«å€æããŸããåæ®µéã§ãããŒã¿ãæ£ããåŠçãããªãå Žåããšã©ãŒãçºçãããªã¹ã¯ããããŸããåå®å šæ§ã¯ãããã€ãã®éèŠãªæ¹æ³ã§ãããã®ãªã¹ã¯ã«çŽæ¥å¯ŸåŠããŸãã
1. ããŒã¿ç Žæãšèª€è§£éã®é²æ¢
ã²ãã ããŒã¿ã«ã¯ãçã®ã·ãŒã±ã³ã¹ãªãŒããã¢ã©ã€ã³ããããªãŒããéºäŒåã¢ãããŒã·ã§ã³ãããªã¢ã³ãã³ãŒã«ãã¡ãã«åã¬ãã«ãã¿ã³ãã¯è³ªã·ãŒã±ã³ã¹ãªã©ãå€ãã®åœ¢åŒããããŸãããããã®ããããã«ã¯ãç¹å®ã®ç¹æ§ãšäºæããã圢åŒããããŸããåå®å šæ§ããªããã°ãããã°ã©ããŒã¯èª€ã£ãŠDNAã·ãŒã±ã³ã¹æååïŒäŸïŒãAGCTãïŒãæ°å€èå¥åãšããŠæ±ãããããªã¢ã³ãã³ãŒã«ã®å¯Ÿç«éºäŒåé »åºŠãçã®ãªãŒãã«ãŠã³ããšããŠèª€ã£ãŠè§£éããå¯èœæ§ããããŸãã
äŸïŒããªã¢ã³ãã³ãŒãªã³ã°ãã€ãã©ã€ã³ã§ã¯ãçã®ãªãŒãã¯å¡©åºã®æååãšããŠè¡šãããå ŽåããããŸãããã ããããªã¢ã³ãã³ãŒã«ã¯ãåç §å¯Ÿç«éºäŒåã代æ¿å¯Ÿç«éºäŒåãéºäŒååæ å ±ãããã³å質ã¹ã³ã¢ãå«ããããè€éãªããŒã¿æ§é ã§ããå¯èœæ§ããããŸãã颿°ããããªã¢ã³ãããªããžã§ã¯ãã®åŠçãæåŸ ããŠããããããªãŒããæååã誀ã£ãŠäŸçµŠãããå ŽåãçµæãšããŠåŸãããåæã¯ãã³ã»ã³ã¹ã«ãªãããå®å šã«ééã£ãŠããå¯èœæ§ããããŸããåå®å šãªã·ã¹ãã ã¯ãã³ã³ãã€ã«æãŸãã¯å®è¡æã«ãã®äžäžèŽã«ãã©ã°ãç«ãŠããšã©ãŒã鲿¢ããŸãã
2. 粟床ãšåçŸæ§ã®åäž
åçŸæ§ã¯ãç§åŠç ç©¶ã®åºç€ã§ããåæãäžè²«ããŠå®è¡ãããªãå ŽåããŸãã¯ããããªããŒã¿åŠçãšã©ãŒãå¿ã³å¯ãå Žåãçµæã¯äºæž¬äžå¯èœã«å€åããå¯èœæ§ããããŸããåå®å šæ§ã¯ã峿 ŒãªããŒã¿åŠçèŠåãé©çšããããšã«ãããåçŸæ§ã«è²¢ç®ããŸããã³ãŒããåå®å šãªå ŽåãåãããŒãžã§ã³ã®ã³ãŒãã§åŠçãããåãå ¥åããŒã¿ã¯ãç°å¢ãåæãå®è¡ããŠããç¹å®ã®ããã°ã©ããŒã«é¢ä¿ãªããïŒã¢ã«ãŽãªãºã èªäœã®å¶çŽå ã§ïŒåãåºåãçæããå¯èœæ§ãã¯ããã«é«ããªããŸãã
ã°ããŒãã«ãªåœ±é¿ïŒè€æ°ã®æ©é¢ã«ããã£ãŠããã²ãã ãåæããå€§èŠæš¡ãªåœéå ±åãããžã§ã¯ããæ³åããŠãã ããããã€ãªã€ã³ãã©ããã£ã¯ã¹ã®ãã€ãã©ã€ã³ã«åå®å šæ§ãæ¬ ããŠããå ŽåãããŒã¿åŠçã®äžäžèŽãççŸããçµæã«ã€ãªãããå ±åäœæ¥ã劚ããããå¯èœæ§ããããŸããåå®å šãªããŒã«ã¯ãããŒã¿åŠçã®ãèšèªããæšæºåããã倿§ãªãœãŒã¹ããã®çµæãã·ãŒã ã¬ã¹ã«çµ±åã§ããããšãä¿èšŒããŸãã
3. ã³ãŒãã®ä¿å®æ§ãšéçºå¹çã®åäž
ãã€ãªã€ã³ãã©ããã£ã¯ã¹ã®ã³ãŒãããŒã¹ã¯è€éã§ããããšãå€ããè€æ°ã®éçºè ãè²¢ç®ããŠæéã®çµéãšãšãã«é²åããŸããåå®å šæ§ã«ãããã³ãŒãã®çè§£ãä¿å®ãããã³ãããã°ã容æã«ãªããŸããããŒã¿åãæç¢ºã«å®çŸ©ãããé©çšããããšãéçºè ã¯ã·ã¹ãã ã®ããŸããŸãªéšåãã©ã®ããã«çžäºäœçšããããããããçè§£ã§ããŸããããã«ããã倿Žãè¡ã£ãããæ°ããæ©èœã远å ããããããšãã«ãã°ãçºçããå¯èœæ§ãäœããªããŸãã
äŸïŒç¹å®ã®ããªã¢ã³ãã®å¯Ÿç«éºäŒåé »åºŠãèšç®ããããã«èšèšããã颿°ãæ€èšããŠãã ããããã®é¢æ°ã¯ãåç §å¯Ÿç«éºäŒåãšä»£æ¿å¯Ÿç«éºäŒåã®ã«ãŠã³ããå«ããããªã¢ã³ãæ å ±ã衚ãããŒã¿æ§é ãæ³å®ããŸããåå®å šãªèšèªã§ã¯ã次ã®ããã«ãªããŸãã
func calculateAlleleFrequency(variant: VariantInfo) -> Double {
// Ensure we don't divide by zero
guard variant.totalAlleles > 0 else { return 0.0 }
return Double(variant.alternateAlleleCount) / Double(variant.totalAlleles)
}
誰ããVariantInfoãªããžã§ã¯ãïŒçã®ã·ãŒã±ã³ã¹æååãªã©ïŒã§ã¯ãªããã®ã§ãã®é¢æ°ãåŒã³åºãããšãããšãã³ã³ãã€ã©ãŒã¯ããã«ãšã©ãŒãçºçãããŸããããã«ãããããã°ã©ã ãééã£ãããŒã¿ã§å®è¡ãããã®ãé²ããéçºè
ãéèŠãªå®éšäžã§ã¯ãªããéçºäžã«åé¡ãèŠåããŸãã
4. é«åºŠãªãã¯ãããžãŒïŒAI / MLïŒã®å©çšã®ä¿é²
ã²ããã¯ã¹ã«ããã人工ç¥èœã𿩿¢°åŠç¿ã®å¿çšã¯ãããªã¢ã³ãã®åªå é äœä»ãããçŸæ£ã®äºæž¬ãŸã§ãæ¥éã«æ¡å€§ããŠããŸãããããã®ã¢ãã«ã¯ãå ¥åããŒã¿ã®å質ãšåœ¢åŒã«éåžžã«ææã§ããããšããããããŸããããŒã¿ååŠçãã€ãã©ã€ã³ã®åå®å šæ§ã«ããããããã®æŽç·Žãããã¢ãã«ã«äŸçµŠãããããŒã¿ãã¯ãªãŒã³ã§äžè²«æ§ããããæ£ç¢ºã«ãã©ãŒããããããŠããããšãä¿èšŒãããŸããããã¯ã广çã§ä¿¡é Œæ§ã®é«ãAI / MLã·ã¹ãã ããã¬ãŒãã³ã°ããããã«éåžžã«éèŠã§ãã
äŸïŒéºäŒçããªã¢ã³ãã®ç åæ§ãäºæž¬ããã¢ãã«ããã¬ãŒãã³ã°ããã«ã¯ãããªã¢ã³ã察ç«éºäŒåé »åºŠãéå£é »åºŠãäºæž¬ãããæ©èœç圱é¿ãä¿åã¹ã³ã¢ãªã©ãæ£ç¢ºãªå ¥åæ©èœãå¿ èŠã§ãããããã®æ©èœãçæãããã€ãã©ã€ã³ãåå®å šã§ãªãå Žåã誀ã£ãããŒã¿åãŸãã¯åœ¢åŒããåã£ãŠããããããã©ãŒãã³ã¹ãäœãã¢ãã«ã«ã€ãªããå¯èœæ§ããããæœåšçã«äžé©åãªèšåºå€æã«ã€ãªããå¯èœæ§ããããŸãã
ã²ããã¯ã¹ã¯ãŒã¯ãããŒã§ã®åå®å šæ§ã®å®è£
DNAè§£æã§åå®å šæ§ãå®çŸããããšã¯ãè»èŒªã®åçºæã§ã¯ãããŸããã確ç«ãããååãæŽ»çšãããã€ãªã€ã³ãã©ããã£ã¯ã¹ã®ãã¡ã€ã³ã«æ éã«é©çšããããšã§ããããã«ã¯ãããã€ãã®ã¬ãã«ã§ã®éžæãå«ãŸããŸãã
1. åå®å šãªããã°ã©ãã³ã°èšèªã®éžæ
ææ°ã®ããã°ã©ãã³ã°èšèªã¯ãããŸããŸãªçšåºŠã®åå®å šæ§ãæäŸããŸããJavaãCïŒãScalaãSwiftãRustãªã©ã®èšèªã¯ãäžè¬ã«åŒ·åãªåå®å šã§ãããšèŠãªãããŠããŸããPythonã¯åçã«åä»ããããŠããŸãããåãã³ããªã©ã®æ©èœãéããŠãªãã·ã§ã³ã®éçåä»ããæäŸããŸããããã«ãããç±å¿ã«äœ¿çšãããšåå®å šæ§ãå€§å¹ ã«åäžããŸãã
ã²ããã¯ã¹ã®èæ ®äºé ïŒ
- ããã©ãŒãã³ã¹ïŒã²ããã¯ã¹ã«ãããå€ãã®é«æ§èœã³ã³ãã¥ãŒãã£ã³ã°ã¿ã¹ã¯ã§ã¯ãå¹ççãªå®è¡ãå¿ èŠã§ããã³ã³ãã€ã«ããã匷åãªåä»ãèšèªïŒRustãC ++ãªã©ïŒã¯ããã©ãŒãã³ã¹äžã®å©ç¹ãæäŸã§ããŸãããæé©åãããã©ã€ãã©ãªïŒNumPyãSciPyãªã©ïŒãåããPythonã®ãããªèšèªãåºã䜿çšãããŠããŸãã
- ãšã³ã·ã¹ãã ãšã©ã€ãã©ãªïŒæçãããã€ãªã€ã³ãã©ããã£ã¯ã¹ã®ã©ã€ãã©ãªãšããŒã«ã®å¯çšæ§ã¯éèŠã§ããåºç¯ãªã²ãã ã©ã€ãã©ãªãæã€èšèªïŒPythonã®å Žåã¯BiopythonãRã®å Žåã¯Bioconductorããã±ãŒãžããã ããRã®åã·ã¹ãã ã¯ããã»ã©å³å¯ã§ã¯ãããŸããïŒãåªå ãããããšããããããŸãã
- éçºè ã®ç¿ç床ïŒèšèªã®éžæã¯ãéçºããŒã ã®å°éç¥èã«ãäŸåããŸãã
æšå¥šäºé ïŒæ°ããè€éãªã²ãã è§£æãã€ãã©ã€ã³ã®å Žåãã³ã³ãã€ã«æã«ã¡ã¢ãªå®å šæ§ãšåå®å šæ§ãé©çšããRustã®ãããªèšèªã¯ãå ç¢ãªä¿èšŒãæäŸããŸããæ¢åã®ã©ã€ãã©ãªãæãéèŠãªã©ããããããã¿ã€ãã³ã°ãšåæã®å Žåãåãã³ãã®å³æ Œãªéµå®ã«ããPythonã¯ãå®çšçãªéžæè¢ã§ãã
2. å ç¢ãªããŒã¿æ§é ãšã¢ãã«ã®èšèš
é©åã«å®çŸ©ãããããŒã¿æ§é ã¯ãåå®å šæ§ã®åºç€ã§ãããã¹ãŠã®ãã®ã«ãæååãããæµ®åå°æ°ç¹ããªã©ã®äžè¬çãªåã䜿çšãã代ããã«ãåŠçãããçç©åŠçãšã³ãã£ãã£ã衚ãç¹å®ã®åãäœæããŸãã
ãã¡ã€ã³åºæã®åã®äŸïŒ
DnaSequenceïŒAãTãCãGæåã®ã¿ãå«ãïŒProteinSequenceïŒæå¹ãªã¢ããé žã³ãŒããå«ãïŒVariantCallïŒæè²äœãäœçœ®ãåç §å¯Ÿç«éºäŒåã代æ¿å¯Ÿç«éºäŒåãéºäŒååãå質ã¹ã³ã¢ã®ãã£ãŒã«ããå«ãïŒGenomicRegionïŒæè²äœäžã®éå§åº§æšãšçµäºåº§æšã衚ãïŒSamReadïŒãªãŒãIDãã·ãŒã±ã³ã¹ãå質ã¹ã³ã¢ããããã³ã°æ å ±ã®ãã£ãŒã«ããå«ãïŒ
颿°ããããã®ç¹å®ã®åã§åäœããå Žåãæå³ã¯æç¢ºã§ãããå¶çºçãªèª€çšã¯é²æ¢ãããŸãã
3. 匷åãªæ€èšŒãšãšã©ãŒåŠçã®å®è£
åå®å šæ§ããã£ãŠããäºæããªãããŒã¿ããšããžã±ãŒã¹ãçºçããå¯èœæ§ããããŸããå ç¢ãªæ€èšŒãšãšã©ãŒåŠçã¯ãéèŠãªè£å®ã§ãã
- å ¥åæ€èšŒïŒåŠçããåã«ãå ¥åãã¡ã€ã«ãäºæããã圢åŒã«æºæ ããæå¹ãªããŒã¿ãå«ãŸããŠããããšã確èªããŸããããã«ã¯ããã¡ã€ã«ããããŒãã·ãŒã±ã³ã¹æåã座æšç¯å²ãªã©ã®ç¢ºèªãå«ãŸããŸãã
- ã©ã³ã¿ã€ã ãã§ãã¯ïŒã³ã³ãã€ã«æãã§ãã¯ã¯çæ³çã§ãããã©ã³ã¿ã€ã ãã§ãã¯ã¯èŠéãããå¯èœæ§ã®ããåé¡ãæ€åºã§ããŸããããšãã°ã察ç«éºäŒåã«ãŠã³ããè² ã§ãªãããšã確èªããŸãã
- æå³ã®ãããšã©ãŒã¡ãã»ãŒãžïŒãšã©ãŒãçºçããå Žåã¯ããŠãŒã¶ãŒãŸãã¯éçºè ãåé¡ãçè§£ããä¿®æ£æ¹æ³ãçè§£ããã®ã«åœ¹ç«ã€æç¢ºã§æçãªã¡ãã»ãŒãžãæäŸããŸãã
4. ãã€ãªã€ã³ãã©ããã£ã¯ã¹ã®æšæºãšåœ¢åŒã®å©çš
ã²ããã¯ã¹ã«ãããæšæºåããããã¡ã€ã«åœ¢åŒïŒäŸïŒFASTQãBAMãVCFãGFFïŒã¯ãç¹å®ã®ããŒã¿æ§é ã念é ã«çœ®ããŠèšèšãããŠããŸãããããã®æšæºãéµå®ããããšã¯ãæ¬è³ªçã«åèŠåŸã®äžåœ¢æ ãä¿é²ããŸãããããã®åœ¢åŒãè§£æããã³æäœããã©ã€ãã©ãªã¯ãåå¶çŽãé©çšããããšããããããŸãã
äŸïŒVCFïŒVariant Call FormatïŒãã¡ã€ã«ã«ã¯ãããããŒè¡ãšããŒã¿è¡ã®å³å¯ãªã¹ããŒãããããŸããVCFãè§£æããã©ã€ãã©ãªã¯ãéåžžãåããªã¢ã³ãããé©åã«å®çŸ©ãããããããã£ïŒæè²äœãäœçœ®ãIDãåç §ã代æ¿ãå質ããã£ã«ã¿ãŒãæ å ±ã圢åŒãéºäŒååïŒãæã€ãªããžã§ã¯ããšããŠè¡šããŸãããã®ãããªã©ã€ãã©ãªã䜿çšãããšãããªã¢ã³ãããŒã¿ã«åèŠåŸãé©çšãããŸãã
5. éçåæããŒã«ã®äœ¿çš
åçã«åä»ããããŠãããããªãã·ã§ã³ã®éçåä»ãããµããŒãããPythonã®ãããªèšèªã®å ŽåãMyPyã®ãããªããŒã«ã¯ãã³ãŒããåæããå®è¡åã«åãšã©ãŒãæ€åºã§ããŸãããããã®ããŒã«ãéçºã¯ãŒã¯ãããŒãšç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒãã€ãã©ã€ã³ã«çµ±åãããšãã³ãŒãå質ãå€§å¹ ã«åäžããŸãã
ã±ãŒã¹ã¹ã¿ãã£ãšã°ããŒãã«ãªäŸ
ç¹å®ã®ãœãããŠã§ã¢å®è£ ã¯å°æãŸãã¯è€éã§ãããåå®å šæ§ã®ååã®åœ±é¿ã¯ãã°ããŒãã«ã§äœ¿çšãããŠããã²ãã è§£æããŒã«ã®ç¶æ³å šäœã§èгå¯ã§ããŸãã
- Broad Instituteã®ã²ããã¯ã¹ãã©ãããã©ãŒã ïŒç±³åœïŒã¯ãå€ãã®ããŒã¿åŠçãã€ãã©ã€ã³ã§JavaãScalaã®ãããªèšèªã§åŒ·åãªåä»ããå«ããå ç¢ãªãœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ãã©ã¯ãã£ã¹ãå©çšããŠããŸããããã«ãããç±³åœã®ã²ãã ãããžã§ã¯ãã倿°ã®ããã²ããã¯ã¹ã€ãã·ã¢ãããªã©ã®å€§èŠæš¡ãããžã§ã¯ãããµããŒãããåæã®ä¿¡é Œæ§ãä¿èšŒãããŸãã
- 欧å·ãã€ãªã€ã³ãã©ããã£ã¯ã¹ç ç©¶æïŒEMBL-EBIïŒã¯ãçç©åŠçããŒã¿ã®äž»èŠãªããã§ããã倿°ã®ããŒã«ãšããŒã¿ããŒã¹ãéçºããã³ç¶æããŠããŸããããŒã¿ã€ã³ãã°ãªãã£ãšåçŸæ§ãžã®åãçµã¿ã«ã¯ãèŠåŸãããœãããŠã§ã¢éçºãå¿ èŠã§ããããã§ã¯ãåå®å šæ§ã®ååãPythonãJavaãããã³C ++ããŒã¹ã®ã·ã¹ãã ã§æé»çãŸãã¯æç€ºçã«åŸã£ãŠããŸãã
- 1000ã²ãã ãããžã§ã¯ããgnomADïŒã²ãã éèšããŒã¿ããŒã¹ïŒã®ãããªãããžã§ã¯ãã¯ãäžçäžã®å€æ§ãªéå£ããã®ã²ãã ããŒã¿ãéçŽããæšæºåãããããŒã¿åœ¢åŒãšå ç¢ãªåæãã€ãã©ã€ã³ã«äŸåããŠããŸããããªã¢ã³ãã³ãŒã«ãšé »åºŠæšå®ã®ç²ŸåºŠã¯ãåºç€ãšãªããœãããŠã§ã¢ãããŸããŸãªããŒã¿åãæ£ããåŠçããèœåã«å€§ããäŸåããŠããŸãã
- äžåœããã©ãžã«ã®ãããªåœã ã®èŸ²æ¥ã²ããã¯ã¹ã€ãã·ã¢ããã¯ãéºäŒååæãéããŠäž»èŠäœç©ãæ¹åããããšã«çŠç¹ãåœãŠãŠãããä¿¡é Œæ§ã®é«ããã€ãªã€ã³ãã©ããã£ã¯ã¹ããŒã«ããæ©æµãåããŠããŸããåå®å šãªéçºãã©ã¯ãã£ã¹ã«ãããèç æ§ãŸãã¯åéåäžã«é¢ããç ç©¶ãå¥å šãªéºäŒåããŒã¿ã«åºã¥ããŠããããšãä¿èšŒãããŸãã
ãããã®äŸã¯ãç°ãªã倧éžãšç ç©¶åéã«ãŸããã£ãŠãã²ããã¯ã¹ã«ãããä¿¡é Œã§ããèšç®æ¹æ³ã«å¯Ÿããæ®éçãªå¿ èŠæ§ã匷調ããŠããŸããåå®å šæ§ã¯ããã®ä¿¡é Œæ§ã«è²¢ç®ããåºæ¬çãªèŠçŽ ã§ãã
課é¡ãšä»åŸã®æ¹åæ§
ã²ããã¯ã¹ã®ããã«æ¥éã«é²åããåéã§åå®å šæ§ãå®è£ ããã³ç¶æããã«ã¯ãããã€ãã®èª²é¡ããããŸãã
- ã¬ã¬ã·ãŒã³ãŒãããŒã¹ïŒæ¢åã®ãã€ãªã€ã³ãã©ããã£ã¯ã¹ããŒã«ã®å€ãã¯ãå€ãèšèªã§ããŸãã¯åã·ã¹ãã ãå³å¯ã§ãªãèšèªã§èšè¿°ãããŠããŸããããããç§»è¡ãŸãã¯ãªãã¡ã¯ã¿ãªã³ã°ããããšã¯ãèšå¿µç¢çãªã¿ã¹ã¯ã«ãªãå¯èœæ§ããããŸãã
- ããã©ãŒãã³ã¹ã®ãã¬ãŒããªãïŒäžéšã®ã·ããªãªã§ã¯ãå³å¯ãªåãã§ãã¯ã«ãã£ãŠå°å ¥ããããªãŒããŒãããããéåžžã«ããã©ãŒãã³ã¹ãéèŠãªã¢ããªã±ãŒã·ã§ã³ã§æžå¿µãããå¯èœæ§ããããŸãããææ°ã®ã³ã³ãã€ã©ãŒãšèšèªã¯ãã®ã®ã£ãããå€§å¹ ã«çž®å°ããŠããŸãã
- çç©åŠçããŒã¿ã®è€éãïŒçç©åŠçããŒã¿ã¯ãæ¬è³ªçã«ä¹±éã§äžè²«æ§ããªãå¯èœæ§ããããŸããå®å šæ§ãç¶æããªããããã®å€åæ§ãé©åã«åŠçã§ããåã·ã¹ãã ãèšèšããããšã¯ãçŸåšãç ç©¶ãé²ããããŠããåéã§ãã
- æè²ãšãã¬ãŒãã³ã°ïŒãã€ãªã€ã³ãã©ããã£ã·ã£ã³ãšèšç®çç©åŠè ããåå®å šæ§ã®ååãšå ç¢ãªãœãããŠã§ã¢ãéçºããããã®ãã¹ããã©ã¯ãã£ã¹ã«ç²ŸéããŠããããšã確èªããããšãéèŠã§ãã
åå®å šãªéºäŒåŠã®å°æ¥ã¯ãããããæ¬¡ã®ããšãå«ãã§ãããã
- ãã€ãªã€ã³ãã©ããã£ã¯ã¹ç ç©¶ã«ãããææ°ã®åå®å šãªèšèªã®ããåºç¯ãªæ¡çšã
- 匷åãªåå®å šæ§ãåã蟌ããã€ãªã€ã³ãã©ããã£ã¯ã¹çšã®ãã¡ã€ã³åºæèšèªïŒDSLïŒãŸãã¯æ¡åŒµæ©èœã®éçºã
- éèŠãªã¢ã«ãŽãªãºã ã®æ£ãããæ°åŠçã«èšŒæããããã®åœ¢åŒçãªæ€èšŒæ¹æ³ã®äœ¿çšã®å¢å ã
- ã²ãã ã³ãŒãã®åé¢é£ã®åé¡ãèªåçã«èå¥ããŠä¿®æ£ããã®ã«åœ¹ç«ã€AIæèŒããŒã«ã
çµè«
DNAè§£æãç§åŠççè§£ãšèšåºå¿çšã®å¢çãæŒãåºãç¶ããã«ã€ããŠã粟床ãšä¿¡é Œæ§ã«å¯Ÿããåœä»€ã¯é«ãŸããŸããåå®å šãªéºäŒåŠã¯åãªãããã°ã©ãã³ã°æŠå¿µã§ã¯ãããŸãããã²ãã ããŒã¿ãšããããåŸãããæŽå¯ã«å¯Ÿããä¿¡é Œãæ§ç¯ããããã®æŠç¥çã¢ãããŒãã§ããåå®å šãªããã°ã©ãã³ã°èšèªãæ¡çšããå ç¢ãªããŒã¿æ§é ãèšèšãã峿 Œãªæ€èšŒãå®è£ ããããšã«ãããã°ããŒãã«ã²ããã¯ã¹ã³ãã¥ããã£ã¯ãšã©ãŒã軜æžããåçŸæ§ãé«ããçºèŠãå éããæçµçã«ã¯éºäŒæ å ±ã®åã人éã®å¥åº·ã®æ¹åãšãã®å ã®ããã«è²¬ä»»ãæã£ãŠå¹æçã«æŽ»çšããããšãä¿èšŒã§ããŸãã
åå®å šæ§ãžã®æè³ã¯ãéºäŒåŠã®æªæ¥ãžã®æè³ã§ãããã¹ãŠã®ãã¯ã¬ãªããããã¹ãŠã®ããªã¢ã³ããããã³ãã¹ãŠã®è§£éãä¿¡é Œã§ããæªæ¥ã§ãã