Thursday, March 24, 2011

make report file using open office, python module Appy

논문을 읽다가 이틀을 읽다보니 루즈하고 지겹고 재미도 없고 정체되고.. 해서 당장은 필요가 없지만 아마도 나중에 필요하게 될 것을 한 번 프로그래밍 해보자는 생각에..


당면해 있는.. 아니지 급한건 아닌데 언제가는 풀어야 할 문제들.. 생각해보니 2가지.
1. 하나는 read에서 trim이 안된 primer등을 제거하는것. global alignment 알고리즘으로 가야 하는건지.. 아니면 그냥 string search로 가야 하는건지. 지금 생각은 최장 공통 문자열 탐색(LCS)으로 찾아서 그게 cutoff(지금 생각하자면 하나의 base pair mismatch까지 허용) 를 통과하면 그 영역은 trim하는 식으로다가 할생각이긴한데.. 이건 좀 찾아봐야 할거 같다. 지금 내가 뭔소리 하는지도 파악이 안되니.
2. report form을 template로 정해놓고 특정부분 영역의 값만 바꾸는 그러니까 파이프 라인 돌리고 나면 샘플마다 다른 그림과 결과가 생길건데 기존의 template에다가 요 데이터만 넣는 것을 어찌 할까 했는데.. 


오늘 해결해보고자 하는건 2번. report file format은 pdf로다가 하는걸로(html로 하려는 의도도 있었지만 왠지 html은 가벼워 보인다는 여론이.. 근데 요즘 html5를 보기 시작했는데.. 허이구 이거 그냥 태그의 모임이 다가 아닌듯한 느낌이랄까. 여튼). 그래서 이것저것 알아보기 시작함. 우선은 text2pdf 같은 module이 있나 봤는데. 음.. 모르겠다. 어쩌다 어쩌다 찾게된 방법. open office와 appy라는 python module을 사용하는것

<open office>
http://download.openoffice.org/
예전에 원철이 형이 쓰는거 본거 같은데.. 그 때 pdf 변환이 바로 된다고 좋다고 하셨던거 같은데.. 여튼 보니까 pdf 버튼이 있다. 와. 좋다. 근데 영문판으로 깔길 권장한다. 어짜피 사용법이 naver에서는 잘 안나오고 구글링해야 하는데. 이게 옵션이 영어로 되다보니 한글판 깔면 매치가 안된다. 뭔 옵션을 이야기 하는건지..

<appy module>
http://appyframework.org/pod.html
appy가 happy의 h를 제거한 단어란거(확실한건 아니다). 어떻게 해야하는지 위 url을 살펴보면 나온다. 하지만 나같은 완전 초보를 위해서 내가 한 삽질을 반복하지 않기 위해 내 삽질을 소개하자면(내 삽질은 사실 url의 text만 잘 읽으면 다 나온다). 
기본 컨셉은 이거다. open office로 template를 만든다. 그리고 그 template 안에 바뀌어야할 문자열 내지는 테이블 안의 특정 cell을 tracking change로 표시해둔다. 아니면 insert의 note로 표시. 아 근데 사실 이게 문제였다. 도대체 tracking change가 뭐냐고? 아 다음 url을 참고한다. http://www.tutorialsforopenoffice.org/tutorial/Change_A_Document_Red_Lining_Or_Tracking_Changes.html 여기 보면 나오는데.. 아무것도 아니다. 그냥 왜 office에서 에디팅하고 그 흔적을 남겨 놓는것, 그걸 지칭한다. 한글판으로 설명하자면 편집=>변경사항=>기록. 이 모드에서 기록된 부분은 python script로 변환 가능하다. 그리고 insert 메뉴의 note는 뭐냐. 삽입=> 설명 옵션을 뜻하며 여기에다가 python script를 써주면 프로그래밍이 된다. 나머지는 위 url를 좀더 자세히 들여다 볼것.
아.. 그리고 한가지.. template에서 특정값을 바꿔서 결과 내는건 template가 있다면 open office가 필요 없다. 다만 그 결과를 odt 형식이 아닌pdf 형식으로 바꾸려 한다면 그 때 appy 모듈이 open office를 사용하기 때문에 서버에 open office 가 깔려 있어야 한다.