PDB 파일은 오픈 소스 (BSD 라이센스) chemkit 라이브러리를 사용하여 C ++에서 쉽게 읽고 조작 할 수 있습니다 .
예를 들어 여기에 헤모글로빈에 대한 PDB 파일 (PDB ID : 2DHB )을 읽고 총 원자 수, 사슬 수 및 용매에 접근 가능한 표면 영역을 인쇄하는 코드가 있습니다.
#include <iostream>
#include <chemkit/polymer.h>
#include <chemkit/polymerfile.h>
#include <chemkit/molecularsurface.h>
using namespace chemkit;
int main()
{
PolymerFile file("2DHB.pdb");
bool ok = file.read();
if(!ok){
std::cerr << "Failed to read file: " << file.errorString() << std::endl;
return -1;
}
Polymer *protein = file.polymer();
if(!protein){
std::cerr << "File is empty." << std::endl;
return -1;
}
std::cout << "Number of Atoms: " << protein->atomCount() << std::endl;
std::cout << "Number of Chains: " << protein->chainCount() << std::endl;
MolecularSurface surface(protein);
surface.setSurfaceType(MolecularSurface::SolventAccessible);
std::cout << "Surface Area: " << surface.surfaceArea() << " A^2" << std::endl;
return 0;
}
산출:
Number of Atoms: 2201
Number of Chains: 2
Surface Area: 14791 A^2
자세한 내용은 위에 제시된 클래스의 설명서를 참조하십시오.