199 : ModFOLD server 1.1 : QMODE1 을 위한 Automated Prediction server. Machine-Learning 기법에 기반하여 Global Model Quality 를 측정하는 프로그램 입니다.
031 : ModFOLDclust : Clustering 기법에 기반하여 global 과 local model qualrity 를 측정하기 위한 프로그램. QMODE2 를 담당합니다.
379 : ModFOLD 2.0 : ModFOLDcluster 와 ModFOLD 1.1 의 결과를 조합하여 결과를 예측하는 프로그램 입니다.
위의 3가지 방법중 global model quality 예측에서는 ModFOLDclust 방법이 가장 좋은 성적을 냈습니다.
ModFOLD 알고리즘은 MODSSEA method, MODCHECK method, 두 개의 ProQ methods 의 값을 TM-score 에 대하여 Neural network Training 을 하여 예측하는 방법입니다. CASP8 에서는 이 4개의 값에 두 개의 Secondary structure score 더 추가하였습니다. 이 값은 Eramian
ModFOLDclust 방법은 본래 Global Model Quality 를 측정하기 위해서 개발된 방법으로 만들어진 모든 모델의 Paired TM-score 를 계산하여 그 평균값을 Score 로 사용하던 방식4입니다(이 계산과정에서 TM-score 0.2 이하의 Pair는 사용되지 않습니다.). CASP8 에서 Local Model quality score 가 추가되었습니다. 이 방법은 S-score 와 유사한 방식으로 계산됩니다. 두 개의 Model 을 TM-score 기반으로 Alignment 한 뒤에 두 Residue 사이의 거리를 d 값으로 S-score 를 계산하는 방식입니다. 여기서 d0 는 3.9 입니다. 각 Residue 에 대해서 AllxAll 계산을 해서 평균값이 Local Model Quality Score 가 됩니다. 이렇게 계산된 residue 의 score 를 단순히 S-score 를 역으로 계산하여 distance 를 알아냅니다. 최대 값은 15Å 로 정합니다
ModFOLD 2.0 은 ModFOLD 1.1 과 ModFOLDclust 을 조합하여 서로간의 단점을 보완하기 위해서 만들어진 방법입니다. ModFOLD 1.1 의 6개 score 와, ModFOLDclust 의 Global score, 그리고 original server ranking 을 neural network 의 입력으로 해서 결과를 예측하게 됩니다. Single Model 의 경우 ModFOLD 1.1 에 의해서 먼저 분석되고, ModFOLDclust protocol을 따라서 nFOLD3 에서 나온 model 과 함께 분석됩니다.
References
Liam J. McGuffin. Prediction of global and local model quality in CASP8 using the ModFOLD server. Proteins. 2009. 77:185-190. [LINK]
David. Eramian, and et al. A composite score for predicting errors in protein structure models. Protein Sci. 2006 July; 15(7): 1653–1666. [LINK]
CASP9 때 팀에서 Quality Assessment 부분에 참여하게 되어서 CASP8 에서 이루어졌던 Quality Assessment Category 의 결과를 정리해 봅니다.
지난 10년간 단백질 구조 예측은 얼마나 발전했을까요? 도서관에 있는 단백질 모델링에 관한 책과 단백질 구조의 현재를 가장 잘 알 수 있는 최근 CASP 결과를 비교해 보면, 알 수 있습니다. 과거에 단백질 구조 예측은 Ab inito, Threading, Homology Modeling 이라는 3분야로 구분을 했지만, 지금은 Free Modeling(FM) 과 Template-Based Modeling(TBM) 이라는 두 분야로 나누고 있습니다. 또한 Homology Modeling 분야에서 Best Template 보다 좋은 구조를 만들어 내는 Modeling 방법들이 많이 등장한 것을 보면, 이제 Modeling 이 상당한 수준에 올라와 있음을 알 수 있습니다.
이렇게 단백질 구조 예측 기술이 발달하면서 중요해 지고 있는 또 하나의 분야가 있습니다. 바로 이글의 주제인 Model Quality Assessment(MQA) 입니다. 예측한 단밸질이 얼마나 좋은 구조를 가지고 있는지를 예측해 내는 것인데요. 이 과정은 Modeling 기술이 그들만의 영역에서가 아닌 실제 연구에 사용되기 위해서 꼭 필요한 기술이고, CASP 에서는 CASP7 부터 MQA 항목을 만들어서 이 부분에 대한 평가를 진행하고 있습니다.
다음 내용은 CASP8 의 MQA 부분에 대한 평가 논문을 요약한 것입니다.
Subcategory of MQA
CASP 에서 이루어지는 MQA 는 QM1, QM2, QM3 의 3가지 Category 로 나뉘게 됩니다.
QM1 - The prediction format for the overall reliability of models
QM1 은 CASP 진행 중에 제출된 Server 들이 제출한 정답을 받아서 0-1 사이의 값으로 그들의 Quality 를 측정하는 방식으로 진행됩니다. 1에 가까울 수록 Native 에 가까우며 0에 가까울 수록 나쁜 구조라는 뜻입니다. 정답 제출 형식은 다음과 같습니다. 제출 형식은 다음과 같습니다.
PFRMAT QA
TARGET T0436
MODEL 1
QMODE 1
3D-JIGSAW_AEP_TS2 0.81087
3D-JIGSAW_AEP_TS3 0.79910
......
END
QM2 - local confidence values
QM2는 QM1 에서 사용한 Model 들을 전체 구조가 아닌 각 Residue 별로 평가를 하는 작업입니다. 이것은 Sequence-dependent superposition 을 했을때 각 Residue 의 C-alpha 사이의 거리를 Angstroms 단위로 표시하게 됩니다. 정답 제출 형식은 다음과 같습니다.
QM3
QM3 는 Tertiary Structure Prediction 에 제출된 각 Model 들에 대해서 B-factor 값을 이용하여 평가하는 MQA 입니다. 별도로 제출해야 하는 정답이 있는 것은 아니고, TSP 에 제출하는 PDB파일의 B-factor 를 계산해서 추가하면 됩니다.
Results
결과 분석과 순위는 Pearson Correlation 에 기반하여 이루어집니다. 모든 결과에서 LEE-SERVER 를 제외한 대부분 Consensus Method 들이 좋은 성적을 차지했습니다.
QMode 1 (Target based)
QMode 1 (All)
QMode 2
QMode 3
239 (Pcons_Pcons)
31 (ModFOLDclust)
27 (QMEANclust)
379 (McGuffin)
31 (ModFOLDclust)
56 (SAM-T08-MQAC)
364 (Mariner2)
153 (GS-MetaServer2)
56 (SAM-T08-MQAC)
27 (QMEANclust)
251 (selfQMEAN)
297 (GeneSilicoMetaServer)
27 (QMEANclust)
453 (MULTICOM)
239 (Pcons_Pcons)
425 (BAKER-ROBETTA)
453 (MULTICOM)
239 (Pcons_Pcons)
453 (MULTICOM)
318 (panther_server)
QM1 : global accuracy of models
각 Group 이 제출한 결과에서 Target 별 Correlation 을 계산합니다. 그리고 이 값을 Z-score 로 변환한뒤 0 이하의 값인 경우 0으로 설정합니다. 이 값의 평균값이 그 팀의 성적이 됩니다. 결과에서 특별하게 더 잘한 팀은 존재하지 않습니다. paired Student's t-test 를 이용한 결과에서 상위 4개의 팀이 하위의 팀보다 좀 더 잘한 것으로 나타났습니다.
각 Target 에 대한 correlation 이 아닌 전체 모델에 대한 절대적인 수치에 기준을 두고 분석한 결과에서는 ModFOLDClust 다른 팀과는 차별화된 결과를 냈습니다.
QM2 : residue-level accuracy of models
17개의 팀이 정답을 제출했습니다. 각 결과를 Sequence-dependent superimposition 을 통하여 정답구조와 비교한 결과를 이용하여 평가하였습니다. QMEANclust 가 다른 그룹과는 차별되는 좋은 결과를 냈습니다.
Conclusion
MQA 는 아직 시작 단계에 있는 분야입니다. CASP8 의 결과를 보면, 상당히 좋은 결과를 나타내는 Group 이 존재하지만, 이 들의 대부분이 Consensus 라는 점에 문제가 있습니다. 일상에서 연구자들이 Structure Prediction 을하고 그 Model 을 MQA 할때 그들이 Consensus 방법을 사용할 수는 없습니다. 다음 CASP 에서는 더 좋은 방법들이 많아지기를 기대합니다.
이 명령을 실행하면, PSI-BLAST 결과는 exmple.out 으로, PSSM 은 exmple.mtx 로 저장됩니다.
PSI-BLAST 에 대해서 읽어보면 좋은 논문들
Improving the accuracy of PSI-BLAST protein database searches with composition-based statistics and other refinements , Nucleic Acids Research, 2001, Vol. 29, No. 14 2994-3005 [LINK]
SCOP Database 를 사용해서 Interface 같은 연구를 하다 보니 몇 가지 목록들이 계속 필요하게 되네요. 자꾸 만들고 지우고 만들고 지우고 해서 새로운 Version 이 나올때마다 꾸준히 만들어서 정리해 놔야겠습니다. 누군가도 필요할 거라 생각되서 블로그에 올립니다.
SCOP Version : 1.73
Astral Scop : 이용
첨부 파일
list.scop_id : scop_id 모음
list.pdb_id : pdb_id 를 기준으로 정리한 scop_id
list.homolog : scop domain 을 SEQRES 를 기준으로 비교해서 homology 100% 인 scop_id 의 모음
list.interface.10 : solvent accessible surface area 가 10% 이상 변하는 것을 기준으로 뽑은 domain 간의 interface 목록. residue 가 10개 이상일 경우. (134,600개)
list.interface.5 : solvent accessible surface area 가 10% 이상 변하는 것을 기준으로 뽑은 domain 간의 interface 목록. residue 가 5llllllllj개 이상일 경우. (171,715개)
CD-HIT 이런 대량의 단백질 서열에서 NR Dataset 을 만들어주는 프로그램입니다. 사실 NR Set 을 만드는 방법들은 정말 많습니다. 이런 다양한 프로그램에서 CD-HIT 이 가지는 장점은 빠른 속도 입니다. 다른 프로그램에 비해서 몇 백배 이상 빠를 수도 있습니다.
기본 사용법
기본 사용법은 아주 간단합니다.
$ cd-hit -i nr -o nr100
이런 명령을 내리면 CD-HIT 은 word 크기 5, 메모리는 최대 400M까지 사용해서, identity 90% 를 기준으로 clustering 을 실행하게 됩니다.
예제
CD-HIT 을 이용해서 PDB 의 파일중에 identity 75% 를 Cutoff 으로 Set 을 만들어 보겠습니다. 먼저 PDB 에서 SEQRES 에 기반해서 각 단백질의 체인 별 서열을 Fasta Type 으로 제공하는 파일을 받아 옵니다.
이렇게 하면, pdb_seqres75 파일이 생성됩니다. Sequence Identity 를 결정할 때 한 가지 알아야 할 점은 -n 옵션 입니다. 서열을 비교하는 word 의 크기로 identity 에 따라서 그 값을 변경해 줄 것을 권하고 있습니다. 그 권장 값은 다음과 같습니다.
-n 5 for thresholds 0.7 ~ 1.0
-n 4 for thresholds 0.6 ~ 0.7
-n 3 for thresholds 0.5 ~ 0.6
-n 2 for thresholds 0.4 ~ 0.5
Tokuriki N, Stricher F, Serrano L, Tawfik DS (2008) How Protein Stability and New Functions Trade Off. PLoS Comput Biol 4(2): e1000002. doi:10.1371/journal.pcbi.1000002
Montiel Molina HM, Millán-Pacheco C, Pastor N, del Rio G (2008)
Computer-Based Screening of Functional Conformers of Proteins. PLoS
Comput Biol 4(2): e1000009. doi:10.1371/journal.pcbi.1000009
Giddings MC (2008) On the Process of Becoming a Great Scientist. PLoS Comput Biol 4(2):
e33.
doi:10.1371/journal.pcbi.0040033
회사 클러스터 메인 하드가 고장이 나서 클러스터를 새롭게 구성했습니다. "CentOS 4.5 + Perceus 1.3.1" 입니다.
Perceus 는 이전에 Warewulf 를 만들던 곳에서 Warewulf 를 좀 더 관리하기 쉽게 다시 작성한 Cluster Software 입니다. Warewulf 는 3 이 준비되고 있지만, 언제나올지 잘 모르겠군요. Perceus는 Warewulf 와는 다르게 하나의 실행 파일에서 옵션들을 변경해서 각 노드들을 관리하게 되어 있습니다. 그래서 좀 더 관리하기가 편리합니다. 홈페이지는 http://www.perceus.org/ 입니다. 홈페이지가 (아마 Trac 이 아닌가 싶은데요.) 위키 형식으로 구성되어 있습니다.
CentOS 4.5의 설치에 대한 내용은 별도로 언급하지 않겠습니다. 여기서 사용한 시스템은 2007.10.21에 "#yum update" 명령을 통해서 최신버젼 갱신되었습니다. CentOS 4.5 설치시에 SELinux 와 방화벽 설정을 끄시길 바랍니다. SELinux는 사용하지 않으셔야 하며, 방화벽은 Perceus 설치 끝내고 정상적으로 작동이 되는 것을 확인하고 다시 활성 시키는게 정신건강에 좋습니다.^^
Perceus 1.3.1 버젼부터는 PDF 형식의 Documentation 이 제공됩니다. 오호... 그러나. 이전에 홈페이지에 있던 SunGrid Engine 설치 같은 몇 가지 추가 항목이 없어졌습니다. 그리고 몇 가지 과정이 아직 완벽하지 않더군요. 여기서는 Documentation 을 참고해서 CentOS 4.5 에 맞는 방법으로 설치하겠습니다.
Perceus 를 설치를 위한 Host 설정
Perceus 설치하기 전에 몇 가지 설정을 먼저 합니다. 우리가 구성하는 시스템은 랜카드를 2개 가지고 있습니다. 외부 인터넷과 연결되는 eth0 와 내부 클러스터 노드들과 연결되는 eth1 카드 입니다. 이중 eth1 카드를 설정해야 합니다.
CentOS 에서 eth1 카드에 대한 환경 설정 파일은 /etc/sysconfig/network-scripts/ifcfg-eth1 에 존재합니다. 이 파일을 열어서 다음과 같은 내용으로 바꿔 줍니다. 이때 HWADDR= 로 시작하는 라인은 그대로 유지합니다.
Perceus 가 동작하기 위한 관련 라이브러리들이 먼저 설치되어 있어야 합니다(너무 당연하가요?^^;). 먼저 yum 에서 제공되는 것들을 설치 합니다.
# yum -y groupinstall "Development Tools"
저는 이 과정에서 redhat-lsb pakcage 가 error 를 내더군요. 그래서 이 패키지를 제거하고 설치했습니다. "# yum remove redhat-lsb" 명령어로 제거 할 수 있습니다. 그리고 다음은 nasm 과 perl-DBI 를 설치합니다.
# yum -y install nasm # yum -y install perl-DBI
이제 추가 패키지로
bash-completion
perl-IO-Interface
perl-Net-ARP
perl-Unix-Syslog
를 설치해야 합니다. 그런데 이 패키지 설치에 문제가 있습니다. 이 패키지를 Perceus 홈페이지에서 받을 수 있는데, 설치가 정상적으로 되지 않고, 에러가 납니다. 그래서 여기서는 perl 관련패키지 들을 cpan 에서 직접 받아서 설치하겠습니다. 다음은 현제 최신버젼을 받아서 설치하는 과정입니다.
# wget http://search.cpan.org/CPAN/authors/id/L/LD/LDS/IO-Interface-1.03.tar.gz # wget http://search.cpan.org/CPAN/authors/id/C/CR/CRAZYDJ/Net-ARP-1.0.1.tgz # wget http://search.cpan.org/CPAN/authors/id/M/MH/MHARNISCH/Unix-Syslog-1.0.tar.gz # tar xfz IO-Interface-1.03.tar.gz # tar xfz Net-ARP-1.0.1.tgz # tar xfz Unix-Syslog-1.0.tar.gz # cd IO-Interface-1.03 # perl Makefile.PL && make && make install # cd ../Net-ARP # perl Makefile.PL && make && make install # cd ../Unix-Syslog-1.0 # perl Makefile.PL && make && make install # cd ..
이제 bash-completation 을 설치합니다. bash-completation 은 Perceus 에서 제공하는 것을 사용합니다.
# cd /root/ # mkdir perceus/ # cd perceus/ # wget http://www.perceus.org/portal/files/perceus-1.3.1.tar.gz # export TAR_OPTIONS=--wildcards # rpmbuild -ta perceus-1.3.1.tar.gz
이러면 이런 저런 메세지를 내뿜으면서 perceus 의 rpm 패키지가 만들어 집니다. 만들어진 패키지는 /usr/src/redhat/RPMS 의 어딘가(^^)에 존재합니다. 만들어진 rpm 파일은 총 3개 입니다. 이중 설치할 패키지는 perceus-1.3.1.rpm 파일 입니다. 이때 그냥 설치할 경우 perl 관련 라이브러리가 설치되야 한다는 에러가 나옵니다. 이 에러는 우리가 perl 관련 라이브러리를 직접 설치했기 때문입니다. 이 에러를 무시하고 설치하기 위해서 --nodeps 옵션을 주고 설치하겠습니다.
Warewulf 에 대한 정보를 좀 보려고 홈페이지 에 갔더니 2007. 7. 10. 에 1.3.0 이 나왔네요. 1.2.1 을 사용해본 소감으로는 아직 좀 시기 상조라고 생각은 드는데, 그래도 1.3 으로 바뀌었으니 많은 문제점이 고쳐졌겠죠. 다음에 클러스터 업그레이드 할 때 고려해봐야겟습니다. 대충 다음 내용이 바뀌었다네요.
Enabled much more robust provisioning mechanisms
Updated the included kernel to 2.6.21
More configurable build mechanisms
Lots of fixups to provisiond
Now can provision over InfiniBand
Various "detect" updates including moving detect into primary Perceus tree
Abstracted out several critical functions for nodescripts
Fixed for RH's new _FORTIFY_SOURCE build option
Lots of chroot2stateless.sh updates
Prepared for chroot2stateful.sh (still under testing)
--------------------------------------------------------------- Warewulf 의 최신버젼인 Perceus 설치하기 글을 새로 올렸습니다. 생물정보학자를 위한 클러스터 만들기 #3.1 Perceus 설치하기 링크로 가셔서 최신 글을 보시기 바랍니다. ----------------------------------------------------------------
저번 글에서 Master 에 CentOS 4.5 를 설치하였습니다. 이제 Cluster 의 Node 를 운영할 관리 시스템인 Warewulf를 설치할 차례 입니다. Warewulf 패키지 설치와 Warewulf 를 작동시키기 위한 추가 프로그램 설치과정이 필요합니다.
사전 작업 : Dag RPM Repository 더하기
Dag RPM Repository 는 CentOS 에서 기본으로 지원하지 않는 Package 들을 설치할 수 있도록 해준다. 현재 최신버젼은 0.3.6-1 이네요. 다음 두 파일중 자신의 OS 에 맞는 것을 선택해서 설치 합니다.
Warewulf
패키지를 다운 받아야 합니다. Download 경로는
http://warewulf.lbl.gov/downloads/releases/ 입니다. 현제 가장 최신버젼인 2.6.3 을
받습니다. 우리가 사용할 파일은 src.rpm 입니다. 링크를 누르거나 다음 명령으로 받을 수 있습니다.
여기서 master 의 eth0 는 실제 master 가 인터넷에 접근할때 사용되는 IP를 할당해 주시면 됩니다. 그리고 master 의 eth1 과 node 의 eth0 는 192.168.0.XXX 형식의 사설 IP를 사용하도록 하겠습니다. 사설 IP 할당은
master eth1 : 192.168.0.1
node : 192.168.0.3 ~ 254
으로 하시면 됩니다.
사실 CentOS 설치는 설명할 것이 없습니다. CentOS 홈페이지에 가서 CD 를 받고, 설치하시면 됩니다.
설치할 배포본은 CentOS 4.5 입니다. 5.0 이 있지만, 이 글을 작성하는 시점에서는 안정성이 검증되지 않아서 4.5 를 사용하겠습니다(5.0 을 바로 사용해봤지만, 설치하는 과정에서 시스템이 다운되더군요. 5.1정도가 나오면 사용하는게 낳을 지도 모르겠습니다.).
CentOS 설치는 아주 간단합니다. ISO 로 배포되는 파일을 받아서 DVD 나 CD를 구워서 설치를 하시면됩니다. 설치과정에서 특별히 설치해야 될 부분은 없습니다. 단지, 차후에 Update 시에 쓸모없는 프로그램이 설치되어 있으면 오래 걸리니 "사무용 패키지, 출판, 배포, DNS서버, 메일서버, FTP서버 등"은 설치하지 않기를 바랍니다. 그리고 개발관련 패키지 는 설치를 해주시는 것이 좋습니다. 그리고 잊지 말고 eth0 와 eth1 에 적절한 IP 를 할당해 주시기 바랍니다.
만약 CentOS 를 설치하지 못한다면, 리눅스 클러스터 구축보다 리눅스 기본 사용법 부터 익히는 기를 추천합니다.
CentOS 설치를 끝내고 부팅후 터미널로 들어가서 yum 을 이용해서 시스템을 최신버젼으로 update 합니다.
# yum update
그리고 필요없이 떠있는 서비스들을 모두 중단시킵니다(bluetooth, ISDN, pcmcia, gpm 등등..). 터미널에서 "setup" 명령어 실행후 System Service 항목으로 들어가면 선택할 수 있습니다. 그리고 재부팅합니다.