2016년 9월 19일 월요일

LTS 에 커널 버전 업데이트는 따로 있다고??

우분투 14.04.3 을 서버 시스템에 설치하여 사용 중이었다. 그런데 이게 알고 보니..

14.04.1 --> 3.13
14.04.2 --> 3.16
14.04.3 --> 3.19
14.04.4 --> 4.2
14.04.5 --> 4.4

왼쪽이 14.04 의 버전이고 오른쪽이 커널 버전 업데이트 현황이다. 충격적인건 LTS 로 지원하는 건 3.13 과 4.4 라는 것.. 즉, 3.16, 3.19, 4.2 는 커널 업데이트를 따로 해야만 된다.
못 믿겠다고? 밑에 링크에 들어가봐라.

https://wiki.ubuntu.com/Kernel/Support
https://wiki.ubuntu.com/Kernel/LTSEnablementStack

이게 HWE 뭐시기랑 연관이 되어 있단다. 아, 진심 귀찮음.. 커널만 업데이트 할 수 없을까 찾아봤지만 그냥 통째로 16.04 로 업그레이드 하란다. 이거 또 엉뚱하게 4.6 이나 4.8 로 업그레이도 되면 또 자주 업그레이드 하게 되므로 4.4 로 업그레이드 해야겠다.
방법은 나중에 찾자.

GATK 사용 중 에러..

GenomeAnalysisTK 에서 RealignerTargetCreator 를 사용하던 중에 뭔지 모를 에러가 났다. 에러 메세지 중에 "unknown index" 라는 말이 있어서 bai files 도 다시 만들어 보고 reference index file 도 다시 만들어 봤지만 도통 해결될 기미가 보이지 않는다..

그러다가 결국 picard 를 2.0.1 --> 2.6.1 로 업그레이드 하고 GATK 도 3.5 --> 3.6 으로 업그레이드 하였다. 덕택에 Oracle JAVA 7 과 8을 혼용하다가 8만 사용 가능하게 되었다.
본래 picard 는 JAVA 8 을 일찌감치 사용하였는데 GATK 가 JAVA 7 을 사용하다가 3.6 버전에서 JAVA 8 로 바뀐 것.. 그런데.. 난 본래 8 이었을텐데.. ;;

여하튼.. 그래도 해결이 안된다.. 사흘 가까이 머리를 쥐어 뜯던 중..
'-known /.../.vcf' 옵션이 보였고 여기에 가보니 idx 파일이 보인다. 이걸 지우고 다시 해보니 잘 된다. 엉엉.... ㅠ_ㅠ
vcf index 파일의 일종인데 GATK 가 실행될 때 자동으로 생성되는 파일이라 그동안 몰랐던 것. 젠장.. 에러 메시지면 에러 메시지 답게 뭐가 잘못된 건지 잘 알려줘야 될 것 아닌가.. ;;


다시 며칠 간 지켜보며 진행하다 보니 어딘가에서 에러가 또 있다. 대충 에러 메시지를 살펴보니 Quality 가 맞지 않는단다.. =_=
예전에 시스템이 두번 뒤집힌 적이 있었는데 그때 원본 파일에 손상이 갔는지 일부 데이터가 깨져 있어서 다시 원본으로 덮어 쓴 적이 있었다. 그럼에도 복구가 안된 듯..
아니면 본래 데이터가 phd 64 와 phd 33 가 혼용이 되어 있어서 phd 64 를 phd 33 으로 바꿔놨는데 이게 잘 안됐나보다. 여기서 쓸 수 있는 방법을 찾아보니...

--fix_misencoded_quality_scores / -fixMisencodedQuals
-allowPotentiallyMisencodedQuals / --allow_potentially_misencoded_quality_scores

두 가지 방법을 안내해주더만.. 그중에서 오른쪽 밑에 옵션을 사용했더니 진행이 되었다.