'2012/06'에 해당되는 글 1건

  1. 2012.06.22 개발후기 moles ::: Javascript organic reaction calculator (3)

유기합성실험실에 3년정도 있으며 계산기보다는 엑셀을 사용하여 반응에 쓰이는 시약의 양을 계산하였다.

지난 엑셀 파일을 보니 약 150개 정도의 화학반응을 만든듯 하다. chemdraw 파일은 약 25개인데...

생각보다 열심히 한듯?! 흐흐...


엑셀로 하면 당량수 계산하여 (위 캡쳐화면에는 같은 반응을 또 돌린건지 적혀있지 않다) 출발 화합물의 양만 바꿔주면 자동계산되니 편하긴 한데...

비교적 단순하고 반복된 계산이니 별로 어려울 건 없지만...

그림은 따로 저장하고, 화학식으로 분자량 계산하는 애플릿이 따로 있었고, 무엇보다 항상 엑셀파일이 저장된 컴퓨터에서 계산해야 된다는 것이 불편한 단점들이 있었다. 



2006년에 PhD 시작하고 첫 프로젝트는 역시 합성이었다.

몇 스텝 되지는 않았지만 한 6개월은 후드에서 살았던 것으로 기억한다.

나는 한참동안 오피스 공간이 없어 실험실에서 생활했는데, 맥북을 처음 사고 Synergy로 연결하여 아직 익숙치 않은 프로그램들은 랩의 독어판 윈도우 데스크탑에서, 그리고 한글 사용이 필요한 일들은 맥북을 사용했다.

배운게 도둑질이라고... 엑셀은 어떻게 보면 테이블에 계산이 되는 프로그램이니 자바스크립트로 만들어 보자는 아이디어가 든것.




여기저기서 다운받은 스크립트를 합쳐 계산해주는 테이블을 만들었는데, 화살표나 add reactant 같은 UI 만드는데 고생을 좀 했던 것 같다.


이게 남아 있는 가장 오래된 버젼인 2008년 스크린샷인데 (이미 네덜란드로 옮긴 후다), 내 기억에 처음에는 맨 위의 엑셀과 같이 구조 그림이 없었다.

크리스 클락이 적당히 쓸만한 툴인것 같다고 평한게 기억 난다.

자바 애플릿으로 된 단 하나의 구조를 넣을 수 있게 된 것은 2007년이 아니었을까 기억하는데 확실치는 않군.


계산은 그럭저럭 오류 없이 되니, 빈 필드를 채워 계산을 하고나서 목표 화합물의 그림을 그리고 나면 molinspiration 사이트를 통해 "Pic" 을 눌러 (애플릿은 인스턴스 이기 때문에 프린트가 안됨) 프린트한 후 후드의 섀시에 붙여놓고 반응을 돌림.


그 전까지는 거의 혼자 사용하다가 네덜란드로 옮기고 나서는 같은 그룹 아이들이 좀 더 사용하기 때문에, 잘 맞지 않는 테이블도 손을 좀 보고 서버도 천리안에서 파란으로 이전하였다.

2008년 9월, chemicalforums 에 광고한 후에는 어느정도 사용자도 늘었던 것 같다, 그래야 일주일에 십수명은 되려나...

그때는 http://chem.data.pe.kr 과 http://reaction.way.to 따위의 도메인을 사용하기도...


[[2009년 ver]]


2010년 이후로 모바일 환경과 클라우드 컴퓨팅의 바람이 불며 가능하다면 이 앱으로 논문도 쓰고 싶었고 (노스웨스턴의 oligocalc 는 Nucleic Acids Res. 에 나갔음) 펠로쉽 지원하면서 2011년에는 mkwak.org 도메인도 등록하였다.


미국으로 랩을 옮기고 나서는 새로운 곳에서는 처음에 실험결과가 그닥 잘 나오지 않을테니, 생각하고 있던 일을 실행해 보기로 하였다.

그 즈음 emolecules.com 을 통해 접하게 된 chemwriter 라는 자바스크립트를 사용한 구조 그림에 눈독을 들였다.

개발자겸 사장에게 메일을 보내 비상업적 사용을 약속으로 1년마다 갱신하는 라이센스를 받았지만...

단점은 반응을 지원하지 않고, 외부 자바스크립트와 값을 주고 받기 어려웠던 점이었던 걸로 기억한다. 하지만 개인적으로 화합물 구조의 모양은 아직도 켐롸이터가 낫다고 생각한다. 당신 아이패드 사용도 가능했지만 정확히 그리기는 쉽지 않았다.


[[chemwriter 사용 예]]


그러다 발견한 자바스크립트 구조툴이 Scilligence 의 JSDraw이다. 무엇보다 반응을 저장할 수 있고, 업데이트가 빠른 것이 마음에 들었다.

나중에 알게 되었지만 윈도우에선 무척 느리게 돌아갔다.


일단 오랜기간 함께한 애플릿을 빼고 이넘으로 교체하는 작업은 그리 오래 걸리지 않았다.

JSDraw 만 붙여놓고 두어달 공백을 가지다가 무슨 바람이 불었는지 DB구조를 만들어 일단 저장하는 클래스 작성후...

내가 있는 연구소 wiki 에 사용한 openID 로그인을 사용하여 (무엇보다 관리를 하지 않아도 된다는 점, 그리고 anonymous가 유지된다는 점) 인증 모듈을 붙이게 되었다. 이제 생각 났는데 공백이 있었던 이유는 오픈아이디 인증을 사용하려면 curl 사용이 가능해야 되어 망설이고 있었다는 것.


그림, 인증, 그리고 간단한 UI 만드는데 주말 포함 3일 정도는 꼬박 코딩만 한듯...

약 30명에세 이메일 보냈던 1-2달의 closed test (피드백이 전혀 없음 - 잘 만들었다는 증거?! 크크) 후 정식으로 2.0 (버젼은 orgchem 의 숫자를 이어감)으로 테스트때는 JORC 라고 하였다가... 피페팅 도우미 iPipet 을 같은 랩의 중국인 포닥 친구가 지어준 후라서... numbers 에서 착안한 현재의 이름 moles로 바꾸었다 (왠지 애플빠 스러운;).




moles (http://mkwak.org/moles), 별거 아닌 한페이지 짜리 php와 javascript지만 약 6년의 역사를 가진 나름 "작품"이라 할만한 애착이 가는 놈이다.

페이지뷰는 생각보다 적어서 하루에 5-10 정도 되는 듯 하다. abbr 이나 imgarea 에 비교하면 비할수 없이 적은 숫자이다.


사용자가 많아져 DB 용량이 늘어나게 되어 기쁜 마음으로 자비를 들여 서버 증설을 하게 될 날을 기다리며...

저작자 표시
신고
Posted by - k3mi5t

댓글을 달아 주세요

  1. BlogIcon 유쾌한삶 2012.07.05 11:26 신고 Address Modify/Delete Reply

    오 정말 대박이네요....

    내공과 열정이 여기까지 느껴집니다.

    석사 1년반째인데 , 산넘어 산이네요~에궁 ><

    자주 놀러와서 배우고 가겠습니다.

    감사합니다.

  2. 어흥 2014.12.23 02:42 신고 Address Modify/Delete Reply

    잘 보고 갑니다. 유용하게 쓸 것 같아요

    감사합니다.

티스토리 툴바