0 COMMENTS

0 TRACKBACKS ABOUT 'incodom.kr'



우리는 보통 "질병에 걸릴 것 같아서"가 아니라, 질병에 걸려 "발생하는 증상" 때문에 병원을 찾아 치료받곤 합니다. 따라서 증상이 늦게 발현되는 경우 혹은 증상을 알아채지 못한 경우, 치료 시기를 놓쳐 치료에 어려움을 겪거나 질병이 급격히 진행되는 일들이 자주 발생합니다.

또한, 만성 질환을 앓고 있거나 특정 치료법을 시행한 경우에는 환자가 입원하거나 매일 병원에 방문하지 못한다면, 자신의 건강 상태를 확인하고 예후를 지속해서 살펴야 하는 번거로움이 있습니다. 지금부터 소개할 "라이프로그" 데이터는 앞선 문제와 번거로움을 해소하는 데에 많은 도움을 주고 있습니다!



[그림 1] https://www.galendata.com/digital-healthcare-future-heathcare/


라이프로그란?
 
먼저 라이프로그(Life log)란 일상생활을 의미하는 'life'와 기록을 의미하는 'log'의 합성어이며, 문자 그대로 일상에서 기록 및 저장되는 모든 정보를 의미합니다. SNS에 업로드한 글, 일상적인 대화가 담긴 음성 파일 등 디지털로 기록 가능한 모든 데이터는 라이프로그라 할 수 있습니다.
특히, 헬스케어 분야에서 말하는 라이프로그는 병원에 방문하지 않고도 환자의 건강 상태를 실시간으로 업데이트하거나, 질환의 예후를 감지 및 예측하는 중요한 자료로 사용될 수 있는 PGHD(patient generated health data)의 확장된 범주로 분류되고 있습니다. PGHD는 데이터를 생성하는 주체가 질환을 앓고 있는 환자였다면, 라이프로그는 그 주체를 건강한 사람까지 포괄하는 개념입니다.


라이프로그의 등장
라이프로그는 자료를 저장하는 저장 장치와 데이터의 수집을 위한 센서가 더욱 정밀하게 발달하며, 그 양이 기하급수적으로 증가하기 시작하였습니다. 또한, IT 기술이 발전하고 정보와 지식을 공유하는 문화가 사회 전반에 자리매김함에 따라 더 많은 사람에 의해 다양한 종류의 라이프로그가 생산되고 있습니다.


라이프로그의 종류


 
 
라이프로그는 문자 그대로 일상에서 기록되는 모든 정보이기에, 그 종류가 정해져 있지는 않습니다. 모바일 기기의 사용 패턴부터 SNS 활동 로그까지 모든 개인의 삶에 대한 모든 데이터가 포함됩니다. 그 중 헬스케어 분야에서 자주 활용되는 라이프로그에는 크게 활동량 데이터, 영양 데이터, 자가 측정 임상 데이터, 커뮤니케이션 데이터 4가지가 존재합니다. 활동량 데이터는 라이프로그 중 가장 먼저 모이기 시작한 데이터이고, 웨어러블 디바이스를 통해 수동적인 방법으로 수집할 수 있습니다. 두 번째 영양 데이터는 활동량 데이터 다음으로 대두되고 있으며, 스마트폰에 직접 기입하는 형식으로 수집합니다. 식생활 변화를 헬스케어 분야에 적용할 수 있다는 장점이 있지만, 데이터의 형식이나 분석의 편차가 큰 편이라는 특징이 있습니다. 다음은 자가 측정 임상 데이터로 주로 환자를 대상으로 하며, 병원에서 측정해야 하는 임상 데이터를 환자가 수집할 수 있다는 장점이 있습니다. 그러나 사용자의 숙련도에 따라 정확도가 달라질 수 있다는 이슈가 있습니다. 마지막은 커뮤니케이션 데이터이며, 헬스케어 서비스 내 사용자의 대화 로그나 SNS 채널 내의 데이터 등이 포함됩니다. 위 4가지 카테고리 데이터는 현재도 많은 연구가 진행되고 있는 헬스케어 내의 라이프로그입니다. 이외에도 수많은 종류의 라이프로그가 존재하며 헬스케어 분야에 얼마든지 적용할 수 있기에 그 위상이 날로 증가하고 있습니다.



데이터의 종류의 따라, 사람이 주체적으로 데이터를 모바일이나 웹 애플리케이션에 직접 기입해야 하기도 하지만, 특별한 행위 없이도 디바이스에 의해 자동으로 데이터가 수집되기도 합니다. 예를 들어, 헬스케어에서 활동량 정보의 경우, <table.1 활동량 정보 예시: 헬스케어 웨어러블 디바이스 주요 제품>에서처럼 우리에게 익숙한 애플워치, 핏비트 등의 밴드형 기기 외에도 다양한 종류의 기기에 의해 자동으로 데이터가 모여 활용할 수 있는 형태로 반환됩니다. 웨어러블 디바이스에 의해 수집된 데이터는 이동 거리, 활동 강도 등의 비교적 간단한 정보부터 약물 복용 여부 등의 감지하기 어려운 데이터까지 포함되며, 이들은 의료진에게 직/간접적으로 전달하는 서비스를 통해 임상 데이터와 연동하여 체계적인 수술 후 건강 관리, 만성 질환의 관리 등에 활용될 수 있습니다.


라이프로그의 활용사례


[그림 4] https://dobrain.co](https://dobrain.co/

첫 번째 사례"두브레인"이라는 아이를 위한 두뇌 교육 모바일, 태블릿 애플리케이션입니다. 언뜻 보면 모바일 게임과 유사해 보이지만, 아동이 두뇌 게임을 하면 쌓이는 데이터들을 이용하여 장애 여부나 발달 수준을 진단하고, 진단 결과를 기반으로 발달 테라피나 인지 교육 프로그램을 제공하는 서비스입니다. 이 서비스는 국내 의과대학 연구진들과 함께 두뇌 게임의 플레이 데이터를 라이프로그 데이터로 활용하여 발달 장애를 진단하는 알고리즘을 개발하였다고 합니다.



두 번째 사례는 아이의 체온을 관리해주는 "fevercoach"라는 모바일 애플리케이션에서 생성된 라이프로그 데이터를 활용한 연구 사례입니다. fevercoach 애플리케이션은 현재의 체온을 입력하면 아이가 어떤 상태이고, 어떤 행동을 취하면 좋은지를 제시해줍니다. 또한, 이 서비스에는 아이가 접종받은 백신의 종류와 열이 났을 때 어떤 해열제를 얼마만큼 복용하였는지를 기입할 수 있습니다. 이와 같은 아이의 기초 정보와 체온 변화 정보, 해열제 종류 및 복용량 정보는 라이프로그 데이터로 축적되어 해열제의 단일 복용과 복합 복용에 따른 체온 조절 효과를 연구하는 데에 기여한 바가 있습니다.
 


 
세 번째 사례는 라이프로그 데이터 중 섭취음식 사진 데이터를 활용하여 비대면 영양관리 해주는 iFOOD-U 모바일 애플리케이션 서비스입니다. iFOOD-U는 매 끼니를 모바일 기기를 통해 촬영한 영상에서 각 식품을 인식하고, 식품별 영양 성분을 분석하여 영양 데이터를 생성합니다. 이 영양 데이터는 전문 영양사에게 전달되어, 고객의 식이 섭취행태를 파악하고, 이를 기반으로 레포트 형태의 더 나은 섭취 방안을 제시하는 근거 자료로 활용되고 있습니다.


라이프로그의 한계와 도전

라이프로그는 데이터를 생성하는 대상에 제한이 적고, 데이터의 수집이 비교적 간편합니다. 또 주로 개인이 수집하는 데이터이기에, 병원에 축적된 임상 데이터 혹은 유전체 데이터와 연계한다면, 그 활용 범위는 무한에 가깝다 해도 과언이 아닙니다. 그러나 라이프로그를 다른 원천 데이터와 연동하여 활용하는 것이 그리 쉬운 일은 아닙니다. 라이프로그는 개인이 생성하는 반면, 전자 의무 기록이나 임상 데이터들은 환자 혹은 개인이 방문하였던 여러 의료 기관에 산재하여 있기 때문입니다. 또한, 의료기관마다 사용하는 전자 의무 기록의 형식이 조금씩 다르기에 개인의 정보와 직접 연동하기 위해서는 데이터를 통합하고 정리하기 위해 많은 시간이 필요합니다.

덧붙여, 라이프로그는 다른 데이터와는 다르게 특정 기관에서 생성하는 데이터가 아니라, 다양한 방식으로 여러 사람이 생성하는 데이터입니다. 따라서 데이터의 소유권이 누구에게 있는지, 데이터를 활용하려면 데이터 제공에 따른 대가를 어떤 방식으로 산정해야 하는지 등의 데이터의 권리에 대한 이슈가 불거지고 있습니다. 권리뿐만 아니라 개인의 일상생활과 관련한 데이터이기에 사생활 침해나 가명처리와도 밀접하게 관련되어 있습니다. 다행히, 공공 기관에서도 데이터 3법과 같이 피해를 최소화하며 기술의 발전은 최대화하도록 법을 개정하고 규율을 정하기 위해 노력하고 있어, 데이터 관련 이슈는 계속해서 개선될 것으로 보입니다.


마치며

우리가 이 글을 읽는 와중에도, 작은 규모의 로그 데이터들은 계속해서 생성되고 있습니다. 이는 하찮고 용량만 차지하는 데이터로 취급될 수도 있지만, 누군가에게는 우리의 삶을 더 풍요롭게 만드는 가치 있는 자원으로 여겨지기도 합니다. 우리도 이번 기회로 라이프로그의 잠재력을 알았으니, 지금부터 라이프로그 데이터의 또 다른 의미를 찾아보면 어떨까요?


참고자료


작성 : AIDX 이주연 개발자

Posted by 人Co

2021/07/08 16:02 2021/07/08 16:02
, , , , , , , ,
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/387

人CoDOM Awards 2020, 영예의 수상자는?

 
안녕하세요? 人CoDOM의 네비게이션 MD협의회 입니다.

저희 인실리코젠은 매년 人CoDOM 우수작성자를 선정하는 행사가 있습니다. 올해는 노력상, 인기상 그리고 MD상으로 다양한 기준을 통해 우수작성자를 선정하였습니다. 과연, 영예의 수상자는 누구일까요?
 
 
 
 
수상자를 소개하기 전, 人CoDOM을 알고 계신가요?
이미 많은 분이 사용하고 계시지만, 생소하신 분들을 위해 간략하게 소개 하겠습니다.
 
人CoDOM은 생물정보 1위 기업인 ㈜인실리코젠에서 운영하는 생물정보(Bioinformatics) 분야의 지식 커뮤니티입니다. 人CoDOM의 특징은 위키 문법으로 작성되었기에 생물정보에 관심 있는 분이라면 누구나, 언제든지 작성하고 수정할 수 있다는 것입니다.
 
人CoDOM은 2014년부터 많은 생물정보 전문가와 개발자들의 노력으로 끊임없이 성장하여, 콘텐츠 수가 2,000편이 넘을 뿐만 아니라 월평균 이용자 수가 5만 명에 다다르고 있습니다. 人CoDOM은 크게 Article, Bioinformatics, Data Science 등의 카테고리로 구분되어 있어 관심 분야의 내용을 쉽게 작성하거나 구독하실 수 있습니다.
 
(주)인실리코젠의 모든 멤버들이 유익한 글로 人CoDOM을 빛내주셨습니다. 지난 2020년 한 해 동안 人Co인들이 공유해주신 내용 중, 人CoDOM 발전에 크게 이바지한 훌륭한 콘텐츠를 다양한 기준을 통해 선정해 보았습니다.
 
 
 
人CoDOM Awards 2020 - 노력상
 
첫 번째로 소개해 드릴 상은 노력상입니다.
[정보화사업/사업수행] 콘텐츠를 작성해주신 BS실 박병준 선임님께서 수상하셨습니다. 노력상은 사용자가 원하는 알찬 내용으로 작성해주신 콘텐츠로 선정합니다. 사업을 원활하게 수행하고 싶으시다면 [정보화사업/사업수행] 콘텐츠를 읽어보시는 걸 추천해 드립니다.
 
 
 
<노력상을 수상하신 BS실 박병준 선임님과 최남우 사장님의 기념사진>
 
노력상의 의미를 상을 받고 나셔야 알았네요. (웃음) 제가 人CoDOM을 쓰는 이유는 제가 하는 일을 다른 사람들이 편하게 이해할 수 있었으면 하는 마음으로 작성하고 있습니다. 앞으로도 그런 마음 변치 않고 쉽게 이해할 수 있는 글을 써보도록 노력하겠습니다. 감사합니다.
 
 
人CoDOM Awards 2020 - 인기상
 
두 번째로 소개해 드릴 상은 인기상입니다.
인기상은 [16s rRNA] 콘텐츠를 업데이트한 insilico Lab 조항철 주임님께서 수상하셨습니다. [16s rRNA]은 2020년 한 해 동안 가장 많이 구독된 콘텐츠로 인기상에 선정되었습니다. 미생물 분야에 입문한 연구자라면 필수로 짚고 넘어가야 할 [16s rRNA] 人CoDOM에서 바로 확인하세요.
 
 
 
<인기상을 수상하신 insilico Lab 조항철 주임님과 최남우 사장님의 기념사진>
 
우선 제가 업데이트한 콘텐츠를 방문해주시고, 사랑해주신 모든 분과 콘텐츠 원작자분께 감사의 인사 올립니다. 많이 부족한 내용이었음에도 생물학적으로 기본이 되는 내용이라 많은 분이 방문해주신 것으로 생각됩니다. 이분들 덕분에 상을 받을 수 있었고, 이번 기회를 발판 삼아 앞으로도 많은 분에게 도움이 될 수 있는 콘텐츠를 만들 수 있도록 노력하겠습니다. 다시 한 번 감사의 인사 올리며, 모두 건강한 나날 보내시길 바랍니다. 감사합니다.
 
 
人CoDOM Awards 2020 - MD상
 
마지막으로 소개해 드릴 상은 MD상입니다.
MD상은 작성된 모든 콘텐츠를 MD협의회가 살펴보고 투표한 결과와 함께 각종 측정지표에서 높은 점수를 받은 콘텐츠로 선정하였습니다. 영예의 콘텐츠는 insilico Lab 송하나 선임님께서 업데이트한 [계통수]입니다. 계통수의 정의부터 분석 방법 및 사례까지 알고 싶으시다면 [계통수]를 눌러 보시길 바랍니다.
 
 
 
<MD상을 수상하신 insilico Lab 송하나 선임님과 최남우 사장님의 기념사진>
 
안녕하세요. insilico Lab 송하나입니다. 人CoDOM은 생물정보학을 공부하시는 분들에게 매우 유익한 사이트가 아닐까 싶습니다. 저 또한 人CoDOM을 보며 부족한 부분을 공부했고, 이해한 내용을 바탕으로 연구자들에게 더 편리하게 연구할 수 있는 내용을 공유하고자 작성했는데요, 이 콘텐츠가 우수작으로 선정되어 매우 영광입니다(기본적인 이론의 틀을 잡아주신 초기 작성자분 감사드립니다). 생각지도 못한 선정에 약간은 놀랐지만, 더 좋은 양질의 콘텐츠를 제공해야겠다는 생각이 들었습니다. 人Co인 모두가 생물정보학 분야의 연구자들을 위해 부단히 노력하고 있습니다. 이런 人CoDOM이 널리 알려져 人Co인 뿐만 아니라 모든 연구자도 참여할 수 있기를 바라봅니다.
 
 
<시상식 이후 人CoDOM의 가치와 미래 방향성에 관해 설명하는 최남우 사장님>
 
"우리는 국내 생물정보 1위 기업입니다."
 
학창시절 모두 경험해 보았습니다. 열심히 공부한 친구들이 잘 정리된 노트를 공유하여 주변의 많은 사람에게 선한 영향을 끼치는 것을 발견했을 겁니다. 우리도 人CoDOM을 통해 생물정보 분야의 지식을 공유하여, 현업 연구자들과 미래 바이오 산업을 이끌어갈 인재들에게 도움을 주고 나아가 대한민국 바이오 산업의 발전을 이끄는 선순환 구조를 만들고 있다고 생각합니다. 지금처럼 학습한 지식을 주변과 공유하는 문화를 이어갔으면 합니다.
 
지난 7년 동안 人CoDOM에 2,024편의 콘텐츠가 등록됐습니다. 지금 이 순간도 人CoDOM에는 다양한 글들이 작성되고 있으며, 질적인 면에서도 빠르게 성장하고 있습니다. 앞으로도 기존 콘텐츠 업데이트와 신규 작성글을 통해 양질의 콘텐츠로 가득한 대한민국 대표하는 생물정보 지식의 공유의 장으로 발전했으면 합니다.
 
 
새로운 시작, 새로운 멤버
 
지난 한 해 동안 신규 작성과 기존 글 업데이트 등을 통해 人CoDOM의 우수한 콘텐츠를 만들어주신 모든 분께 이 자리를 빌려 깊이 감사드립니다.
 
 
<최남우 사장님과 신규 출범한 MD협의회 4기 위원들:
(왼쪽부터) 김형민 주임, 이용태 주임, 최남우 사장, 손효정 주임, 전지현 주임>
 
 
2021년에는 새로운 위원으로 구성된 MD협의회 4기가 출범하였습니다.
앞으로 더 나은 콘텐츠 제공과 한층 더 발전된 人CoDOM을 위해 노력하겠습니다.
많은 관심과 성원 부탁드립니다.
 
 
작성 : MD협의회
 

Posted by 人Co

2021/04/02 15:08 2021/04/02 15:08
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/376


이번 16주년은 코로나 시대에 맞춰 비대면 온라인 기념식으로 간단히 진행되었습니다.

코로나 감염을 예방하기 위하여 마스크를 계속 착용해야 하는 불편함이 있지만 인실리코젠 직원들 모두 잘 실천해주셨습니다.

또한, 올해는 바이오 테크 분야에서 인공지능 기술의 선두를 위하여 인실리코젠의 자회사, AIDX를 설립하여 어려운 시기에도 한 단계 더 나아가게 되었습니다.

항상 느끼는 거지만 가을 하늘은 사계절 중 높고 푸르고 멋있는 것 같습니다.
인실리코젠 창립기념일에 항상 푸른 하늘을 볼 수 있어서 기쁩니다.



올해 인실리코젠에서 열정적으로 일하신 지 5, 10주년이 되신 분들을 위해 24K 황금열쇠를 준비하였습니다.
마음의 소리 : 금값 많이 올랐다는데..이런걸 준비해주시다니... 감동 :)





먼저 "생물정보 공유의 장"이라는 슬로건으로 2014년에 오픈한 인코덤(http://www.incodom.kr)의 역사를 되돌아보는 시간을 가졌습니다. 꾸준히 늘어가는 콘텐츠와 접속자 수에 우리 모두의 노력에 대한 보답과 뿌듯한 마음을 가졌으리라 여겨집니다.






이러한 결과에는 우리 모두의 노력을 이끌어내느라 수고해주신 지난 6년간 총 11분의 MD 분들이 있었습니다. 박선영 MD의 소감을 들어보겠습니다.





  • 박선영 - MD 협의회 3기




먼저 2년간 MD 협의회를 운영하면서 보이지 않게 어려움도 많았지만, 잘 이끌어주시고 도와주신 선배님들께 감사드리고, 글을 잘 작성해주신 인코인 여러분들께도 감사드립니다. 사실 글을 쓴다는 것이 단순히 있는 정보를 취합하는 것이라고 해도 내 언어로 쓰는 게 쉬운 일이 아닙니다.

여기서 귀찮음도 있고, 창작의 고통이 있을 수 있는데요, 그럼 그 대가는 무엇일까 생각해봤을 때 여러 가지가 있지만, 그 중 첫 번째는 내 지식수준이 올라가는 것이라고 생각합니다. 글을 단순히 옮기든 내가 풀어쓰든 조금이라도 관련 자료들을 읽게 되고 글을 쓰면서 해당 내용이 습득되고 정리가 되는 경우가 많은 것 같습니다.

현재 글 작성 독려를 위해서 보상제도도 생기고, 글을 쓰는 기준이 완화 및 자율화가 되었지만, 앞으로 작성 편집기나 QnA 창 등을 개선해 나가면서 글쓰기도 쉽고 더 활성화된 인코덤 사이트가 되길 바라고 있습니다.

앞으로 인코덤(incodom.kr) 개선을 위한 좋은 아이디어가 있으면 설문지나 MD 협의회를 통해 언제든지 말씀 부탁합니다. 남은 기간까지 마무리 잘하도록 하겠습니다. 감사합니다.




  • 심재영 - 10년 장기근속자



제가 2010년 3월 2일부터 출근해서 2020년 3월 3일까지 인실리코젠 소속이었으니까 약 10년 하고 2일 정도 인실리코젠에서 근속했었네요. 감개무량합니다.

연초에 디이프로 발령을 받고 나서 혹시나 이 자리에 서지 못하면 어떡하나 하는 쓸데없는 걱정을 잠깐 했는데 이렇게 축하해 주셔서 감사합니다.

어떻게 10년을 다닐 수 있었을까? 스스로 저를 냉정히 판단해 봤습니다. 입사 당시 저는 특별히 잘하는 건 없고, 그냥 여러 분야에 호기심만 많아서 딱히 어디 쓰기 모호한 사람이었습니다. 끈기도 집중력도 없었습니다. 이런 단점을 극복하고 살아남기 위해 오랜 시간 발버둥 쳤는데요, 스스로 의지가 있더라도 환경이 받쳐주지 않으면 할 수 없었을 겁니다. 비록 일은 항상 힘들었지만, 무엇보다도 저를 이끌어주시고 지지해 주시는 동료들이 함께 있는 조직이었기 때문에 이 자리에 설 수 있었습니다.

작년부터 10년 근속을 1년 남겨두고, 그동안 내가 이 회사에서 무엇을 남겼을까를 계속 고민해 봤습니다. 매출에 엄청난 영향을 주는 프로젝트를 성공적으로 마무리했는가? 회사에 돈을 많이 벌어왔나? 회사의 미래 먹거리가 될 만한 신기술을 개발했나? 업무 효율을 높일 수 있는 어떤 체계나 절차 같은 것을 만들었나? 서버실 온도 감시 시스템(https://insilicogen.com/blog/226) 은 제가 생각해도 잘 만든 것 같습니다. 이거 하나는 저 자신도 인정합니다. 큰 성과는 없었지만, 여러분들이 이런 성과를 만들어 낼 수 있도록, 찡그리지 않고 웃으면서 일 할 수 있는 어떤 분위기와 문화를 만드는 데는 제가 좀 이바지하지 않았나 생각이 듭니다.

이제 이렇게 인실리코젠의 공식 고인 물이 되어서 뿌듯하고요. 이제 어떻게 10년을 보내서 썩은 물이 될까 고민을 해봤습니다.

앞으로의 10년은 돈 많이 벌고, 잘 사는 게 목표입니다. 제가 저 혼자 잘 먹고 잘살려고 이런 목표를 세우는 것이 아니라, 제 후임 분들께 이 분야에서 열심히 일하면 저 사람 보다는 잘 살 수 있겠지라는 어떤 기준이 될 수 있도록 잘 살고 싶습니다. 제가 사장님 대표님 이사님 실장님 팀장님들을 보면서 바랬던 목표보다 더 큰 목표를 여러분들이 가질 수 있도록 잘 살겠습니다. 감사합니다.


  • 김태영 - 5년 장기근속자




안녕하세요? 인실리코젠 FED팀에서 웹 UI 개발을 담당하고 있는 김태영 선임입니다.  입사해서 처음 맞은 창립기념일에서 장기근속상을 수상하신 분들이 참 대단하다는 생각을 했는데 어느새 제가 이 자리에 있다니 시간이 참 빠르다는 생각과 함께 지난 시간들을 되돌아보는 계기가 되는것 같습니다.

입사 당시 우리 회사는 프로젝트들이 한꺼번에 몰리는 특징이 있음을 알게 되었고 이런 환경에 어떻게 대응할 수 있을까 고민하는 시간이 많았던것 같습니다. 시행착오도 있었지만 작업가이드를 세우고 프론트개발용 스케폴딩을 미리 준비해서 팀원간 협업할 때 의존성을 줄여서 충돌로 소모되는 시간이 줄었고 프로젝트마다 이뤄지는 반복작업이 줄어서 지금은 보람을 느낍니다.

개인적으로는 가정에도 충실할 수 있도록 배려해주신 사장님외 많은 선배 동료 임직원 분들 덕분에 가능했던 시간이었습니다. 이 자리를 빌어 감사 드립니다.  부족하고 아쉬운 부분도 많지만 예쁘게 봐주시고 조직에 도움이 되는 일원이 되도록 앞으로 더 화이팅하겠습니다.


  • 이혜원 - 5년 장기근속자




지나가는 시간이 너무 빠른 것 같습니다. 흥덕으로 이사하고 처음 입사자였었는데, 입사 후 참석했던 시무식이 새록새록 기억에 남고,  이 사무실과 지내온 시간이 같다고 생각하니 감회가 새롭습니다. 혼자의 힘으로 지내온 게 아니라 많은 분의 도움으로 여러 해의 시간을 보낼 수 있었던 것 같고, 모두 도와주셔서 늘 감사하게 생각하고 있습니다.  더욱 발전하라는 의미라고 여기고 노력하도록 하겠습니다. 감사합니다.


  • Sardorbek Muminov - 5년 장기근속자


Wow. 5 years have passed quickly. I didn’t even realize I had worked for 5 years. The reason I didn’t notice the passage of time was probably due to interesting projects, friendly colleagues, and the healthiness and sincerity of the working environment. The first year I joined Insilicogen, I was once again convinced that I had chosen the right company quickly after a few weeks. Being a member of Insilicogen has helped me maintain work-life balance, obtain more knowledge, learn new technologies, and put them into practice. On this Anniversary I appreciate all our hard work and dedication. Congratulations on this big occasion and many wishes for future success. Happy anniversary.


  • 강전모 - 5년 장기근속자


창립기념일 하면 떠오르는 게 많습니다. 우선 제 입사일은 2015년 9월 1일로 창립기념일일 10월 1일과 딱 한 달 차이가 나지요. 2015년 10월 1일인 입사 한 달이 되었을 무렵 11주년 창립기념일에 사장님과 함께 케익을 자르던 것이 기억납니다.

또 작년이었던 15주년 창립기념일 행사도 브랜드위원회로서 함께 기획하고 사회도 진행했었습니다. 이런 추억과 경험들이 쌓이다 보니 어느덧 5년이라는 시간이 흘렀고, 인실리코젠이 성장해온 것처럼 저도 함께 성장해온 동기 같은 느낌이 드네요.

늦깎이 사회초년생으로 인실리코젠에서 사회에 첫발을 내디디고, 결혼과 자녀까지 인생의 중요한 시점을 인실리코젠과 함께 해왔습니다. 앞으로도 저희 아이가 커가듯이 저도 성장하고, 인실리코젠도 함께 성장하여 지금 5년 전 제 모습을 돌이켜보며 흐뭇하게 미소 짓는 것처럼 그때도 지금의 제 모습을 생각하며 미소 지을 수 있도록 노력하겠습니다. 감사합니다


  • 서승원 - 5년 장기근속자




우선 여러 면에서 어려운 시기를 보내고 있는 와중에도 이렇게 의미 있는 자리를 마련해주신 사장님과 정이사님께 감사의 말씀을 드립니다. 지금에 와서 생각해보면 벌써 5년? 이라는 생각도 들지만, 제 인생에 있어서 그 어느 때보다 밀도 높게 보낸 5년이었던 것 같습니다.

겹겹이 들어차 있는 인코에서의 5년이라는 시공간 속에는 때로는 힘들었던 기억들과 가끔은 재미있었던 추억들, 그리고 끊이지 않았던 오늘에 대한 고민과 놓을 수 없었던 내일에 대한 걱정들이 빈틈없이 가득 차 있었던 것 같습니다.

지금은 그 힘듦의 대부분이 성장의 원료로, 고민과 걱정의 상당 부분은 이제 미래에 대한 희망과 기대로 치환될 수 있었는데,  이것은 오롯이 생명정보를 통해 세상을 이롭게 하려는 비전 속에서 서로에게 힘이 되어주었던 모든 인코인들의 사랑과 배려 덕분이었던 것 같습니다.

지난 5년간 많이 아껴주시고 항상 지지해주셨던 모든 인코인들에게 감사드리며 앞으로도 이 인코 네트워크 시너지가 더욱 견고하게 확장될 수 있도록, 그리고 이를 바탕으로 우리가 더욱 좋은 방향으로 나아갈 수 있도록 저 역시 노력하겠습니다.

감사합니다.



장기 근속하신 인코인을 보며 모두 인실리코젠의 인재상(성실, 열정, 배려, 소통, 학습)으로 성장하였음을 느꼈습니다.

16주년 기념식을 마무리하며 사장님께서 10주년에 말씀하셨던 "경영은 주변 사람들을 행복하게 하는 것" 이라는 미시다고노스케의 경영철학에 대하여 재언급하셨습니다. 16년 동안 회사와 직원들이 성장을 리드하고 비즈니스를 확대하여 회사를 키우는 사장님의 보이지 않는 노력들의 본질(직원들의 행복-> 건강, 사랑, 경제)에 대해 알 수 있었습니다. 다음 17주년에는 인실리코젠의 자회사인 iBreeding(아이브리딩-데이터 육종기업), D.iF(디이프-데이터식품 선도기업), AIDX(에이아이디엑스-AI 의료진단기업)와 함께 더욱 성장한 회사로 찾아뵙겠습니다.


작성 : 브랜드위원회

Posted by 人Co

2020/10/11 21:28 2020/10/11 21:28
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/359



4차 산업혁명이라는 이름에 걸맞게 생물 분야 뿐만 아니라 어느 도메인에 가도 AI란 용어를 어렵지 않게 찾을 수 있어요. 연구소나 기업은 현재 진행하는 프로젝트에 AI를 접목해 기계학습 및 프로그래밍을 활용하고 있습니다. 덕분에 기존 Rule-based의 작업이 해결하지 못했던 부분까지 많은 인력을 쓰지 않고도 높은 정확도의 프로세스를 진행할 수 있기도 합니다. 그렇다면 AI 분야 특히, 기계학습 혹은 딥러닝(기계학습의 부분집합)에 입문하는 우리는 무엇을 준비해야 할까요?

블로그를 쓰고 있는 현재에도 이 분야와 직・간접적으로 관련된 기초를 탄탄히 하고자 공부하고 있는 사람으로서 AI를 이해하기에 필요한 사전 지식과 그에 도움이 될 만한 좋은 책, 사이트, 세미나 강좌들을 선별하여 소개하려 합니다. 공부 순서는 크게 상관없고요. 기계학습 및 딥러닝을 공부하다가 언젠가 필요해질 때, 이 블로그에 찾아오셔서 방향을 찾아보는 것도 좋은 방법이 될 것으로 생각합니다.


연구 분석가나 개발자는 프로그래밍 언어는 필수적으로 하나 정도는 쓸 수 있어야 합니다. 언어는 다양하지만, 일의 목적에 따라 적합한 언어가 다를 수 있습니다. 기계학습 및 딥러닝 분야에서는 R과 Python이 현재 많이 쓰이고 있어서 개발된 라이브러리를 편하게 이용하기 위해선 둘 중 하나를 추천합니다. 참고로 전 Python을 주로 쓰고 있기에 아래 대부분의 포스팅은 Python에 맞춰져 있습니다.

사용자 삽입 이미지
점프 투 파이썬

책으로 사도 되지만 온라인에 e-book으로 있어서 언제든 참고 가능합니다. 첫 장부터 재미있다고 최면을 걸고 끝까지 한번은 정독하시길 권장 드려요. 후반부에 점차 어려울 순 있겠지만, 독학이 어려운 수준은 절대 아닙니다.

도전! (점프투파이썬)


Linux 기초와 파이썬 및 Pandas 교육(인실리코젠)
우리 회사에서는 Bio 분석가를 위한 교육이 매달 진행되고 있습니다. 달마다 주제가 달라지지만, Linux 기초와 파이썬 및 Pandas 교육도 있습니다. 책이나 강좌로 차근히 배우는 것도 좋지만, 이런 교육을 활용하면 단시간 내에 컴팩트한 기초문법 및 활용을 접할 수가 있습니다. 하지만 교육 수련생의 자릿수가 정해져 있으니 미리 홈페이지와 페이스북 알림을 통해 확인해보시길 추천합니다.

  • 人CoACADEMY : 생물정보 관련 교육 정보를 얻을 수 있음.
  • 人CoDOM : 생물정보 분야의 집단 지성 창출을 목적으로 운영되는 지식 커뮤니티
  • 인실리코젠 페이스북 : 친구를 맺어놓으면 관련 소식을 빠르게 받아볼 수 있음.
  • KOBIC 교육센터 : 인실리코젠이 제작한 온라인 무료 교육(상시 오픈형 교육은아님.)

NumPy는 파이썬의 수학 라이브러리입니다. 라이브러리란 '이미 누군가가 잘 만들어놓은 패키지'로 자주 쓸 것 같은 특정기능을 모아놓은 함수를 의미합니다. 즉, 파이썬으로 코딩 시 수학 라이브러리(예를 들면 Sin(x), Cos(x) 등)를 직접 구현할 필요 없이 NumPy 안에 저장되어있는 함수들을 가져와 쓸 수 있다는 거죠. 수학 및 통계 라이브러리와 더불어 NumPy의 장점은 속도에 있습니다. 내부적으로 C와 Fortran으로 작성되어있어 실행속도가 일반적인 수준에 비해 꽤 빠른 편이죠. NumPy와 관련된 설명은 나무위키에 잘 정리되어있으니 한번 읽어보는 것도 좋겠네요. 또한, 많은 기계학습과 딥러닝 패키지가 NumPy를 기반으로 구현되어있고 input 및 인자 데이터 타입을 NumPy로 요구하기 때문에 꼭 익혀야 하는 모듈이기도 합니다.



신경망(딥러닝) 행렬 표기법
(출처:
http://taewan.kim/post/wij_and_wji/)

기계학습 및 딥러닝에서 왜 이걸 써야 할까요? 우선, 간단하게 행렬 연산에 대해 말해보겠습니다. 기계학습 및 딥러닝 내부적 알고리즘에선 내가 가진 데이터를 잘 설명하는 해(기울기 혹은 가중치)를 찾기 위해 다항식의 연립방정식을 풀 수밖에 없다는 건 공감하실 겁니다. 이런 일들이 시간상 효율적으로 이루어지려면 선형대수학을 이용하여 계산할 수밖에 없고, 그 말은 행렬식을 다뤄야 한다는 말이죠. 만약 기본 자료형인 리스트로 2차원 행렬을 만들게 되면 아래와 같습니다.

>a = [[1, 2], [3, 4]]
>a
[[1, 2], [3, 4]]

여기에 단순히 행렬 스칼라 곱을 하려 해도 이중 for 문을 써서 계산을 해야 하죠. 그러나 NumPy를 쓰면 행렬 연산을 지원하기 때문에 아래와 같이 아~주 간단히, 쉽고, 빠르게 계산진행이 가능합니다.

>import numpy as np
>a = np.array(a)
>a
array([[1, 2],
       [3, 4]])
>a*2
array([[2, 4],
       [6, 8]])

이를 브로드캐스팅(broadcasting)이라 하고 하며, 작은 배열을 큰 배열과 서로 호환되도록 아래와 같이 작은 배열이 큰 배열에 크기를 맞추는 것입니다. 이런 편리한 기능이 있는데 당연히 NumPy를 쓸 수밖에 없겠죠?




Numpy의 broadcasting
(
출처 : 매일매일딥러닝블로그)

NumPy를 공부할 곳은 검색했을 때 무수히 많았어요. 그중 제가 생각했을 때 이것만 봐도 되겠다고 생각한 블로그와 사이트 추려봤으니 시간이 될 때 실습하시길 바랍니다.

Matplotlib이란 시각화 라이브러리 중 하나입니다. 만약 R 언어를 이용하고 있다면 ggplot이란 강력하고 대표적인 라이브러리가 있겠네요. Python에서도 대표적인 하나를 뽑자면 Matplotlib이 있습니다. 그러나 다른 라이브러리보다 이것을 꼭 이용해야 한다고 말하고 싶은 건 아닙니다. Python에선 Matplotlib을 포함하여 seaborn, plotly 같은 고차원 그래픽 모듈도 있으므로 분석가의 목적 또는 기호에 따라 다양하게 이용할 수 있어요. 많은 모듈 중 손쉽게 시각화를 구현할 수 있는 하나 라이브러리를 익혀두는 게 좋습니다.

시각화 모듈은 기계학습 및 딥러닝에서 정말 많이 쓰시게 될 겁니다. EDA(Exploratory Data analysis, 탐색적 데이터 분석) 작업을 하다 보면 데이터 전체의 분포를 보기 위해서는 테이블보다 그림(박스플롯, 산점도)이 강력한 도구가 되기도 합니다.



EDA시각화-Heatmap(왼쪽)과 Line plot(오른쪽)


또한, 이미지 딥러닝 중 segmentation을 예로 들어보면, 내가 생성한 모델의 prediction accuracy가 얼마나 높게 나타나는지 보고 싶을 때가 있을 겁니다. Image processing 기법과 시각화 모듈을 사용하면 원본 이미지와 결과 이미지를 시각화하여 overlap 해보면 모델이 좋은 방향으로 개발되고 있는지 확인도 가능하겠네요.



Deeplearning - segmentation model


조금만 검색하셔도 Matplotlib을 연습할 많은 블로그나 사이트가 있습니다. 그러나 그래프만을 위해 공부를 깊게 하는 건 제 경험상 비효율적인 것 같아요. 시각화 라이브러리는 내가 필요로 할 때 검색해서 만들어가며 자신의 코드를 하나둘 씩 쌓는 게 중요합니다. 혹은 다음에 나올 Pandas를 공부하다 보면 자연스레 시각화 파트에서 익히게 될 수 있을 거예요.



드디어 Pandas 입니다. 역시나 파이썬의 모듈이고요. 이게 뭔지 가장 잘 표현하는 방법은 R의 vector와 dataframe 기능입니다 라고 설명하는 것입니다. R을 접해보시지 않은 분들을 위해 부가 설명해드리면 이 언어는 Wes McKinney가 '시계열 데이터를 분석하기 위해 Python도 R과 같은 데이터 분석이 가능한 모듈이 필요해'라고 생각해서 만든 모듈입니다. 따라서 당연히 R을 닮았습니다. 기본 Python으로 코딩한다면 테이블 형식의 데이터를 행과 열을 추출하고, 혹은 특정 조건을 걸어 추출하고 새로운 테이블 형태로 정리하는…. 말로만 해도 얼마나 많은 번거로움이 나타날지 느껴지시죠?

간단한 예제를 통해 확인해볼게요. 예제를 볼 땐 이걸 순수 Python으로 코딩해서 똑같은 작업을 한다면 몇 줄에 끝낼 수 있을지 상상해보면서 보도록 합시다. 우선 csv 예제 파일을 읽어서 데이터 구조부터 파악해 볼게요.

※첨부파일 : train.csv

>import pandas as pd
>train = pd.read_csv('train.csv')
>print(train.columns)
Index(['datetime', 'season', 'holiday', 'workingday', 'weather', 'temp',
       'atemp', 'humidity', 'windspeed', 'casual', 'registered', 'count'],
      dtype='object')
>train.head()



그럼 여기서 casual, registered, count, datetime 열만 삭제하고 새로운 데이터를 만들려면? Python만으로는 반복문과 변수선언 등등 여러 가지 방법들이 머릿속을 지나가죠. 그렇지만 pandas는 한 줄로 처리할 수 있습니다. 그 dataframe에서 간단히 plot 생성도 가능하고요.

train = train.drop(["casual", "registered", "count", "datetime"], axis=1)
train.head()





Matplotlib같은 시각화 모듈과 함께 Pandas를 사용하면 아주 강력한 EDA툴이 되기도 합니다. 특히나 Mckinney의 의도처럼 시계열 데이터를 가공하고 EDA를 진행하는데 강력한 도구가 될 수 있답니다.


Time-series plot

요즘엔 AI뿐 아니라 데이터 분석을 위해서 관련 교육이 늘어가는 추세가 보입니다. 특히 Jupyter + Pandas + maplotlib/seaborn 을 묶어서 교육을 진행하는 프로그램들이 점차 늘어나고 있습니다. 우리 인실리코젠의 외부 교육프로그램도 해당 주제를 다루고 있으니 페이스북을 통해서 교육 소식을 접하시고 필요하시면 신청하면 좋을 것 같습니다. 19년 08월에 진행한 교육 내용은 아래의 github을 참고 해주세요~

Website

GitHub


구글의 코랩(Colab) 서버는 구글이 제공하는 Jupyter notebook입니다. 막상 기계학습과 딥러닝을 진행하려 하다 보면 적절한 환경부터 세팅이 안 되어 있거나, 가지고 있는 컴퓨터의 성능이 좋지 않아 시작부터 어려움을 느낄 때가 있습니다. 그러나 Colab을 이용하면 인터넷 환경만 갖춰진다면 어떠한 컴퓨터 심지어 태블릿으로도 실습이 가능해집니다. 구글 계정만 있으면 무료일 뿐만 아니라 딥러닝 구현 시 GPU도 몇 번의 클릭으로 연동할 수 있어서 연산속도도 빠르게 됩니다. 잘 만든 Jupyter는 그 자체만으로도 나만의 문서가 될 수 있으니, 시간이 될 때 잘 작성된 블로그나 문서를 보고 연습하시길 추천합니다.
(특징 : Jupiter notebook 환경 제공, 무료, GPU 사용 가능, 구글 드라이브와 연동 가능)

Colab deeplearning tutorial


이 부분은 다른 파트와는 달리 완벽히 이론적인 부분입니다. 기계학습의 기원은 전산학, 컴퓨터 공학, 통계학 등 다양한 곳으로부터 발전했다고 합니다. 이는 결국, AI를 통찰하기 위해선 수학이 기본이 되어야 함을 이야기합니다. 얼마나 깊이 공부해야 하는가는 목표에 따라 다르겠지만, 세부적인 수식까진 아니더라도 전체적인 계산 흐름 정도는 알아야 해석할 수 있어야 자신의 데이터에 맞는 디버깅 또는 최적화가 가능하다 생각해요. 그러기 위해서는 앞서 언급한 통계학(기초통계학, 회귀분석, 선형대수학)과 미분학이 어느 정도 뒷받침되어주어야 합니다.

간단한 예를 들어 볼게요. 기계학습 및 딥러닝에선 손실함수(Cost function 혹은 Loss function)의 최소화가 목적입니다. 이때 주로 드는 예시가 MSE(Mean Squared Error, 평균제곱 오차)방법입니다.


Cost함수 : Mean squared error
(출처 :
https://en.wikipedia.org/wiki/Mean_squared_error)

MSE를 최저로 만들기 위해 weight를 최적화 방법으로 업데이트 해 나가는 것이 기계학습 및 딥러닝의 핵심 원리입니다. 이때의 optimizer로는 Gradient descent(경사 하강법)가 있을 수 있고요. 이때 만약 여러분이 통계학적 지식이 있다면 방금 예시와 설명만으로도 내부적인 흐름이 느껴지실 겁니다. 예를 들면 MSE는 결국 (실측치-예측치)의 평균이고 이 값은 예측이 잘될수록 0에 수렴할 테니 MSE의 정의가 타당해 보일 것이고요. y^ = wx + b 라고 단순 선형이라고 가정한다면 MSE는 w에 대해 2차 함수로 나타날 것이며 아래처럼 곡선 형태임이 예상됩니다. 결국, 이 함수의 기울기가 0인 지점의 weight 값이 최적이 될 테고, '데이터가 들어올 때마다 일정량만큼 최적의 weight를 향해 수렴해 가는 방식이겠구나'라고 생각할 수 있습니다.

여기서 제가 생각한 것은 단지 과정의 흐름입니다. 실력이 좋으신 분은 손으로 직접 풀어가며 계산도 가능하겠죠. 하지만 그렇게까지는 아니어도 내부적인 흐름만 알더라도 기계학습이 한층 재미있어질 것입니다. 아무래도 전공이 아니라면 장벽이 있고 범위도 넓어 어려움이 있겠지만, 그때마다 관련 강의나 책을 찾아보면서 차근히 익혀나가길 추천해 드려요.

통계가 완전 처음이 아니라면 전 Gareth James 저자의 ISL(An Introduction to Statistical Learning)을 추천합니다. 기계학습 입문 이론서 중 유명하고 인기가 있습니다. 아래 사이트에서 PDF를 내려받을 수 있고요(물론…. 영어지만요). 2016년에는 '가볍게 시작하는 통계학습'이란 번역서로 출판하기도 했습니다.

Website & PDF교재



요즘 이미지와 관련된 분석들이나 자동화 기술은 CNN이 활발하게 이루어진 때부터 '모두 딥러닝 아니야?'라고 생각할 수도 있을 만큼 딥러닝 기술이 널리 이용되고 있어요. 그러나 좀 더 실생활 혹은 실용적인 프로젝트를 운영한다면 딥러닝 부분은 프로젝트 일부분이고 많은 부분이 이미지 프로세싱으로 접근 가능하다는 것을 알게 됩니다. 이미지 프로세싱은 말 그대로 사진 또는 영상에 여러 연산을 접목해 새로운 사진 및 영상을 얻어내는 기법을 뜻하는 데요. 화질 개선 및 복원, 영역 추출, 객체 검출, 회전, Perspective transformation 등 많은 이미지 처리 작업에 적용할 수 있습니다.



Perspective Transformation 기술




Camera calibration 기술

Website

당연히 전공이 아니라면 거부감이 있는 주제긴 하지만 어떠한 주제들이 있는지 이해하고 있는 것만으로도 딥러닝 관련 프로젝트를 더욱 완벽히 만들 수 있을 겁니다. 이미지 프로세싱을 위해선 scikit-image 또는 openCV라는 모듈이 가장 잘 알려진 모듈입니다. 아래 있는 사이트에서 예제와 내용을 꽤 자세히 설명해주고 있으니 다양한 주제를 접해보는 경험도 좋을 거라 생각됩니다.



마치며


인실리코젠에서 기계학습을 이용한 마커 선발과 모바일 이미지를 이용한 segmentation 딥러닝과 관련된 프로젝트에 참여하고 있다 보니 가끔 교육, 학회 및 워크숍에서 저에게 실무자 혹은 학생분들이 다음과 같은 질문을 하곤 했습니다.

  • ‘기계학습은.. 뭘 이용하셨나요?’
  • ‘딥러닝은.. 어떻게 하셨나요?’

저 짧은 질문에선 ‘나도 공부하고 싶은데 아직 방향을 모르겠네요’라는 마음의 소리가 들리는 듯했어요. 저도 저 답답함 속에서 맨땅에 헤딩하는 심정으로 이리저리 정보의 홍수를 탐험하던 때가(아직 진행형일 수 있겠네요.) 있었으니까요. 재미있어서 공부하다가 '내가 파고 있던 우물이 한강이구나'를 느끼면서 뒤를 돌아보는데 우물이 어딨는지 찾고 있는 분들을 보았고 그분들을 위해 이 블로그가 하나의 좌표가 되었으면 합니다.

더 많은 예제도 많겠지만 본 블로그는 AI 공부를 위해 다음과 같은 주제들이 언제 어떻게 쓰이는지를 보여주며 필요성만을 강조하고 싶었어요. 언제 어떻게 쓰이는지 모르는데 하나씩 파고드는 건 괴로운 일이 될 수도 있으니까요! 좋은 사이트 및 레퍼런스를 소개했으니 기계학습과 딥러닝에 입문하시는 분들께 도움되었으면 합니다. 모두 화이팅!!

작성 : Data Science Center 형기은




Posted by 人Co

2019/12/05 16:39 2019/12/05 16:39
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/332

나만 몰랐던 BLAST 꿀팁



19세기의 자전거란 현재와 달라서 금속의 바퀴로 이루어져 쉽게 사고로 이어지곤 했답니다.
이에 영국의 수학자 던롭은 사랑하는 외동아들 조니를 위해 고무 타이어를 발명하게 되고 공기타이어회사 CEO로 큰 부자가 되게 됩니다.
저 역시 필요 때문에 (더 빨리, 더 쉽게 처리하고 칼퇴하고자) 다음의 방법들을 발견하게 되었으니 평행이론에 따라 언젠가는 저도 큰 부자가 될..... 수 있을까요?

발단은 몹시 사소했습니다.
아래 그림처럼 결과를 만들면 매우 있어 보일 것 같았거든요.



 
그런데 내 손에 있는 건 단백질 서열 단 하나, 계통수를 그리기 위한 DB가 아직 구축되어 있지 않은 상황이었어요.
하지만 걱정 없죠. 백종원 대표님께 만능 간장이 있다면 우리에겐 만능 BLAST가 있으니깐요.
BLAST를 통해 맵핑되는 단백질들을 모은 후 이를 이용하여 계통수를 그려보기로 합니다.
BLAST에 대한 기본 설명이나 분석 방법 등은 위키 (Wiki) 기반의 커뮤니티 형성을 통한 생물정보 분야의 집단 지성 창출을 목적으로 운영되는 지식 커뮤니티인 人CoDOM을 참고해주세요.

그런데 여기서 문제 발생!!!
nr에 대한 BLAST를 다 끝내고 보니 (default setting의 tabular format으로 출력) 결과 파일에서 종명을 확인할 수 없었어요.
종명을 확인 못 하면 계통수를 그려도 계통별로 잘 묶였는지 확인도 어렵고 예쁜 색을 입혀줄 수도 없어요.

 
MH00089;   gi|761546247|ref|YP_009122458.1|   99.06   530   5       0   1   530   1   530   0.0   1045
MH00089;   gi|1314948409|ref|YP_009444547.1|   94.70   528   28      0   3   530   1   528   0.0   995
MH00089;   gi|1079486692|ref|YP_009307015.1|   94.89   528   27      0   3   530   1   528   0.0   991
< BLAST 수행 결과 예시>
 

종명 확인을 위해서는 NCBI에 GI number (또는 accession)로 검색해보는 수밖에 없는 듯 하여 매우 절망스러웠지요.
실제로 하나 검색에만 최소 클릭 5~6번이 소요되고 10개 넘어가면 웹 크롤링을 해야하는 건지 고민하게 됩니다.
이때 잘 읽은 메뉴얼 하나가 사람을 살립니다.
역시 오랜 역사를 자랑하는 생물정보 산증인 BLAST는 이미 해답을 제시하고 있었던 거죠.

아래와 같이 2단계를 순서대로 수행해 주시면 BLAST 결과에서 종명, taxid (중요), kingdom (계) 정보를 바로 확인할 수 있습니다.

1단계) taxonomy DB 세팅
먼저 nr로부터 계통 정보를 가져올 수 있도록 NCBI에서 제공하는 taxonomy DB를 세팅해 주어야 합니다.
아래와 같이 최신 버전으로 다운로드 후 환경변수에 추가해 주세요.
(이참에 nr DB도 최신 버전으로 변경해주고, 하는 김에 BLAST도 최신화해주는 게 어떨까요?)
참고로 제가 테스트했던 버전은 BLAST+ 2.2.31입니다.

$ wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/taxdb.tar.gz
$ tar zxvf taxdb.tar.gz
$ export BLASTDB=[download 위치]
<taxonomy DB 세팅 방법>

2단계) BLAST 실행

BLAST 수행 시 결과 파일의 포맷을 6번, 즉 tabular로 지정하고 format specifiers에 staxids(species taxon id)와 sscinames (species scientific name), sskingdoms (species super kindoms)이 포함되도록 적어줍니다.

$ blastp -query query.faa -db nr -outfmt '6 qseqid sseqid pident evalue staxids sscinames scomnames sskingdoms stitle' -num_threads 20 -out query_vs_nr.table
<BLAST 수행 방법>

짜잔~ 커맨드라인 하나로 손목 수명이 일주일 연장되었습니다 (감격).
하는 김에 stitle (species name)도 추가하였더니 이제 정말 NCBI 웹사이트 들락날락할 일 없어졌어요.

MH00089;        gi|761546247|ref|YP_009122458.1|        99.06   0.0     1610689 Sarocladium implicatum  Sarocladium implicatum  Eukaryota       cytochrome oxidase subunit I (mitochondrion) [Sarocladium implicatum]
MH00089;        gi|1314948409|ref|YP_009444547.1|       94.70   0.0     29910   Tolypocladium inflatum  Tolypocladium inflatum  Eukaryota       cytochrome c oxidase subunit 1 (mitochondrion) [Tolypocladium inflatum]
MH00089;        gi|1079486692|ref|YP_009307015.1|       94.89   0.0     71617   Tolypocladium ophioglossoides   Tolypocladium ophioglossoides   Eukaryota       cytochrome oxidase subunit 1 (mitochondrion) [Tolypocladium ophioglossoides]
< BLAST 결과 예시>

한계점)
하지만 결과를 보면 박테리아인지 진핵인지와 같이 계 (kingdom)에 대한 정보만 제시하고 있어요.
근연종의 단백질에 잘 맵핑이 된 것인지 전체 계통 정보를 확인하고 싶고 진핵생물 내에서도 딱정벌레목인지 총채벌레목인지 좀 더 세분화하고 싶은데 이 상태로는 너무 부족합니다.

제가 찾은 방법은 NCBI에서 제공하는 텍스트 포맷의 관련 DB에서 taxid 또는 학명(scientific name)으로 검색하는 것입니다.
참고로 최근 1~2년 사이 NCBI taxonomy DB가 업데이트되면서부터 taxid 별 full lineage 정보를 제공하고 있으니 꼭 최신 버전을 받아주세요.
new_taxdump.tar.gz 파일을 다운로드 후 그 안에 있는 fullnamelineage.dmp 파일을 확인하면 정보를 얻을 수 있습니다.


taxid | scientific name | full lineage
1610689 |       Sarocladium implicatum  |       cellular organisms; Eukaryota; Opisthokonta; Fungi; Dikarya; Ascomycota; saccharomyceta; Pezizomycotina; leotiomyceta; sordariomyceta; Sordariomycetes; Hypocreomycetidae; Hypocreales; Hypocreales incertae sedis; Sarocladium;        |
<taxid 또는 학명(scientific name)을 이용한 계통 정보 검색 결과>

추가 팁 하나 더!)
BLAST 결과 출력시 파일 포맷을 여러 개로 하고 싶을 때가 있어요.


XML은 기본이니깐 꼭 있어야 할 것 같고 파싱하기 귀찮으니 tabular로도 해야 할 것 같고 또 alignment된 거 확인하고 싶으니 pairwise로도 남겨두고 싶을 때 어떻게 해야하는 거죠??


BLAST를 3번 하면 돼요. 하지만 오래 걸린다는 단점이 있어요.
이때 blast_formatter를 사용하시면 됩니다 (작업시간이 1/3로 줄어드는 매직)!!!
몰랐는데 BLAST 설치 디렉토리에 이미 blastp, blastn이랑 같이 자리잡고 있더라구요.
(역시 메뉴얼은 읽으라고 있는 거였어요.)
중요한 점은 처음 BLAST할 때 반드시 asn 포맷으로 출력해 주어야 한다는 것입니다.

$ blastn -db [nt] -query [query] -outfmt 11 -out [output].asn
$ blast_formatter -archive [output].asn -outfmt 5 -out [output].asn.xml
$ blast_formatter -archive [output].asn -outfmt 6 -out [output].asn.tabular
$ blast_formatter -archive [output].asn -outfmt 0 -out [output].asn.pairwise
<BLAST 포맷 변환 방법>

출력 포맷은 아래를 참고하셔서 원하는 번호를 기재해 주시면 됩니다.


 0 = pairwise,
 1 = query-anchored showing identities,
 2 = query-anchored no identities,
 3 = flat query-anchored, show identities,
 4 = flat query-anchored, no identities,
 5 = XML Blast output,
 6 = tabular,
 7 = tabular with comment lines,
 8 = Text ASN.1,
 9 = Binary ASN.1,
10 = Comma-separated values,
11 = BLAST archive format (ASN.1),
12 = JSON Seqalign output,
13 = JSON Blast output,
14 = XML2 Blast output
<출력 가능한 BLAST 결과 포맷 목록>

이상 새롭지 않을 수 있을, 그리고 정말 저만 알았다면 너무 슬프고 민망할 것 같은 BLAST 꿀팁 소개를 마칩니다.
이 방법 외에도 오조오억 개의 다른 길이 있을 겁니다. 아시는 분은 제보 바랍니다.
당신은 우리와 함께 가시면 안 될까요??? (=스카우트하고 싶어요).
 
<출처 : 'Mnet 쇼미더머니8 화면캡처' 후 편집>
 
작성 : RDC 정명희 선임 연구원
 

Posted by 人Co

2019/09/11 16:26 2019/09/11 16:26
, , ,
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/324


 
 
 

지난 7월 1일부터 8월 23일까지 ㈜인실리코젠에 새로 활기를 주신 분들이 있습니다.
10인 10색이란 말과 같이 각자 다른 전공, 개성을 가진
2019 하계 人CoINTERNSHIP 참가자들이 들려주는 후기 함께 보겠습니다.



사용자 삽입 이미지
김로빈 (University at Albany, Computer Science)
2019년 5월 28일부터 7월 31일까지 9주 동안 인실리코젠에서 인턴십을 하며 다양한 생각을 할 수 있었습니다. 첫 5주 동안에는 전공하고 연관이 있는 리눅스, 파이썬 등의 프로그래밍에 초점을 맞춰 멘토 옆에서 공부하였습니다. 기본적인 배경 지식으로 어느 정도 알고 있어 꼭 한번 봐야겠다고 생각했었는데 배울 기회를 얻게 되어 좋았습니다. 평소에 공부하던 내용 중에서 이해가 안 되는 부분도 멘토를 통하여 궁금증을 해결할 수 있었습니다. 또한, 회사에서 부서의 금요일 회의에서 업무가 어떤 방법으로 공유되고 관리가 되는지 조금이지만 알아볼 수 있었습니다. 각각의 기술들이 어떻게 하나가 되는지 살펴보고 서로 협력을 통해 일하는 방법을 볼 수 있었던 시간이 되었습니다. 인턴십의 후반부인 4주에는 매주 돌아가면서 각 부서의 교육을 들었습니다. 인실리코젠이 생물정보 기업이다 보니 생물 관련 교육이 많았습니다. Computer Science가 전공인 저로서는 생소한 내용이 많이 있었습니다. 기초 지식도 부족 하였기 때문에 이해도가 많이 떨어진 것은 사실입니다. 하지만 컴퓨터를 배우면서 여러 가지 지식을 습득하는데 대부분 내용이 어떻게 사용되는지 또 어디에 사용하는지 잘 모르고 넘어가는 경우가 많은데 여러 가지 생물정보 프로그램을 소개를 받으면서 어디서 어떻게 사용이 되는지 알 수 있었습니다. 항상 물리학에 관심을 가지고 살아가고 있었는데 생물학을 배우면서 색다른 시야를 가지게 되어 재미있었던 시간이었습니다. 아쉬웠던 점은 새로이 얻은 생각들을 표현하고 사용을 할 수 있는 시간이 주어지지 않고 짜인 교육 안에서 진행되었던 점입니다. 또한, 첫 4주 동안 배운 내용을 서로 연결해서 사용해보고 다른 분들과 협력을 통하여 작은 프로젝트를 하고 싶었는데 그러한 기회를 얻지 못해 매우 아쉬웠습니다. 하지만 여름방학에 방황하지 않고 내가 부족한 부분과 흥미를 느낀 부분을 찾은 것에 대하여 의미 있는 시간을 보낼 수 있어 보람찬 시간이었습니다.

사용자 삽입 이미지
강지민 (충남대학교 대학원 축산학과)
처음 인실리코젠 인턴십 프로그램에 참여 신청할 당시에는 많은 부분에서 막연하게만 느껴지던 게 6주간의 인턴과정을 거치면서 많이 채워져 갔던 것 같습니다. 학교에서만 많은 시간을 보내다 보니 제가 보는 시각은 항상 학교에서 바라보는 시선에만 한정되어있었습니다. 그렇다 보니 데이터 분석가로서 폭넓은 사고와 다양한 알고리즘을 응용하는 부분에서 한계를 많이 느꼈던 차에 이번 6주간의 인턴십 기간은 저에게 많은 도움이 되었던 것 같습니다. 짧은 시간 내에 많은 내용을 다루다 보니 각각 주제별로 심도 있게 또는 바로 제가 응용해서 사용할 수 있을 정도로 배울 수는 없었지만 여태까지 접해보지 못했었던 다양한 프로그램과 분석 툴을 조금씩이지만 직접 사용해보며 앞으로 연구를 하면서 이번 인턴십 기간 동안 배웠던 내용을 어떻게 적용해볼 수 있을지 고민해보고 있고 여전히 제가 알고 있는 부분은 멀리서 보면 부분적인 것에 불과할 것이라는 생각을 하니 개인적인 동기부여도 새롭게 다질 기회이자 좋은 경험을 쌓을 수 있었습니다. 제가 처음으로 접했던 프로그램 언어가 R이었는데 처음 R을 접할 당시에는 여태껏 해본 적이 없었던 것이었고 문법 자체가 어렵게만 다가와서 한번 포기했었던 기억이 있습니다. 그래도 학부 마지막 학기 때 들었었던 생명정보수업에서 R 프로그램을 전반적으로 다시 배울 수 있었고 다시금 흥미를 가지고 하다 보니 지금은 여전히 잘 쓰는 건 아니지만, 어느 정도 R을 활용해 원하는 분석을 함에 있어 큰 무리는 없을 정도까지는 성장한 것 같습니다. 이처럼 이번 인턴십을 통해서 접했었던 많은 내용도 경험으로서의 의미보다는 제가 앞으로 어느 정도 활용할 수 있을 정도로 숙지해보고자 합니다.
 
사용자 삽입 이미지
목지수 (한경대학교 대학원 동물생명환경과학과)
지난 6주간 Insilicogen Internship Program에 참여하게 되어 즐거웠습니다. 처음엔 이 Internship Program을 통해 내가 무엇을 얻을 수 있을까라는 생각을 했습니다. 하지만 교육과정이 진행될수록 이 프로그램에 참여한 것이 다행이고 잘했다는 생각을 했습니다. 구체적인 교육을 받았던 내용으로는 첫 주에는 간단한 회사소개와 전체적인 유전체 분석에 대해 교육을 받았고, Linux 및 Python, 간단한 Editor 소개와 이렇게 분석한 data를 다루는 DB 관리방법까지 이 외 많은 것들을 교육받았습니다. 저는 동물전통육종을 전공했습니다. 그래서 유전체에 대해서는 잘 몰랐습니다. 그런 상태로 이 프로그램에 참여하기 전, 저는 BI 회사에 면접을 볼 때마다 잘되지 않았습니다. 그래서 인실리코젠 인턴십을 통해서 BI 회사에서는 무슨 일을 하고 어떤 것을 추구하는지 알아보고 싶은 마음에 지원을 했는데 목표했던 소기의 목적은 가지고 떠나게 된 것 같아 뿌듯합니다. 앞으로 어떤 BI 회사든 취업을 할 것인데 그때 이 경험이 저에게 있어서는 큰 도움이 될 것 같습니다. 지금까지 가르쳐주시고 도움 주신 모든 분들께 감사드리고 같이 지내게 되어 좋았습니다. 감사합니다.
 
사용자 삽입 이미지
장민재 (중앙대학교 생명자원공학부)
㈜인실리코젠에서의 6주간 인턴십 프로그램은 나에게 있어서 '생물정보학'이라는 것에 대해 배울 수 있는 좋은 경험이 되었습니다. 동물생명공학을 전공하고 있는 저는 주로 Wet Lab에서 실험 및 실습을 진행하곤 하였는데 생물정보의 특성상 Dry Lab이며 컴퓨터를 다루는 학문이기에 조금 생소한 것은 사실이었습니다. 아직 많이 겪어보지 않은 분야이기 때문에 매주 다른 프로젝트를 시행하는 인턴십 프로그램을 따라가기 어렵다고 느낀 적도 있었습니다. 하지만 실제 일을 하고 계시는 주임님과 선임님들께서 인턴들에게 알려주는 내용인 만큼 학교에서 배우는 내용과는 큰 차이가 있다고 느꼈습니다. 아직 학교에서 생물정보와 관련된 내용은 배워본 적이 없어서 정확히 이야기하기는 어려움이 있지만, 기초적인 내용부터 배우기보다는 실제 많이 응용되는 내용을 위주로 배운 것 같아 좋은 경험이 되었습니다. 생물정보학 및 앞으로의 빅데이터 분야의 발전에 대해 알게 되었고, 생물정보 분석의 기초인 프로그래밍 언어와 분석 프로그램에 대해 배웠습니다. 처음에는 컴퓨터를 이용해 DNA 혹은 reads에 대한 분석을 제가 할 수 있을 것이라 상상조차 하지 못하였지만 다양한 프로그램을 배우면서 서열이 제공된 경우에, 여러 가지 개체를 비교하는 기술 혹은 그 개체들 사이의 상관관계 같은 것을 알아볼 수 있는 기술을 배우게 되었습니다. 특히 R 언어와 Python 등 코딩을 배우면서 생명정보 분야뿐만 아니라 컴퓨터 공학적인 면에서도 더 다양한 공부를 할 기회를 얻게 되었습니다. 아직 생물정보학에 관한 내용을 배운 경험이 없었기에 생물정보 분야에 가장 큰 관심이 있었지만, 저와 적합한지에 대한 확신은 아직 없는 상태였습니다. 하지만 이번 인턴십 프로그램을 통해 다음 학기의 졸업 논문조 편성 전에 bioinformatics를 겪어볼 수 있었고, 저의 미래에 대한 확신을 할 수 있게 되었습니다. 실무적인 내용을 위주로 먼저 배웠기에 기초가 조금 부족할 수는 있지만, 다음 학기의 유전체학과 생명정보 프로그래밍 수업을 들을 때 제가 6주간의 인턴십 프로그램에서 배웠던 bioinformatics의 내용을 바탕으로 다시 기초와 심화까지 다진다면 제 지식에 많은 도움이 될 수 있을 것 같습니다. 다양한 대학교에서 온 학부생들, 박사과정 수료생, 박사과정 진행 중이신 분들, 미국에서 유학 중이신 분까지 다양한 곳에서 다양한 전공을 하고 있는 사람들 사이에서 서로의 전공 내용에 대해서도 배우고 생명과학뿐만 아니라 폭넓은 분야를 배우고 겪을 수 있었습니다. 인실리코젠에서의 생활은 기업에서 하는 인턴이었기에 사회생활의 첫걸음이라고도 생각할 수 있습니다. 선임님들과 멘토분들께서 친절하게 잘 알려주셨고, 회사의 복지 자체도 정말 잘 이루어져 있었기에 매일 새벽에 일어나서 저녁때 퇴근을 하는 통근의 생활은 조금 힘들었지만, 평생 후회하지 않을 좋은 경험을 마무리한 것 같습니다.
 
사용자 삽입 이미지
조성현 (충남대학교 대학원 축산학과)
인실리코젠에서의 6주간의 인턴십은 좁게만 보였던 저의 시야를 넓혀주는 확장의 계기가 되었습니다. 생물정보학은 제가 생각했던 것 이상으로 넓고 다양하였습니다. ‘내가 정말 아는 것이 없구나.’ 라는 생각과 동시에 ‘앞으로 더 많은 것을 할 수 있겠구나.’ 라는 생각이 들었습니다. 6주라는 시간이 분석 방법을 습득하기에는 충분한 시간이 되지 못하다 보니 자세하고 깊은 내용은 알지 못하였으나 앞으로 부딪치고 직면해야 하는 나의 일의 전반적인 흐름과 넓은 시야를 얻을 좋은 기회가 되었습니다. 또한, 본 인턴십을 통해 좋은 인연을 얻는 기회가 되었습니다. 인실리코젠의 주요 가치 중 하나는 바로 사람입니다. ‘한 사람의 꿈은 꿈이지만, 만인의 꿈은 현실이 된다.’ 라고 하였습니다. ‘나’라는 하나는 약하고 부족하지만 나와 함께하는 ‘우리’는 강하고 풍족합니다. 나의 옆에서 나와 함께하는 이는 나의 자산이고 나의 꿈이라고 생각됩니다. 이 기간의 만남은 앞으로의 나의 선의의 경쟁자이자 동업자, 조언자가 될 것으로 생각됩니다. 6주 기간 동안 함께한 인턴분들과 본 인턴십을 위해 힘써주시고 챙겨주신 많은 멘토 선생님들과 강의를 맡아주신 여러 선생님께 다시 한 번 감사드립니다. 이 인연이 앞으로도 좋은 인연으로 발전되기를 소망합니다. 감사합니다.
 
사용자 삽입 이미지
천하림 (숭실대학교 의생명시스템학부)
6주간의 인턴십을 통해 정말 많은 것을 배웠던 것 같습니다. 서울에서 용인으로 통근해야 한다는 점이 처음에는 크나큰 부담으로 다가왔지만 인실리코젠을 통해 얻은 값진 경험과 지식을 생각하면 정말 사소한 부분이었다는 것이었습니다. 실제로 의생명시스템학부(생명정보학과)의 학생으로서 생명정보학을 진로로 삼는 것에 대해서는 확고했습니다. 하지만 3학년 학부생으로서 제가 가지고 있는 지식은 실제로 데이터를 분석하고 이해하기에는 굉장히 부족한 수준이었습니다. 하지만 人CoInternship에 참여하면서 NGS에 대한 전반적인 내용에 대해서 알 수 있었습니다. 그리고 이러한 지식을 통해 예제 데이터를 이용하여 분석 프로그램으로 실습해 볼 수도 있었습니다. 이는 생물정보 분석에 대한 즐거움을 더 느낄 수 있었던 계기가 되었던 것 같습니다. 그리고 단순한 분석에만 그치는 것이 아닌 연구자로서의 마음가짐에 대해서도 배울 수 있었습니다. 논문을 읽고 해석해가면서 배경지식을 더 넓힐 수도 있었고 논문의 사례를 통해 추가로 연구되어야 할 점을 생각할 수도 있었습니다. 생명정보의 개념적인 지식 이외에 생명정보의 data를 다루는 여러 가지 컴퓨터 프로그램들을 다뤘던 것은 더 값진 경험이었던 것 같습니다. Python, Linux, R, Oracle을 통해 생명정보 data를 어떻게 분석하고, 가공하고, 연구자의 기준에 맞는 연구를 진행할 수 있는지에 대해서 배울 수 있었습니다. 단순한 프로그래밍 언어로만 느껴졌던 Python으로 실제로 FASTQ 파일을 Parsing하고, GC Contents를 계산하는 등에 이용하기 위해 코딩을 하면서 조금 더 재미있게 배울 수 있었습니다. 그리고 Python 수업을 통해 알게 된 Rosalind의 경우 20문제를 풀게 되면 소정의 상품을 주신다고 해서 인턴사원들과 다 함께 고민하며 문제를 풀어나갔던 경험도 굉장히 값졌던 것 같습니다. 결국, 문제를 16문제를 풀게 되었고 한국 Ranking을 96위로 만드는 결과를 만들 수도 있었습니다. 또한, 앞선 연구적 분야와는 조금 다른 성격으로 BS실에서 진행한 생물정보시스템에 대해서도 배울 수 있었습니다. 실제 생물정보시스템에 대한 예시를 보고 조별로 새로운 시스템을 고안해내는 과정은 정말 생소한 부분이라 어렵지만, 흥미를 느끼게 되는 기점이 되었던 것 같습니다. 조원들과 구상한 시스템을 구현하기 위해 Userstory를 구상하고, Prototype을 Axure라는 프로그램을 통해 만들고 이를 위한 DB 설계 및 Workflow를 정의하면서 어렵지만 무언가를 만들어내는 성취감을 느낄 수도 있었습니다. 그리고 가장 생소했던 iF팀을 통해 우리의 기술이 정말 많이 발전해왔다는 것을 알 수 있었습니다. 그리고 실제로 조별로 아이디어를 구상해 Business Canvas Model을 작성하고 DB를 직접 구축하고 이를 Neo4j를 통해 노드와 엣지의 관계로 이어주는 과정은 정말 재미있었습니다. 앞의 교육을 통해 과학자적인 마인드만을 배웠다고 한다면 이러한 교육을 통해서 조금 더 사업가적인 마인드 또는 디자이너의 마인드를 배울 수 있었던 것 같습니다. 그리고 실제로 이를 사업계획서 발표형식으로 하여 발표했던 것도 어디에서나 할 수 있는 경험이 아니므로 굉장히 값졌습니다. 이 외에도 Supergene을 주제로 人CoDom 및 독후감 작성을 통해서 집단지식공유의 즐거움을 느끼고 인문적 소양 함양을 할 수 있었던 것 같습니다. 이번 인턴십 중에서 가장 아쉬웠던 것은 오랜 기간을 보내지 못하고 여기를 떠나야 한다는 점 같습니다. 그리고 6주간의 배운 내용을 이 짧은 소감문에는 다 담을 수 없을 것입니다. 하지만 이 글을 통해서 이번 인턴십을 통해서 얻은 것은 대단히 많다는 사실을 꼭 강조하고 싶습니다. 생물정보학적 지식의 확장만이 아닌 인턴사원들 간의 협동, 인문적 소양 함양, 만인(萬人)의 꿈의 중요성에 대해서 몸소 깨닫고 느낄 수 있던 값진 경험이었습니다. 이번 기회를 통해 한 층 더 성장한 제가 될 수 있었던 것 같았고, 인턴사원들을 위해 노력해주신 사원분들께도 감사의 말씀을 드립니다.
 
사용자 삽입 이미지
최광현 (강원대학교 분자생명과학과)
지난 6주간 인실리코젠에서 인턴십 과정을 거치며 많은 것들을 배웠습니다. 우선 저는 생물정보학이라는 분야에 대해 아는 것이 그다지 많지 않았습니다. 대학교에서 분자생물학이나 프로그래밍에 대해서는 어느 정도 배웠지만, 생물정보학에 대해서는 처음이라 가장 기초적인 BLAST나 NGS 같은 개념들도 정말 들어만 본 수준이었습니다. 그러나 제가 이 분야에 관심을 두게 되었고 인턴으로 오게 됐으니 열심히 공부하겠다고 생각했습니다. 하지만 막상 와서 경험해 보니 어디까지를 생물정보학이라고 칭할 수 있을까? 라는 고민을 할 정도로 생각했던 것보다 생물정보학의 범위가 매우 넓었고, 그 안에서 저는 선택을 해야만 했습니다. 그런 의미에서 분야별 6주로 구성된 인턴십 프로그램은 저에게 정말 폭넓은 경험을 할 수 있도록 해 주었고, 그 과정에서 상당한 동기 부여를 느낄 수 있었습니다. 결과적으로 제가 그동안 고민해왔던 진로 결정에 대한 고민도 해결할 수 있었으며, 다양한 지식을 얻을 수 있었습니다. 가장 기억나는 과제 중 하나로 개인별로 한가지씩 인코덤 항목 작성이 있었습니다. 주제가 인턴십 동안 배운 내용으로 한정되어 적당한 주제를 선정하는 것이 어려웠으나, 일단 주제를 선정하고 나면 쉽게 작성할 수 있을 것 같았습니다. 그러나 자기 머릿속으로만 아는 것보다 개념을 일반화시켜서 다른 이들에게 정보 전달을 위한 글을 쓴다는 것은 높은 이해도가 필요하였고, 그 과정에서 글을 쓰는 능력뿐만 아니라 제가 작성한 항목에 관해서도 많은 공부가 되었습니다. 더불어 제가 작성한 항목이 인코덤 위키에서 검색되어 나올 때 뿌듯한 마음을 느꼈습니다. 인턴십 동안 개인별로 멘토를 지정받았는데, 제 멘토는 이경표 선임개발자님이셨습니다. 항상 바빠 보이셨는데도 불구하고 누구보다도 자주 플렉스실에 찾아와 주시고 관심을 가져주셔서 감사했습니다. 3주차 리눅스와 파이썬 교육 때 코딩을 하시는 것을 처음 보았는데, 생각하는 대로 코딩하는 모습을 보고 저는 조금 놀라면서 많은 동기부여가 되었습니다. 또한, 현업에 종사하시는 분의 생각부터 학업 외적인 부분에서도 많은 조언을 해 주셔서 정말 많은 도움이 되었습니다. 인턴십 과정을 진행하면서 한 가지 아쉬웠던 점은 저희가 사무실과 격리되어 플렉스실에 있어서 다른 사원분들과 조금 물리적으로 거리가 있었던 점 같습니다. 사실 그런데도 모든 사원분들께서 정말 친절하게 대해주셔서 하나도 불편한 점은 없었지만, 아무래도 사무실 분위기를 체감해보지 못한 건 조금 아쉬웠고, 그 점 이외에는 저로서는 정말 만족스럽고 감사한 경험이었습니다. 아직 저는 많이 부족한 것 같은데 시간이 정말 빠르게 지나간 것처럼 느껴져서 너무 아쉽다고 생각합니다. 6주 동안 회사라는 환경에서 많은 사람을 만나고 학업뿐만 아니라 많은 것들을 배우면서 개인적으로도 큰 성장을 이뤘다고 생각하며, 앞으로의 삶에도 많은 도움을 줄 것으로 생각합니다. 감사합니다.
 
사용자 삽입 이미지
김민성 (순천향대학교 생명시스템학과)
2019.07.01부터 시작한 8주간의 인턴십을 마무리했습니다. 이번 인턴십은 프로그래밍 언어와 데이터 처리에 대한 생각을 확고하게 잡을 수 있게 해주었습니다. 지금까지 자바, 파이썬, C 와 같은 프로그래밍 언어들은 나와는 상관없는 분야라고 생각했지만, 인턴십 과정 동안 여러 가지 프로그래밍 언어들에 대해 접해보고 그것들을 통해 생물 데이터를 다루는 실습을 해보고 나니 이 컴퓨터 언어라는 것을 이용하면 무엇이든 할 수 있겠다고 느꼈습니다. 그러한 생각과 함께 자신의 전공만 고집하는 것은 우물 안의 개구리가 되는 것임을 느끼게 해주었습니다. 또한, 생물정보학에 대한 개념을 확실하게 잡게 되었고, 생물 분야에 발을 들인 이상 생물정보학은 필수불가결하다는 것을 느끼게 되었습니다. 이러한 깨달음들은 앞으로 저의 미래에 대해 방향성을 잡아주는 아주 중요한 밑거름이 될 것입니다. 인코인턴십은 프로그래밍 언어뿐만 아니라, 매 주차 별로 회사 내의 여러 부서에서 하는 일들을 체험할 수 있게 해주었습니다. 그중 가장 기억에 남았던 것은 neo4j를 이용하여 실제 데이터베이스를 구축하고 그것을 사용하는 서비스를 기획하는 실습이었습니다. 데이터를 구축하고 검색하는 작업에 대해 배울 수 있을 뿐만 아니라, 서비스 마케팅 같은 분야도 배우고 직접 해볼 수 있었습니다. 그러한 과정을 통해 팀원 간의 소통, 협력, 업무분장 같은 팀 과제를 위한 소양들도 경험하게 되었습니다. 여러 가지 프로그램을 진행하면서 인실리코젠의 직원분들께서 저희가 많은 것을 체험하고 배울 수 있게 많은 준비를 하셨다는 것을 느낄 수 있었습니다. 이번 인턴십을 통해 여러 사람과 만날 수 있어서 좋았습니다. 다양한 곳에서 오신 인턴분들과 여러 이야기를 나누면서 제가 몰랐던 지식을 공유 받고 저 또한, 도움을 주면서 저의 지식의 폭을 더 넓힐 수 있었습니다. 또 여러 팀 과제를 진행하면서 동료 간의 소통과 존중 같은 내면의 소양에 대해도 갈고 닦을 수 있었습니다. 인턴분들뿐만 아니라 바쁜 시간에도 불구하고 저희에게 많은 것을 가르쳐 주시고 조언을 아끼지 않으신 멘토분들과 강의해주신 직원분들 모든 인연이 저에겐 그 무엇보다 값진 결과물입니다. 끝으로 이런 좋은 프로그램을 경험하고 값진 인연을 만날 수 있게 해주신 인실리코젠의 모든 분께 감사하단 말씀을 드리고 싶습니다.
 
사용자 삽입 이미지
심석보 (순천향대학교 생명시스템학과)
제가 처음 인실리코젠에서 인턴십 프로그램에 참여하기 위해 자기소개서를 쓰고, 학교에 필요한 서류를 내기 위하여 인실리코젠에 처음 방문했던 날이 얼마 지나지 않은 것 같지만 벌써 인실리코젠에서의 인턴생활이 거의 끝나고 이렇게 소감문을 적어야 하는 시간이 왔습니다. 초반에는 어떻게 생활을 해야 할지, 회사에서의 생활이 처음이다 보니 같은 대학교에서 온 친구들에게 많은 의지를 했던 것 같습니다. 하지만 회사 프로그램에 맞춰서 생활하다 보니 팀 프로젝트가 많아서 다른 인턴분들과 이야기를 많이 하게 되었고 이것을 계기로 서로 친해질 수 있었습니다. 이렇게 다른 인턴분들과는 6주 동안 많은 추억을 쌓았고, 우리 대학교에서 온 학생들은 2주 동안 더 프로그램을 진행하게 되었습니다. 인턴십 프로그램을 하는 8주 동안 많은 것을 배우고 저 자신에게 많은 것을 느낄 수 있는 계기가 되어 이번 방학기간 동안에 ㈜인실리코젠에서 인턴십을 하게 된 것이 어쩌면 저의 인생에서 하나의 중요한 기억이 될 것 같습니다. 생물정보학에 대하여 더욱 자세히 알기 위하여 인실리코젠을 선택한 것이 그 이유입니다. 인턴십 프로그램을 하는 동안 생물정보학에 대하여 많이 배울 수 있어서 좋았지만 생각하지도 못한 분야에 대해서도 알게 되었습니다. 그것은 제가 암에 관하여 관심이 있었는데 CLC Genomics Workbench라는 것에 대해 배움으로써 더욱 뜻깊은 시간이었습니다. 이 프로그램을 사용하여 암에서 주요한 변이를 일으키는 부위를 추정할 수 있었습니다. 이러한 지식을 얻게 됨으로써 인실리코젠에서 인턴을 하는 것은 매우 즐겁고 이번 방학 기간은 알찬 시간을 보내게 된 것 같아서 매우 즐거웠습니다. 감사합니다.
 

사용자 삽입 이미지
최승연 (순천향대학교 생명시스템학과)
안녕하세요. 人CoINTERNSHIP 9기를 마친 최승연입니다. 초여름에 시작하여 어느덧 가을이 다가올 때쯤 인턴십을 마치며 지난 8주 동안 진행된 인턴십 기간이 끝나가는구나! 라는 것을 느끼게 되었습니다. 인실리코젠에서의 지난 8주는 길다면 길고 짧다면 짧은 시간이었습니다. 한 주 한 주 과제를 해결해 나가며 성취감을 얻을 때도 있었지만 처음 접해본 분야에 맞닥트렸을 때는 어려움을 느껴 지칠 때도 있었습니다. 하지만 혼자가 아닌 인턴십 친구들이 있었기에 문제를 함께 해결해 나가며 극복할 수 있었습니다. 그래서 저는 인턴십을 하는 동안 조별과제 문제를 함께 풀어나가고 일을 효율적으로 해결하는 것, 회사에서의 예절, 공동체 생활, 결과보다는 과정을 중요시하여 모든 일에 끝까지 책임을 다하는 것을 배웠습니다. 물론 교육적인 부분에서도 필요하고, 유익한 내용을 배웠습니다. 하지만 제가 앞서 언급한 부분들은 인실리코젠이 아니었다면 배우지 못했을 것으로 생각합니다. 저는 처음 인실리코젠에서 자기소개를 하였을 때 배움, 마케팅, 사람 이 3가지를 얻고 싶다고 말하였고, 8주가 끝나고 돌아보니 이 3가지를 모두 이룰 수 있었습니다. 생물정보학에서 핵심인 프로그래밍 언어, 데이터 처리, 유전체 분석을 배웠고, 회사의 마케팅 방향성을 제시하는 전략 발표를 해보기도 하였으며, 같이 진행한 인턴십 친구들, 좋은 멘토분들에게 긍정적인 에너지를 얻기도 하며 좋은 인연으로 이어지기도 했습니다. 인실리코젠에 오기 전, 저는 진로에 대한 고민이 많았고 생물학에 지쳐있는 상태였습니다. 하지만 인턴십을 2주 3주 계속해서 진행하다 보니 어느새 저는 교육을 통해 새롭게 배운 내용에 흥미를 느끼고 있었으며, 전공서적을 펼쳐보며 공부를 하고 있었습니다. 인실리코젠에 온 이후 어느새 저는 생물학에 다시 흥미를 느끼며 진로에 대한 뚜렷한 목표를 그려나가고 있었습니다. 인실리코젠을 통해 저는 점점 긍정적으로 바뀌면서 좋은 에너지를 얻었습니다. 지난 8주 동안에 대해서 누군가 물어본다면 저는 정말 값지고 유익한 시간이었다고 자랑스럽게 말할 수 있습니다. 많은 것에 대해 깨닫고 저를 좀 더 단단하게 만들 수 있게 도와주신 인실리코젠의 모든 분에게 감사드립니다. 감사합니다.

 

8주간을 돌아보며

  • 지난 7월 12일, 사내행사 "人Co Culture Day"를 참석하여 다른 인턴,
    사원분들과 더 친해질 수 있던 계기가 되었습니다.
  • 人CoINTERNSHIP은 데이터 분석부터 프로그래밍 언어, 매 주차 별로 사내의
    여러 부서에서 하는 일들을 체험할 수 있게 해주었습니다. 그러한 과정을 통해
    팀원 간의 소통, 협력, 업무분담 같은 팀 과제를 위한 소양들도 경험하였습니다.
  • 수료식을 마치며, 지난 8주간 많은 것에 대해 깨달았으며, 좋은 프로그램을
    경험하고 값진 인연을 만날 수 있게 되어 영광이었습니다.
 
작성 : 人CoINTERNSHIP 제9기 수료생
김로빈, 강지민, 목지수, 장민재, 조성현, 천하림, 최광현, 김민성, 심석보, 최승연

Posted by 人Co

2019/08/29 08:18 2019/08/29 08:18
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/323


 

봉와직염(蜂窩織炎: cellulitis)

군대 다녀온 남자들이라면 익숙하게 들어본 질병 중의 하나로 봉와직염이 있다. 웬만한 성인 남성들은 한 번쯤은 직간접적으로 겪어 본 흔한 질병의 하나이다. 군대에서 많이 걸리는 이유는 군화를 신고 오래 걷고, 발에 상처가 나도 제대로 치료를 못 해 덧나는 염증이다. 처음에는 그냥 무좀인 줄 알고 있다가 나중에야 심각함을 인지하는 나름 무서운 병이다. 환경이 열악하고 육체적으로 많은 일을 하며 잘 씻지 못하는 조건에서 많이 발병해서 군대에서만 걸리는 질병으로 인식하고 있지만, 최근에는 여러 이유로 면역력이 떨어진 상태에서 작은 상처 부위에 세균 감염되었을 때 많이 발생하고 있다. 상처가 마치 벌집 모양으로 번져간다고 해서 이러한 이름이 붙여지게 되었다.

봉와직염과 항생제

봉와직염은 진피와 피하 조직에 나타나는 급성 세균 감염증의 하나로 이들 세균이 침범한 부위에 홍반, 열감, 부종, 통증을 동반한다. 이의 주원인으로는 황색포도알균과 사슬알균 등에 의한 감염으로 병원 진료를 받게 되면 항생제 처방을 받게 된다. 그러나 이러한 봉와직염의 약 30%가 단순한 피부 감염인 가성 봉와직염(pseudocellulitis)으로 밝혀졌으며 이들 중 85%는 입원치료가 필요 없었고 92%는 불필요한 항생제가 투여됐는데 이는 봉와직염과 가성 봉와직염은 증상이 비슷해 구분이 어렵기 때문이다. 이로 인해 연간 13만 건의 불필요한 입원과 51억 5천만 달러의 불필요한 의료지출이 낭비되고 있다고 한다. 무엇보다 심각한 문제는 불필요한 항생제 투여가 항생제 내성을 부채질한다는 데 있다[1]. 

항생제와 내성

위의 사례처럼 우리가 흔히 접하는 봉와직염과 항생제를 살펴봤을 때도 항생제와 내성 문제가 대두하고 있다. 무분별한 항생제 남용과 오진으로 인해 항생제 사용량은 나날이 급증하고 있으며 그로 인해 항생제에 대한 내성을 가진 내성균이 출현하고 있다. 2016년 영국 정부가 발표한 항생제 내성균(AMR: AntiMicrobial Resistance)보고서에서는 현재 전 세계적으로 70만 이상이, 유럽과 미국에서 5만 이상이 내성 박테리아의 감염 때문에 숨지고 있으며, 인류가 특별한 조처를 하지 않으면 2050년에 이르러서는 1,000만 이상의 사망과 이에 따라 100조 달러 이상의 손실이 발생할 것으로 예측하였다[2].

 

[그림1] 인구 1,000명당 항생제 하루 사용량
(출처: 미국 국민과학운회보(PNAS)-생명공학정보센터)
)

 

최근 조사에 따르면 인구 1,000명당 항생제 하루 사용량은 고소득 국가를 비롯하여 저소득 국가까지 전반적으로 사용량이 증가하는 추세에 있다. 특히 주목할 점은 중상위 소득 국가에서 그 사용량이 기하급수적으로 증가하고 있다는 점이다. 이는 아마도 의료 복지의 수준이 상대적으로 양호해지면서 병·의원의 치료가 증가한다는 데 기인하였다고 추측해 볼 수 있다.


[그림2] 인체 항생제 사용량


[그림3] 황색포도알균 메티실린 내성률



[그림4] OECD 국가 항생제 사용량
(출처: 매일경제 (MBN) 2018.11.28. 항생제 남용심각... 30년 후엔 매년 1,000만 명 사망)
 
 

매년 유럽에서만 25,000명, 미국에서 23,000명 정도가 항생제 내성 균주에 감염되어 사망하고 있으며 패혈증은 시간당 9%씩 감소하는 생존율을 극대화하기 위해 항균제 감수성 검사 시간 단축이 매우 중요하다고 볼 수 있다. 즉 항생제를 빠르고 정확하게 처방하여 환자의 생존율을 높이고 동시에 항생제 내성 균주 발생을 억제해야 하지만 항생제 내성 검사의 경우 종동정부터 항생제 내성 검사까지 최소 16시간에서 40시간 이상의 시간이 소요되고 있다.

항생제 내성 균주로 매년 경제적 손실은 유럽에서 약 2조, 미국에서 66조 가량 된다고 추정하고 있으며, 이는 사망률 증가, 치료 기간 연장, 의료비용 상승 등 공중보건에 큰 위협이 되면서 사회경제적으로 큰 손실을 초래하고 있다.

항생제는 1928년 페니실린(Penicillin) 항생제의 발견 이후 1960년대까지는 항생제의 개발이 활발했지만, 새로운 계열의 항생제 부재와 기술의 한계, 그리고 빠르게 증가하는 각종 세균의 내성 문제 등으로 이후 항생제 개발은 감소하기 시작하여 항생제 오남용으로 인해 항생제 내성균이 증가함에 따라 유엔이 항생제 남용 방지 결의안을 채택(’16.09)하기도 하였다[3].

 

항생제 내성 기작

항생제의 역사는 1928년 플레밍(Alexander Fleming)이 페니실린(penicillin)을 발견하면서 시작되었다. 이 발견을 빌미로 2차 세계 대전 당시 상용화에 성공해 수많은 전염병 환자의 목숨을 구한 것은 익히 알고 있는 사실이다. 이후 질병의 원인이 되는 미생물의 사멸을 위해서 많은 항생제가 개발되었다. 항생제는 미생물이 생성한 물질로, 다른 미생물의 성장을 저해하여 항균작용을 나타내며 인체에 침입한 세균의 감염을 치료한다. 특히, 세균의 증식과 성장을 억제하는 약물이다. 항생제의 주요 작용 기전으로는 다음과 같다.

  1. 세포벽 합성 저해
  2. 단백질 합성 저해
  3. 핵산 합성 및 교정 저해

세균에는 대략 200개 내외의 필수 단백질들이 있으나 이 가운데 항생제의 표적으로 삼고 있는 유전자는 대략 3종류인데, 리보솜과 세포벽 생성에 관여하는 단백질 그리고 핵산의 구조 변형 및 합성에 작용하는 효소들이다. 이들의 성장과 증식을 억제함으로써 그 약제의 역할을 하는 것이다. 그러나 이러한 약제에도 내성을 가지는 미생물 특히 세균이 존재한다. 항생 물질에 대한 내성은 자연과 획득 내성로 구분할 수 있는데 특히 문제가 되는 것은 획득 내성으로 볼 수 있는데 획득 내성은 어떤 종이 갖고 있던 유전∙생화학적 성질이 변형되면서 해당 제제에 대하여 내성이 생기는 현상을 의미한다. 특히, 최근 들어서 문제가 되는 다양한 항균제의 오남용이 병원균 약제 내성의 선택적 발생을 부추김을 부정할 수 없다[4].

이에 신속하고 정확하게 항생제 내성을 진단하고 항생제를 처방하여 환자의 생존율 증대 및 항생제 내성 균주 발생을 억제가 필요하지만 현 항생제 내성 검사의 경우 최소 16시간에서 최대 2~3일의 시간이 소요되고 있다. 이는 초기 환자의 생존율을 낮추고 있으며 항생제의 오남용이 되는 근본 원인을 제공하고 있다. 따라서 단기간에 항생제 내성 여부를 판단하여 신속하고 정확한 처방을 통해 항생제 내성균 억제하는 것은 무엇보다 중요하다고 할 수 있다. 최근에는 기술의 발달로 RT-PCR 기술을 이용해 3시간 이내에 진단할 수 있어졌지만, 다양하게 변화하는 내성균의 유전자 정보를 추적할 필요가 있다. 특히나 한국에서는 항생제가 연간 1,000톤 정도가 사용 중이며 이는 한국 지역 환경의 변화에 따른 새로운 항생제 내성균의 출현이 예고된다.

 

IncoARG

이러한 환경변화에 따라 한국형 항생제 내성 유전자(다양성) 서열 및 정보를 수집할 수 있는 플랫폼 필요성이 주목받고 있다. 이미 ARDB 및 CARD와 같은 데이터베이스가 존재하지만, 한국인들에게서 발병한 항생제 내성균의 유전정보와 통합적으로 구성되어 있지 않다. 따라서 과거 50년 동안 수집 및 축적된 항생제 내성균 및 유전정보와 함께 최근 한국에서 발생하고 있는 내성균에 대한 유전 정보를 통합적으로 관리하고, 내성균의 변화에 대응할 수 있는 신속한 프로브 설계 기능을 필요로 한다. 분자 진단을 위해서는 해당 서열을 구별해 낼 수 있는 프로브가 필요한데 변이가 생긴 유전정보가 누락된 프로브라면 아무래도 그 감수성이 감소하기 나름이다. 이에 항생제와 관련된 세균 및 그들의 유전정보를 종합적으로 관리, 프로브 설계 기능을 갖춘 시스템을 (주)인실리코젠에서 개발하였는데 이른바 IncoARG이다. 주요 기능은 다음과 같다.

  1. 질병, 항생제, 세균 및 유전자의 상호 연관 DB 구축
  2. 항생제별 주요 세균 종에 대한 마커 후보 발굴
  3. 마커 후보에 대한 프로브 및 프라이머 디자인
  4. 항생제 내성 유전자딥러닝 기법을 통한 감수성 예측 모델 개발(예정)
 

[그림 5] IncoARG 화면 일부

 

어린이와 항생제

최근 항생제 내성과 관련하여 “국내 항생제 사용량, 여전히 OECD 1위 오명”, “CDC도 두 손 든 ‘악몽의 박테리아’.... 이대론 국내병원서 CRE 토착화 시간문제” 등과 같은 다양한 뉴스가 쟁점이 되고 있다. 실제로도 어린이들이 병·의원을 방문하게 되면 항생제는 거의 필수적으로 처방되고 있어 어린 나이에서부터 항생제에 노출된 것이 현실이다. 이에 부모들 사이에는 자식과 관련된 항생제 내성 문제를 외면할 수 없어 될 수 있는 대로 항생제를 처방하지 않는 병원이 인기라고 한다. 그러나 항생제를 전혀 사용하지 않는 것이 제일 나은 방법은 아니다. 특히 쉽게 치료할 수 있음에도 치료가 되지 않아 자주 병원을 방문할 뿐 아니라 환자에게도 감염이 확대될 수 있음을 충분히 인지해야 한다.

참고자료

  1. "봉와직염 진단 중 30%는 오진"
    https://www.mk.co.kr/news/photo/view/2016/11/774683/

  2. Tackling Drug-resistant infections globally: Final report and recommendations, The review on antimicrobial resistance chaired by Jim O'Neill, May, 2016.
  3. 항생제 특허 분석 보고서. 2017년 농림분야 생명자원 특허 DB 수집 및 분석 사업
  4. 약제 내성 문제에 대한 정보학 관련 연구 동향. 오석준
BS실 이규열 책임 개발자

Posted by 人Co

2019/05/21 13:05 2019/05/21 13:05
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/312




(주)인실리코젠 FED팀(Front End Development)은 PC웹, 모바일웹, 반응형웹, 웹접근성 등 각 프로젝트에 적합한 기술로 UX를 해치지 않으면서 UI 퍼포먼스에 최적화된 마크업과 UI 개발을 담당하고 있습니다.

프론트엔드 프로세스는 크게 ‘관리의 효율성’, ‘성능 최적화’, ‘커뮤니케이션’ 등을 만족해야 하므로 배포할 수 있는 소스를 만들기까지 여러 단계를 거치게 됩니다. 예전에는 매번 폴더를 새로 만들고 필요한 라이브러리 파일을 웹에서 검색해서 다운받아 폴더에 넣고 HTML 문서에 해당 경로를 입력하는 것으로 프로젝트를 시작했습니다. 이미지 스프라이트, 공통 소스 분리, 소스 최소화 등 대부분 작업도 수동으로 처리했습니다.
그러나 프로젝트가 다양해지고 복잡해질수록 단순 반복 작업을 없애고 좀 더 효율적인 업무 프로세스를 만들 필요가 있습니다.

단순하고 반복적인 작업을 없애고 일관된 스타일을 유지하면서 코드 품질 향상까지 도모할 수 있는 FED팀의 스마트 업무 프로세스를 소개합니다.

 

요즘 잘 나가는 프론트엔드 자동화로 업무 효율성을 높이다!


Node.js 기반 NPM을 중심으로 업무 자동화 프로세스를 구축합니다.

NPM (Node Package Manager)
패키지(하나의 완성된 소프트웨어나, 부품으로 쓰이는 라이브러리 및 모듈)들을 설치, 업데이트, 패키지 간의 의존성과 버전 정보를 관리할 수 있습니다.

Bower
의존성 관리란 제이쿼리, 부트스트랩 등 외부 라이브러리를 가져다 쓰고 이에 대한 버전 관리를 하는 것을 말합니다. 라이브러리 간 의존성을 관리하고 라이브러리 파일을 형상관리 도구에 넣지 않아도 팀원 간 추가한 라이브러리에 대한 정보를 쉽게 공유하고 버전 업데이트도 편리하도록 Bower를 사용해서 프론트엔드 패키지만 따로 관리합니다. Bootstrap, Sass, Images 등 다양한 리소스를 하나의 패키지로 만들어서 배포할 수 있습니다.

Sass(SCSS)
강력한 CSS 확장 언어로 CSS로는 할 수 없는 변수, 함수, @import 디렉티브(Directive)로 스타일 파일을 모듈화할 수 있어 코드의 반복을 줄이고 재사용을 쉽게 합니다.

Babel
ES2015가 표준화되었지만, 아직 새 표준을 지원 못하는 구 버전 브라우저가 이해할 수 있는 신텍스(Syntex)로 변환해줍니다.

Gulp
프론트엔드 개발 관련 각종 툴들을 자동으로 실행시켜 주는 테스크 러너(Task Runner)로 프로젝트별로 필요한 환경을 자동화할 수 있습니다. gulpfile.js와 package.json은 모든 프로젝트에 바로 재사용할 수 있고 필요하면 쉽게 커스터마이징 할 수 있습니다.

 * 파일을 수정하고 저장할 때마다 브라우저 새로고침
 * 디버깅을 용이하게 하기 위한 CSS 소스맵(Source-map) 생성
 * 브라우저 지원을 위한 자동 접두사(Prefix) 추가
 * 써드파티 모듈/패키지로부터 Javascript, CSS, Image 가져옴
 * HTML 별로 인라인해야 할 자바스크립트를 가져옴
 * 자바스크립트를 난독화, Javascript, CSS, Image 최소화, 이미지 스프라이프(Sprites)
 * CSS, 자바스크립트 코딩 스타일과 에러 체크 등 코드 품질을 검증


Webpack

JavaScript 애플리케이션을 위한 패키지 번들러(Package bundler)로 JavaScript , 이미지, CSS 등 종속성을 가진 모든 정적 애셋(Static assets)을 단일 파일로 묶어줍니다. 자바스크립트를 모듈단위로 개발할 수 있어 Angular, React, VueJS 등 자바스크립트 중심 프로젝트에 적합합니다.

 * Loader를 통해 Javascript, Image file, Font, CSS, SCSS 등과 같은 자산을 하나의 모듈로 취급
 * Entry 별로 Bundle 생성 가능
 * Bundle에 대한 압축 및 난독화, 소스맵(Source-map)에 대한 옵션 제공
 * Plug-In 사용을 통한 사용자 정의 기능 수행
 * 비동기 I/O와 다중 캐시 레벨(Multiple cache levels)을 사용하기 때문에 컴파일 속도가 매우 빠름
 * CommonJS(nodejs)와 AMD(require) 스펙 지원



FED 팀은 ‘슬랙’한다!

슬랙(Slack)으로 팀 내 협업을 업그레이드 하다!!

슬랙(Slack)은 팀원 간의 의사소통 및 각종 알림을 한눈에 볼 수 있는 협업을 위한 플랫폼으로 채널별로 주제(팀 / 프로젝트별)를 나누어 관리할 수 있는 장점이 있습니다. 슬랙의 또 다른 장점은 다양한 외부 서비스와의 연동이 가능해서 디자이너와 개발자들이 활용하는 앱들을 incoming webhook을 이용해서 슬랙과 연동하면 쉽게 데이터를 가져오고 알림을 받을 수 있습니다.

깃랩(GitLab)을 슬랙과 연동시키면 GitLab에 push를 하거나, 이슈(Issues)를 등록했을 때 자동으로 즉시 알림을 제공받을 수 있고 제플린(Zeplin)과 연동하면 디자인이 변경될 때마다 즉시 업데이트가 된 내용을 알림으로 받아볼 수 있어 팀 내 또는 외부 팀(부서)과의 협업이 스마트해 집니다.



기술은 넓게 커뮤니케이션은 가깝게!!!


사용자가 사용하는 플랫폼이나 기기는 계속 변하지만, 코드는 이것을 모두 지원할 수 있도록 스킬을 갖추고 백엔드개발자와 디자이너의 경계선에서 프로젝트 내 원활한 커뮤니케이션 역할을 담당하며 고객과 시장의 요구사항에 맞춰 사용자가 가치를 느끼는 서비스를 만들기 위해 (주)인실리코젠 FED팀은 오늘도 최선을 다합니다.

인코덤(人CoDOM) 관련링크




작성자 : FED팀 김태영 주임

Posted by 人Co

2018/07/28 18:01 2018/07/28 18:01
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/286

암을 유발하는 유전변이 가운데 가장 중요한 것이 복제수변이(Copy-number variation, CNV)입니다. 암 복제수변이는 체세포(somatic) 유전변이이기 때문에 생식세포 복제수변이(germline CNV)와 구분하여 CNA(Copy-number alteration)라고도 합니다. 유전체의 특정 유전자 영역이 증폭(amplification)되거나, 삭제(deletion)됨으로써, 온코진(oncogene) 강화 혹은 종양억제유전자 약화 역할을 수행합니다. 치환변이(SNV)도 중요하지만, 그 종류가 너무 다양하기 때문에 치료 표적으로 삼기가 복잡하지만, CNA는 해당 유전자를 직접 억제하거나 보완하도록 치료표적으로 할 수 있기 때문에 임상에서 더욱 중요합니다.

특정 암 조직에 대해 유전체 복제수변이 CNA가 있는지 확인하는 다양한 방법이 있습니다. 고전적인 FISH 등 염색 후 현미경으로 관찰 방법에서, 고밀도 SNP array의 방법으로 발전해 왔고, 특히 SNP6라고 알려진 Affymetrix의 칩은 SNV과 함께 CNA를 탐지하는데 널리 사용되고 있습니다. 최근 NGS 실험방법의 발전으로, WGS, WES 데이터로 매핑정도(mapping depth)를 이용하여 CNA를 추정할 수 있는데, 이는 정밀의료시대를 위해 중요한 분석 방법으로 주목 받고 있습니다. NGS 데이터로 SNV와 CNA를 함께 탐지하고, 유전변이에 맞는 치료를 수행할 수 있기 때문입니다.


(그림 1. VarScan2 프로그램이 WES 데이터로 mapping depth를 기반으로 CNA 추정하는 과정 - 염색체의 특정 영역이 삭제되거나 증폭됨을 알 수 있습니다. 출처: Exome-based Copy Number Analysis with VarScan2)

다양한 프로그램들이 NGS 데이터로부터 CNA를 탐지할 수 있습니다. 보통은 BAM 파일을 읽어 유전체의 어느 영역이 CNA인지 추정합니다. 다양한 알고리즘들이 사용되지만, 각각의 특징들로 인해 그 정확성은 다양합니다. NGS 기반 정밀의료를 위해서는 어떤 방법이 정확하게 NGS 데이터로 CNA 추정할 수 있는지 확인하는 것이 중요합니다.

한양의대 공구 교수님 지도로 TCGA 유방암 WES 데이터로 7종의 WES CNA 탐지도구의 정확도를 평가한 연구 결과가 Oncotarget에 실렸습니다. (Gene-based comparative analysis of tools for estimating copy number alterations using whole-exome sequencing data Oncotarget 2017)

TCGA는 암 환자의 WES 데이터 뿐 아니라, SNP6로 실험한 CNA 데이터를 함께 제공합니다. 이번 연구는 TCGA에서 제공되는 SNP6 CNA 데이터를 정답으로 하여, 다양한 WES 기반 CNA 탐지 프로그램(CoNIFER, CODEX, ngCGH, ExomeCNV, VarScan2, saasCNV, falcon)의 정확도를 확인하였습니다.


(그림 2. 본 연구방법의 전체 모식도 - TCGA 유방암 419 사례의 WES CNA 추정결과와 SNP6 CNA 결과를 비교함)

TCGA 유방암 419 사례에서 각각 민감도(sensitivity)와 특이도(specificity)를 확인한 결과는 다음과 같습니다.

(그림 3. 7개 CNA 추정 프로그램의 민감도, 특이도 막대그래프. CNA Gain과 Loss로 나누어 각각 확인함)

하나의 사례를 골라서 프로그램마다 얼마나 결과가 유사한지 확인한 결과는 다음과 같습니다.



(그림 4. 하나의 사례에서 CNA Gain/Loss를 정답인 SNP6 결과와 비교하고, 그 결과를 벤 다이어그램으로 표시)

전반적으로 암-정상 사례로 분석하는 도구(ExomeCNV 등)가 암 사례만 분석하는 도구(CoNIFER 등)에 비해 정확도가 높았습니다. 본 연구를 통해 CNA를 정확하게 추정하기 위해서는 정상조직도 함께 NGS 분석해야 함을 확인할 수 있었습니다. 종합적으로 saasCNV 프로그램이 가장 정확도가 높았습니다. 이 프로그램은 복제수를 대립유전자별로 확인(allele specific CNV caiing)할 수 있는 장점도 있어서 앞으로 NGS 데이터로 CNA를 추정하는데 중요하게 활용될 수 있을 것으로 기대합니다. 또한, 어떤 사례는 정확도가 높고, 어떤 사례는 정확도가 낮은데, 샘플 데이터의 어떤 요인이 정확도에 영향을 미치는지도 추가로 연구하여, 정밀의료 진단을 위한 분석 방법으로 활용 할 수 있습니다.

본 연구를 수행하는데 가장 많은 도움을 준 것은 Jupyter와 pandas입니다. "419사례 x 2만여 유전자" 행렬을 다양하게 다뤄야 하는데, pandas로 어렵지 않게 할 수 있었고, 중간중간 분석 결과들을 jupyter로 관리할 수 있었습니다. 이들 도구를 잘 사용하는 것은 유사한 분석을 수행하는데 필수 불가결한 요소가 될 것입니다.

작성자 : Platform Lab 수석개발자 김형용

Posted by 人Co

2017/05/30 08:44 2017/05/30 08:44
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/246

들어가는 말

The Cancer Genome Atlas (TCGA)the Internal Cancer Genome Consortium (ICGC) 같은 대규모 암 유전체 연구 프로젝트를 통해 각기 다른 여러 기술적 플랫폼을 이용하여 다양한 형태의 데이터가 생산되고 있으며, 이러한 양질의 데이터를 자신의 연구에 활용하고자 하는 분들이 많을 것이라 생각한다. 그러나 전산적인 기술이 부족한 과학자들의 경우 유전체 데이터를 통합, 탐구, 분석하는 것이 쉽지 않은 일이다. 이러한 문제점을 해결하기 위하여 국가 단위의 연구 프로젝트 결과를 연구자들이 쉽게 활용할 수 있도록 분석 도구나 결과를 요약해 놓은 웹 페이지가 생겨나고 있다. 그중 암 유전체 연구에 있어서 매우 유용한 정보 사이트가 cBioPortal이다. cBioPortal은 암 유전체 연구자들의 데이터 접근장벽을 낮추기 위해서 개발되었으며 이를 이용하면 암 유전체 데이터로부터 새로운 생물학적 통찰력, 치료, 임상시험에 대한 단서를 얻을 수 있다.

cBioPortal에 대하여

cBioPortal은 다양한 층위의 암 유전체 데이터를 탐색하고 분석하며, 그 결과를 가시적으로 확인할 수 있는 온라인 포탈 사이트다. 자세히 설명하자면, 암 조직이나 세포로부터 생산될 수 있는 유전체, 후성 유전체, 전사체, 단백질 발현체와 같은 다양한 형태의 데이터를 연구자들이 이해할 수 있도록 분석, 정리하여 그 결과를 제공하고 있다. 샘플과 유전자, 그리고 pathway 정보들에 따른 유전적 변화를 관찰할 수 있고 그 결과는 임상 정보와 연계되어 있다. 포탈에서 제공하는 기능을 보면 유전적 수준의 결과를 네트워크 및 생존 분석, 환자 중심 정보와 같은 다양한 플랫폼에서 여러 방법으로 가시화하여 제공한다. 이 글을 통해서 cBioPortal에 대한 소개 및 실질적인 활용방법을 설명하여 사용자들이 필요한 연구에 잘 활용할 수 있도록 도움을 주고자 한다.

cBioPortal은 각 유전자, 샘플, 그리고 데이터 타입에 따라 시각화 및 분석을 가능하게 하여 다차원적인 암 유전체의 탐색을 용이하게 한다. 이를 통해 사용자는 암 연구의 샘플에 따른 유전자 변형 패턴을 시각화할 수 있으며, 다양한 암 종의 연구 결과에서 유전자 변이 빈도(gene alteration frequency)를 비교할 수 있다. 그리고 포탈에서는 생물학적 pathway 탐색, 생존분석, 유전자 변이 간의 상호 연관성 분석, 선별적 데이터 다운로드, 프로그래밍적 접근이 가능하며, 논문에 발표할 수준의 잘 정리된 시각화 결과를 제공한다.

cBioPortal에는 체세포 변이(somatic mutation), 유전자 수 증폭 또는 소실(DNA copy-number alterations, CNAs), mRNA와 microRNA(miRNA) 발현, 유전자 메틸화(DNA methylation), 단백질 또는 인산단백질(phosphoprotein)의 양과 같은 형태의 데이터가 통합되어 있으며, 데이터는 Cancer Cell Line Encyclopedia (CCLE) 같은 10개의 이미 논문화된 연구와 TCGA 파이프라인에서 현재 진행되고 있는 20개의 연구 결과가 포함되어 있다.

주요 검색기능 및 결과

cBioPortal에 있는 게놈 데이터는 웹 페이지에서 질의 또는 다운로드를 하거나 R이나 MATLAB과 같은 프로그램 패키지를 이용하여 접속할 수 있다. 사용자는 단일 연구 또는 여러 연구 결과에 대한 질의가 가능하고, 각각의 암 샘플에 관련된 유전적 변형도 확인해 볼 수 있다.

1. 질의 방법
cBioPortal의 첫 페이지를 보면 포탈에 있는 전체 암 종과 각 연구 프로젝트에 대한 정보가 트리 형태로 나와 있다(Fig 1). 사용자는 관심 있는 암의 종류와 암 종에 대한 각 연구 결과를 선택하고, 보고자 하는 유전자 정보(한 개 이상)를 넣고 검색을 실행한다. 연구를 선택할 때 단일 또는 여러 연구를 포함하여 질의가 가능하며 기존에 다른 사용자들이 정의한 유전자들(gene set)을 선택하여 진행할 수도 있다.

< Fig 1. 단일 연구 질의 실행방법 >


2. 질의 결과들
질의를 수행하고 나면 전체 결과의 요약 정보를 포함한 10개의 결과와 그 결과를 다운로드 받거나 즐겨찾기를 할 수 있는 정보들이 하위 메뉴 형태로 제공된다. 각각의 결과는 시각화되어 제공되고 직관적으로 수치적인 정보도 확인이 가능하다.

아래는 각각의 결과에 대한 정보이다.

2-1. OncoPrint
: OncoPrint는 각 실험정보에 대한 질의 유전자들의 변이 결과를 시각적으로 축약하여 표현한 결과이다(Fig 2). 각 유전자에 대한 변이정보, Copy Number Alteration(CNA), 유전자 또는 단백질 발현의 변화량을 색깔 별로 표현하여 보여주며 각 샘플에 대한 부가적인 정보는 블록에 마우스를 가져갔을 때, 확인할 수 있다.



< Fig 2. OncoPrint tab >


2-2. Mutual Exclusivity
: 암의 생물학적 기능은 다른 유전자나 다양한 기능의 작용에 의하여 조절된다. 이런 상황에 대한 유전자 간의 관계 정보가 상호 배타성(Mutual Exclusivity)이고, 이와 반대되는 개념이 동시 발생(co-occurrence)이다. 즉, 한 유전자의 발현이나 변이가 다른 유전자의 발현을 억제하거나 증가시키는 현상을 나타낸다. 두 유전자 간의 관련성은 odd ratio (OR)로 계산하여 제공하며 결과에 대한 신뢰성은 Fisher’s exact test를 통해 표현되어 있다 (Fig 3).

< Fig 3. The Mutual Exclusivity tab >


2-3. Correlation Plots
: cBioPortal에서는 유전자의 변이나 증폭, 소실에 대한 결과뿐 아니라, mRNA, 단백질 발현량 또는 DNA methylation과 같은 결과 간의 관계도 시각화하여 보여주는데 correlation plot 결과가 이에 해당한다. 사용자의 선택에 따라 각 유전자에 대한 다른 데이터의 관련성을 다양한 그래프의 형태로 보여준다. 각 유전자의 발현 패턴과 질병과의 연관성을 확인할 수 있고, 여러 샘플 중 어느 샘플에서 유전적 변이가 발생했는지 찾을 수 있어 매우 유용하다(Fig 4). 그 결과는 그래프에서 마우스를 점에 갖다 대면 자세한 정보를 확인할 수 있다.

< Fig 4. The Plots tab >


2-4. Mutations
: 변이(Mutation) 결과에서는 각 유전자의 nonsynonymous 변이정보(아미노산 서열이 변경된 경우)를 볼 수 있는데, Pfam protein domain 정보를 토대로 모든 변이의 단백질에서의 위치와 종류, 변이가 일어난 샘플 정보 등을 확인할 수 있다(Fig 5).

< Fig 5. The Mutation tab >

2-5. Survival
: 암 유전체 연구에서 중요한 정보 중 하나가 변이 발생과 환자의 생존과의 연관성이며, 이것을 확인할 수 있는 방법이 생존율 분석(survival analysis)이다. 생존율 분석은 Kaplan-Meier 방법으로 계산하며, Disease-free survival은 더 이상 암이 진행되지 않는 환자를 대상으로 생존율을 계산한 결과이다(Fig 6).

< Fig 6. The Survival tab >

2-6. Network
: Network는 암에서 변이가 발생한 유전자들 간의 연관성을 network 형태로 보여주는 결과이다(Fig 7). Human Reference Protein Database (HPRD), Reactome, NCI, 그리고 Memorial Sloan-Kettering Center (MSKCC) Cancer Cell Map의 유전자간의 상호 연관성 정보를 가지고 network를 보여주며, 유전자의 변이가 많은 유전자일수록 붉은색으로 표현된다. 오른쪽 메뉴에서 선택하면 cancer와 연관되어 있거나 FDA에 승인을 받은 약물과의 연관성도 동시에 확인할 수 있다.

< Fig 7. The Network tab >


글을 마치며

유전자의 염기해독 기술이 급속도로 발전함에 따라 시간적, 비용적인 지출이 줄어들고 있으며, 이로 인해 기존에 진행되었던 암 유전체 연구의 스케일이나 결과가 매우 빠르게 증가하고 있다. 이와 더불어 암과 같은 질병은 한가지 요인보다 다양한 요인들에 의해 생겨나고, 그 원인을 찾고 치료하기 위해서는 다양한 형태의 데이터 분석을 통해서만 실마리를 찾을 수 있다는 것이 다수의 견해이다. 대단위의 암 유전체 데이터를 분석하려면 암에 대한 전공지식뿐만 아니라 전산적, 통계적 지식과 기술이 필수적이나 모든 연구자가 그러한 능력을 갖추는 것은 단시간 내에 불가능한 것이 사실이다. 그동안 나름대로 생물정보학적인 연구를 진행했었던 경험으로 볼 때, 자신의 연구분야에 대한 최신 정보를 습득하는 일도 쉽지 않은 상황에 기초부터 생물 정보학을 연마하는 것은 시간 낭비일 수 있다고 보며, 앞서 소개한 것처럼 관련 전문가들이 구축한 정보들을 우선하여 살펴보고 그 이후에 어떻게 자신의 연구와 연결할 것인지를 고민해보는 것이 현실적으로 현명한 판단이라 생각한다. cBioPortal 이외에도 많은 유용한 정보가 온라인에 공개되고 있으니 많은 연구자들이 잘 활용하여 좋은 연구 결과의 결실로 연결되기를 바란다.



작성자 : Codes실 오태윤 책임컨설턴트 

Posted by 人Co

2016/11/25 17:04 2016/11/25 17:04
Response
No Trackback , No Comment
RSS :
https://post-blog.insilicogen.com/blog/rss/response/228