"2020년까지 전 세계 인구의 절반 이상이 인터넷에 연결될 것입니다."라는 말이 나오기 무섭게 2021년 지금은 인구의 절반을 넘어선 대다수가 인터넷에 연결이 되었습니다. 이에 앞서 MZ세대는 단순 인터넷이 아닌 모바일을 중심으로 사용하고 있습니다. 실제로 인터넷 사용자 4명 중 1명 이상이 이미 모바일 중심 사용자에 해당합니다.


[그림 1] "Mobile Only"

[그림 2] "Mobile Users by Country"

이처럼 현대 시장은 모바일에서 돌아간다고 할 수 있을 정도로 모바일의 중요성이 커지는 시점이 되었습니다.
예로 A 씨의 휴일 일상을 들여다보겠습니다.

오전
-08시 : 일어나자마자 카톡, 페이스북, 인스타그램 확인
-10시 30분 : 네이버, 다음 뉴스 보고 동영상 검색
오후
-13시 : 밥을 먹으며 유튜브 콘텐츠 감상
-14시 : 의류 직구 카페에 올라온 상품이 혹해서 인스타그램, 페이스북, 블로그 후기를 찾아봄(후기가 별로라서 구매하지 않음)
-16시 : 네이버 쇼핑을 보다가 가격이 너무 괜찮은 바지 N-페이로 구매(적립금 2,000원 사용)
-17시 : 항상 들어가 있는 커뮤니티 사이트 배너에서 `여행` 배너를 보고 호기심에 클릭
-18시 : 배달 앱을 이용해 저녁 메뉴 배달 주문 및 식사
-20시 : 여행 배너에 혹해서 네이버 톡톡으로 호텔 숙박 가격 문의
-24시~ 새벽 01시 : 카페에서 해당 호텔 및 관광 후기에 대해 찾고 또 찾아보다 잠이 듦
*깨어있는 내내 카카오톡,SNS(페이스북,인스타그램, 블로그,카페 사용)
*음악, 카메라, 배달 애플리케이션 사용

위에 일과를 보면 아침에 눈을 떠서부터 감을 때까지 스마트폰을 놓지 않는 것을 볼 수 있습니다. 이처럼 모바일을 주된 매체로 쓰는 요즘 시대에 여러분은 모바일에 대해서 얼마나 알고 계신가요?? 이번 포스팅에서는 모바일에 관한 내용 중 모바일 앱 개발에 관해서 말씀을 드리겠습니다.

모바일 앱 개발은 스마트폰의 애플리케이션을 개발하는 것을 말합니다. 모바일 온리(Mobile Only) 시대가 오면서 스마트폰의 사용성이 많이 올라가고, 여러 기업에서 스마트폰으로 서비스를 하는 경우가 많아졌습니다. 인실리코젠도 역시 스마트폰을 이용한 분석 및 서비스를 하고 있으며 크게 ‘헬스케어’와 ‘데이터 분석’ 두 가지 카테고리로 나눠 소개하겠습니다.


모바일 앱 실제 활용 사례 - 인실리코젠, 디이프
  • 활용 사례 #01 헬스케어
모바일 건강(mhealth)은 스마트폰, 태블릿 및 웨어러블과 같은 모바일 기술을 통해 의료 지원, 전달 및 개입을 제공하는 디지털 건강 분야에서 빠르게 확장되는 분야입니다. mhealth는 데이터를 전송할 수 있는 모든 모바일 장치를 의미하지만, 휴대폰은 현재 mhealth 전달을 위한 가장 인기 있는 플랫폼입니다. 전 세계 일반 인구의 94%가 휴대전화를 소유하거나 사용하므로 휴대전화는 의료 개입을 위한 최적의 전달 플랫폼입니다.

건강이라는 용어는 임상 및 비임상 모집단 모두에서 다양한 의료 활동을 설명하는 데 사용할 수 있습니다. 예를 들어, 수천 개의 인기 있는 스마트폰 앱을 건강 카테고리에서 다운로드하여 개인이 체력을 향상시키고 칼로리를 계산하며 수면을 모니터링할 수 있습니다. ‘라이프로그데이터’ 포스팅(https://insilicogen.com/blog/387) 에서 언급했던 바와 같이, 병원을 가지 않고 혼자서 헬스케어를 할 수 있는 시대가 되었습니다. 게다가 코로나가 심각해지면서 외출을 하기 꺼려지고, 병원을 가는 것조차 무서워지고 있는 상황에서는 이처럼 개인의 건강을 집에서 확인할 수 있는 기술이 무척 중요해졌습니다.


[그림 3] "digital_healthcare_future"
(https://www.galendata.com/digital-healthcare-future-heathcare/)

개인의 건강을 집에서 확인하기 위해서는 검진을 할 수 있는 키트와 검사 결과를 볼 수 있는 매체가 필요합니다. 대표적으로 코로나 검사의 경우 코로나 검사 키트가 있을 수 있고, 유전자 검사를 하기 위한 DTC 유전자 검사 키트가 있습니다.

[그림 4] 좌 : corona test kit, 우 : "dtc dna test kit"
검사를 하고 검사 결과를 메일 혹은 우편으로 받아 볼 수 있으며, 이러한 결과를 편리하게 분석하기 위한 다양한 모바일 서비스가 있습니다.
일반인의 경우 검사 결과 통지서를 보고 결과가 어떻게 나왔는지 한눈에 알기는 쉽지 않습니다. 이 때문에 여러 서비스에서 이러한 결과를 보기 좋게 분석하고 표현해줍니다. 이럴 때 필요한 것이 모바일 앱입니다.

검사 결과를 모바일 앱을 통해 편리하게 제공하고, 이에 따른 헬스케어를 할 수 있도록 서비스를 제공하는 역할을 하게 됩니다. 모바일 앱 개발자는 이러한 서비스를 만들기 위해 검사 결과를 분석하는 데이터 분석가와 함께 서비스를 기획하고, 사용자가 더욱 편리하게 검사 결과를 이용할 수 있도록 앱을 개발하게 됩니다. 이러한 개발은 지속적인 서비스로 제공되어야 합니다. 따라서 시기에 맞는 적절한 서비스 기획 및 개발로 꾸준하고 지속적인 업데이트가 중요합니다.


[그림 5] 디이프의 'iFood Gene' - 유전자 맞춤형 데이터 식품 추천 앱
(https://d-if.kr/ifood_gene/)



  • 활용 사례 #02 데이터 분석
데이터 분석은 기업이 제품 및 서비스에 대한 특정 측면은 물론 전반적인 브랜드 이미지 및 고객 경험을 개선하는 데 도움이 될 수 있습니다. 간단히 말해서, 분석된 데이터는 고객이 필요로 하는 것과 노력을 집중해야 할 부분을 알려주는 통찰력을 보여줍니다. 데이터 분석 결과는 직접적인 관찰이나 경험에 의존하는 대신 결정을 뒷받침하는 확실한 증거를 제공합니다. 이처럼 데이터 분석이 중요하다는 사실은 누구나 아는 사실이지만, 모바일 온리 시대라 불리는 요즘 시대에는 이러한 데이터 분석 또한 모바일을 이용해서 할 수 있기를 원합니다. 인실리코젠에서는 이러한 요구를 충족하기 위해서 스마트폰을 이용한 데이터 분석 프로그램을 개발하였습니다.


[그림 6] mobile analytics
(https://dribbble.com/shots/4001028-Design-Of-Data-Analysis-App)

특정 기관에서 소고기의 등급을 판정하는 방법의 개선을 찾는 도중에, 주관적인 의견이 들어가지 않고, 기계를 이용해 객관적인 판정을 내리는 방법을 모색했습니다. 소고기의 등급을 판정하기 위해서는 특정 부위의 고기를 보고 여러 지표를 통해 등급을 판정하는 방식인데, 이를 기계로 처리하기 위해서는 해당 고기를 촬영할 수 있고, 정해진 규칙에 따라 등급을 판정해야 합니다. 이때 스마트폰의 카메라 기능과 CPU, GPU를 이용하면 효율적으로 분석을 할 수 있다는 것을 알게 되었습니다.
스마트폰 카메라로 소도체를 촬영하고, Image Processing, Deep learning 기술을 이용하여 지표를 분석하는 등급 판정 애플리케이션을 개발하면서 소고기의 등급 판정을 스마트폰으로 할 수 있게 되었습니다.

[그림 7] 인실리코젠의 'Cow Scan'




마치며
이처럼 일반적인 개발 분야에서만이 아닌 다양한 분야에서 데스크톱 및 모바일용 프로그램이 많이 사용되면서 이에 따른 개발의 수요도 많아지고 있습니다. 이번 포스팅에는 생물 정보에 기반한 모바일 프로그램에 관해서 설명하면서 시대가 변해가며 고객들의 편의성을 확보하기 위한 무궁한 기술 발전이 있음을 소개했습니다.
모바일 온리 시대에서는 모든 작업을 모바일로 할 수 있는 시대를 바라보고 있으며 일명 융합 소프트웨어를 이용한 시대 구축에 힘을 쏟게 될 것입니다. 지금부터 스마트폰을 사용만 하기보다는 한발 앞서나가 개발에 관심을 가져보는 것은 어떨까요? 그리고, 꼭 IT 전문기업이 아니더라도 생물 정보 전문기업 인실리코젠처럼 4차산업혁명 시대에 유망하고 비전 있는 분야에 합류하여 기술과 산업을 이끌어간다면 보다 큰 의미를 찾을 수 있을 것입니다!


참고자료
작성 : AIDX 이채민 개발자
 

Posted by 人Co

2021/07/25 22:53 2021/07/25 22:53
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/389


최근 미국의 전기차 기업 테슬라에서 사내 CCTV가 해킹당해 회사 내부의 모습이 노출되는 사건이 있었습니다. 또 송유관 운영회사 콜로니얼 파이프라인이 랜섬웨어 공격을 받아 시스템이 마비되어 수많은 자동차가 연료를 공급받지 못해 대혼란에 빠지는 사태가 발생하기도 했습니다. 두 사건 모두 해킹으로 벌어진 일입니다.


[그림 1] CCTV 해킹으로 인해 노출된 테슬라 회사 내부
 
해킹 사고는 주로 소프트웨어(SW) 보안취약점을 공격 경로로 이용합니다. 소프트웨어 보안취약점이란 소프트웨어 개발 시 결함이 될 수 있는 논리적인 오류나 버그, 실수 등 이후 취약점으로 발생할 수 있는 근본 원인을 말합니다. 시스템에 보안취약점이 존재하고 그로 인해 정보가 노출된다면 해커는 해당 정보를 이용해 시스템을 공격하는 것입니다. 그럼 개발자는 어떻게 해커들의 공격을 방지할 수 있을까요? 이를 위해 '시큐어코딩(Secure Cording)'이 필요합니다.
 
 
 
시큐어코딩이란 무엇인가요?
 

[그림 2] 코딩 화면
 
시큐어 코딩은 해킹 등 사이버 공격의 원인인 보안취약점을 제거해 안전한 소프트웨어를 개발하는 SW 개발 기법을 말합니다. 개발자의 실수나 논리적 오류로 인해 발생할 수 있는 문제점을 사전에 차단하여 대응하고자 하는 것입니다. 정보보호가 SW 개발의 중요한 주제로 떠오르는 지금 시큐어 코딩은 선택이 아닌 필수가 되었습니다.
 
 

시큐어 코딩 가이드
 
시큐어 코딩은 개발단계에서 적용되기 때문에 개발자의 코딩 작업이 핵심 대상이 됩니다. 그러나 개발자로서 취약점을 모두 고려하는 프로그래밍이란 어려운 일입니다. 따라서 어떠한 규칙에 따라 코딩을 하면 되는지에 대한 기준이 있으면 좋을 것입니다. 그리고 실제로 국내에서는 2012년 12월부터 행정안전부에 의해 시큐어 코딩에 대한 법규가 제정, 시행되어 그 기준을 제시하고 있습니다.
 

[그림 3] 행정기관 및 공공기관 정보시스템 구축·운영 지침
(출처:행정안전부고시 제2021-3호, 2021.1.19.)

그리고 그 기준은 다음과 같이 50개의 소프트웨어 보안 약점 항목으로 구성되어 있습니다.


[그림 4] 소프트웨어 개발 보안 가이드
(행정안전부고시 제2021-3호, 2021.1.19.)
 
이번 블로그 시간에는 소프트웨어 개발 보안 가이드를 기반으로 시큐어코딩의 7가지 유형에 대해 살펴볼 것입니다. 개발 경력이 없으신 분들도 이해할 수 있도록 최대한 쉽게 설명하겠습니다. :)



1. 입력데이터 검증 및 표현
 
입력데이터 검증 및 표현이란 폼 양식의 입력란에 입력되는 데이터로 인해 발생하는 문제를 예방하기 위해 점검하는 보안 항목을 의미합니다. 쉽게 말해서 사용자가 비정상적인 데이터를 입력하여 시스템에 손상을 주거나 정보를 수정 및 탈취하지 못하도록 방지하는 것입니다. 이는 주로 SQL 인젝션(SQL Injection) 공격을 막기 위한 코딩이라고 할 수 있습니다. SQL(Structured Query Language)은 DB 관리에서 가장 중요한 핵심 요소로 실제로 저장된 데이터를 수정, 삭제, 삽입할 수 있는 기능이 있습니다. 예를 들어 은행 업무 시스템에서는 SQL을 이용해 계좌의 잔액을 조절한다고 볼 수 있는 것입니다. 이토록 중요한 SQL이 악의적인 해커 마음대로 실행될 수 있다면... 정말 치명적인 문제가 될 것입니다. 이를 방어하기 위해 사용자가 입력한 데이터를 확인해 공격 시도로 의심되는 단어를 치환하거나 차단하는 방식을 이용합니다. 이것이 바로 입력데이터 검증 및 표현의 가장 핵심요소라고 말할 수 있겠습니다.

[그림 5] 안전하지 않은 코드의 예 JDBC API
 

안전하지 않은 코드의 예로, 외부에서 받는 데이터인 'gubun'의 값을 검증 없이 사용하고 있습니다. 이 경우 gubun의 값으로 a' or 1=1 이 들어간다면 board 테이블의 전체 데이터가 조회됩니다.



[그림 6] 안전한 코드의 예 JDBC API

안전한 코드의 예로, 파라미터를 받는 PreparedStatement 객체를 상수 스트링으로 생성하고 파라미터 부분을 setString 등의 메소드로 설정해야 합니다.



2. 보안 기능
 
보안 기능이란 소프트웨어 개발 구현단계에서 코딩하는 기능인 인증, 접근제어, 기밀성, 암호화 등을 올바르게 구현하기 위한 보안 항목을 의미합니다. 주로 암호와 같이 중요한 정보를 암호화 없이 저장하거나 프로그램 내부에 하드 코딩되어 노출의 위험성이 있는 경우, 인증과 권한 관리를 부적절하게 구현할 시 발생하는 문제가 있습니다. 서두에 말씀드린 테슬라 해킹 사건이 이 항목에 해당합니다. 해커가 이중인증시스템의 취약점을 파악하고 이를 이용해 보안 체계를 우회한 것입니다. 보안 기능은 비인가 접근을 방어하고 저장된 정보를 암호화하여 취약한 기능이 존재하지 않도록 하는 것이 중요하다고 말씀드릴 수 있겠습니다.
 


3. 시간 및 상태
 
시간 및 상태는 동시 또는 거의 동시 수행을 지원하는 병렬 시스템이나 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안 약점입니다. 프로그래밍을 하다 보면 하나의 자원을 다수개의 프로세스가 사용해야 하는 경우가 생깁니다. 이때 자원 공유가 적절히 진행되지 않아 프로그램이 꼬일 수 있게 됩니다. 예를 들어, 프로세스 A는 ①파일이 존재하는지 확인하고 ②파일을 읽는 과정을 진행합니다. 프로세스 B는 파일을 삭제합니다. 만약 프로세스 A의 과정①이 진행되고 과정②가 시작되기 전 프로세스 B가 파일을 삭제해버린다면 프로세스 A가 삭제된 파일 읽기를 시도하므로 *레이스컨디션이 발생합니다. 이 밖에도 종료되지 않는 반복문이나 재귀문을 사용하여 무한루프에 빠지는 것도 시간 및 상태 점검 항목에 포함됩니다.

*레이스컨디션(Race Condition): Race Condition은 두 개 이상의 프로세스가 공용 자원을 병행적으로(concurrently) 읽거나 쓸 때, 공용 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 달라지는 상황을 말한다.


 
4. 에러 처리
 
에러 처리는 이름 그대로 에러를 처리하는 방식이 부적절하거나 누락되어 발생하는 보안 항목을 의미합니다. 종종 개발자가 디버깅의 편의성을 위해 에러 메시지를 화면에 출력하는 경우가 있습니다. 에러 메시지는 시스템과 관련된 중요 정보를 포함하는 경우가 많아 공격자의 악성 행위를 도울 수 있습니다. 또한, 오류가 발생할 상황을 적절하게 검사하지 않았거나 잘못된 처리를 한 경우도 에러 처리 항목에 포함됩니다. 에러 처리는 가능한 최소한의 정보만을 담고 있어야 하며, 광범위한 예외 처리보다는 구체적인 예외 처리를 통해 보안 공격을 사전에 방어하는 것이 중요합니다.
 

[그림 7] 안전하지 않은 코드의 예 에러처리
 
안전하지 않은 코드의 예로, try 구문에서 예상되는 예외 상황을 catch 하지만, 그 오류에 대해 추가로 아무 조치를 하지 않고 있습니다. 이런 상황이라면 사용자는 프로그램 내부에서 어떤 일이 일어났는지 전혀 알 수 없게 됩니다.

[그림 8] 안전하지 않은 코드의 예 에러처리
 
예외 catch 후 적절한 조치를 수행한 예
 


5. 코드 오류
 
코드 오류는 구현 단계에서 개발자의 실수나 지식 미달로 인한 오류를 예방하기 위한 점검 항목입니다. 주로 형(Type)변환 오류, 자원 반환, NullPointer 참조가 이에 해당합니다. 이 부분은 개발 경험이 없는 경우 이해하기가 조금 어려우실 수 있습니다. Null 값을 체크하지 않고 변수를 사용한다든가 실수로 스레드와 같은 자원을 무한하게 할당하여 시스템에 부하를 주는 경우가 있습니다. 개발자가 잘못된 코딩 습관을 들인다면 코드 오류 항목에서 번번이 보안 취약점에 걸리게 됩니다. 본인만의 보안 코딩 규칙을 만들어서 습관을 들이는 것을 추천합니다.



6. 캡슐화
 
캡슐화란 객체 지향 방법론에 중요한 개념으로 객체와 필드의 은닉을 통해 외부의 잘못된 사용을 방지하는 것을 의미합니다. 그런데 가끔 시스템의 데이터나 기능을 불충분하게 캡슐화하거나 잘못된 방법을 이용함으로써 보안 취약점으로 작용하는 경우가 있습니다. 부적절한 캡슐화는 정보은닉의 기능을 잃어버립니다. 시스템의 중요 정보가 노출되어 공격자는 이 정보를 이용해 식별 과정을 우회할 수 있습니다. 변수 제어 함수가 노출된다면 공격자는 원하는 값으로 데이터를 외부에서 수정할 수 있게 됩니다.


 
7. API 오용
 
API(Application Programming Interface)란 응용프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻합니다. 이렇게만 설명하면 명확한 개념이 잘 떠오르지 않습니다. 쉽게 말씀드리면 API는 프로그램들이 서로 소통하는 것을 도와주는 매개체 역할을 합니다. 음식점에서 주문을 받고 서빙을 해주는 웨이터에 비유할 수 있죠. 이렇듯 개발자는 편리하게 개발하고 유용한 정보를 얻기 위해 API를 활용합니다. 그러나 의도된 사용에 반하는 방법으로 API를 이용하거나, 보안에 취약한 API를 이용한다면 심각한 보안 취약점이 될 수 있습니다. 예를 들어, 만약 공격자에 의해 로컬 DNS 캐시가 오염된 상황에서 DNS만 확인한다면 공격자의 네트워크로 경유하거나 공격자의 서버를 도착지로 인식할 수도 있습니다. 이를 방지하기 위해 보안에 취약한 API 사용은 피해야 하며 DNS가 아닌 IP를 확인하는 것이 중요합니다.
 


마치며
 



지금까지 소프트웨어 개발 보안 가이드 시큐어 코딩 7가지 유형에 대해 알아보았습니다. 실제로 개발 보안 가이드를 보시면 더욱 자세한 내용을 확인하실 수 있습니다. 개발 단계뿐만 아니라 분석, 설계 단계의 보안 기법도 자세히 설명되어 있기에 꼭 한번 읽어보시는 것을 추천해 드립니다.

앞으로 디지털 트랜스포메이션과 IoT를 비롯한 SW 시장은 더욱 확대될 것입니다. 하지만 우리가 구성한 네트워크가 보안 위협의 통로가 될 수 있다는 것을 잊지 말아야 합니다. 이제 민관기관에서도 시큐어 코딩을 적극적으로 채택하고 있다고 하니, 시큐어 코딩에 대한 전문성을 길러보시는 것은 어떨까요? :) 오늘 내용이 여러분에게 많은 도움이 되셨길 바랍니다.
 


Posted by 人Co

2021/05/28 16:33 2021/05/28 16:33

교배 육종에서 디지털 육종으로



인류에게 종자는 가장 기본이 되는 일차적 요소로서 오늘날 세계 종자시장 규모는 유례없이 빠른 성장세를 보이고 있습니다.
현재 국내 관계부처에서는 농, 수, 축산 분야에서 아날로그식 교배 육종에서 디지털 육종으로 종자 산업의 패러다임 전환을 예상하고 관련 사업을 적극적으로 지원하고 있는데요, 오늘 블로그는 이러한 디지털 육종에 대해 알아보도록 하겠습니다.




오늘 점심으로는 무엇을 드셨나요? 전주 한정식에 올라온 한끼 메뉴에 영양 많은 강낭콩이 들어간 돌솥밥에 불고기, 조기구이, 호박나물, 잡채, 신선한 굴까지 26개의 반찬이 올라왔습니다. 식자재로 따져 보면 마늘, 파, 고추, 계란 등 아마도 족히 50가지는 넘을 것 같습니다. 우리는 이런 식자재를 마트나 새벽 배송을 통해서 언제나 쉽게 구할 수 있죠. 어떻게 가능했을까요? 너무 쉬운 일이라 고민해볼 여지도 없는 것이겠지만, 이것은 모두 육종 덕분입니다. 곡류를 비롯한 채소류, 육류(소, 돼지, 닭 등), 수산물(넙치, 전복, 고등어)까지 모두 육종을 통해 농장과 양식장에서 생산성 높게 길러지고 있음을 우리는 잘 알고 있습니다.
[Fig. 1] 전주한정식
 
단적인 예로 쌀의 경우 여리고 키가 크며 붉은색 쌀알이던 야생벼에서 현재의 튼실하고 흰 쌀알로 육종되었으며, 콩도 땅에 기어 자라던 야생종에서 현재의 위로 자라는 종으로 육종되어 생산성이 매우 높아지게 되었습니다. 이렇듯 오랜 세월 우리 주변의 동·식물을 우리가 선호하는 형태로 변화시킨 육종은 오늘날 점점 더 가속화, 세분화되고 있습니다. 닭의 경우만 보더라도 계란을 얻으려는 목적의 알을 잘 낳는 닭과 닭고기를 얻으려는 목적의 빠른 성장과 근육이 많은 닭으로 각각 세분화하여 목적에 부합하는 형태로 육종되었습니다.
 
[Fig. 2] 재배벼의 조상인 여러 가지 야생벼와 재배벼
 
[Fig. 3] 야생콩과 재배콩 (출처 Jeong-et-al., 2013)
 
 

 
그럼 육종 방법에 대해 좀 더 자세히 알아보겠습니다.
  • 도입 육종 : 기후나 풍토가 유사한 다른 나라에서 개발된 품종을 국내로 도입하여 검역과 검정평가를 통해 증식시키는 육종으로, 1959년 미국에서 도입한 옥수수가 대표적입니다.
  • 교배 육종 : 서로 다른 우수한 형질을 갖는 개체들을 교배하여 한 개체에서 우수한 형질 모두를 가질 수 있도록 하는 것으로, 대부분의 전통 육종방식이 이에 해당합니다. 육종가들에 의해 수년 동안 반복적인 교배와 표현형에 의한 개체 선발 과정이 수반되는 터라 시간적, 공간적, 비용면에서 효율성이 낮다는 단점이 있습니다.
  • 형질 전환 육종 : 유전자 재조합 방식을 이용해 관심 형질 유전자를 유전체에 도입하는 방식으로 기존의 생명체에서 없던 형질을 갖도록 종을 개량합니다. 흔히 GMO(Genetically Modified Organism)와 LMO(Living Modified Organism)를 들 수 있는데(유전자 재조합을 통해 변형된 생물체를 LMO로 한정하고 이들 생명체를 제조, 가공한 것까지 포함한 것을 GMO로 함), 제초제 내성을 갖는 콩이나 냉해에 강한 딸기, 옥수수 등이 이에 해당합니다. 인류가 섭취해온 이력이 없는 단백질을 포함하고 있어 알레르기 반응을 포함한 알려지지 않은 문제의 가능성 때문에 심리적으로 불편함을 느끼는 이슈가 있습니다.
  • 디지털 육종 : 유전형-표현형에 기반을 둔 선발 육종 방식으로 다양한 표현형을 갖는 집단에서 특정 형질(표현형)을 갖는 개체들만을 유전형을 이용하여 선발하는 방식입니다. 최근 6~8년 걸리던 호박의 새 품종 개발을 3년 이하로 줄일 수 있었던 첨단 육종 기술입니다.


이렇게 간단히 살펴본 육종 기술 가운데, 현재 가장 발전된 기술은 디지털 육종이라 불리는 유전형 기반의 육종입니다.
NGS (Next generation sequencing)라는 대용량 시퀀싱 기술로 유전체 서열을 밝히고, 표현형이 다양한 개체들의 변이 정보를 생산함으로써 표현형과 연관된 유전형을 찾아 마커로 개발하는 방식은 기존의 다른 육종 기술의 단점들을 대부분 보완하고 있습니다.
가장 전통적으로 진행해 오던 교배 육종은 교배된 F1 세대부터 다수의 개체를 키워가며 목표 표현형에 부합되지 않는 개체들을 솎아내며 몇 세대가 될지 모를 목표 형질에 다다를 때까지 교배와 솎아냄을 반복합니다. 그러다 보니 시간적으로나 물리적으로 필요한 재배 환경까지 비용면에서 효율성이 낮았습니다. 게다가 전복과 같이 3년은 키워야 비로소 교배가 가능한 종일 경우, 소처럼 다음 세대의 개체수가 극히 적은 경우 (1마리의 새끼만을 낳는 경우), 과실수와 같이 한세대가 너무 길어 표현형을 확인하는 데 몇 년씩 걸리는 경우들은 교배 육종으로는 한계가 있습니다. 그에 반해 디지털 육종은 현재 관찰 가능한 개체들을 대상으로 선발하기 때문에 공간적, 시간적 제약에서 비교적 자유롭습니다.
형질 전환 육종에서의 이슈는 생명 현상의 대부분이 여러 유전자의 복합적인 상호작용으로 이뤄지기 때문에 유전자 하나를 도입한다고 해서 해당 형질이 바로 얻어지지 않는 단점이 있습니다. 도입된 유전자가 발현되어 단백질이 되었을 때 세포 내의 다른 단백질과 혹은 다른 유전자들과 어떤 상호 작용을 하느냐에 따라 표현형은 다르게 나타날 수 있기 때문입니다. 따라서 목표 유전자를 선택하고 제어하는데 생물학적 메커니즘의 이해가 수반되어야 하는 어려움이 있습니다. 그러나 디지털 육종은 자연적으로 생겨난 개체들 가운데 목표 형질을 갖는 개체를 선발하는 방식이라 유전자 재조합에 대한 불편함 및 생물학적 메커니즘 이해가 필요하지 않습니다.




그럼 디지털 육종에 대한 보다 정확한 이론을 살펴보겠습니다.
디지털 육종에는 필수 요소 3가지가 있습니다. 개체 (샘플), 표현형, 유전형이 그것인데, 모두 앞선 기술들에 비해 수집하는 데 유리합니다.
먼저 개체 확보 면에서 디지털 육종은 현재 관찰이 가능한 모든 개체를 대상으로 합니다. 야생종부터 돌연변이 종까지 제한이 없으며, 동일한 생장 조건이 필요하지도 않습니다. 예를 들어 밤나무의 경우 전국의 수집 가능한 모든 밤나무가 대상이 될 수 있습니다. 나무의 연령이 모두 달라도 괜찮습니다. 호박과 같은 채소류의 경우 일부러 교배를 통해 다양한 개체를 얻었다면 그 또한 모두 가능합니다.

두 번째, 표현형 정보는 현재 확보된 개체들에서 관찰되는 모든 것을 대상으로 할 수 있습니다. 밤나무의 경우 알곡의 크기, 밤나무가 위치한 지역, 수확 시기, 나무의 크기, 한 가지에 달리는 밤송이의 수, 나무의 연령 (가능하다면) 등 현재 시점에서 관찰할 수 있는 모든 것이 표현형으로 정리될 수 있습니다. 이를 좀 더 효율적으로 수집하고자 하는 기술이 Edging computing을 이용한 디지털화된 장비를 이용한 표현형 수집입니다. 온실에 카메라를 설치하고 주기적으로 사진을 촬영하여 호박의 성장 정보를 영상 분석을 통해 처리하는 AI 기술이 접목된 스마트 팜이 이에 해당합니다.

마지막인 세 번째 유전형 생산은, NGS 기술과 생물정보의 발달로 누구나 쉽게 얻을 수 있게 되었습니다. 심지어 오늘 드신 모든 식재료의 유전체가 밝혀져 있다는 사실만 보아도 얼마나 보편화된 기술인지 알 수 있습니다. 이들 3요소가 모두 데이터로 갖춰졌다면 총 4단계의 생물정보 분석을 통해 육종이 이뤄집니다.


[Fig. 4] 육종을 위한 4단계의 생물정보 분석
  • [1단계] 표현형과 연관된 변이 마커 찾기 : GWAS(Genome Wide Association Study)라 불리는 일종의 통계 분석으로 특정 표현형으로 집단을 구분한 후에 구분된 집단과 연관성이 높은 변이를 찾아내는 방법입니다. 이때, 표현형은 꼭 두 개의 집단으로 양분되는 구조가 아니어도 됩니다. 밤 알곡의 크기는 정량적인 수치로 크기에 따라 동일한 패턴으로 유전형이 나타난다면, 해당 변이는 알곡 크기에 연관된 마커로 선택될 수 있습니다. 병 저항성의 경우에도 잎의 60%가 마르는 데 걸리는 시간으로 표현형을 정량화할 수 있습니다.
  • [2단계] 기계학습 : 표현형에 따른 집단의 구분력을 보이는 변이만을 유전형 데이터로 활용하여 표현형-유전형 기계학습을 수행합니다. 이때, 수집된 개체의 75% 정도를 학습 데이터로 활용하고, 나머지 25%는 학습된 기계학습의 정확도 평가를 위해 사용합니다. 밤 알곡의 크기를 예측하기 위한 기계학습을 예로 들면, 1단계에서 선별된 변이 마커가 30개라면, 개체별 30개의 유전형 정보에 따라 측정된 알곡의 크기를 표현형 정보로 학습되도록 합니다. 이후 구축된 예측모델을 이용해 남겨 두었던 25% 개체의 유전형 정보를 넣고 해당 표현형이 예측될 가능성이 얼마나 될지 확률치를 얻게 됩니다. 기계 학습의 평가는 True Positive (정답을 정답으로 예측), False Negative (오답을 오답으로 예측)로 계산되는 Specificity와 Sensitivity로 정리됩니다. 만약 결과가 만족스럽지 못하다면, 기계학습 알고리즘을 변경해 보거나 학습 데이터를 변경해야 합니다. 학습에 이용되는 30개 마커의 유전형 정보는 개체별로 모두 다를 수 있습니다. 이는 마커 개개의 정보력이 약하기 때문인데, 다수의 개체에서 기계학습을 통한 반복적인 학습을 통해 조금씩 다른 유전형임에도 동일한 표현형으로 학습시켜 정확도를 높일 수 있습니다. 또한, 마커 개별의 정보력이 약한 것은 오히려 한두 개의 변이 정보가 소실된다 할지라도 기계학습의 표현형 예측에는 큰 변수가 되지 않아, 기존의 SSR과 같은 분자 마커를 활용한 육종보다 한 단계 진보한 기술이라 할 수 있습니다.
  • [3단계] 확장된 검증 : 구축된 기계학습모델로 더 많은 개체에 적용해 봅니다. 해당 표현형을 예측하는 데 사용되는 마커는 1단계에서 30개로 선별되었고, 이후 미지의 시료에 대해 30개 마커 유전형만을 타입핑하여 표현형을 예측합니다. 이는 여러 출처의 개체로 검증해보는 것이 좋습니다.
  • [4단계] 교배효율 검사 : 기계학습모델 검증이 완료되었다면 최적의 교배 지침을 위한 F1 세대의 표현형 예측 시뮬레이션을 진행합니다. 부·모가 될 개체의 유전형을 기반으로 F1 세대에서 나타날 수 있는 유전형을 무작위 방식 구성합니다. 이때 F1 세대의 개체수는 2,000개체 이상, 유전형은 해당 표현형을 예측하는 마커 수, 앞선 예로 들자면 30개 유전형을 인실리코상에서 데이터로 생산합니다. 이후 2,000 개체의 유전형을 이용해 구축된 기계학습으로 표현형을 예측하여 F1 세대에서 해당 표현형을 가질수 있는 평균 개체수가 어느 정도 되는지 수치화합니다. 이러한 방식으로 F1 세대에서 해당 표현형을 가질 수 있는 개체수가 많은 순서로 교배 조합을 시뮬레이션합니다. 어패류의 경우 교배를 위해 다수의 친어를 수조에 넣어 진행하고, 체외 수정을 하는 종이기 때문에 이러한 교배효율 시뮬레이션은 다음 세대의 육종 효율을 높이는 데 매우 중요합니다.



최근 종자의 중요성이 대두되면서, 육종에 대한 한 차원 발전된 기술의 적용이 범국가적으로 진행되고 있습니다. 디지털 육종이라 불리는 신기술은 이제 표현형-유전형으로 대두되는 데이터 육종으로 진화해 가고 있습니다. 따라서 비록 지금은 정보력이 낮은 표현형 하나하나도 모두 데이터화 하려는 노력이 필요합니다. 육종은 살아있는 생명체에 행해지는 것입니다. 우리가 먹지 않는 사료로 이용되는 옥수수라 할지라도 유전적 변형이 행해지게 되면, 생태에 변화를 초래할 수 있어 매우 조심스럽게 접근해야 하는 분야입니다. 그런 면에서 데이터 육종은 자연스레 발생된 개체들 가운데 유전형을 이용한 선발 방식이라 안정적입니다. 안전하게 자연의 일부로 존재하는 육종을 위해 데이터 육종은 앞으로 더욱 데이터를 쌓아 가야할 것입니다.

작성 : RDC 신윤희 책임 연구원

Posted by 人Co

2021/01/31 00:37 2021/01/31 00:37
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/370

COVID-19 백신에 대하여



2020년은 코로나의 해라고 말해도 과언이 아닌데요. 코로나19 신규 확진자 추이 그래프만 봐도 아직도 무서운 속도로 증가하는 추세를 볼 수 있습니다.

모두가 코로나 사태가 끝나길 바라는 간절한 마음으로 궁금해하는 것들이 있죠.
언제 이 길고 긴 싸움이 끝이 날까요? 백신 개발은 언제 완료되는 것일까요?
또, 백신 개발은 왜 어려운 걸까요? 그럼 지금부터 하나씩 짚어보도록 하겠습니다.





[Fig.1] 코로나19 신규 확진자 추이


사람에게 질병을 일으키는 수많은 바이러스 중 인류가 박멸한 바이러스는 천연두가 유일하다고 합니다. 이렇게 다양하고 복잡한 바이러스들로부터 우리의 몸을 보호하기 위해 예방접종을 하는데요. 요즘은 예방접종 보다 백신이라는 단어가 더 익숙할 것입니다. 백신을 맞아야 한다는 것은 알고 있지만, 백신이 어떻게 바이러스로부터 우리를 지켜주는지, 또는 다양한 회사들에서 현재 개발되고 있는 백신들이 어떻게 다른지는 관심 있게 찾아보지 않으면 알기 쉽지 않은 내용입니다.

백신! 실제 감염이 됐을 때 재빠르고 강하게 우리 몸의 면역반응을 유도하여 질병을 방어 할 수 있도록 예방의 목적으로 맞는 것입니다. 즉, 백신의 원리는 경험과 기억이라고 말할 수 있습니다. 백신을 맞으면 우리 몸의 면역체계가 활성화 되면서 해당 바이러스에 대해 모의 경험을 하게 되고, 이 경험을 기억하였다가 실제 감염됐을 때 본격적인 면역활성화를 유도하여 질병에 저항할 수 있게 합니다.





[Fig.2] 코로나19 증상 순서


[Fig.3] 스파이크 단백질과 중화항체
(https://www.youtube.com/watch?v=RtIijJd-JC8)

코로나바이러스에는 세포의 문을 여는 열쇠와 같은 스파이크 단백질(Spike protein)이 존재합니다. 스파이크 단백질은 살아있는 세포 표면의 수용체와 결합하여 세포에 침투하게 되고 우리 몸의 시스템을 이용하여 바이러스 자신을 복제하게 됩니다. 즉, 이 스파이크 단백질이 수용체 단백질과 결합하게 되면 바이러스는 체내로 들어오게 됩니다. 따라서 이 스파이크 단백질을 없애는 것이 감염을 피하는 중요한 요소이고, 백신 개발도 이 부분에 집중하고 있습니다. 즉, 수용체 대신 스파이크 단백과 결합하여 중화시키는 체내 중화항체를 유도하는 백신이 개발되고 있습니다. 그림에서 보시는 것과 같이 바이러스 표면의 보라색 뾰족한 것이 스파이크 단백질이고, 형광으로 표시된 것이 중화항체입니다.

  • 스파이크 단백질: 바이러스 외피에서 바깥으로 돌출된 단백질




현재 코로나바이러스가 예상치 못하게 전 세계적으로 확산세가 지속하면서 화이자, 모더나, 아스트라제네카 등 다양한 제약회사에서 백신을 개발 중입니다.

  1. 바이러스 벡터 백신(virus-vector vaccines) 바이러스 항원 유전자를 다른 안전한 바이러스에 넣어 투여하는 방식으로, 인체에 해를 끼치지 않는 바이러스를 운반체(벡터)로 이용하는 백신
  2. 사백신 또는 불활성화 백신 (Inactivated vaccine) 병원체를 열 또는 포르말린 등으로 처리해 활성을 없앤 후 병원체 전체 또는 일부를 추출하여 항원으로 사용하는 방식으로, 바이러스 독성을 없애기 때문에 안전하지만, 스파이크 단백질이 변형될 수 있는 단점을 가진 백신
  3. DNA 백신 바이러스 항원을 발현할 수 있는 DNA를 투여하는 방법으로, 미리 개발해둔 범용 백신 플랫폼에 바이러스의 특정 유전자를 집어넣어 사용하는 백신
  4. RNA 백신 바이러스 항원 유전자를 RNA 형태로 투여하는 방식을 가진 백신
  5. 재조합 단백질 백신 (protein-based vaccines) 바이러스의 특정 단백질 조각을 항원으로 사용하는 백신으로, 대장균이나 효모에서 유전자 재조합 기술로 인공적인 항원 단백질을 만들어 투여하는 백신. 상대적으로 안전하지만, 면역 활성화 효과가 떨어질 수 있음. B형 간염 백신이 대표적
  6. 바이러스 유사 입자 백신 (virus-like particles; VLP) 바이러스 항원 단백질을 실제 바이러스와 유사한 입자 모양으로 만든 가짜 바이러스를 만들어서 사용하는 백신. 자궁경부암 백신이 대표적





RNA, DNA 백신과 같은 기술 덕분에 평균 5-10년 정도 소요되던 백신의 개발 기간이 1년으로 단축되었다고 합니다. 하지만 아직 상용화된 전례가 없어서 대량 생산이나 유통 면에서 현실적인 장벽이 많다고 합니다. 개발 기간이 이렇게 짧을 수 있었던 이유는, 전통적인 백신인 불활성화 백신이나 단백질 기반 백신들은 단백질을 생산하는 생물 공정 배양기가 필요하여 생성이 어려웠기 때문입니다. 하지만 RNA나 DNA는 인공적으로 실험실 내에서 쉽게 증폭할 수 있으므로 큰 배양기 없이 빠른 생산이 가능합니다. 하지만 -70℃에서 -20℃ 정도의 굉장히 낮은 온도에서 보관하고 유통되어야 한다는 단점이 있습니다. 제약업체에서 콜드체인을 통해 유통을 진행하는 이유가 이 때문입니다.

  • 콜드체인: 냉동이나 냉장을 통해서 유통하는 방식




여기서 mRNA 백신에 대하여 조금 더 알아보도록 하겠습니다. mRNA는 세포가 살아가는 데 중요한 역할을 담당하는 유전물질인 리보핵산(RNA) 중 하나입니다. mRNA는 DNA 안에 저장된 인체 유전자 정보가 단백질이란 형태로 발현되는 과정에서 정보를 전달하는 역할을 합니다. mRNA 백신을 만들기 위해서는 바이러스의 유전물질 중에서 감염에 큰 역할을 하는 항원 생산을 담당하는 유전자가 무엇인지를 먼저 파악해야 합니다. 그래야만 적절한 항체 형성을 유도하여 감염을 예방할 수 있기 때문입니다. 백신 제조사는 이와 같은 주요 유전자로부터 mRNA를 만들고 백신에 활용하는 것입니다. 일반적으로 바이러스의 단백질, 즉 외부 항원이 인체에 들어오게 되면 몸에서는 면역반응이 일어나 결과적으로 바이러스에 대항하는 항체가 형성됩니다. mRNA 백신은 기존 사백신이나 생백신처럼 바이러스 단백질 대신에, 말 그대로 mRNA 성분을 주사합니다. mRNA 백신을 주사하게 되면 체내에서는 바이러스 단백질 항원이 만들어지고, 해당 단백질에 대해 인체 면역체계가 항체를 형성할 수 있도록 유도하는 과정을 거치게 되는 것입니다. 기존 백신들이 단백질 원료 성분을 배양하는 등의 긴 절차를 거쳐야 했던 반면, mRNA 백신 기술을 활용하면 단백질 성분을 배양하는 과정이 생략되게 되는 겁니다. 무엇보다 전문가들은 기존 백신과 달리 생산과정이 빠르고, 저렴하게 생산할 수 있다는 점에서 mRNA 백신을 높이 평가합니다. 과거 백신 개발에만 10~15년 정도가 걸렸다는 점을 고려해보면, 빠른 생산이 가능한 mRNA 백신 기술의 발전은 환자 관리가 급박한 코로나19 팬데믹 상황에서 큰 힘을 보여줄 것으로 기대됩니다.





현재 화이자와 모더나가 개발한 mRNA 백신 후보는 코로나19 바이러스의 스파이크 단백질을 만드는 mRNA를 바탕으로 개발됐습니다. mRNA만 주입하게 되면 체내에 들어가서 금방 파괴될 수 있으므로, 세포 내에서 필요로 하는 단백질이 만들어질 때까지 유효성분이 파괴되지 않도록 포장하는 전략이 필요합니다. 두 회사 모두 mRNA에 당 성분을 결합시키고, 세포막과 같은 지질 성분으로 이를 감싸 나노 크기 수준의 지질 입자 형태로 체내에 주입하는 것은 공통적입니다. 아직 구체적인 논문이 발표되지 않아 상세한 비교는 어렵겠지만, 전문가들은 화이자와 모더나의 백신은 일단 mRNA 변형 방법, 나노 입자 크기를 만드는 지질 성분 구조, 혹은 1회 주사하는 mRNA 양에 차이가 있을 것으로 보고 있습니다.





모더나가 개발 중인 백신 후보 'mRNA-1273'을 보면, -20℃에서는 최대 6개월, 2~8℃에 해당하는 냉장상태에서는 최대 30일, 냉장고에서 꺼낸 뒤에도 실온 상태에서 최대 12시간 동안 안정적으로 유지된다고 합니다. 이에 비해 화이자와 독일 바이오기업인 바이온엔테크(BioNTech)가 개발한 백신 후보인 'BNT 162b2'는 -70℃에서 유통과 보관이 이루어져야 합니다. 모더나의 백신이 강조한 영하 20도에서의 유통 보관방법은 표준 냉동고 온도를 사용하는 방식인데, 이는 급속 냉동보다 훨씬 접근성이 쉬운 유통 보관 방식입니다. 전 세계 대부분의 제약 유통회사들이 -20℃에서 제품을 보관하고 유통 배송할 수 있기 때문입니다. 화이자 백신 후보는 1회 주사에 mRNA를 30μg, 모더나 백신은 100μg 주입하게 되는데, 이러한 주입되는 mRNA 양의 차이나 나노입자 구조 차이 등으로 인해 유통 보관 온도에 차이가 나타난다고 합니다.





왜 이제서야 mRNA 백신이 나오는지 궁금해하실 수도 있습니다. 1990년대부터 과학자들은 생쥐 실험을 통해 세포에 RNA를 주입하면 면역반응을 유도할 수 있는 단백질이 생산된다는 것을 알아냈습니다. 이론적으로는 감염병을 일으키는 바이러스의 유전정보만 알면 바로 그에 맞는 mRNA를 합성해 인체에서 면역반응을 유도할 수 있습니다. 그런데 RNA 백신은 몸 안에서 단백질을 많이 만들어내지 못하고, 잘못하면 단백질을 만들기 전에 쉽게 분해된다는 단점이 있습니다. 이런 문제는 최근에서야 RNA 합성과 변형 기술이 발전하면서 많이 해결됐습니다. 특히 지방 나노 입자로 mRNA를 감싸는 기술이 개발된 덕분에 mRNA가 체내에서 오래 유지될 수 있게 된 점도 mRNA 백신의 탄생을 이끈 주요 요인입니다. 그런데도 mRNA는 여전히 불안정한 물질이어서, 이번 화이자 백신 같은 경우에는 -70℃에서 보관해야 합니다. 화이자와 모더나가 다른 제약회사에 비해 빠르게 코로나19 백신을 개발할 수 있었던 데는, 기존에 암이나 광견병 등의 백신을 mRNA로 개발해서 임상을 진행한 경험이 있는 회사들이기 때문이라고 합니다.





3상 임상에서 90% 이상의 효과를 얻었다 해도 항체 유지 기간이 너무 짧으면 백신의 효능이 상당히 떨어질 수밖에 없다는 점과 코로나19 바이러스 감염에 특히 취약한 노약자 등에서도 같은 효과를 기대할 수 있는지 절대적인 데이터가 아직 부족하다는 평가가 있습니다. 백신 접종 인원에서의 중증 부작용 발생 위험 등도 추가로 검증해봐야 할 문제로 남겨졌습니다.






[Fig.6] 3차원 형태의 단백질 구조

전 세계 제약사들에게 코로나19 백신뿐만 아니라 치료제 개발 또한 중요한 과제로 남아있습니다. 치료제에는 크게 항체치료제와 혈장치료제가 개발되고 있습니다. 항체치료제와 혈장치료제 모두 바이러스 표면 스파이크 단백질을 표적으로 한 항체를 이용한다는 점에서 원리는 같습니다. 항체치료제는 스파이크 단백질을 표적으로 한 단클론항체를 인공적으로 합성해 만드는 반면 혈장치료제는 완치자의 혈장에 존재하는 항체들을 농축해 투여하는 방식이라는 차이가 있습니다. 화학적 치료제에 비해 부작용의 가능성이 작고 예방 용도로도 사용 가능해 개발이 활발하게 진행 중입니다. 치료제 개발에 모든 제약사가 힘쓰는 가운데 AI 또한 치료제 개발에 크게 이바지하고 있다고 합니다. AI는 어떻게 치료제에 도움을 줄 수 있을까요?
 
구글의 인공지능(AI) 자회사인 딥마인드는 단백질 구조를 파악하는 AI인 알파폴드가 AI들의 단백질 구조 예측 능력을 평가하는 대회인 CASP에서 유전정보만으로 과학자들이 실험으로 사전에 밝혀낸 단백질 구조와 90% 이상 일치하는 결과를 얻었다고 합니다. 조금 더 자세히 살펴보면 과거 실험을 통해 확인된 단백질의 3차원 구조정보와 DNA 유전 정보를 알파폴드에게 학습시켜 수차례 수많은 정보를 반복 학습시키는 딥러닝을 통해 알파폴드는 아미노산 서열 정보와 단백질 입체 구조 간의 연관관계를 스스로 익혀나가는 원리입니다. 이러한 단백질 구조 예측 기술은 특히 신약 개발에 유용하게 사용됩니다. 예를 들어 단백질 구조 예측 기술을 통해 코로나19 바이러스의 스파이크 단백질 구조를 예측해서 스파이크가 인체 세포에 달라붙지 못하게 이 돌기를 감쌀 수 있는 단백질을 디자인하는 식으로 신약을 개발하는 것입니다. 특히 단백질 구조 예측에서 비용과 시간이 크게 절약되면 코로나19를 비롯한 감염병에 신속한 대응이 가능해질 전망이라고 합니다. ㈜인실리코젠 또한 "AI drives Bioinformatics"이라는 슬로건 아래 새롭게 펼쳐질 미래를 준비하고 있습니다. 이렇게 주변의 곳곳에서 AI가 우리들의 삶 깊숙한 곳까지 함께하고 있는데요, 앞으로도 AI의 활용이 기대됩니다.


 


전 세계적으로 코로나19 라는 팬데믹으로 평범한 일상조차 누리지 못하고 있는 상황이 오랜 시간 동안 계속되고 있습니다. 이러한 상황 속에서 소중한 친구와 가족들을 마음 편히 만나지 못하고 있지만, "위기를 기회로"라는 말이 있듯이 이번 코로나19 사태라는 위기가 RNA 백신 개발 기술을 고도화할 기회가 될 수 있길 바라봅니다. 일상의 소중함을 알아가고 나 자신과 주변을 되돌아보고 살필 수 있는 시간이 되었으면 좋겠으며, 백신에 대한 여러분들의 궁금증에 도움이 되었길 바라며 이 글을 마칩니다.
감사합니다.





작성 : RDC 손효정 연구원

Posted by 人Co

2020/12/19 23:34 2020/12/19 23:34
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/367



4차 산업의 핵심 기술인 빅데이터(Big Data)는 인공지능(AI), 사물인터넷(IoT), 증강현실(AR), 가상현실(VR) 등과 함께 필수적인 요소로 평가받고 있습니다. 이러한 빅데이터를 이용하여 크고 복잡한 현상에서 의미 있는 패턴을 찾고, 의사 결정에 필요한 통찰을 얻는 데이터 분석이 중요해지고 있습니다. 데이터 분석에는 크게 두 가지의 접근방법이 있습니다.

먼저 확증적 데이터 분석(CDA: Confirmatory Data Analysis)은 가설을 설정한 후, 수집한 데이터로 가설을 평가하고 추정하는 전통적인 분석입니다. 관측된 형태나 효과의 재현성 평가, 유의성 검정, 신뢰구간 추정 등의 통계적 추론을 하는 분석 방법으로 설문조사나 논문에 관한 내용을 입증하는 데 사용됩니다.

두 번쨰로 탐색적 데이터 분석(EDA: Exploratory Data Analysis)은 원 데이터(Raw data)를 가지고 유연하게 데이터를 탐색하고, 데이터의 특징과 구조로부터 얻은 정보를 바탕으로 통계모형을 만드는 분석방법입니다. 주로 빅데이터 분석에 사용됩니다. 확증적 데이터 분석은 *추론통계로, 탐색적 데이터 분석은 *기술통계로 나누어 볼 수 있습니다.

[Fig.1] 확증적 데이터 분석(CDA)과 탐색적 데이터 분석(EDA)

오늘은 이 중에서 탐색적 데이터 분석에 관하여 이야기해 보고자 합니다.

  • 추론통계 – 수집한 데이터를 이용하여 추론 예측하는 통계 기법으로 신뢰구간 추정, 유의성 검정 기법 등을 이용함
  • 기술통계 – 수집한 데이터를 요약 묘사 설명하는 통계 기법으로 데이터의 대푯값, 분포 등을 이용함




“ '탐색적 데이터 분석(EDA)’은 우리가 존재한다고 믿는 것들은 물론이고 존재하지 않는다고 믿는 것들을 발견하려는 태도, 유연성, 그리고 자발성이다. “ - 존 튜키 (도서 Doing Data Science 중)

탐색적 데이터 분석이란 벨 연구소의 수학자 존 튜키가 제안한 데이터 분석 방법으로 통계적 가설 검정 등에 의존한 기존 통계학으로는 새롭게 나오는 많은 양의 데이터의 핵심 의미를 파악하는 데 어려움이 있다고 생각하여 이를 보완한 탐색적 데이터 분석을 도입했다고 합니다. 데이터를 분석하고 결과를 내는 과정에서 원 데이터에 대한 탐색과 이해를 기본으로 가지는 것이 가장 중요합니다. 이에 따라 탐색적 데이터 분석은 데이터의 분포와 값을 다양한 각도에서 관찰하며 데이터가 표현하는 현상을 더 잘 이해할 수 있도록 도와주고 데이터를 다양한 기준에서 살펴보는 과정을 통해 문제 정의 단계에서 미처 발견하지 못한 다양한 패턴을 발견하고 이를 바탕으로 기존의 가설을 수정하거나 새로운 가설을 추가할 수 있도록 합니다. 데이터에 대한 관찰과 지식이 이후에 통계적 추론이나 예측 모델 구축 시에도 사용되므로 데이터 분석 단계 중 중요한 단계라고 할 수 있습니다. EDA의 목표는 관측된 현상의 원인에 대한 가설을 제시하고, 적절한 통계 도구 및 기법의 선택을 위한 가이드가 되며, 통계 분석의 기초가 될 가정을 평가하고 추가 자료수집을 위한 기반을 제공합니다.



탐색적 데이터 분석은 한 번에 완벽한 결론에 도달하는 것이 아니라 아래와 같은 방법을 반복하여 데이터를 이해하고 탐구하는 과정입니다.

  • (1) 데이터에 대한 질문 & 문제 만들기
    (2) 데이터를 시각화하고, 변환하고, 모델링하여 그 질문 & 문제에 대한 답을 찾아보기
    (3) 찾는 과정에서 배운 것들을 토대로 다시 질문을 다듬고 또 다른 질문 & 문제 만들기

이러한 과정을 기반으로 데이터에서 흥미 있는 패턴이 발견될 때까지, 더 찾는 것이 불가능하다고 판단될 때까지 도표, 그래프 등의 시각화, 요약 통계를 이용하여 전체적인 데이터를 살펴보고 개별 속성의 값을 관찰합니다. 데이터에서 발견되는 이상치를 찾아내 전체 데이터 패턴에 끼치는 영향을 관찰하고, 속성 간의 관계에서 패턴을 발견합니다.

1. 전체적인 데이터 살펴보기

데이터 항목의 개수, 속성 목록, NAN 값, 각 속성이 가지는 데이터형 등을 확인하고, 데이터 가공 과정에서 데이터의 오류나 누락이 없는지 데이터의 head와 tail을 확인합니다. 또한, 데이터를 구성하는 각 속성값이 예측한 범위와 분포를 갖는지 확인합니다.

2. 이상치(Outlier) 분석

먼저 앞서 실습했던 방법으로 개별 데이터를 관찰하여 전체적인 추세와 특이사항을 관찰합니다. 데이터가 많다고 특정 부분만 보게 되면 이상치가 다른 부분에서 나타날 수도 있으므로 앞, 뒤, 무작위로 표본을 추출해서 관찰해야 합니다. 이상치들은 작은 크기의 표본에서는 나타나지 않을 수도 있습니다. 두 번째로는 적절한 요약 통계 지표를 사용합니다. 데이터의 중심을 알기 위해서는 평균, 중앙값, 최빈값을 사용하고, 데이터의 분산도를 알기 위해서는 범위, 분산 등을 이용합니다. 통계 지표를 이용할 때에는 평균과 중앙값의 차이처럼 데이터의 특성에 주의해서 이용해야 합니다. 세 번째로는 시각화를 활용합니다. 시각화를 통해 데이터의 개별 속성에 어떤 통계 지표가 적절한지를 결정합니다. 시각화 방법에는 Histogram, Scatterplot, Boxplot, 시계열 차트 등이 있습니다. 이외에도 기계학습의 K-means 기법, Static based detection, Deviation based method, Distance based Detection 기법을 이용하여 이상치를 발견할 수 있습니다.

3. 속성 간의 관계 분석

속성 간의 관계 분석을 통해 서로 의미 있는 상관관계를 갖는 속성의 조합을 찾아냅니다. 분석에 대상이 되는 속성의 종류에 따라서 분석 방법도 달라져야 합니다. 변수 속성의 종류는 다음과 같습니다.

[Fig.2] 데이터의 종류

먼저 이산형 변수- 이산형 변수의 경우 상관계수를 통해 두 속성 간의 연관성을 나타냅니다. Heatmap이나 Scatterplot을 이용하여 시각화할 수 있습니다. 다음으로 이산형 변수 - 범주형 변수는 카테고리별 통계치를 범주형으로 나누어서 관찰할 수 있고, Box plot, PCA plot 등으로 시각화할 수 있습니다. 마지막으로 범주형 변수- 범주형 변수의 경우에는 각 속성값의 쌍에 해당하는 값의 개수, 분포를 관찰할 수 있고 Piechart, Mosaicplot 등을 이용하여 시각화할 수 있습니다.


사례를 통해 살펴보겠습니다. jupyter notebook 환경 안에서 pandas를 이용하여 진행하였습니다. 분석에 사용한 데이터는 iris data입니다

iris (붓꽃) data는 통계학자인 Fisher가 공개한 데이터로 iris의 3가지 종(setosa, versicolor, virginica)에 대해 꽃받침과 꽃잎의 넓이와 길이를 정리한 데이터입니다. 종별로 50개씩 150개체의 데이터가 있으며 기계학습 중 분류(Classification)에 적합한 데이터입니다. 데이터의 크기가 작고 이해가 쉬운 데이터이고 R이나 Python 머신러닝 패키지인 Scikit-learn 에서 쉽게 접근할 수 있는 데이터이기에 해당 데이터로 분석을 진행해 보았습니다.

1. 데이터 읽어오기

df.to_csv('iris_dataset.csv', index=False)

 

2. 전체적인 데이터 살펴보기

shape, dtype 함수를 통해 데이터 항목의 개수와 type을 알아보겠습니다.

print(df.shape) # 데이터의 행, 열 개수 출력
print(df.dtypes) # 데이터의 타입 출력



[Fig.3] iris 데이터 항목의 갯수, 형식 출력
 

head, tail 함수를 이용해서 앞 5행, 뒤 5행의 데이터를 살펴보도록 하겠습니다.

df.head() # 앞 5행 출력
df.tail() # 뒤 5행 출력


[Fig.4] iris 데이터 head 출력



[Fig.5] iris 데이터 tail 출력
 
duplicate와 drop_duplicate 함수를 이용하여 중복값을 확인하고 삭제해 보겠습니다.
 
df[df.duplicated(keep=False)] # 중복된 열 출력
df = df.drop_duplicates() # 중복된 열 제거
df.shape() #제거된 열 확인
 

[Fig.6] iris 데이터 중복값 출력 및 제거

isna 함수로 Nan 값을 값별로 True, False 형태로 확인하고 열별로 Nan값을 sum 함수로 더해 한 눈에 확인 해 보겠슶니다. dropna 함수로 Nan값을 제거하거나, fillna로 Nan값을 다른 값으로 치환할 수 있습니다.

df.isna() #Nan값이 있는지 출력 True, False 형태로 출력됨
df.isna().sum() # 열별 Nan값을 출력함 
df = df.dropna() #Nan값을 제거 fillna()함수로 Nan값을 치환할 수도 있음
df.shape() #제거된 열 확인 
 

[Fig.7] iris 데이터 Nan값 출력 및 제거
 
 

3. 이상치(Outlier) 분석

describe 함수를 통해 각 컬럼별로 요약 통계 (갯수, 평균, 표준편차, 최솟값, 최댓값과 4분위수)를 수치값으로 확인할 수 있습니다.

df.describe() # 각 컬럼별 요약 통계 지표 출력 


[Fig.8] iris 데이터 셋의 요약 통계 지표
 
Histogram으로는 데이터의 분포를 확인할 수 있습니다. 이를 토대로 어느 부분에 자료가 많이 집중되어있는지와 이상치를 살펴볼 수 있고 데이터의 좌우 대칭성을 설명할 수 있습니다. 주의할 점은 계급 폭을 다르게 하면 해석이 달라질 수 있다는 것입니다.
 

[Fig.9] Histogram
 
Scatterplot 으로 두 번수 간의 방향, 트렌드, 밀집도와 이상치를 확인할 수 있습니다. 또한, 아래와 같이 명목형 변수의 군집별로 색을 다르게 하여 구분할 수도 있습니다.
 

[Fig.10] Scatterplot
 
앞서 describe() 함수로 수치를 확인했다면 boxplot은 그래프로 최솟값, 최댓값, 4분위수와 중앙값, 이상치를 확인할 수 있습니다.
 

[Fig.11] Boxplot
 

4. 속성 간의 관계 분석

상관계수를 통하여 두 속성 간의 연관성을 나타낼 수 있습니다. -1 에 가까우면 음의 상관관계, 0 이면 상관관계가 없고 1은 양의 상관관계를 나타냅니다. 이를 Heatmap으로 시각화하여 확인할 수 있습니다.

[Fig.12] 상관계수 및 Heatmap

Pairplot은 데이터의 모든 컬럼들의 변수의 상관관계를 histogram과 Scatterplot으로 출력합니다. 전체 데이터의 상관관계를 한눈에 볼 수 있습니다.

[Fig.13] Pairplot

위의 boxplot으로는 단변량 변수의 수치를 시각화하여 확인하였다면, 이 변량 변수를 사용하여 상관성을 볼 수도 있습니다.

[Fig.14] Boxplot

PCAplot은 여러 변수의 변량을 주성분(Principal Component, 서로 상관성이 높은 여러 변수의 선형 조합으로 만든 새로운 변수)으로 요약, 축소하는 방법으로 먼저 Screeplot을 이용하여 주성분의 수를 정하고 이를 바탕으로 아래와 같은 PCAplot, Biplot을 그려 분포와 주성분 간의 관계를 확인합니다. 각 주성분이 차지하는 분산의 누적비율을 계산해서 각 주성분이 전체 분산 중 얼마만큼 설명해 주는지를 알 수 있습니다.

[Fig.15] PCAplot


탐색적 데이터를 공부하면서 ‘맛있는 요리’를 만들기 위해서는 가장 먼저 ‘맛있는 음식재료’를 준비해야 하듯이 데이터 분석에서 맛있는 음식재료라고 할 수 있는 EDA가 중요하다는 말이 인상 깊었습니다. 가장 기본적인 원 데이터를 다양한 방면에서 데이터를 관찰하면서 인사이트를 이끌어 낼 수 있다는 것이 EDA의 큰 장점인 것 같습니다. 위의 실습 스크립트도 함께 첨부하니 함께 공부할 수 있으면 좋겠습니다! 이번 블로그를 통해서 탐색적 데이터 분석의 전반적 흐름과 중요성을 알 수 있는 시간이 되었으면 좋겠습니다. 감사합니다.




작성 : AIDX A.I. Lab 박주희 개발자

Posted by 人Co

2020/11/08 16:34 2020/11/08 16:34
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/361

자동차 대시보드의 UX 디자인 트렌드



오늘은 자동차 산업의 변천사와 적절한 예를 중심으로 자동차 대시보드의 UX는 어떻게 적용될 수 있는지 함께 살펴보도록 하겠습니다.

생물정보 기업인 저희 인실리코젠에서 웬 자동차? 라는 의문이 들 수 있지만, 인실리코젠의 IX팀은 생물정보뿐만 아니라, 사용자가 접하는 모든 수단에서 어떻게 하면 보다 편리하고 직관적으로 사용성을 누릴 수 있을지 UX 적 관점에서 다방면으로 고민하고 있습니다.

따라서 이번 블로그에서는 UX 적 측면에서 바라보는 자동차 산업, 그중에서도 대시보드와 관련한 UX 디자인 지식을 공유하는 장으로 삼고자 합니다.


 


인간이 이용하는 이동 수단은 문명 발달과 함께 지속적인 형태의 변화 과정을 거쳐 왔습니다. 아래 [Fig. 1]처럼 사람에서 동물로, 사람에서 엔진으로, 그리고 현재 수소나 전기와 같은 대체 에너지로 동력의 원천이 변화하였고 이는 그동안의 개별 이동 수단 형태 변화의 결정적인 원인이었습니다. 더 나아가 소나 말과 같은 이동 개념의 탈것이 운전자 조작 중심의 자동차 산업으로 바뀌었습니다. 현대 기술의 발달로 현재 자율 주행 자동차가 등장하며 운전자 중심에서 탑승자 중심으로의 자동차 개념의 변혁을 앞두고 있습니다. 이러한 자동차의 기능과 가치의 변화에 따라 UX(User Experience, 사용자 경험) 디자인 또한 어떻게 탑승자를 만족하게 해 줄 수 있을지 새롭게 고민해야 할 시점이 온 것입니다. 최근 자동차의 UX는 관련 산업의 성장에 가장 중요한 요소로 작용하고 있는데요, 그중에서도 자동차 대시보드는 그동안의 전통적인 기능적 구성요소에서 새로운 사용자 경험을 제시하는 중요한 부분으로 주목받고 있습니다.
 




일반적으로 우리가 타고 있는 내연기관 자동차는 엔진의 시대에 만들어진 엔지니어링을 근간으로 하는 기계입니다. 자동차는 과거 공업이 발달한 뒤부터 내부에 동력원을 갖춘 형태로 지금까지 발전해 왔고, 자동차의 역사는 산업 발전의 역사와 같다고 말할 수 있을 정도로 오늘날 자동차 산업은 빠르게 발전해왔습니다. 과거 엔지니어링 위주의 자동차는 2000년대 초 정보혁명을 기점으로 사용자중심의 단순한 정보표시장치개념의 UI에서 발전한 전자화가 진행되었고 이때, UI(User Interface, 사용자 인터페이스) 개념이 본격적으로 다루어지기 시작하였습니다. UX(User Experience, 사용자 경험)는 사용자들의 니즈를 충족시켜주며 자동차의 가치를 창출하는 데 사용되고 있으며, 앞으로 자동차 디자인의 방향성을 제시할 중요한 방법론 중 하나로 자리매김 하였습니다.


[Fig 1] 지금의 자동차가 생기기까지 이동수단의 변화 과정


이렇듯 동력원의 발달과 동시에 인터랙션 기반의 정보, 커뮤니케이션 기술 발달로 자동차는 변혁기를 맞이하였으며, 현재 환경오염과 화석 연료 고갈로 내연기관에서 대체연료를 활용하는 새로운 모빌리티가 등장하고 있고 자율주행 등의 지능화가 더해져 새로운 패러다임으로 전환되고 있습니다. 이러한 변화의 흐름에 따라 자동차의 내연기관과 자율주행이 결합한 플랫폼이 등장하고 있습니다. 오늘날의 차량은 기술 발달에 따라 사용자의 니즈를 충족시켜 줄 전체적인 기능은 많아졌지만, 자동차 대시보드의 외형 디자인은 오히려 과거의 차량보다 단순해졌다고 볼 수 있습니다.


자동차 산업은 1910년대 초기 대중화 시대부터 굵직한 세계정세와 그에 따른 산업 구도의 변화와 함께 근현대까지 다양한 유행을 거쳐 왔습니다. 4차 산업혁명이 도래한 현재, 인공 지능 기술과 IT기술이 결합하여 전자 제품을 다루듯 탑승자에게 색다른 내부 환경을 제공해 주고 있습니다.



[Fig 2] 자동차의 가치 변화에 대한 타임라인 (1910~1940)
 
 

[Fig 3] 자동차의 가치 변화에 대한 타임라인 (1950~1980)
 

자동차의 역사를 들여다보면 당시 시대 상황에 따라 자동차가 갖는 다양하고 재미있는 의미들을 발견할 수 있습니다. 자동차는 ‘위대한 개츠비’의 한 장면처럼 일부 부유한 사람들의 신분 과시를 위한 사치품이었던 적도 있었으며 최초의 고속도로 개발로 빠르게 달리고 싶었던 당시 운전자들의 욕구 때문에 자동차의 속도가 중시되기도 했습니다. 자동차가 더욱 대중화되고 개발 열기가 불타오르면서 대중들의 니즈를 충족시켜줄 일부 차량이 유행을 불러오기도 했습니다. 이러한 일련의 과거 상황을 되새겨보면 자동차 산업은 그 어떤 산업 못지않게 여러 환경에서 다양하게 발전해왔고, 대중들은 시대 상황에 따라 자동차에 다양한 가치를 부여했음을 짐작해 볼 수 있습니다.



자동차는 기술 융합에 따라 더 이상 이동성만 갖춘 기계 중심의 제품이 아닌, 전자 중심의 전자 기기 제품으로 변화하고 있습니다. 사용자가 차량을 통해 얻을 것으로 기대하는 경험의 양과 질이 이전과는 비교할 수 없이 증대하였습니다. 단순히 기능적인 필요뿐만 아니라 감성적 만족도 중요해졌는데요, 이러한 기술 융합은 다양한 업체 간의 제휴와 협력이 활발하게 이루어지면서 그 면모가 두드러지게 나타나고 있습니다. 한마디로 자동차-IT 융합으로 인한 모빌리티 패러다임이 변모하고 있는 것이라 할 수 있습니다.
 


[Fig 4] 차종범, 자동차 생태계의 확장을 알리는 IT 총아 자동차 산업 전망 
 

세계적인 IT 기업들도 지금은 자동차 내에 탑재되는 IT기기와 소프트웨어를 제공함으로써 더 이상 자동차는 이동수단 개념의 제품이 아닌 타고 다니는 전자 제품이라고 할 수 있을 것입니다.

전자신문사에서 정의하는 스마트 자동차 산업에서 지금의 자동차는 기술 발달에 따라 단순히 운전에 필요한 정보만 전달받는데 그치지 않고 안전성, 편의성, 유희성, 친환경성, 카 라이프 유용성과 같이 5가지 요소를 기반으로 하여 사용자에게 자동차의 가치를 제공해주고 있다 말하고 있습니다. 먼저 안전성은 주행 과정 중 사고를 예방하는 등 운전자를 사고로부터 보호해 주는 기능을 갖추고 있고 편의성은 자동주차와 같이 운전 중이나 주차 과정에서 편리하도록 해 주는 기능입니다. 유희성은 자동차 내에서 고품질의 음악을 들을 수 있게 해주며 동승자의 경우 영화나 드라마와 같은 영상을 감상할 수 있는 기능을 제공합니다. 친환경성은 주행 중 배기가스를 모니터링 할 수 있도록 해주며 이와 동시에 에너지 절감 등 친환경 서비스를 제공하는 기능이라고 할 수 있습니다. 카 라이프 유용성은 주행 중 음성 인식을 통한 내비게이션 조작, 인터넷 검색, 에어컨 및 오디오 작동을 할 수 있는 기능을 말합니다.

[Fig. 5] 스마트 자동차 산업의 5가지 가치

이처럼 자동차 내에서 누릴 수 있는 UX는 다방면으로 변화하고 있고 관련 기술이 현재까지도 발전하고 있습니다. IT 기술이 차량에 적용되기 전을 생각해보면 시야가 닿지 않거나 무의식중에 겪을 수 있는 크고 작은 안전사고들을 예방할 수 있도록 보조해줄 수 있게 되었고, 단순히 운전만 해야 했던 과거 주행 환경은 휴대폰에 잭을 꽂거나 차량에 직접 음원 파일을 등록하여 음악 감상 및 동영상 시청을 할 수 있게 되었습니다. 더 나아가 현재는 스마트폰과 블루투스를 연결하여 음악을 듣거나 탑승자가 즐겨 듣는 음악들을 누적하여 차량 내 인공지능 시스템을 통해 탑승자에게 음악 추천도 해주는 상황까지 발전하였습니다. 인공지능 시스템의 발달은 음성만으로 내비게이션이나 에어컨 등을 작동시킬 수 있고 스마트홈 서비스와 연동하여 운행 중 집 안의 Iot 기기들까지 제어할 수 있게 된 시점까지 올 수 있게 해주었습니다. 이처럼 새로운 기술들이 등장할 때마다 탑승자가 얻게 되는 UX는 지속해서 발전을 거듭하고 있고 앞으로의 UX는 자율주행 자동차가 등장함에 따라 운전자 중심이 아닌 탑승자 중심으로 제공될 수 있도록 해야 할 것으로 볼 수 있습니다.


자동차의 대중화를 불러일으켰던 포드 모델T 시기의 대시보드를 살펴보면 지금의 자동차와 확연히 다르다는 것을 알 수 있습니다. 1910년대 자동차 내부 디자인은 엔진룸과 실내룸을 나누는 단순히 격벽 형태로 승객석 주변과 시트의 장식 위주로 진보를 거듭하다가 1930년대 운전자의 시인성과는 무관하게 수평형 대시보드 전 부분에 계기 장치가 배열되었습니다. 그 후 1940년대부터 지금의 센터스택Center stack(Center facia + Center console)이 위치하는 대시보드 중앙으로 계기장치가 모이기 시작합니다.

 

[Fig. 6] 연도별 대시보드 형태

 대시보드 인터페이스의 구성요소들을 살펴보면 초기 자동차의 경우 단순히 엔진룸과 실내룸을 나누는 형태였습니다. 자동차 관련 기술이 발달하지도 않은 상태여서 계기판, 자동차 시동을 거는 물리적 버튼만 존재했다고 볼 수 있습니다. 이후 기술적 진보와 함께 오디오, 에어컨 기능이 대시보드에 탑재되며 이를 작동시킬 물리적 버튼 또한 차례로 늘어났으며, 이 시기에 대시보드의 구성 요소는 초기 자동차보다 규칙 없이 배치되었습니다. 자동차의 전자화가 진행 된 후 DMB, 내비게이션 등을 활용할 디스플레이가 차량에 탑재되며 이와 함께 주요 기능들이 센터스택으로 모이기 시작하였고, 이러한 구성은 현재까지 유지되고 있습니다. 자동차의 대시보드는 점진적으로 그 형태의 변화를 이루어내다. 스마트화, 자율주행 등 현대 기술이 자동차에 반영되며 급진적 변화를 맞이하고 있습니다.
 

[Fig. 7] 자동차의 대중화 초기부터 근 미래까지 대시보드 변화 추이 분석

 
 

 


[Fig 8] UX적 가치와 미래 동향 대시보드 키워드의 상관관계

자동차의 전자제품화, 자율주행차 시대의 도래, 차량 내 엔터테인먼트 요소의 혁신적 발달 등 자동차 산업이 현재 나아가고 있는 방향을 토대로 향후 대시보드 디자인의 키워드를 교감 (Communion), 연결(Connect), 신뢰(Confidence)와 같이 3가지로 제시해 볼 수 있습니다. 사용자의 감성 가치 향상에 따라 전자 제품에 대한 UX 디자인의 중요도가 커지고 있고, 제품의 사용성을 극대화 시키기 위해 UX 시나리오가 설정되고 있습니다. 이 같은 UX 디자인을 대시보드 디자인과 연관 지어보면 자동차와 탑승자 간의 상호작용을 구현하기 위해 대시보드를 매개체로 사용하는 것이라고 볼 수 있습니다.

그 중 교감(Communion)은 탑승자가 차량을 이용하면서 누적되는 다양한 요소들, 이를 테면 차량 내부의 온도, 날씨, 시간대에 따른 길 안내, 음악 재생, 가족이나 당사자와 관련된 각종 이벤트 안내 등을 굳이 조작하여 실행시키지 않아도 탑승자에게 추천해주고, 여부를 묻고, 실행시켜주는 인공지능 시스템으로 상호 교감하여 작동되는 대시보드 디자인이 구현될 것입니다.

연결(Connect)은 전자 기기들의 스마트화 그리고 라이프스타일의 변화로 이루어진다 볼 수 있습니다. 스마트 카와 스마트 홈의 연결로 차량 내에서 집 안 스마트 기기들을 모니터링 및 제어할 수 있고, 높은 보안성도 갖출 수 있을 것입니다. 집 뿐만 아니라 외부요소 즉 도시의 기구 및 인프라 (주차장, 신호등, 차량 공유 시스템)와도 연결되어 교통 데이터 수집 여건이 개선되고 안전 시스템 구축으로 인해 안전한 탑승환경이 제공될 수 있을 것입니다.

그리고
신뢰(Confidence)는 자율주행 기술이 도입되며 가장 큰 문제로 떠오르는 안전 문제에서 기인한 것입니다. 완전 자율 주행 상태로 탑승자가 느낄 사고에 대한 불안감을 해결해주는 것이 가장 중요하며, 이는 대시보드의 직관적인 UX로 개선해 나아 갈 수 있습니다. 탑승자가 차량의 위치를 인지하고 있지 않더라도 대시보드 화면이나 스마트폰을 통해 지속해서 확인할 수 있도록 하며 주행 중 사고나 고장이 나더라도 구조 요청이나 보험사에 자동으로 자동차의 상태를 통보하여 조치를 받을 수 있게 해야 할 것입니다.


 

 
작성 : IX팀 박성수 UI/UX 디자이너
 

Posted by 人Co

2020/10/25 21:47 2020/10/25 21:47
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/360

의료 영상 분석의 개요



4차 산업혁명 시대에서 인공지능은 다양한 분야에서 쓰이고 있고, 그중 의료 영역 내에서도 적용 범위가 확대되어 가고 있습니다. 영상 이미지로 정상 유무를 판정하거나 병리 영상 데이터 분석에 쓰이는 판독보조, 음성 인식 의무기록이나 생체 신호 모니터링과 같은 진료보조, 유전체 데이터 분석 기반의 신약개발 등 인공 지능 기반의 의료 진단 기술이 개발되고 있으며, 특히 의료 영상 판독 분야에서 인공지능이 매우 유용하게 쓰이고 있습니다.
 
병원에서 다루어지는 영상 이미지는 모두 디지털 이미지로, 영상의학과 전문의들이 이 디지털 이미지를 직접 보며 판단하는 아날로그적 방식에 인공지능이 들어오면서 영상 판독 시간이 5분에서 20초로 줄어들거나 두 명 중 한 명의 전문의를 대체할 수 있는 수준에 이르게 되었습니다.
이런 의료 영상 분석의 발전을 가능하게 만든 핵심 요소는 의료 영상 처리 기술과 딥러닝입니다. 딥러닝의 적용은 기존에 사용해오던 기계학습의 효율을 넘어 전문의에 따르거나 이를 넘어서는 결과들이 등장하면서 큰 반향을 일으킨 바가 있습니다.
이번 글에서는 본격적으로 의료 영상 분석을 하기에 앞서 일반 영상과 달리 의료 영상이 가지는 특성들을 알아보고, 의료 영상 처리 및 분석 기술에 대해 전반적으로 알아보며 워밍업을 해보도록 하겠습니다.



Image Acquisition


우선 이미지를 얻는 원리에 대해서 간단히 알아봅시다.
카메라의 기본 원리는 Light source로부터 빛을 쏘아서 어떤 물체에 닿으면 특정 빛이 반사되고, 이 반사된 빛을 센서로 취득해서 전기신호로 바꿔주면 명암차이로 영상이 만들어지게 됩니다. 카메라는 light source가 가시광선이고 이를 취득할 수 있는 CCD, CMOS 센서를 쓰는 데 반해, 적외선을 쏘고 이를 detection 할 수 있는 센서를 놓으면 적외선 카메라, X-ray 신호를 주고 이를 detection 할 수 있는 센서를 놓으면 X-ray 시스템이 됩니다.


[Fig. 1] Electromagnetic spectrum
 

그럼 light source에 따른 다양한 의료 영상 데이터에 대해 살펴보겠습니다.

가시광선을 이용한 의료 영상 :

  • Endoscopy (내시경) : 위, 장 내시경 검사 시 사용하는 것으로, 내시경 앞부분에 light source와 CCD 센서가 모두 있어서 영상으로 보여줍니다.
  • Microscopy (현미경) : 조직 검사 시 현미경의 접안렌즈, 대물렌즈를 이용해 작은 물체를 크게 확대해서 보여줍니다.

방사선을 이용한 의료 영상 :

  • X-ray : X-tube에서 light source를 내보내고 몸을 통과하는데, 각 부위 조직의 투과된 x-ray intensity 차이로 영상을 만들어냅니다.
  • CT (Computed Tomography) : 인체의 단면 주위를 돌며 다각도에서 x-ray 영상을 찍고, 여러 장의 2D x-ray 이미지를 합쳐 한 장의 3D 영상 이미지로 만듭니다. 수 초 내로 짧은 시간 안에 3D 영상을 얻을 수 있지만, 방사선에 노출되고 조영제를 사용하여 몸 밖으로 배출이 잘 안 될 수 있다는 것이 단점입니다
  • PET (positron emission tomography) : 양전자를 방출하는 방사성 의약품(방사성 포도당)을 몸에 주입 후, 인체의 360도에서 이를 detection 후, 3D 영상 이미지로 만듭니다. 포도당 대사는 암세포에서 비정상적으로 높으므로 PET에서 밝게 나와 암 조기진단에 유용하게 쓰입니다. 신진대사를 볼 수 있어 조기진단이 가능하지만, 방사선을 몸에 주입하고 비싸다는 단점이 있습니다.

자기장을 이용한 의료 영상 :

  • MRI (Magnetic Resonance Imaging) : light source는 아니지만, 자기장을 걸어주어 몸 안의 수소 원자들이 근육, 지방 등 tissue에 따라 도는 속도의 차이를 바탕으로 3D 영상을 만듭니다. 방사선 노출이 없어 몸에 유해하지 않고, brain처럼 soft tissue들을 잘 구분해서 볼 수 있으나, 비싸고, 찍을 때 소음이 나며, 영상을 얻는 데 시간이 오래 걸리는 단점이 있습니다.

이 밖에 심장, 태아 검사를 위한 초음파나 망막 단층검사를 하기 위한 근적외선을 이용한 영상 등이 있습니다.


Digital Image Acquisition

이렇게 찍은 영상들은 디지털화를 하는데요, 격자로 쪼개서 화소들의 이차원 배열로 표현하는 sampling, 각 화소의 컬러 범위를 결정하는 quantization을 거칩니다.

[Fig. 2] Digital image acquisition process

이때, 디지털화된 이미지는 다음의 요소들로 표현합니다.

  • Resolution : Sampling이 이루어지는 매트릭스 갯수 (이미지 사이즈)
  • Intensity : 각 sampling point (2D에서는 pixel, 3D에서는 voxel) 에서의 값
  • Gray level : quantization의 단계 (보통 0~255까지 256레벨)
 
 

 
PACS (Picture Archiving and Communication System)

그렇다면 이 디지털 이미지가 병원 시스템에서 어떻게 동작할까요? 영상 장비에서 얻은 디지털 의료 영상 이미지는 병원의 PACS 서버로 전송되고, 의사들이 client system을 이용해서 영상을 띄워서 봅니다.
 

[Fig. 3] PACS system

여기서 PACS는 의료 영상 저장 전송 시스템을 말하며, 디지털 영상 이미지를 DICOM이라는 국제표준 규약에 맞게 저장, 가공, 전송하는 시스템입니다. DICOM으로 저장될 때 판독결과와 진료기록이 추가될 수 있고, 네트워크를 통해서 병원 내외의 단말로 전송할 수 있습니다.

DICOM (Digital Imaging and Communications in Medicine)

그럼 의료 영상을 다루기 위해 DICOM에 대해 더 살펴보겠습니다. DICOM은 의료용 기기에서 디지털 영상 표현과 통신에 사용되는 표준을 총칭하는 말로 북미방사선학회(RSNA)에서 1990년대에 정한 국제 표준입니다. 의료 빅데이터를 분석할 때 데이터를 표준화하고 정제하는 것이 어려운데, 여러 분야 중 그나마 영상 분석이 수월한 것은 이 DICOM 국제 규약에 의해 표준화 돼있기 때문일 것입니다.
하나의 DICOM single format (.dcm)은 기본적으로 header와 image 정보가 있습니다.

  • Header
    • header에는 태그별로 환자 정보, 영상 취득 날짜 등 부가적인 meta 정보를 담고 있습니다. 주로 참고할 만한 태그로 (0008,~)에는 modality 및 study에 대한 정보, (0010,~)에는 환자 정보, (0028,~)은 dimensions 및 scale 등 이미지 정보들을 담고 있습니다.
    • (0028,~) 이미지 정보 예시로는 3차원 이미지의 x,y,z가 몇 개의 voxel로 구성되어 있는지 나타내는 dimensions, 한 voxel의 x,y,z가 각각 몇 mm인지 나타내는 voxel spacing, 영상마다 보기에 최적화된 pixel 범위 기준인 window center, window width 등이 있습니다.
    • 이 header 정보들은 이미지에서 필요부분을 추출할 때 기준방향과 pixel 및 voxel의 실제크기 등 변환 연산에 필요한 정보로 이용되고, 이런 정보들을 바탕으로 이미지들의 voxel spacing을 맞춰야 유의미한 분석이 됩니다.


[Fig. 4] 프리웨어인 Sante DICOM Viewer 프로그램을 이용하여 본 한 장의 DICOM 파일의 header 정보


  • Image data
    • 압축된 비트맵(bitmap) 또는 압축되지 않은 형식(jpeg, gif..)의 이미지 정보를 담고 있습니다. 이미지 매트릭스에 한 pixel마다 intensity 값이 있습니다.
 



[Fig. 5] 프리웨어인 Sante DICOM Viewer 프로그램을 이용하여 본 한 장의 DICOM 파일 이미지



이외에 Nifti (nii) 등 다른 포맷들이 있는데, 파일이 두 개로 나누어져 있는 경우 영상 정보와 헤더 정보가 따로 있습니다. (예시: Analyze (hdr/img), Raw data (mhd/raw))

 


 
의료영상을 시각화하여 확인하기 위해서는 다음과 같은 도구를 이용합니다. 간단한 사용방법과 직관적인 사용자 Interface를 갖고 있는 Sante DICOM Viewer, segmentation을 잘 그려주는 것이 장점인 ITK-snap, 병리 영상 분석에 최적화된 Qupath, 이 밖에 MITK, MRICron, 3D Sicer, ImageJ 등을 활용합니다.
 


[Fig. 6] ITK-SNAP 을 이용한 brain MRI
 
그림과 같이 ITK-SNAP를 이용했을 때 3차원 상에서 이미지를 보고 헤더 정보도 별도로 확인할 수 있습니다. Contrast를 조절해서 특정 영역만 보는 등 기본적인 이미지 프로세싱을 서포트하고, 원하는 영역을 segmentation 해서 여러 장을 그리면 쌓아서 3D volume 이미지로 볼 수 있습니다.

3D 영상은 3가지 방향에서 볼 수 있는데, top-down 방식의 axial 뷰, 몸을 left-right로 나누는 sagittal 뷰, anterior-posterior로 나누는 coronal 뷰가 있습니다.
 

[Fig. 7] Image reconstruction planes


 
 
의료 영상은 일반 영상과 확실히 다른 특징들을 보입니다. 그러므로 분석 시 고려해야 할 사항들이 있는데요, 몇 가지를 나열해 보자면 다음과 같습니다.
의료 영상은 대량의 데이터를 얻기 힘들고, 지도학습에 필요한 레이블 정보를 얻는 것은 더욱 어렵습니다. PACS 시스템을 이용해서 병원마다 많은 영상 데이터는 있지만, 제도적, 사회적 이슈로 인해 데이터 접근이 쉽지 않고, 병변의 위치를 레이블링하는 것도 숙련된 전문의의 판독이 필요한데 PACS에서 얻는 영상들은 레이블링이 되어있지 않은 경우가 많으므로 필요한 데이터 자원을 최소화하면서 좋은 성능을 기대할 수 있는 방법론의 개발이 중요합니다.
또한, 3D 영상이 많고 영상의 크기가 상당히 큽니다. 2015년 이미지넷 대회에서 1위를 차지한 영상 분류에서 기준 영상은 짧은 변 기준으로 최대 640픽셀 크기를 입력으로 받았는데, 흉부 X ray영상은 한 변이 2,000픽셀 이상이고 유방촬영영상은 4,000픽셀이 넘으며, 병리 영상은 10만 픽셀보다 큰 경우가 대부분입니다. 연산 능력을 감당할 수 있는 환경이 필요한 것뿐만 아니라 이를 효율적으로 처리할 수 있는 알고리즘의 개발이 필요합니다. 그리고 객체의 크기가 상대적으로 굉장히 작은 경우가 많기 때문에 이를 잘 검출할 수 있는 기술도 필요로 합니다.
이 밖에 같은 질병의 같은 조직 영상이라도 나이에 대한 보정이 필요하고, 영상 이미지 외에도 성별, 흡연, 음주여부 등의 기타 정보들을 분류 분석에 사용하기도 합니다.
 
 

 
의료 영상 데이터를 이용한 여러 분석 중 4가지 문제를 간단히 살펴보겠습니다.
Classification
전형적인 computer vision 문제로, 영상 이미지를 보고 정상인지 환자인지 분류합니다. 보통 의료 영상 분석은 분류하는 것이 주목적입니다.
Segmentation
영상에서 organ(장기)나 nodule(결절)과 같이 관심 있는 특정 영역을 추출합니다. intensity값으로만 구분하는 thresholding, 시작점과 비슷한 값을 assign해 나가는 “seeded” region growing 등 다양한 방법이 있습니다.
Enhancement
영상에 noise가 있거나 해상도가 낮은 경우 영상 퀄리티를 높이는 방법입니다. Intensity의 분포를 가지고 value를 바꿔주는 histogram processing, pixel 주변을 보고 블러를 통해 노이즈를 감소하는 smoothing 및 영상의 edge 부분을 강조하는 sharpening과 같은 spatial filtering이 있습니다.
Registration
각기 다른 영상들을 모았을 때 비교할 수 있게 잘 맞춰주는 방법입니다. 파노라마나 시차를 두고 영상을 취득했을 때 이미지를 합침으로 이미지가 이어진다거나 차이점을 볼 수 있게 하는 방식입니다.
 
 

 
의료 영상 분석을 위해서 기계학습은 지난 몇십 년간 매우 유용하게 사용됐고, 가장 보편적인 용도 중 하나가 병변 또는 장기와 같은 대상을 병변 또는 비병변, 악성 또는 양성종양처럼 특정 부류로 분류하는 것이었습니다. 이때, 기계학습은 특징 입력을 통해 클래스(암 또는 비암) 분류를 위한 최적의 경계를 설정하고, 새로운 미지의 객체(병변)가 속한 클래스를 찾는 데 쓰였습니다. 마치 동그랗고 주먹보다 작은 특정 사이즈에 노란 형광 빛을 가진 특징을 가진 것이 테니스공이라고 분류하듯이요. 그런데 이것은 병을 못 찾거나 오진을 만들어내며 문제점이 많았었습니다. 이후, 딥러닝이 도입되면서부터 이미지 입력을 통해 분류 성능이 월등히 좋아지고 인간의 영상 인식 수준을 넘어서는 결과를 보이기도 하였습니다. 그냥 처음부터 테니스공 이미지를 보여주고 학습을 시키는 것이지요.
 

[Fig. 8] 딥러닝 도입 전후 기계학습
 
딥러닝이 도입된 이후 기계학습은 분할(segmentation), 수작업 특징 추출(handcrafted feature extraction) 및 특징 선택(feature selection) 단계가 필요하지 않고, 분할 오류나 비효율적인 기능을 피하면서 end-to-end 머신러닝 패러다임을 제공합니다. 이때 대표적으로 쓰이는 모델이 CNN(convolutional neural network)이고, 최근에는 GAN (generative adversarial network)도 활발하게 적용되고 있습니다. 서로 다른 영역의 영상 간의 번역이나 변환에 사용되며 시간과 비용을 단축하거나 판독의 정확도를 향상하는데도 활용이 되고 있습니다.
 
 

 
이상 의료 영상 분석을 하기 위해 기본적으로 알아야 할 배경 지식과 전반적인 개념에 대해서 살펴보았습니다. 현재 환자의 CT영상을 통해 코로나 19로 인한 폐렴 병변을 정량화하는 등 국내외에서 인공지능 기반의 많은 의료 영상 분석 소프트웨어들이 개발 및 활용되고 있습니다. 향후 의료 영상과 유전체 정보를 통합하여 분석함으로써 질병의 조기진단 및 예후 예측, 환자들의 삶의 질 향상을 가능케 하리라 봅니다. 이 글에서 딥러닝 알고리즘이나 수식 등 분석에 대해 깊이 다루지는 않았지만, 의료 영상 분석을 시작하는데 앞서 기본 내용을 이해하는 데 도움이 되길 바라며 글을 마칩니다.
 
 

 

Posted by 人Co

2020/09/27 18:26 2020/09/27 18:26
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/358

페토의 역설


암은 우리나라 사망 원인 1위인 질병입니다. 보건복지부의 통계에 따르면 암 발생률은 꾸준히 증가하는 추세입니다. 물론, 환자의 5년 생존율도 꾸준히 증가하는 추세이고 조기 발견하는 경우 70% 이상 완치가 가능하다고 하지만, 암은 여전히 무서운 질병입니다.
 
암의 발병 원인은 다양하지만, 세포의 돌연변이 누적이 주원인인 것으로 알려졌습니다. 정상 세포는 세포 주기에 따라 일정한 기간이 지나거나 돌연변이가 누적되면 사멸하게 됩니다. 암세포의 경우 정상 세포와는 달리 누적된 돌연변이에 의해 세포로서 기능하지 못하면서도 사멸하지 않고 지속해서 증식합니다. 이 과정에서 정상 세포를 밀어내고 다른 세포들이 사용해야 할 영양분을 흡수하면서 신체에 문제를 일으킵니다. 영양분 흡수가 쉽지 않으면 자체적으로 혈관을 생성(Angiogenesis)해서 영양분을 수급하는데, 이러한 혈관은 암 전이를 쉽게 하는 역할을 하기도 합니다.
암은 세포의 돌연변이 누적으로 발병하기 때문에 이론상으로 모든 생물이 암에 걸릴 수 있습니다. 심지어 기생충에게도 암이 발병하며, 수천만 년 전 지구에 생존했던 공룡의 화석에서도 암에 걸렸던 흔적이 발견되기도 합니다.




1977년, 영국의 통계학자이자 역학자인 리차드 페토는 흥미로운 연구 결과를 발표합니다. 리차드 페토는 세포의 돌연변이 누적으로 암이 발병하는 거라면, 생물의 사이즈가 크고 수명이 길수록 암 발병률이 높을 것이라는 가설을 세웁니다.
본인의 가설을 바탕으로 실제 사람과 쥐의 암 발생률에 관한 연구를 합니다. 사람과 쥐는 세포 수는 약 1,000배, 수명은 30배 정도 차이가 나기 때문에, 암 발생률도 양의 상관관계 (positive correlation) 가 있을 것으로 예측했습니다. 그는 쥐나 사람이나 암 발생률은 비슷하다는 것을 발견함으로써 그의 가설이 틀렸음을 알게 됩니다. 이러한 현상을 발견한 페토는 이를 “페토의 역설 (Peto’s paradox)” 라고 명명합니다.
그는 이 현상을 인간이 신체 사이즈가 커지고 수명이 늘어나는 방향으로 진화하는 과정에서 암 발생을 억제하는 메커니즘 또한 함께 진화했기 때문일 것이라고 설명합니다.

[Fig. 1] 페토의 역설 요약

위 [Fig. 1] 이미지와 같이 종 내(intra-species)에서는 신체 질량이 암 발병률과 관계가 있는 것으로 보이지만, 종 간(inter-species)에서는 그렇지 않다는 것이 밝혀졌습니다. 이후 많은 연구진이 페토의 역설에 힘을 실어주는 연구 결과를 발표합니다.
 
가장 대표적인 예는 2015년에 발표된 Schiffman 연구진의 연구결과입니다. 2015년 유타 대학교의 Schiffman 교수 연구진들이 San Diego 동물원의 쥐, 코끼리 등을 포함한 36종의 포유동물을 부검해서 암에 의한 사망률을 조사합니다. 이들은 종간 신체 크기나 수명 등은 암 발병률과 통계적으로 상관관계가 없음을 발표합니다.
 

 
[Fig. 2] 36개의 포유동물의 암 발병률

위 그래프를 통해 종의 수명이나 크기는 암 발병률과 상관관계가 없음을 확인할 수 있습니다. 더불어, 암 발생률이 낮은 다른 종의 암 억제 메커니즘을 밝혀내는 연구도 활발하게 이루어지고 있습니다. 대표적으로 암 발생률이 5% 내외로 알려진 코끼리가 있습니다. 앞서 언급된 Schiffman 교수 연구진과 시카고대학교 Lynch 교수의 연구진이 2015년에 발표한 두 연구 결과에 의하면 코끼리는 암 억제 유전자로 알려진 TP53 유전자를 사람보다 더 많이 보유한 것으로 밝혀졌습니다.
 
포유류 대부분이 보유하고 있는 TP53 유전자는 사람의 경우 유전자가 하나이지만, 코끼리의 경우 20개를 가진 것으로 확인되었습니다.
TP53 유전자는 DNA가 손상된 세포의 복구나 세포자살을 유도하는 역할을 하는 것으로 알려졌습니다. 실제, Li-Fraumei syndrome(LFS) 라는 질병은 TP53 유전자 결함에 의해 발병하게 되는데, 이 환자의 경우 각종 암에 걸릴 확률이 매우 높습니다. 코끼리의 TP53 유전자의 경우 손상 세포의 복구보다는 손상 세포를 소멸시키는 메커니즘에 적극적으로 관여하는 것으로 알려졌습니다.

2018년, 시카고 대학의 Lynch 교수 연구진은 코끼리가 가지는 또 다른 항암 메커니즘을 밝혀냅니다. 코끼리에서 특이적으로 발현하는 LIA 6 라는 유전자입니다. 이 유전자도 TP53 유전자에 의해 활성화되어 DNA가 손상된 세포 사멸을 유도하는 유전자로 밝혀져 있습니다. 연구진은 이 유전자를 좀비 유전자라고 칭하는데, 수천만 년 전까지 위유전자(pseudogene)로 존재하던 LIF 유전자 중 하나인 LIF6 유전자가 진화과정 중 발생한 변이 때문에 TP53 유전자로 인해 활성화되었기 때문입니다.
 

[Fig. 3] 코끼리의 LIF6 유전자의 세포자살 유도 메커니즘

이외에도 암에 거의 걸리지 않는 것으로 알려진 벌거숭이두더지쥐나 고래 등도 주요 연구 대상 중 하나입니다. 두 종 모두 노화 정복을 위해 연구하는 연구자들 사이에서 주목받는 종이기도 합니다.
 


 
현대 의학이 발달하면서, 조기 발견 시 완치율도 높고 환자의 5년 생존율도 꾸준히 증가하고 있습니다. 하지만 현재까지 암은 여전히 무서운 질병 중 하나입니다.

일부 연구자들은 여전히 이 이론에 의문을 품고 있지만, 페토의 역설은 오늘날 암을 정복하기 위한 하나의 방향으로 받아들여지고 있습니다. 구글 자회사인 캘리코 사에서는 현재 생명연장 프로젝트에서 벌거숭이 두더지쥐에 관한 연구를 진행 중이고, 코끼리의 항암 메커니즘을 밝혀냈던 두 연구자는 이를 응용하여 코끼리의 항암 단백질을 이용한 암 치료제 개발을 위한 신생기업 기업을 세웠습니다.

사람 이외의 동물들에 대한 항암 메커니즘에 관한 연구들은 여전히 시작단계이고, 밝혀진 부분보다는 밝혀져야 할 부분들이 많겠지만, 언젠가 이 연구들이 성과를 보는 날을 기대해 봅니다.




  • Viviane Caliier, 2019, Solving Peto’s Paradox to better understand cancer. PNAS.
  • Marc Tollis et at., 2017. Peto’s Paradox: how has evolution solved the problem of cancer prevention?. BMC Biology.
  • Lisa et al., 2016. Potential Mechanisms for Cancer Resistance in Elephants and Comparative Cellular Response to DNA Damage in Humans. JAMA
  • 박수경, “[캔서앤서 A to Z] 암, 정체가 뭐지? 왜 생기는거지?”, <CANCER ANSWER>
  • 엄남석, “코끼리에게서 암 정복 길을 찾다.. ‘좀비유전자’ 규명”, <연합뉴스>

작성 : BS실 박서우 주임개발자

Posted by 人Co

2020/09/14 00:05 2020/09/14 00:05
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/357


전 세계 COVID-19 확진자가 1,000만 명을 넘어선 지금, 일일 확진자 수의 상승세와 함께 한국에서도 COVID-19는 재유행 국면을 맞고 있습니다. FDA에서는 아직 백신과 치료제가 없다고 공표하였고, 의료진의 처방 이외의 약품에 주의하라고 권고하고 있습니다.
SARS-CoV-2를 잘 이해하기 위해, 이들이 인간의 숙주 단백질에 어떤 영향을 미치는지 예측된 생물학적 네트워크를 확인할 수 있는 웹사이트인 Coronavirus Network Explorer를 소개합니다.
Coronavirus Network Explorer는 SARS-CoV-2가 숙주 세포에 어떤 영향을 미치는지 보여주는 생물학적 네트워크를 살펴볼 수 있는 웹페이지입니다(Fig.1). 생물/의학 문헌의 증거를 바탕으로, 이 네트워크들은 대규모 지식 그래프 및 머신러닝을 사용하여 선택된 생물학적 과정, 질병 또는 경로에 대한 유전자 및 약물 영향을 예측합니다. 지금부터 Coronavirus Network Explorer를 소개하려고 하며, Fig.1에서의 위치(좌측/우측 등)를 기준으로 설명하고자 합니다.
최근 Gorden 외 연구진은 친화 정제-질량 분석법(AP-MS)을 통한 스크리닝으로 SARS-CoV-2 바이러스 단백질과 상호작용하는 인간 숙주 단백질을 확인하였습니다(출처 : Gordon et al., 2020. Nature.). COVID-19에 대비하여 잠재적으로 사용할 수 있는 약물을 확인하기 위해 숙주 단백질은 기능적으로 특징지어지고, 기존 약물 표적에 대해 스크리닝 되었습니다(Fig.2). 생물/의학 문헌에서 얻은 지식 데이터베이스인 QIAGEN Knowledge Base와 머신러닝이 결합한 IPA를 바탕으로(출처 : Krämer et al., 2013. Bioinformatics.), Gorden 외 연구진의 연구결과인 SARS-CoV-2와 숙주 단백질과의 상호 작용 정보를 바이러스 감염에 의해 영향을 받는 생물학적 기능 또는 질병에 연결되어 네트워크가 구성되었습니다.
Coronavirus Network Explorer에서 분석할 수 있는 것은 크게 다음과 같습니다.
  • SARS-CoV-2가 숙주에 미치는 영향을 설명하는 네트워크 탐색
  • 설정한 조건에서 유전자의 예측된 활동 패턴 표시
  • 바이러스의 효력에 영향을 줄 것으로 예상하는 약물의 잠재적 표적 유전자를 식별
Coronavirus Network Explorer의 구성을 자세히 살펴보도록 하겠습니다.
Coronavirus Network Explorer는 좌측 패널의 조정을 통해 원하는 네트워크를 도출하게 됩니다. 사용자가 원하는 설정을 할 수 있는 부분(빨간색)과 네트워크의 촉진/억제에 관련된 설명(파란색), 그리고 각 노드의 색에 대한 설명이 있는 부분(초록색)으로 나뉘게 됩니다(Fig.3).
Select Network 패널에서는 SARS-CoV-2와 인간의 단백질이 연관되어 있다고 예측된 네트워크들을 확인할 수 있습니다(Fig.4).
앞서 말씀드린 두 패널 아래에는 숙주 단백질과 상호 작용하는 바이러스 단백질에 의해 현재 보고 있는 해당 network가 촉진/억제되는 것으로 추측되는 결과라는 것을 알려줍니다(Fig.6, 파란색). 또한, 기존 약물 표적 유전자를 표시할 것인지의 여부와(빨간색) 억제/활성으로 추론되는 네트워크상 구성 노드의 표시 및 존재하는 약물 표적을 확인할 수 있습니다(초록색).
화면 가운데 영역은 각 패널에서 설정한 네트워크를 보여줍니다(Fig.7). Fig.7은 예시로, "Replication of coronavirus"라는 네트워크 정보입니다. 노드마다 생김새가 다른 것을 볼 수 있는데, Show Legend 버튼을 클릭하면 이 노드들이 어떤 기능을 하는지 확인할 수 있습니다. 노드들은 클릭 후 드래그를 통해 이동시킬 수 있습니다.
노드를 클릭하면 해당 노드에 관련된 정보를 화면 우측 영역에서 확인할 수 있습니다(Fig.8). 해당 영역에서 유전자 정보(왼쪽), 기존 약물 표적 단백질의 경우 약물 리스트를 볼 수 있습니다(오른쪽). Fig.8은 Replication of coronavirus 네트워크상의 CHRNA3 노드를 클릭한 결과입니다. IPA 사용자들은 더 자세한 유전자 정보와 약물 정보를 링크 클릭으로 확인할 수 있습니다.
이처럼 SARS-CoV-2의 단백질과 인간의 단백질이 상호작용하는 정보를 바탕으로, 어떤 네트워크들이 활성/억제될 것인지 예측된 결과를 Coronavirus Network Explorer를 통해 확인하는 방법을 알아보았습니다. 현재 COVID-19 관련 연구를 위하여 무료로 사용할 수 있으므로 치료제 개발에 도움이 되길 바라며, 하루빨리 연구가 진척되어 이 사태가 안정화되었으면 합니다.



  1. Gorden et al., 2020. A SARS-CoV-2 Protein Interaction Map Reveals Targets for Drug Repurposing. Nature, Online ahead of print. https://www.nature.com/articles/s41586-020-2286-9
  2. Krämer et al., 2013. Causal analysis approaches in Ingenuity Pathway Analysis. Bioinformatics, 30(4):523–530. https://academic.oup.com/bioinformatics/article/30/4/523/202720

작성 : insilico Lab 김형민 컨설턴트

Posted by 人Co

2020/07/17 12:48 2020/07/17 12:48
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/351




오늘 블로그 주제는 과거 2016년 구글 Google I/O 에서 소개된 웹 기술 프로그레시브 웹앱(Progressive Web Apps)을 다루어 보고자 합니다.

구글에서는 프로그레시브 웹앱(이하 PWA)을 최고의 웹과 최고의 앱을 결합한 경험으로 정의하고 있는데요, 브라우저를 처음 방문하는 사용자에게 유용하며, 별도의 설치를 요구하지 않습니다. 이러한 PWA라는 웹 기술이 탄생하게 된 배경과 자세한 내용을 차근차근 알아가 보도록 하겠습니다.




과학기술정보통신부에서 발표한 '2019년 인터넷이용실태조사' 결과를 보면, 우리나라 가구의 인터넷 접속률은 99.7%로 거의 모든 가구에서 인터넷을 접속하고, 접속 가구는 와이파이(100%), 모바일 인터넷(94.9%) 등 무선방식을 통해 주로 접속하는 것으로 나타났습니다. 
 

 
2007년 아이폰이 처음 등장한 후 스마트기기 보급률은 급속히 증가했고 이동통신 기술의 발전으로 통신서비스의 중심이 데스크톱에서 모바일로 이동하는 등 2016년을 기점으로 모바일 시장 점유율이 데스크톱을 넘어서게 됐습니다. 데스크톱 뿐만 아니라 스마트폰, 태블릿, 심지어 TV에서도 웹에 접속할 수 있는 환경이 만들어짐으로써 언제 어디서나 정보로의 접근이 가능해졌습니다.
 

[Flg.2] Desktop vs Mobile Market Share Worldwide

웹(Web)에 접근할 수 있는 기기의 폭이 넓어진 만큼, 다양한 기기에 대응하기 위해 유연한 너비와 유연한 이미지, 미디어 쿼리를 이용해서 기기 사이즈에 맞추어 레이아웃을 재구성하는 반응형 웹(Responsive Web) 기술이 보편화하였습니다.
 
그러나 그림에서 보듯이 모바일 환경에서는 대부분의 사람이 웹(Web)보다는 앱(App)에서 더 많은 시간을 보낸다는 것을 알 수 있습니다. 모바일 환경에서 웹보다 앱을 더 선호하는 이유는 앱이 웹보다는 더 빠르고 편하며 사용성이 좋기 때문입니다.


[Flg.3] Share of time spent on Mobile: App vs Web




2015년에 구글 크롬의 엔지니어 알렉스 러셀(Alex Russel)이 자신의 블로그에 'Progressive Web Apps: Escaping Tabs Without Losing Our Soul' 라는 제목의 글을 통해 차세대 웹의 개념, 즉 웹은 웹인데 점진적으로 앱 수준으로 근접해가는 웹이라는 개념의 아이디어를 제공했습니다. 그리고 이듬해 Google I/O(개발자 콘퍼런스) 2016에서 PWA를 미래의 웹 기술로 소개합니다.
비록 웹이지만 데스크톱이나 모바일에서 설치가 가능하고 앱과 유사한 사용자 환경을 제공해주며 하이브리드앱(Hybrid App)과 비교했을 때 보다 간편하게 설치와 개발을 할 수 있고 무엇보다 검색이 가능합니다. 앱과 유사한 경험을 지원하기 위해 푸쉬알림(Push Notification), 설치(Install), 오프라인 실행(Offline Access) 등의 기능도 지원합니다.
PWA에 대한 설명에서 가장 자주 등장하는 단어는 'App like'와 'Natively' 이지만 링크(URL)로 공유가 가능한 웹 페이지입니다. 즉, PWA는 다음 그림과 같이 앱(App)이 가지고 있는 높은 품질(Capability)과 웹(Web)의 넓은 도달 범위(Reach)를 결합한 개발 형태입니다.
 

[Flg.4] 앱과 웹, 프로그레시브 웹의 기능 및 도달 범위,



 
  • 반응형(Responsive) 기기에 따라 레이아웃을 자동으로 조정하는 등 다양한 플랫폼과 여러 기기에서 동일한 사용자 경험(UX)을 제공해줍니다.
  • 연결 독립적(Reliable) 로컬 기기의 캐시를 활용하여 오프라인이나 불안한 네트워크에서도 실행할 수 있습니다.
  • 재참여 가능(Engageble) 브라우저가 닫혀 있더라도 푸쉬 알람(Push Notification)을 보낼 수 있어서 재방문율을 높여줍니다.
  • 안전성(Safe) HTTPS 통신으로 제공되므로 기존 웹 대비 안전합니다.
  • 설치 가능한 경험 제공(Installable) 앱스토어를 찾지 않아도 브라우저에서 바로 빠르고 간단히 홈스크린에 앱을 둘 수 있습니다.
  • 검색을 통해 발견 가능(Search) 구글, 네이버 등 포털 검색 결과에 노출됩니다.
  • 링크 연결 가능 링크(URL)를 통해 손쉽게 공유할 수 있습니다.
  • 즉각적인 업데이트
  • 경량
 
 


  • 로딩 속도와 성능이 다소 떨어집니다.
  • 일부 플랫폼에 제한이 있습니다.
  • 크롬, 오페라, 파이어폭스에서는 동작하지만, 사파리 브라우저에서 지원되지 않습니다.
  • 아이폰에서 푸시알림을 보낼 수 없고 Siri와 통합할 수 없는 등 일부 기기에서 기본 기능에 제한이 있습니다.
  • 지오 펜싱, 지문 스캐닝, NFC, Bluetooth 및 고급 카메라 기능과 같은 장치 기본 기능을 지원하지 못합니다.
  • PWA를 사용하려면 인터넷에 액세스해야 하므로 배터리 수명을 더 빨리 소모합니다.




PWA는 최신 웹 기능을 활용합니다.
  • 웹 메니페스트(Web App Manifest) 브라우저가 웹 앱을 설치할 때 그리고 홈 화면에서 웹 앱을 적절히 표현하는 데 필요한 정보 등을 담고 있습니다.
  • 서비스 워커(Service Worker) 브라우저가 백그라운드에서 실행하는 스크립트로, 웹페이지와는 별개로 작동하며, 푸시 알림(Push Notification, Android Chrome 한정) 및 백그라운드 동기화(Background Sync, Android Chrome 한정)와 같은 기능 등 웹페이지 또는 사용자 상호작용이 필요하지 않은 기능에 대해 지원합니다.
  • 반응형 웹(Responsive Web) 현재 사용되는 대부분의 반응형 웹 기술들을 사용합니다.




앱을 다운로드하지 않고 웹주소를 클릭해 앱과 유사한 서비스를 이용하게 해주는 PWA 장점을 살려 여행, 유통, 뉴스 분야에 활용도가 높을 것으로 보입니다. 핀터레스트(Pinterest), 알리바바(Alibaba), 트위터 라이트(Twitter Lite) 등 PWA 도입으로 접속 시간은 상승하고, 이탈률은 감소하는 등 유의미한 결과를 얻는 많은 사례를 볼 수 있습니다.
  • 핀터레스트(Pinterest)
    • 평균 접속 시간이 40% 증가하였고 사용자 생성 광고 수익이 44% 증가, 핵심 사용자 참여율이 60% 증가하였다고 보고하고 있습니다.
    • 안드로이드 및 아이폰 앱과 비교하면 9.6MB 및 56MB에 비해 150KB로 매우 가볍습니다.
 


[Flag. 5] PWA Pinterest
 

 
현재 구글을 주축으로 마이크로소프트(MS), 모질라(Mozilla), 오페라(Opera) 등이 동참하고 있고 대부분의 안드로이드 기기에서는 PWA를 완벽하게 지원하지만 아쉽게도 iOS 기기에서는 여전히 제한적입니다.
그럼에도 불구하고 우리나라에서도 대표적 쇼핑몰 플랫폼 CAFE24가 PWA를 적용한 '스마트웹 앱'을 출시하는 등 점점 많은 전자 상거래 사이트에 PWA를 적용해서 구현하고 있습니다. 이는 앱을 개발하는데 드는 비용 대비 비교적 적은 자원으로 높은 효율을 기대하는 것을 목표로 하는 전자 상거래 사이트에 대안이 될 수 있기 때문입니다.
(주)인실리코젠의 자회사인 (주)디이프 에서도 현재 서비스중인 아이푸드진 앱을 개발할 당시 여러 기술들 중 하나로 PWA도 함께 고려한 바 있습니다. 비록 네이티브 앱의 기능을 충분히 활용하고 호환성에서 높은 점수를 얻은 플러터(Flutter)가 채택되었지만, 사용자 친화적인 앱을 만드는데 이제 더 이상 웹 기술을 포기할 필요가 없어졌습니다. PWA가 아직 완벽하지 않지만, iOS나 안드로이드 같은 플랫폼 전용 폐쇄적인 앱에 비해 유연하고 개방적이어서 플랫폼에 종속되지 않는 웹의 특성으로 볼 때 PWA의 더 큰 성장을 기대해봅니다.
 



작성 : FED 팀 김태영 선임 개발자
 

Posted by 人Co

2020/07/04 18:42 2020/07/04 18:42
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/350