지난 더운 여름, EBS 다큐프라임에서 재밌는 이야기 하나를 보았습니다. "기생충과 우리는 함께 진화해 오고 있다." 그저 징그럽고 혐오스러웠던 하등한 기생충 따위가 월등히 진화된 우리와 함께 라니... 라며 반문 할 수 있겠지만, 생화학적으로나 진화적으로 '제대로' 진화해온 기생충이야 말로 똑똑하게 진화해서 숙주를 조종까지 하게 되었습니다



일례로 의학을 상징하는 카두케우스의 지팡이에 감긴 뱀 두 마리는 메디나충을 의미하는 것으로 예로 부터 알려진 대표적인 숙주를 조종하는 기생충입니다. 아프리카등지에서 오염된 물을 통해 감염된 메디나충은 성충이 되어 숙주 몸 밖으로 안전하게 알을 배출하기 위해 숙주인 사람을 물가로 이끌게 합니다. 중력 때문인지, 물과 근접하기 위함인지 정확하진 않지만, 대부분 물과 쉽게 닳는 발이나 복숭아뼈 근처 피부를 뚫어 수포를 만들고 염증반응을 유발하여 화끈거리는 발을 물가로 인도 하는 메디나 충은 그 긴 몸을 드러내고 본인의 목적을 달성합니다. 다시금 중간 숙주인 물벼룩의 먹이가 되어 보다 많은 종 숙주(사람)에서 삶을 이어갈 수 있도록 말입니다.

기생충은 오로지 자손 번식을 위해서만 살아간다고 합니다. 그렇게 진화된 것이라고 합니다. 회충은 몸의 대부분이 생식기로 구성되어 있으며 암컷 회충은 하루에 20만개의 알을 낳는다는 것도 이런 이유일 것입니다. 유충 상태로 우리 몸 어딘가에 정착된 기생충은 처음 직면하는 어려움이 우리 몸의 면역 세포들과의 소소한 싸움입니다. 면역 세포에 비해 덩치가 워낙 큰 기생충은 사실상 상대가 되지 않을 만큼 면역세포들에게는 큰 적입니다. 그러나 소소한 면역 세포의 끊임없는 괴롭힘은 사실 기생충으로 하여금 '나는 오직 자손 번식만 하면 돼..너 괴롭힐 맘 없으니 잠시 방 하나만 내어주면 조용히 지낼께~' 라며 양해를 구하게 하고, 싸우기 힘든 면역 세포 입장에서는 '그래, 약속만 한다면야...내가 참아주지.' 라며 서로 합의에 이르게 합니다. 그러나 이러한 합의는 성충이된 기생충의 살아가는 목적인 알을 안전하게 다음 숙주로 옮겨주어 자손을 널리널리 퍼뜨려 종족이 사라지지 않도록 하기 위해 위반하게 되고 숙주에게 해를 끼치게 됩니다. (물론, 중간 중간 이상한 물질을 분비하여 신경계를 교란 시키거나 여러 조직을 돌아다니면서 물리적으로 치명적인 해를 입히는 기생충도 많이 있습니다. )

여기서 생물을 연구하는 우리는 의문을 품었습니다. '기생충과 면역 세포간의 합의가 이뤄진 그 기간 동안 민감했던 면역 시스템이 대충 눈감아 줄 정도로 유연해 졌다면, 아토피나 알레르기와 같은 예민한 자가 면역이 호전 되지 않을까?' 전 세계 많은 과학자들은 실험을 했고, 결론은 '기생충이 아토피와 같은 자가 면역 질환에 도움이 된다'를 주장 하는 논문과 '유의한 결과가 없다'를 주장하는 논문이 함께 맞서고 있습니다[1][2][3][4].



이러한 상황을 생물정보학적으로 접근해 보겠습니다. 현재까지의 자가면역 질환에 대한 기생충의 효과는 대부분이 자가면역질환을 유도하는 면역 시스템인 Th2 면역반응에 수반되는 IL-4, IL-5, IL-6, IL-10, IL-13와 같은 cytokine과 IgE와 같은 염증반응을 유도하는 면역 글로빈의 반응을 중심으로 연구 되었습니다. 이를 유전체 전반으로 확장하여 생각해 보면, 실험의 대상이 되는 숙주인 사람은 생김새 부터 식습관, 성격까지 다양한 나름의 특징을 가지고 있고 이는 46 개 염색체 전반에 분포하고 있는 유전체상의 서열변이로 인해 갖는 다양성입니다. 따라서, 본래 태어날 때부터 갖는 외부 자극에 대한 면역 반응이 서로 다를 수 있으며 자라온 환경적인 이유로도(Epigenomics) 그 반응이 상이 할 수 있습니다. 같은 아토피 환자라 할지라도 반응 정도, 반응 물질, 반응 시기까지 모두 다양하게 나타나는 예가 바로 이에 해당된다 할수 있습니다. 따라서 복잡한 면역시스템과 기생충간의 상호 대응 관계를 일반화 시키기 위한 조건을 잡는 것은 쉬운일이 아닐것입니다.

생물정보분야에서는 이러한 복잡한 배경속에서 결론을 얻기 힘든 상황을 해결하기 위해 시맨틱 모델을 적용한 데이터 베이스를 활용하기 시작했습니다. 최대한 다양한 정보를 바탕으로 각각의 경우에 따른 반응정도를 정리하는 데이터 베이스를 구성하는 것으로 다음과 같은 정보들을 정리 할 수 있습니다.

첫번째, 유전체내 서열 변이 정보를 정규화 하여 데이터 베이스화 합니다.
예를 들어 집먼지 진드기에 알레르기를 일으키는 유형과 꽃가루 혹은 견과류에 반응을 보이는 유형 각각의 유전체 정보를 정규화 합니다. 단일염기변이(SNPs) 정보, gene loss 정보와 같은 유전체 전반에 걸친 정보를 데이터베이스화 합니다.

두번째, 이들의 유전자 발현 패턴을 정보화 합니다.
동일한 외부 자극에 대한 반응의 정도를 각각의 유형(집먼지진드기, 꽃가루, 견과류 반응)에 따라 유전자의 발현 패턴을 정규화 합니다. 또한 기생충(유충) 감염 상태에서의 유전자 발현 정도도 함께 체크합니다. (단, 감염 초기 4주 안에는 숙주에 큰 피해를 주지 않는다는 안정성 테스트가 있었습니다[5].) 뿐만 아니라 감염되는 기생충의 종, 감염 기간, 감염량에 따라서도 많은 차이를 보이므로 이들에 대한 적절한 실험 디자인이 필요합니다.

세번째, 기본적인 유전자의 생물학적 기능 정보를 비롯해 현재 알려진 세포내 신호전달 정보를 데이터베이스화 합니다.
KEGG를 비롯한 biocarta의 데이터베이스와 현재까지 업데이트 되지 못한 문헌상의 pathway 정보를 데이터베이스화 합니다(문헌상의 pathway 정보를 텍스트마이닝을 통해 정리해 주는 프로그램은 'PathwayStudio', 'Ingenuity' 등이 있습니다).

네번째, 각 실험 대상인 유형별 표현형을 데이터베이스화 합니다.
나이, 체중, 성별, 가족관계, 혈액형, 성격, 질병이력 등을 비롯해 식습관, 사는곳 등 가능한 많은 표현형 정보와 환경적인 요인을 정보화 합니다.







다섯번째, 현재까지 정리된 데이터들을 서로 연결합니다.
이때, 각각의 정보에 대한 의미론적인 관계(Semantic model)를 맺어주게 되고 이를 통해 기계가 특정 자극에 대한 결과를 통합적으로 살펴볼수 있도록 합니다(이를 위해서는 Biomax사의 'BioXM' 을 이용할수 있습니다).

이렇게 구축된 데이터베이스는 사용자의 질문에 대해 가능한 모든 정보를 배출하게 됩니다. 따라서 사용자는 최대한 많은 경우를 고려한 질문을 데이터베이스에 요구하여 데이터베이스로 하여금 시맨틱모델이 적용된 많은 조건을 모두 통과한 결과를 배출 하도록 하는 것이 필요합니다. 또한 의미있는 결과를 얻기 위해서는 앞서 언급했듯이 이러한 시맨틱 데이터 베이스가 최대한 많은 정보를 담아야 합니다. 따라서 다양한 실험 결과를 생산해 냄과 동시에 이미 공개된 데이터와 세계 각국에서 따로따로 진행된 일부 정보들을 모두 활용하여 세포속 네트워크 처럼 만들어 가는 것이 가장 중요하다 할 수 있습니다.

현재까지는 열거된 정보를 담은 기생충과 숙주와의 관계를 살펴 볼수 있는 데이터베이스를 찾기가 쉽지 않습니다. 그러나 시간이 갈수록 촘촘해지는 네트워크를 구축해 간다면,
"땅콩에 예민한 알레르기 반응을 보이는 반면 집먼지 진드기에는 반응을 보이지 않고있는 10세 이하의 어린이들 중 Heligomosomoides polygyrus 감염후 IgE 항체의 양이 4배이상 증가하는 숙주들의 유전자 loss들이 관여하고 있는 공통된 pathway는 무엇인가?" 라는 질문에 대한 정보에서 재밌는 단서를 찾을 수 있지 않을까 기대해 봅니다.



Reference

  1. Fallon PG, Mangan NE (2007) Suppression of TH2-type allergic reactions by helminth infection. Nat Rev Immunol 7: 220-230.
  2. Yazdanbakhsh M, Kremsner PG, van Ree R (2002) Allergy, parasites, and the hygiene hypothesis. Science 296: 490-494.
  3. Harnett W, Harnett MM (2008) Therapeutic immunomodulators from nematode parasites. Expert Rev Mol Med 10: e18.
  4. Yazdanbakhsh M, van den Biggelaar A, Maizels RM (2001) Th2 responses without atopy: immunoregulation in chronic helminth infections and reduced allergic disease. Trends Immunol 22: 372-377.
  5. Falcone FH, Pritchard DI (2005) Parasite role reversal: worms on trial. Trends Parasitol 21: 157-160

작성자 : Codes 사업부 Research팀
신윤희 선임

Posted by 人Co

2013/11/20 14:10 2013/11/20 14:10
, , , , , , ,
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/142

열심히 연구한 결과를 논문이나, 포스터, PPT 등으로 발표할 때 연구 결과를 잘 전달 할 수 있는 figure, 소위 이야기 하는 '예쁜 그림'을 이용해 보여주는 것이 중요합니다. 이를 위해 사용되는 다양한 형태의 figure 중에서, 벤다이어그램(Venn diagram)은 몇몇 집합에서 공통되는 원소들의 수를 나타내는데 주로 이용되는 다이어그램 중 하나입니다. 생물정보학에서는 주로 근연종들 사이에서 ortholog gene과 specific gene들의 수를 표현하거나, 공통 발현되는 DEG의 수를 나타내고자 할 때 이용되곤 합니다.


<세상엔 예쁜 벤다이어그램이 참 많지요.. 저걸 일일이 언제 다 그리나... 하아...>

벤다이어그램을 그리는 방법은 어렵지 않습니다. 엑셀의 필터 기능을 이용해 공통집합들에 해당하는 유전자(원소) 수와 각 집합에 유니크한 유전자 수를 각각 알아낸 다음 파워포인트로 타원을 이리저리 교차 시켜 템플릿을 만들고, 겹치는 부분에 해당하는 숫자를 입력하기만 하면 됩니다. 하지만 언제나 그렇듯 우리의 데이터는 수만의 유전자와 최소 3개 이상의 샘플(혹은 그룹)이 있으며 여러가지 실험 조건에 따라 값이 변경된 다양한 버전들로 존재합니다. 게다가 그룹이 4개인 벤다이어그램은 부분집합 수만 16개인데, 그 이상의 그룹을 벤다이어그램으로 그리려면 그룹이 기하급수적으로 늘어나고, 이렇게 번거로운 작업을 매번 반복하기란 여간 귀찮은일이 아닙니다.


<그룹이 5개면 부분집합만 31개.... 엑셀로 하면 부분집합 필터링 하는데만 마우스 클릭만 몇 번을 해야 하나....>

그래서 데이터 테이블만 있으면 자동으로 공통집합의 원소수를 알아내 예쁜 벤다이어그램으로 그려주는 방법을 알아보고자 합니다.

여기서는 통계 계산과 그래픽에 많이 사용되는 R이라는 프로그래밍 언어를 사용해 보겠습니다. 이미 다양한 경로로 R에 대해 들어 보셨을 겁니다. 하지만 많은 연구자들이 R을 사용하는데 많은 장벽을 느끼고 좌절을 하곤 합니다. 저 역시 마찬가지였고요. 하지만 이런 기회를 통해 조금씩 R과 친해져 보는 것도 앞으로 연구를 계속 하는데 많은 도움이 될 것 같습니다. 사실 엑셀과 R이 하는 일은 크게 다르지 않습니다. 두려움과 귀찮음을 잠시 묻어두고 한걸음 나아가봅시다.


R 설치하기


R은 R-Project(http://www.r-project.org/) 웹 페이지의 왼쪽 메뉴에서 'CRAN' =>
'http://cran.nexr.com/' 또는 'http://biostat.cau.ac.kr/CRAN/' (Korea의 미러사이트 중 한군데) =>'Download R for Windows' => 'base' => 'Download R 3.0.2 for Windows' 순서로 클릭을 하면 설치 프로그램을 다운로드 받을 수 있습니다. 다운로드가 완료되면 설치 프로그램을 실행하시고 아무 걱정 없이 '다음'을 쭉 클릭하시면 설치가 완료됩니다. 설치가 완료되면 '시작' => '모든 프로그램' => 'R' => 'R x64 3.0.2'을 마우스 우클릭을 하여 '관리자 권한으로 실행'을 클릭합니다. 32비트 컴퓨터를 사용하시면 'R i386 3.0.2'을 클릭합니다.

Data format, always data format


먼저 벤다이어그램을 그릴 데이터를 준비합니다. 모든 분석 코드들은 정해진 포맷에 맞는 데이터가 입력되어야만 에러 없이 결과를 출력합니다. 분석 코드의 첫부분은 입력 데이터의 어디가 이름(ID, valiable name)이고 어디가 값(value)인지, 어떻게 구분되어 있는지(tab-delimited, comma-separated)를 컴퓨터에게 인지시켜주는 내용들인데, 정해진 포맷의 데이터가 입력되지 않으면 엉뚱한 위치에서 값을 찾아 결국엔 에러 메세지를 출력합니다. 입력된 값에 이상이 있어 에러가 나기도 하지만 대부분의 에러는 입력데이터의 포맷이 사용한 코드에 맞지 않아 발생합니다. 이런 에러를 피하려면 두 가지 방법이 있습니다. 내 데이터 포맷을 분석 코드가 인식할 수 있도록 분석코드를 수정하는 겁니다. 하지만 이런 방법은 쉽지 않습니다. 두 번째 방법은 분석 코드가 인식하는 데이터 포맷에 맞게 내 데이터를 준비하는 겁니다. 준비 단계에서 약간 번거로울 수 있지만 가장 확실한 방법입니다.

먼저 실습해 볼 예제 데이터는 몇몇 근연종에서 ortholog gene을 분석한 데이터입니다.



파일을 다운 받아 주세요.

이 데이터는 각 종의 유전자 서열을 서로서로 BLAST를 돌려 서로 일치하는 유전자들을 각 종의 gene ID로 표기한 테이블입니다. 예를 들어 Species A의 BO16496은 Species D의 BH047N18.
14와 ortholog 관계가 있다고 보여져 한 라인에 각각의 아이디를 표기 하고 Clu8이라는 ID를 부여했습니다. Clu3에 있는 유전자들은 모든 종에서 발견된 ortholog gene이네요. Clu6의 RS007302는 다른 종의 서열에서 일치하는 유전자가 없어 Species B에서의 specifie gene으로 보여집니다. (이 데이터는 예제 데이터로 ID와 ortholog 관계를 무작위로 작명하고 배열한 데이터입니다.)

참! 엑셀로 만들어진 테이블 데이터는 저장할 때 '다른 이름으로 저장'에서 파일 형식을 '텍스트 (탭으로 분리)(*.txt)'로 선택한 후 저장하셔야 합니다.


패키지 불러오기


데이터가 준비 되었으면, 분석 코드가 사용할 패키지 코드를 설치합니다. 패키지는 어떤 분석에 주로 사용되는 분석 코드를 기능 별로 만들어 모아 놓은 것을 말합니다. 여기서는 limma라는 패키지와 gplot이라는 패키지를 사용할 겁니다.

R의 명령행에 아래 코드를 복사하고 붙여넣기를 하면 자동으로 'limma' 패키지가 설치되고 불러들여 집니다.

source("http://bioconductor.org/biocLite.R") biocLite("limma") library(limma)

R의 상단 메뉴 => 패키지들 => 패키지(들) 선택하기 => CRAN mirror: Korea(Seoul) 선택 => Packages: 'gplots' 선택 후 'OK'를 클릭하면 자동으로 'gplots' 패키지가 설치됩니다. 설치가 완료된 후 명령행에서 아래 코드를 입력하면 'gplots' 패키지가 불러들여 집니다.

library(gplots)

자 이제 데이터를 불러와 봅시다. R을 설치하고 실행하면 이런 화면이 나타날 겁니다.



여기에 "getwd()"라고 입력하고 엔터를 치면 이렇게 나타날 겁니다.

> gwtwd() [1] "C:/User/Username/Documents"

이 명령어는 'get working directory', 즉 현재 작업 폴더가 어딘지 출력하라는 명령어입니다. 아까 다운로드한 예제 데이터는 아마도 '바탕화면'이나 '다운로드' 폴더에 있겠죠? 간편하게 실습해 보기 위해 바탕화면에 VennDiagram이라는 새 폴더를 만들고 거기에 예제데이터를 복사해 둡니다. 그리고 'setwd()'라는 명령어로 새로 만든 폴더로 R의 작업 공간을 이동시켜 보겠습니다. 'setwd()'는 아래와 같이 사용하면 됩니다.

> setwd('이동할 폴더 경로')

'이동할 폴더 경로'는 아래와 같은 방법으로 얻을 수 있습니다. 새로 만든 폴더 상단에 주소 입력줄을 클릭해 보면 숨어 있던 상세한 폴더 경로가 나타날 겁니다. 폴더 경로가 전체 선택된 상태에서 'Ctrl+c' 를 눌러 복사를 하고 다시 R로 돌아온 다음 'Ctrl+v'를 눌러 붙여 넣기를 한 키보드의 'Home' 버튼을 눌러 커서를 제일 처음으로 옮겨 명령줄을 아래와 같이 고치고 엔터를 칩니다.



폴더 경로에서 'Users' 다음의 'Username'은 사용자 마다 다릅니다. 붙여 넣기한 그대로 사용하셔야 합니다. 여기서 고쳐져야 하는 것은 역슬레쉬('\') 기호를 하나가 아니라 두개로 입력되어야 하는 점입니다. 윈도우에서는 몇 가지 이유로 R이 역슬레쉬를 그대로 인식하지 못해 이런 방법으로 알려줘야 합니다.

setwd('C:\\Users\\Username\\Desktop\\VennDiagram')

역슬레쉬를 바꿔주지 않으면 이런 에러가 나타날 겁니다.

> setwd('C:\Users\Username\Desktop\VennDiagram')) 에러: "'C:\U"로 시작하는 문자열들 가운데 16진수가 아닌 '\U'가 사용되었습니다


R로 데이터 불러 오기


테이블 형태로 된 데이터를 불러오는 명령어는 'read.table()' 입니다. 먼저 'rfn' 이라는 변수에 파일 이름을 저장합니다. 그리고 'read.table()'을 이용해 데이터를 불러와 'data'라는 변수에 저장하라는 명령어를 사용합니다. 이 때 'read.table()'의 괄호 안에 몇가지 파라메터를 입력해 줍니다.

첫 번째 rfn은 'read.table'이 불러올 파일이름을 나타냅니다. rfn 대신 따옴표 안에 파일이름을 넣어 사용할 수도 있지만 파일 이름은 다른 변수에 저장하여 그 변수명을 바꾸는게 명령형 길이도 줄어들고 여러모로 편리하기 때문에 이런식으로 사용합니다. 두번째 'sep="\t"'는 테이블의 각 셀이 탭문자('\t')로 구분되어 있다고 알려줍니다. 세번째 'header=T'는 첫번째 줄에 column 이름이 있다고 알려줍니다. 여기서는 예제 데이터의 종명이 들어갈 겁니다. 네번째 'row.names=1'은 첫번째 열에 각 데이터의 ID가 있다고 알려주는 파라메터입니다.

테이블 형태의(그리고 탭으로 분리된) 텍스트 파일은 이 명령어를 이용해 R로 불러올 수 있습니다.

> rfn <- "ortholog_example.txt" > data <- read.table(rfn, sep='\t', header=T, row.names=1) > data Species.A Species.B Species.C Species.D Clu8 BO016496 BH047N18.14 Clu9 BO014834 RS013419 AT18397457 Clu3 BO014772 RS018960 AT15242221 BH042D24.27 Clu12 BO009902 Clu1 BO008537 AT15242224 BR143G12.16 Clu5 BO008364 RS038406 BH059G16.7 Clu4 BO008360 RS000136 BH006K11.24 Clu20 BO006059 RS040196 AT79324947 Clu13 BO005849 AT15234929 BH064P04.2 Clu7 BO005339 RS002816 Clu19 RS001238 AT15221666 BH015M19.22 Clu6 RS007302 Clu2 BH059C07.32 Clu18 RS008453 AT18420250 Clu17 AT18412659 BH065N19.8 Clu16 RS002645 AT186503429 Clu15 AT18416334 BH001M22.33 Clu14 RS005812 AT145358042 BH050H15.17 Clu11 AT15219226 Clu10 RS004647 BH027F23_27

데이터가 잘 들어 왔는지 확인해 보기 위해서 명령행에 데이터가 저장된 변수명, 'data'를 입력하고 엔터를 치면 전체 데이터를 볼 수 있습니다. 하지만 만약 데이터가 몹시 클 경우 화면이 가득 차거나 불러오다가 컴퓨터가 멈출 수 있으므로 가급적이면 'head()'와 'tail()' 명령어를 이용해 전체 데이터의 앞과 뒤 6줄씩 출력시켜 확인하는 방법을 권장합니다.

> head(data) Species.A Species.B Species.C Species.D Clu8 BO016496 BH047N18.14 Clu9 BO014834 RS013419 AT18397457 Clu3 BO014772 RS018960 AT15242221 BH042D24.27 Clu12 BO009902 Clu1 BO008537 AT15242224 BR143G12.16 Clu5 BO008364 RS038406 BH059G16.7 > tail(data) Species.A Species.B Species.C Species.D Clu17 AT18412659 BH065N19.8 Clu16 RS002645 AT186503429 Clu15 AT18416334 BH001M22.33 Clu14 RS005812 AT145358042 BH050H15.17 Clu11 AT15219226 Clu10 RS004647 BH027F23_27


데이터 형식 변형 시키기


벤다이어그램을 그리는데 사용할 명령어는 'vennCounts()'와 'venn()' 입니다. 이 명령어들은 'logical value'로 이루어진 'data.frame' 형식의 데이터를 입력 받습니다. 'logical value'는 'True' 또는 'FALSE', 즉 '참이다', '거짓이다', 또는 '있다', '없다'를 표현하는 값이란 의미입니다.

우리가 불러온 데이터는 그냥 요소(factor)들로 구성되어 있습니다. 이 데이터에서 값이 있으면 참, 없으면 거짓으로 바꿔 ld라는 변수에 저장시킵니다.

이 부분이 이해가 안 되시면 일단 아래 코드만 쭉~ 따라해 보시면 됩니다.

> ld <- (data != "") > ld Species.A Species.B Species.C Species.D Clu8 TRUE FALSE FALSE TRUE Clu9 TRUE TRUE TRUE FALSE Clu3 TRUE TRUE TRUE TRUE Clu12 TRUE FALSE FALSE FALSE Clu1 TRUE FALSE TRUE TRUE Clu5 TRUE TRUE FALSE TRUE Clu4 TRUE TRUE FALSE TRUE Clu20 TRUE TRUE TRUE FALSE Clu13 TRUE FALSE TRUE TRUE Clu7 TRUE TRUE FALSE FALSE Clu19 FALSE TRUE TRUE TRUE Clu6 FALSE TRUE FALSE FALSE Clu2 FALSE FALSE FALSE TRUE Clu18 FALSE TRUE TRUE FALSE Clu17 FALSE FALSE TRUE TRUE Clu16 FALSE TRUE TRUE FALSE Clu15 FALSE FALSE TRUE TRUE Clu14 FALSE TRUE TRUE TRUE Clu11 FALSE FALSE TRUE FALSE Clu10 FALSE TRUE FALSE TRUE

이렇게 변환된 데이터 'ld' 를 'as.data.frame' 명령어를 이용해 'data.frame' 이라는 형식으로 변환시켜 'ld.df' 라는 변수에 저장합니다.

> ld.df <- as.data.frame(ld) > ld.df Species.A Species.B Species.C Species.D Clu8 TRUE FALSE FALSE TRUE Clu9 TRUE TRUE TRUE FALSE Clu3 TRUE TRUE TRUE TRUE Clu12 TRUE FALSE FALSE FALSE Clu1 TRUE FALSE TRUE TRUE Clu5 TRUE TRUE FALSE TRUE Clu4 TRUE TRUE FALSE TRUE Clu20 TRUE TRUE TRUE FALSE Clu13 TRUE FALSE TRUE TRUE Clu7 TRUE TRUE FALSE FALSE Clu19 FALSE TRUE TRUE TRUE Clu6 FALSE TRUE FALSE FALSE Clu2 FALSE FALSE FALSE TRUE Clu18 FALSE TRUE TRUE FALSE Clu17 FALSE FALSE TRUE TRUE Clu16 FALSE TRUE TRUE FALSE Clu15 FALSE FALSE TRUE TRUE Clu14 FALSE TRUE TRUE TRUE Clu11 FALSE FALSE TRUE FALSE Clu10 FALSE TRUE FALSE TRUE

특별히 바뀐게 없어 보이지만, 'class()' 명령어를 이용해 data.frame 형식으로 바꾸기 전후를 비교해 보면 무엇이 바뀐지 알 수 있습니다 'data'를 'logical value'로 변환 시키면 그 결과는 'matrix'라는 형식으로 출력됩니다. 이를 'as.data.frame()'이라는 명령어로 'data.frame' 형식으로 바꿔 'ld.df'라는 변수에 저장을 시킨 겁니다.

> class(ld) [1] "matrix" > class(ld.df) [1] "data.frame"


각 집합 및 교집합들의 유전자 수 알아내기


예제 데이터를 보면 어떤 유전자들은 특정 종에서만 나타나는 유전자이고, 어떤 유전자는 다른 종에서도 ortholog 관계의 유전자가 있다고 합니다. 즉 크게 보면 4개의 집합이 있고, 4개의 집합으로 만들어질 수 있는 부분집합(교집합들과 각 집합의 유니크한 원소만 나타내는 부분집합) 16개가 있습니다. 이 부분집합들에 해당하는 유전자 수를 테이블 형태로 확인하는 명령어가 'vennCounts()' 입니다. 이 명령어에 'ld.df' 를 입력하면 아래와 같은 결과가 출력됩니다.

첫번째 줄을 보면 모든 집합(종에서도)에서 없는('0') 원소의 수가 가장 오른쪽 'Counts' 열에 0개 있다고 출력되어 있습니다. 두번째 줄은 다른 종에서는 없고('0') 'Species.D'에서만 있는('1') 원소의 수가 1개 있다고 합니다. 15번째 줄은 'Species.A', 'Species.B', 'Species.C'에서 공통적으로 ortholog 관계의 유전자가 2개 있다고 출력되어 있습니다.

> vennCounts(ld.df) Species.A Species.B Species.C Species.D Counts [1,] 0 0 0 0 0 [2,] 0 0 0 1 1 [3,] 0 0 1 0 1 [4,] 0 0 1 1 2 [5,] 0 1 0 0 1 [6,] 0 1 0 1 1 [7,] 0 1 1 0 2 [8,] 0 1 1 1 2 [9,] 1 0 0 0 1 [10,] 1 0 0 1 1 [11,] 1 0 1 0 0 [12,] 1 0 1 1 2 [13,] 1 1 0 0 1 [14,] 1 1 0 1 2 [15,] 1 1 1 0 2 [16,] 1 1 1 1 1 attr(,"class") [1] "VennCounts"


이제 진짜 벤다이어그램을 그려보자


이렇게 준비된 데이터를 벤다이어그램으로 그려주는 명령어는 'venn()' 입니다. 아래 명령을 실행해 보면 자동으로 카운팅된 교집합에 해당하는 원소들의 수가 알맞는 칸에 배치된 벤다이어그램이 출력됩니다. 이렇게 출력된 그림은 창 크기를 적당히 조절해서 사이즈를 조절한 다음 마우스 오른쪽 버튼으로 클릭하면 그림파일로 저장하거나 복사해서 파워포인트로 붙여 넣어 이용할 수 있습니다.

'venn()'은 최대 5개 집합의 데이터만 받아 벤다이어그램을 그려줍니다.

> venn(ld.df)




마무리


더 찾아보면 R에서 벤다이어그램을 그려주는 패키지는 상당히 많습니다.


이중에서 데이터 조작이 적고, 비교적 간편하게 이용할 수 있는 'gplot'의 'venn()'을 소개해 드렸습니다. 조금더 간편하고 예쁜 벤다이어그램을 그릴 수 있는 방법을 알고 계신 분이 계시면 아래 이메일로 알려주시면 감사하겠습니다. 알려주신 내용으로 업데이트 해서 올리도록 하겠습니다.

가능하면 R이나 코딩에 친숙하지 않은 분들을 위해 작은 부분까지 설명해 드리고자 노력했습니다만, 충분히 전달되지 못한 부분들도 있을 것 같습니다. 이해가 잘 안 되거나, 에러 나는 부분이 있으면 언제든 codes@insilicogen.com 메일 주소로 문의주세요.

여러분의 연구에 작은 도움이 된다면 더할 나위 없이 기쁘겠습니다.



Reference




작성자 : Codes사업부 Research팀
심재영 주임




Posted by 人Co

2013/11/01 17:41 2013/11/01 17:41
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/141

Insilicogen 9th Anniversary!

"차라투스트라는 이렇게 말했다" 의 웅장한 선율이 들리는 이곳은 어디일까요? 바로, (주)인실리코젠 제9주년 창립기념일 행사가 열리는 본사 세미나실입니다. 슈트라우스의 교향시를 배경으로 한 심재영 주임님(Codes사업부)의 엄숙한 개회선언이 있었습니다. 하지만, 미소를 숨기지 못하는 사회자 특유의 표정과 재치 넘치는 진행 때문이었을까요. 엄숙했던 개회선언이 유쾌함으로 바뀌는 데는 오랜 시간이 걸리지 않았답니다.




"긍지와 자부심, 그대의 이름은 우리 人Co의 자랑입니다." 정말 멋지지 않나요? 문구, 배치, 폰트디자인 등 Descign팀의 심사숙고가 느껴지는 제9주년 기념 슬로건입니다. 이 슬로건은 플래카드, 명찰로도 제작되어 "긍지와 자부심"을 가지기에 강력한 부적효과를 지닙니다.



자, 이제는 공식적으로 지난 9년의 세월을 축하해 줄 케이크입니다. 과연 누가 이 영광스런 케이크 커팅의 주인공이 되었을까요? 최남우 사장(대표이사)님을 포함하여 특별히 숫자 9와 인연이 있는 세 분이 함께 자리를 빛내주셨습니다. 9명의 부서원을 책임지고 있는 박준형 부장님(Codes사업부), 올해 29세인 조아영 주임님(Descign팀), 9월 출생한 이제홍 선배님(Trac사업부)이 그 주인공이십니다. 또한, 29살, 9월 출생, 9월 입사, 9번째 KM식구가 된 글쓴이로써 더욱 뜻깊은 자리였습니다.



이어서, 창립기념일 행사의 메인코너인 CEO Message 순서입니다. 2005년 가을, 세 분의 의기투합으로 시작된 인실리코젠의 탄생은 2013년 오늘 무려 사십 여 명으로 성장했습니다. 특별히 사장님은 건강, 사랑, 돈을 인생에서 중요한 세 가지로 언급하시면서 (주)인실리코젠의 걸어온 과거와 나아갈 미래에 대해 말씀하셨습니다. "그동안 대박 보다는 꾸준함으로 성장해왔습니다. 이제 내년이면 10주년입니다. 지난 10년은 미래를 위한 준비과정이었습니다. 함께 꿈꾸고 만들어 갑시다". 또한, 10/1일을 창립기념일로 정한 이유는 창립 당시 휴일(국군의 날)이었기 때문이라고 합니다. 아쉽지만 휴일이었다면 이런 뜻깊은 행사도 없었겠죠?;;


"10살, (아직) 아니죠~ 깨알 같은 엄지손가락이 보이시죠!?"


다음은 회식 다음으로 행사의 가장 많은 시간을 차지한 삼행시/수기공모전 발표가 진행되었습니다. 삼행시 대상은 회사연락망 이름순서대로 본인 다음사람으로 선정되었습니다. 저는 영광스럽게도 사장님이 선정되었답니다. 결과는 인기투표에 의해 결정되었습니다. 상금이 걸려서 그런 걸까요. 상당히 흥미롭고도 수준 높은 삼행시가 다양하게 출시되었습니다.



수기는 회사와 관련된 자유주제로 걸쳐 총 9건이 선정되었습니다. 여기서 다 공개할 수는 없지만 감동과 재미로 가득찬 人Co인들의 글솜씨에 모두 함께 웃고 또 울기도 했답니다. 무엇보다 타고난 진행력과 읽기를 선보이신 사회자와 특별초빙된 낭독 전문가 유승일 선배님(Codes사업부)의 역량이 돋보이는 순서였습니다.

점점 마지막 순서가 가까워지고 있습니다. 인실리코젠의 오랜 전통인 타임캡슐 개봉 및 봉인순서입니다. 작년 창립기념일에 작성된 내용 일부를 랜덤으로 공개한 후, 각자가 앞으로 1년 후 본인에게 하고 싶은 말을 적어서 타임캡슐에 봉인했습니다. 갓 입사한 저는 무슨 말을 적었을까요.



이어, 메인행사장을 떠나 포토타임을 가지기 전 다함께 돌아가면서 얼굴을 마주하고 악수를 하며 개인적인 칭찬과 격려, 감사의 말을 나누는 훈훈한 시간을 가졌습니다. 세상에서 가장 예쁘고 멋진 미소로 단체 사진촬영을 마치고, 하늘 위로 날려버리고 싶은 무언가를 풍선에 적었습니다. 이날은 마침 풍선비행을 관람하기에 최적의 날씨였습니다. 철새떼의 군무처럼 초록-파란색 풍선들이 아름다운 패턴을 그리며 훨훨 날아갔습니다.






이제 창립기념일 행사의 마지막 순서인 人Co Drinking 입니다. 회사 근처의 유명 오리고기집으로 이동하였습니다. 바쁜 업무로 본 행사에 참가하지 못한 인원들도 하나둘씩 합류했습니다. 삼행시/수기공모전 결과발표 및 상금 전달식과 함께 화기애애한 회식은 지속되었습니다.
"내년 10주년 행사에서 또 만나요, 제발~~"



이번 창립기념일 행사에 처음으로 참가하면서 명확해진 것이 하나 있습니다. 누군가 "인실리코젠이 무엇인가요?" 라고 물으면 저는 이렇게 말할 수 있습니다. "생물정보학 컨설팅 전문기업이며, 人Co라는 가치체계로 진화하는 모임입니다". 만약, 묻는 이가 외국인이라면 아래처럼 대답하고 싶네요.

"Intelligence of science from collaborative generation is a Insilicogen."
-- Dr. Murthi (Codes Div. of Insilicogen, Inc.)



(주)인실리코젠의 아홉 번째 생일을 축하합니다. 또한, 축하해 준 모든 분들께 감사드립니다. 생물정보분야에서 사랑받고, 태어나길 잘한, 꼭 필요한 기업이 되도록 더욱 노력하겠습니다.



작성자 : KM사업부 정우진


Posted by 人Co

2013/10/21 16:22 2013/10/21 16:22
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/140

차세대 염기서열 분석 기술은 더 짧은 시간에 더 적은 비용으로 더 많은 염기서열을 결정할 수 있는 플랫폼이 계속적으로 업그레이드 되면서, 생물정보 분석은 이제 선택이 아닌 필수가 되었습니다. 또한 NGS 데이터의 분석 단계는 크게 pre-processing, assembly 그리고 assembly를 이용한 이차 분석으로 나누어 볼 수 있는데 이러한 분석 단계들을 하나의 툴에서 모두 진행하고 그 결과를 그래픽하게 확인할 수 있다면 NGS 데이터를 다루는 생물학자들이 훨씬 더 수월하게 연구를 진행할 수 있을 것입니다. 이를 위한 목적으로 개발된 CLC bio사의 CLC Genomics Workbench는 GUI 기반의 데스크탑 솔루션으로 각 NGS 플랫폼에서 제공하는 다양한 데이터셋을 지원하여 assembly를 비롯한 이후 이차분석까지 한번에 수행할 수 있는 통합형 생물정보 분석 도구입니다.

PART 1. Variant Detection

NGS 데이터를 이용한 최근 연구들을 살펴보면 resequencing 분석에 포커싱이 맞춰지고 있으며, 이러한 연구 동향에 발맞추어 CLC Genomics Workbench의 툴들도 resequencing 분석에 초점을 맞춘 SNP, Indel detection 툴이 업그레이드되었습니다.



Variant 분석에 대한 업그레이드 내용을 이야기하기 전에 read mapping 결과를 재조정할 수 있는 툴인 ‘Local realignment’를 먼저 소개합니다. 이전에는 beta 버전으로 제공되었지만 지난 달 업그레이드가 되면서 CLC Genomics Workbench의 정식 툴이 되었습니다. Read mapping을 수행하는 과정에서 align 되지 않았던 끝 부분을 realign하여 보다 정확한 read mapping 결과를 제공해줍니다. 자, 그럼 결과를 직접 눈으로 확인하는 것이 더 신뢰가 가겠죠?



위의 그림에서 [A]는 처음 read mapping을 수행했으며, 1,2,5번째 read의 4개의 염기가 제대로 align 되지 않아 gap이 생겨난 것을 확인할 수 있습니다. [B]는 [A]의 데이터를 가지고 ‘Local realignment’ 결과 화면을 보여주고 있습니다. [A]에서 gap이 발생했던 염기부분이 다시 realign된 것을 확인할 수가 있습니다. 이처럼 realign을 통해 정확한 mapping 데이터를 기반으로 이 후 variant 분석을 수행한다면 분명 고퀄리티의 결과를 얻을 수 있을 것입니다.

CLC Genomics Workbench에서의 SNP detection은 두 가지 알고리즘으로 분석을 수행할 수 있습니다. 하나는 확률을 계산하는 ‘Probabilistic Variant Detection’, 또 하나는 quality를 계산하는 ‘Quality-based Variant Detection’의 분석 툴입니다. 이러한 두 가지 분석 툴 중에 데이터의 특성에 적합한 것으로 선택하여 분석한다면 더욱 정확한 잠재적인 SNP를 발굴할 수 있습니다.

또한 새로운 버전에서는 SNP처럼 단일 염기가 아닌 더 넓은 범위의 영역에 대한 InDel(insertion, deletion)이나 structural variant를 detection 할 수 있는 ‘InDels and Structural Variants’ 툴이 추가되었습니다. 기존 beta 버전에서는 HiSeq 플랫폼의 paired read로 mapping된 데이터만 input으로 지원했던 부분이 Roche 454 플랫폼에서 생산되는 single read의 mapping 데이터도 input으로 지원되어 다양한 데이터셋의 hybrid assembly 결과도 indel 분석이 가능해졌습니다.



그리고 variant 분석 후 발굴된 SNP 후보들이 이미 알려진 variant 정보와 비교하여 필터링 할 수 있는 ‘Filter against known variants’와 이미 알려진 variant 정보를 추가할 수 있는 ‘Annotate from known variants’의 툴 기능도 향상되었습니다.

Read mapping을 통하여 분석된 variation들을 mapping된 서열 단위에서 그 결과를 뷰어할 수 있지만, track이라는 새로운 뷰어를 제공하여 브라우저 형태의 역할을 할 수 있도록 도와주고 있습니다. 이 또한 다양한 기능 업데이트를 통해 더 효율적으로 분석 결과를 확인할 수 있습니다.

이러한 track 툴을 활용하면 위에서 보는 바와 같이 한 종의 genome 내 다양한 정보들(Gene, CDS, Transcript, mRNA, Exon, Variation)을 한 화면에서 확인할 수 있고, 아래의 그림과 같이 Trio analysis 툴을 이용하여 부모에게서 자녀로 유전되는 SNPs 정보나 mutation 정보, 그로 인해 나타나는 질병 등에 대한 분석 후 그 정보를 한번에 확인할 수 있습니다.




PART 2. Workflow

앞서 이야기한 variation 분석은 만약 여러 샘플에 대한 분석을 개별적으로 진행하려면, 단순한 분석을 여러번 수행함으로 시간이 많이 소요됩니다. 이렇게 여러 샘플의 데이터를 각각 동일한 분석 과정을 수행해야할 경우, workflow라는 기능을 이용하면 빠른 시간안에 쉽게 분석을 완료할 수 있습니다. 아래의 그림과 같이 분석해야하는 툴(기능)들을 선택하고, 각 툴을 순서대로 나열한 다음 각 분석단계의 output 파일을 다음 분석과정의 input 데이터로 연결만 시키면 하나의 workflow가 만들어집니다.


이렇게 만들어진 workflow를 이용하여 분석하고자하는 샘플 데이터만 선택해주면 일련의 과정대로 클릭 몇 번 만으로 결과 데이터를 얻을 수 있으며, workflow를 installer로 변환하여 toolbox내에 하나의 툴로써 추가할 수 있어 실험실 내에서 정규화된 분석 파이프라인을 직접 제작할 수 있습니다. 그리고 이러한 workflow를 통해 만들어지는 output 데이터를 원하는 포맷의 파일로 별도의 export가 가능합니다.





PART 3. 3D Molecule Viewing

CLC Genomics Workbench 내에는 NGS 데이터를 분석하는 툴 외에도 일반 서열 데이터를 기준으로 분석할 수 있는 다양한 생물정보 툴들이 통합되어 있습니다. 이 중 Molecule Viewer는 Protein Data Bank(PDB) database에 저장되어 있는 단백질과 다른 분자들의 structure inspection과 visualization을 수행할 수 있도록 합니다. 이 전에는 CLC Genomics Workbench를 이용하면 단백질의 3D 구조의 뷰어만 확인할 수 있었습니다. 하지만 이번 업그레이드를 통하여 3D 구조의 뷰어뿐만 아니라 서열 정보와 연동되어 3D 구조상에서 선택된 영역이 어떤 서열로 이루어져 있는지 함께 뷰어가 가능해졌습니다. Domain 및 binding site 분석하시는 연구자분들이 늘 서열과 함께 분석되어졌음 좋겠다 하셨었는데, 이젠 굉장히 유용하게 사용될 수 있겠지요?

뿐만 아니라 Protein, Ligands, Water molecules, Internolecular bonds 등의 원하는 molecule 정보만을 선택하여 뷰어할 수도 있다고 합니다.





PART 4. Phylogenetic trees


이번에 소개해드릴 기능은 계통분석을 수행하는 실험실에서는 아주 반가운 소식이 아닐까 합니다. 사실 계통분석은 굉장히 어렵고도 다양한 알고리즘이 존재하여 현재는 전문적인 소프트웨어들을 많이 사용하고 있고, CLC Genomics Workbench를 통해서는 서열을 정렬한 후 기본적인 tree까지만 제공하며 분석 결과의 수정이 어려웠던 부분이 있었습니다. 허나 이번 업그레이드를 통하여 Phylogenetic tree module이 plug-in으로 새로 추가되어 좀 더 전문화되고, 분석 결과를 그래픽하게 확인할 수 있게 되었습니다.



Phylogenetic tree module은 Plug-in을 통하여 다운로드 받으신 후 ‘Create Tree’ 툴로 실행합니다. 실행 과정에서는 이전 버전과 달라진 부분은 없으며 뷰어 옵션을 지정할 수 있는 Side panel을 통해 tree 결과의 뷰어 설정을 변경할 수 있습니다.
Tree layout이 아래 그림과 같이 다섯가지로 선택할 수 있어 원하는 형태의 tree구조를 figure 자료로 사용할 수 있게 되었습니다.



또한 이 뿐만이 아니라 메타데이터의 수정도 가능해졌습니다. 이전 버전에서 이 기능을 문의하셨던 사용자분들도 굉장히 많았었는데요, 새 버전에서는 node, label 세팅 기능의 추가로 인해 사용자가 원하는 tree 그림을 그릴 수 있게 되었습니다.

이상으로 CLC Genomics Workbench 프로그램의 주요한 업그레이드 내용을 소개해드렸습니다. 블로그를 통해 모든 정보를 알려드리기가 어려워 아쉬운점이 있지만, 소개해드린 기능 이외에도 업그레이드 및 개선된 기능들이 많이 있으니 아래의 사이트를 방문하시면 더욱 자세한 정보를 확인할 수 있습니다.

http://www.clcbio.com/products/latest-improvements/

그리고 언제든지 생물정보 소프트웨어에 대하여 문의사항이 있으신 분들은
(주)인실리코젠의 마케팅팀(Marketing@insilicogen.com)을 찾아주시기 바랍니다!
감사합니다.


작성자 : Marketing팀 송하나

Posted by 人Co

2013/09/30 16:46 2013/09/30 16:46
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/139

바이오빅데이터의 작은 이야기

1. 개요
최근 들어 빅데이터가 상당히 큰 이슈가 되고 있다. 박근혜 정부의 가장 큰 흐름 중 하나가 빅데이터라는 이야기를 쉽게 접할 수 있는 상황이다. 신문지상에서도 큰 주제로 빅데이터에 관한 기사가 연일 연제가 되고 있으며, 정부가 새롭게 추진하는 사업에서도 빅데이터라는 키워드가 핵심 이슈로 자리 잡고 있다. 최근 8월 8일자 세계일보에서 “심야버스 노선정책 지원”, “국민건강 주의 예보 서비스, 의약품 안전성 조기경보 서비스, 심실 부정맥 예측 등 보건의료 서비스, 소상공인 창업성공률 제고를 위한 점포이력 분석서비스 등을 주요 시범사업으로 정리한 것을 볼 수 있다. 그러나 빅데이터에 대해서 이름을 알고 간략한 개념을 알고 있었을 뿐 어떻게 현재 바이오데이터에 접목할 수 있는지 현재 상황은 어떠한지 파악하기가 쉽지 않았다. 일반적으로 전산의 다양한 알고리즘들이 바이오분야에 뒤늦게 접목되는 것처럼 아직 바이오데이터를 빅데이터로 접목하는 것은 시기상조일 것이라는 생각이 컸었던 것이 사실이다. 빅데이터의 시대, 바이오분야에서는 어떠한 흐름이 있으며, 어떻게 준비해야 되는지 좀 더 구체적으로 준비를 해야 될 시기가 된 것 같다.

2. 빅데이터란?
‘데이터 data’라는 말은 라틴어로 ‘사실 fact’로서 ‘주어진다 given’는 뜻이다. 오늘날 데이터는 기록되거나 분석되거나 재정리할 수 있는 어떤 것을 가리킨다. 또한 어떤 현상을 ‘데이터화’한다고 하는 것은 표를 만들고 분석이 가능하도록 그 현상을 수량화된 형태로 만든다는 뜻이다. 따라서, 우리가 쉽게 혼동하는 데이터화와 디지털화는 서로 아주 다른 개념이다. 디지털화란 아날로그 정보를 컴퓨터가 처리할 수 있도록 2진법 코드의 0과 1로 만든다는 뜻이다.
15세기 중엽 인쇄기 발명 이후 약 1억 3천만 권의 고유한 책이 출판된 것으로 추산된다. 구글은 세계의 문헌을 데이터화하기 위해서 문헌 자료를 스캔하기 시작하여 2012년까지 2천만권 이상의 문헌을 스캔하였다. 이는 글로 된 세계 유산의 15퍼센트 이상에 해당하는 막대한 양이다. 이로 인해 ‘컬처로믹스(Culturomics)’라고 하는 새로운 학문 분야가 생겨났다. 텍스트의 양적 분석을 통해 인간 행동과 문화 트랜드를 이해하는 컴퓨터 어휘학이 그것이다.
위에서 데이터를 정의한 것처럼 빅데이터를 정의하는 말은 다양하다. 단어 때문에 단순히 양이 많은 데이터라는 것을 먼저 떠올리게 되는데 데이터의 양이라는 것은 빅데이터의 한 측면일 뿐이다. 빅데이터의 가장 많이 알려진 특성은 다음처럼 V로 시작하는 세 가지 키워드로 표시할 수 있다.
• Volume : 데이터양 (현재는 수십 테라바이트 ~ 수 페타바이트 규모)
• Variety : 다양한 데이터 (구조화 데이터 + 비구조화 데이터)
• Velocity : 데이터 발생 빈도, 갱신 빈도 (1초에 수십 건 이상)
[출처:채승병 외, 빅데이터: 산업 지각변동의 진원,SERI CEO Information, 2012. 5]

하지만 빅데이터를 단순히 위 3가지의 특성만으로 정의하기에는 부족한 점이 많다. 따라서 보다 광범위한 의미의 빅데이터란 위에서 언급한 ‘3V (데이터양/다양성/속도) 측면에서 관리가 곤란한 데이터 및 그 데이터를 축적, 처리, 분석할 수 있는 기술, 나아가 그 데이터를 분석해서 유용한 의미와 통찰을 이끌어낼 수 있는 인재와 조직을 포함하는 포괄적인 ’개념‘이다. 빅데이터를 정의하는데 있어 관련 사례를 제시하는 것이 좀 더 쉽게 와 닿을 수 있는데, 구글은 월간 900억 회에 이르는 인터넷 검색을 위해 매월 600 페타바이트의 데이터를 처리한다고 한다. 또한 트위터의 경우 하루에 8 테라바이트나 되는 데이터를 생성하고, 페이스북은 매달 300억 개나 되는 콘텐츠를 생산해 내는데 그 양이 30 페타바이트 이상이라고 한다. 전혀 감이 잡히지 않는 어마어마한 수치인 것이다.
전산학자는 아니지만 생물의 데이터를 다루고 있는 생물정보전문가로서 바이오정보(유전체 데이터)의 규모가 상당하다고 생각을 했었는데 현재 실제로 생성되고 분석 및 서비스에 활용되고 있는 외국의 사례를 알게 되니 크게 놀라지 않을 수 없었다.

3. 오픈데이터 시대
노무현 전 대통령은 국정 운영에 국민의 참여를 중요시하는 참여정부를 이슈로 하여 공공기관의 전자정부화를 적극 추진하였다. 그로 인해 문서화 되어있는 많은 공공기관의 업무들이 전자화, 전산화되어 이를 현재까지도 잘 운영하고 있어, 세계적으로 우수한 전자정부를 갖추고 있다.
현재는 미국 연방정부를 비롯하여, 영국 정부 등 서유럽 국가에서는 열린 정부 정책을 추진하고 있다. 즉 정부나 지자체 등 공공 기관이 보유한 통계 자료, 지리정보, 생명 과학 등의 과학 데이터를 공개하고 이를 모두 연결해 사회 전체가 큰 가치를 만들어내고 공유하려는 움직임을 구축해 나가고 있는 것이다. 이는 WWW (World Wide Web)의 구조를 고안하여 ‘WWW의 아버지’로 불리는 영국의 컴퓨터 과학자인 팀 버너스-리는 미국 캘리포니아주 롱비치에서 ‘TED (Technology Entertainment Design)’ 콘퍼런스에서 ‘Raw Data Now!’라고 호소한 바 있다. 이러한 움직임을 ‘LOD (Linked Open Data)라고 부른다.
미국 연방정부는 오바마 대통령이 ‘투명하고 열린 정부’를 표방하여 ‘투명성’, ‘국민참여’, ‘정부 및 민간 연계 및 협업’을 세 가지 큰 원칙으로 삼고 투명하고 시민에게 열린 협조적 정부가 될 것을 각 정부 기관에 요구했다고 한다. 이 3원칙 중 ‘투명성’을 구현한 것이 국제 정세, 환경, 경제 상황등 연방정부 기관이 보유한 각종 데이터를 시민에게 제공하는 웹 사이트 ‘Data.gov’이다. Data.gov에서는 정부 데이터가 국민의 자산이라는 사고 방식을 바탕으로 연방정부 기관이 소유한 Raw Data Catalog와 지역별 데이터 Geo Data Catalog를 카탈로그 형식으로 제공한다. 덕분에 2009년 5월 47개 데이터에 불과했던 카탈로그는 2012년 5월 시점에서는 39만개 까지 확대되었다고 한다.


영국 정부 또한 2010년 1월부터 정부 소유의 데이터를 모은 ‘Data.gov.uk’를 구축, 이를 공개하여 일반 시민이 범죄, 교통, 교육 등 개인 데이터 이외의 정부 소유 데이터에 접근할 수 있도록 하었다. 공개 직후부터 2,500개의 많은 데이터가 공개되었고, 2012년 5월 시점에 8,400개 이상이 되어 프로젝트가 시작한지 2년 만에 3배 이상 증가하였다.



우리 정부 또한 국가의 다양한 정보를 공개하여 이를 국민의 생활에 유익한 형태로 서비스하고자 하는 정책들이 지속적으로 개발되고 있는 것을 확인할 수 있다. 또 한 정부 뿐만 아니라 정부가 공개한 데이터를 이용하여 상용 서비스를 제공하는 벤처 기업도 속속 등장하고 있어, 이제는 멜론과 같이 음악 스트리밍 사이트에서 온라인 음악을 구매하는 것처럼 정부의 다양한 정보들을 손쉽게 원하는 형태로 구매하여 빅데이터에 활용할 수 있는 시대가 된 것이다.


4. 바이오회사의 빅데이터 시도
빅 데이터 회사들은 제공하는 가치에 따라 세 종류로 나눌 수 있다. 그 가치는 각각 데이터, 기술, 아이디어다.
첫 번째 가치인 데이터 기업들은 데이터를 보유하고 있거나 최소한 데이터에 접근할 수 있는 회사들이다. 이들의 사업 목적은 데이터 자체가 이닐 것이다. 또는 데이터에서 가치를 추출하는 데 필요한 기술이나 창의적 아이디어가 없을 수도 있다. 가장 좋은 예가 트위터인데, 트위터 서버에는 엄청난 양의 데이터가 넘쳐나지만, 트위터는 다른 이들이 이것을 이용할 수 있도록 두 개의 독립적 회사를 통해 데이터 사용을 허가하고 있다.
두 번째 가치는 기술이다. 기술 기업에는 자문 회사나 기술 판매사, 분석 제공 업체 등이 포함될 것이다. 이들은 전문성을 가지고 일하지만 스스로 데이터를 보유하거나 데이터에서 가장 혁신적인 용도를 생각해낼 창의성이 없을 수도 있다.
세 번째 가치는 아이디어, 즉 빅데이터 사고방식이다. 어떤 회사들은 성공의 주된 원인이 데이터나 노하우에 있지 않다. 이들 기업이 두각을 나타내는 것은 설립자나 직원들이 데이터에서 새로운 형태의 가치를 추출할 수 있는 독창적인 아이디어를 보유하고 있기 때문이다.
다양한 분야에서 빅데이터를 이용하여 인간이 원하는 결과를 얻고자 하는 사례들이 끊임없이 전해지고 있다. 미국과 유럽의 경우 이러한 빅데이터에 대한 선점효과를 톡톡히 누리고 있는데, 조만간 바이오 분야의 거대 빅데이터를 선점하는 회사들을 곧 접하게 될 것이다. 우리 회사와 협력을 맺고 있는 해외 파트너사들도 이에 대한 사업 전략을 수정하여 적극적으로 추진하는 것을 확인해 볼 수 있다.

4-1. Elsevier의 Ariadne Genomics 흡수 통합
거대 저널 회사인 Elsevier는 매년 출간하는 저널의 수만 1천여 종이 넘는다고 하며, 전 세계 저널의 40% 가량을 독점하고 있으나, 독과점방지법으로 인해 표면상으로는 25% 정도의 시장을 장악하고 있다고 알려져 있다. 이 수치도 엄청난 수치인 것이다. 전 세계의 전문화되고 검증된 정보의 25%를 독점적으로 관리하고 보유하고 있다는 것은 엄청난 가치를 보유하고 있는 셈이다. Elsevier는 단순히 저널을 배포하고 관리하는 회사에서 자체적으로 보유하고 있는 지식정보를 이용하여 공격적으로 새로운 가치를 추출하는 사업을 추진하고 있다. 즉 텍스트마이닝이라는 기술을 통해서 전문화된 문헌 속에서 질병과 현상, 그리고 유전자 및 관련 약물의 상호 연관관계를 추출하여 새로운 약물 개발 및 질병 진단과 예방, 처리에 새로운 사업 모델을 준비하고 있는 것이다. 이를 위해서 바이오 문헌의 텍스트마이닝에서 가장 우수한 기술을 보유하고 있는 Ariadne Genomics사의 Pathway Studio를 이용하기 위해 2010년 말에 Ariadne Genomics사를 흡수, 통합하였다. 현재는 약 2년간의 통합작업을 거쳐 자체의 바이오 빅데이터를 이용하여 유용한 정보를 제공하는 사업을 준비하고 있는 것이다. Elsevier에서 자체적으로 약물 개발을 할 것인지, 아니면 이런 고급 정보를 제약회사에 판매하는 사업 모델로 갈 것인지는 확인되지 않았지만, 이제 곧 큰 비즈니스 모델화가 출시될 것이라는 것은 쉽게 짐작할 수 있다.




4-2. Biomax Informatics사의 Knowledge Management 시스템

독일의 MIPS의 스핀오프 기업인 Biomax Informatics사는 유전체 분석을 위한 파이프라인을 구축하여 수백여 종 이상의 유전체 기능 분석을 수행한 바 있다. 이 회사는 미국의 국립암센터와 협력하여 암에 관련된 모든 정보를 활용할 수 있는 플랫폼을 개발하게 되었다. 기존의 관계형데이터베이스로는 암에 관련된 복잡하고 난해한 정보에서 연관정보를 등록하고 추출하는 시스템을 구현하는 것이 쉽지 않았다. 따라서, 각 데이터에서 상관관계를 정의할 수 있는 플랫폼을 구축하여 정형화되지 않은 새로운 데이터들도 쉽게 현상을 알면 상관관계를 정의하여 빅데이터를 만들고 여기에서 의미있는 정보를 추출할 수 있는 서비스를 하게 된 것이다. 여기에서 확장하여 최근에는 병원의 다양한 정보를 등록하고 관련 데이터의 의미를 추출할 수 있는 비즈니스 모델을 구축한 바 있다. 아직은 플랫폼이 무거운 편이지만 빅데이터의 가장 큰 특징인 상관관계를 철저히 정의하는 새로운 플랫폼으로서 상당히 일찍 바이오빅데이터 시장에 자연스레 출발하였다고 볼 수 있다.




4-3. 자동화와 수동화가 이룬 업적 : Biobase
Biobase사는 매일 NCBI에 업데이트되는 서열정보와 문헌정보를 자동으로 다운로드 받아서 필터링 과정을 거쳐 등록되는 시스템을 구축하여 이 정보를 가공하여 의미있는 새로운 정보를 만들고 있다. 수년간에 걸친 수정보완을 통해 상당히 정교한 파이프라인을 내부 시스템으로 구축한 상태이다. 이 시스템에서 정보들을 필터링하여 새롭게 데이터를 가공하고 있는데 이 작업은 Biobase사의 인도지사에서 수행하고 있다. 인도지사의 60여명의 바이오전문가들이 추출된 문헌을 일일이 검토하여 새로운 지식 정보를 추출하고 등록을 하는데, 3단계 검증단계를 거쳐서 최종적으로 고객에게 서비스되는 형태로 만들어지는 것이다. 수 년 동안 지속적으로 문헌에서 의미있는 정보를 추출하는 작업을 하는 바이오전문가에 의해서 일일이 확인하고 검증하는 단계를 거치게 되는 것이다. 이렇게 만들어진 지식 정보는 제약회사, 육종회사들과 공동연구를 수행하는데 이용하거나 데이터를 연간 라이선스 형태로 일반 생물을 분석하고자 하는 사람들에게 판매하고 있다.




5. Codes 사업부의 미래
빅데이터를 논할 때 구글과 아마존을 함께 성공사례로 이야기를 하면서도 한편으로는 구글은 올바르게 빅데이터의 전망을 인식하여 사업으로 접근하고 아마존은 반대로 빅데이터를 놓쳐버렸다고 말하고 있다. 그 이유는 데이터에 대한 인식 및 사업화 차이를 두고 말하고 있다. 즉 구글은 구글 북스를 통해 스캐닝된 디지털자료를 데이터화해서 새로운 분석 및 활용에 시도하였으나, 아마존은 단순히 컨텐츠에 활용하였다는 것이다. 즉 1차적인 사업모델에는 적용하였으나, 그 부가적인 정보의 가치를 좀 더 확대하지 못했다는 것이다.
바이오의 모든 아날로그 데이터는 디지털화되고 데이터화하여 새로운 분석과 활용에 시도하겠다는 뜻을 가진 Codes. 최남우사장님이 수년전에 각 사업부의 이름을 정하면서 제안하신 이름이다. 어떻게 보면 몇 년 전에 바이오 빅데이터를 생각해서 미리 알맞은 이름을 제안하셨는지 모르겠지만, 새로운 생물정보 시장의 큰 흐름이 될 바이오 빅데이터를 어떻게 준비하느냐가 앞으로의 미래에 중요한 포석으로 자리 잡을 것이다. 또한 빅데이터는 데이터를 보유하거나 관리할 수 있는 주체가 가장 큰 이익을 얻을 수 있지만, 단순히 아이디어 및 컨텐츠를 발굴하는 사업 아이템도 큰 흐름이 될 것이다. 구글, 아마존, 페이스북과 같이 대량의 빅데이터를 직접 만들어내는 것은 쉽지 않지만, 공개화된 빅데이터에서 우리가 원하는 결과만을 추출할 수 있는 기술 및 아이디어 발굴이 중요하다. 이는 새로운 형태의 지식 유전을 확보하는 것과 동일하다. 최근 미국에서는 ‘데이터는 새로운 석유다’ 라는 말이 나오고 있는데, 이 말은 정제된 원유가 막대한 경제적 가치를 가져온 것처럼 데이터도 적절히 분석하면 큰 가치를 만들어낸다는 의미다. 기계공학을 전공하여 1학년 전공과목 때 교수님이 기계공학도가 되려면 모든 사물에 기계공학적인 관심을 가지고 주의 깊게 살펴보아야 한다고 말씀하신 기억이 떠 오른다. 기억(ㄱ)자 형태로 서있는 신호등이 제대로 지탱하기 위해서 몇 개의 줄이 필요한지 어떤 간격으로 줄이 설치되어야 되는지 등 실생활 속에서 기계공학적인 생각을 해 보라고 하셨다. 바이오빅데이터는 이와 마찬가지로 일반 생활속에서 우리가 원하는 것이 무엇인지 꾸준히 생각하고 정리할 수 있는 마인드가 중요할 것이다. 또한 바이오데이터는 다른 데이터에 비해 훨씬 높은 복잡성과 낮은 일치성으로 인해 가장 적절한 빅데이터의 모델이지만, 활용에 어려움이 있으므로 이를 해결하고자 하는 노력이 무엇보다 중요할 것이다.
데이터의 진짜 가치는 바다 위에 떠 있는 빙산과 같다. 처음에는 아주 조그만 부분밖에 눈에 보이지 않지만 수면 아래에는 많은 부분이 숨겨져 있다. 이것을 이해하는 혁신적 회사는 그 숨은 가치를 추출해 잠재적으로 엄청난 이득을 거둬갈 수 있을 것이다.

6. 참고문헌
• 빅데이터가 만드는 세상(빅토르마이어쇤버거, 케네스 쿠키어 지음, 이지연 옮김-21세기 북스)
• 빅데이터 혁명(권대석지음, 21세기 북스)
• 빅데이터의 충격(시로타 마코토 지음, 김성재옮김, 한빛미디어)



작성자 : Codes 사업부장 박준형

Posted by 人Co

2013/08/28 10:44 2013/08/28 10:44
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/138



« Previous : 1 : ... 45 : 46 : 47 : 48 : 49 : 50 : 51 : 52 : 53 : ... 75 : Next »