01 - Open Babel 소개

업데이트: Link

Open Babel은 다양한 언어의 화학 데이터를 사용하도록 설계된 화학 도구 상자입니다. 분자 모델링, 화학, 고체 물질, 생화학 또는 관련 분야의 데이터를 누구나 검색, 변환, 분석 또는 저장할 수있는 개방형 협업 프로젝트입니다..

Open Babel 프로젝트의 목표

Open Babel은 다양한 형식의 파일 형식을 포함하여 화학 데이터를 한 형식에서 다른 형식으로 상호 변환하는 프로젝트입니다. 다음과 같은 이유로 중요합니다.-현실적인 워크 플로에는 여러 프로그램이 필요한 경우가 많습니다. 여기에는 데이터베이스, 모델링 또는 계산 프로그램, 시각화 프로그램 등이 포함될 수 있습니다.

  • 많은 프로그램이 개별 데이터 형식을 가지고 있거나 다른 파일 형식의 작은 하위 집합 만 지원합니다.
  • 화학 표현은 종종 상당히 다양합니다.
    • 일부 프로그램은 2D입니다. 일부는 3D입니다. 일부는 분수 k 공간 좌표를 사용합니다.
    • 일부 프로그램은 개별 유형의 결합 및 원자를 사용합니다. 다른 것들은 원자와 전자만을 사용합니다.
    • 일부 프로그램은 대칭 표현을 사용합니다. 다른 사람들은 그렇지 않습니다.
    • 일부 프로그램은 모든 원자를 지정합니다. 다른 사람들은 “잔류물”을 사용하거나 수소 원자를 생략합니다.
  • 표준화 된 파일 형식의 개별 구현은 종종 버그가 있거나 불완전하거나 게시 된 표준과 완전히 일치하지 않습니다.

무료 오픈 소스 프로젝트 인 Open Babel은 다른 사람들을 돕는 방식으로 향상됩니다. 사용자, 기고자, 개발자, 관련 프로젝트 및 일반 화학 커뮤니티를 통해 얻을 수 있습니다. 우리는 이러한 후원자들을 지원하기 위해 지속적으로 노력해야합니다.

우리는 버그 보고서, 불만, 비평 등 여러 가지 형태의 기여를 감사하게 받아들이고 있습니다. 버그보고, 불만, 비판 등은 우리가 잘못한 일을 개선하는 데 도움이되고 제안, 코드 기여 및 기타 노력을 통해 미래의 발전을 이끌어냅니다.

  • 최종 사용자를 위해 간단한 (또는 복잡한) 파일 상호 변환에서 색인화, 데이터 베이 싱 및 화학 및 분자 데이터 변환에 이르기까지 다양한 유틸리티를 제공하고자 합니다.
  • 개발자에게 사용하기 쉬운 무료 오픈 소스 화학 라이브러리를 제공하고자합니다. 이는 분자 뷰어 및 시각화 도구 및 편집기에서 데이터베이스, 속성 예측 도구 및 사내 개발에 이르기까지 다양한 화학 소프트웨어를 지원합니다.

이를 위해 툴에 몇 가지 핵심 사항이 반영되기를 바랍니다.

  • Open Babel은 많은 화학 정보 및 파일을 읽고 이해해야합니다. 이는 주어진 파일 형식으로 가능한 많은 개념을 지원하기 위해 항상 노력해야하며 추가 파일 형식에 대한 지원은 커뮤니티 전체에 도움이됩니다.
  • 매번“우리가 할 수있는만큼 좋은 것”으로 출시되어야합니다.
  • 코드와 커뮤니티를 개선하여 다양한 형태의 추가 기여를 유도하면 개발자와 최종 사용자 모두에게 도움이됩니다. 새로운 기고자를 위해 개발을 쉽게하면 사용자를위한 도구도 향상 될 것입니다.

자주 묻는 질문

일반

Open Babel이 뭔가요

간단히 말해서 Open Babel은 Babel 화학 파일 번역 프로그램의 무료 오픈 소스 버전입니다. Open Babel은 분자 모델링, 계산 화학 및 많은 관련 영역에서 사용되는 많은 파일 형식을 상호 변환하도록 설계된 크로스 플랫폼 프로그램 및 라이브러리로서 Babel이 중단 된 부분을 이어 가도록 설계된 프로젝트입니다.

Open Babel에는 명령 줄 유틸리티와 C 라이브러리라는 두 가지 구성 요소가 포함되어 있습니다. 이 명령 줄 유틸리티는 원래 바벨 프로그램을 대체하여 다양한 화학 파일 형식을 변환하기 위해 사용됩니다. C 라이브러리에는 모든 파일 변환 코드와 기타 오픈 소스 과학 소프트웨어 개발을 촉진하기위한 다양한 유틸리티가 포함되어 있습니다.

이것은 BabelChat, BabelFish, Babel IM 등과 어떻게 관련이 있습니까

그렇지 않습니다. 놀랍게도“바벨”은 많은 소프트웨어 이름에서 자주 사용됩니다.

Open Babel, OpenBabel 중 무엇입니까

당신의 선택입니다. 공개 버전 인 Babel이기 때문에 Open Babel이라고 부르는 것이 더 쉽습니다. 그러나 한 단어, 대소 문자가 혼합 된 프로젝트 이름이 마음에 들면 OpenBabel로 사용하십시오. 이 경우 공간이 너무 작아 인쇄 할 수 없습니다.

이것은 원래 Babel 및 OELib,“다음”Babel과 어떤 관련이 있습니까

원래 Babel은 Ajay Shah의 “convert”프로그램을 기반으로 Pat Walters와 Matt Stahl이 작성했으며 여전히 놀라운 응용 프로그램입니다. Pat과 Matt는 다른 작업으로 넘어갔습니다. 원래 Babel은 Computational Chemistry List (CCL) 그리고 당연하겠지만 Open Babel SourceForge.net 에 의해 Smog.com에서 호스팅하는 Babel homepage 에 있습니다.

그 과정에서 두 명의 원래 저자는 Babel을 OBabel이라는 C로 다시 쓰기 시작했는데 실제로 공개되지는 않았습니다. 그러나 Matt은 OELib에서 이러한 아이디어 중 일부를 사용했습니다.이 아이디어는 고용주 인 OpenEye Software에 의해 GNU GPL에 따라 공개되었으며이 OELib의 마지막 알려진 버전은 여전히 파일 저장소에서 구할 수 있습니다.

OpenEye는 그들의 목적을 위해 OELib에 재 작성 (현재 OEChem이 필요하다고 결정했지만 일부 고급 알고리즘을 포함하기 위해 비공개 소스가 될 것입니다. 따라서 GPL의 OELib 버전은 유지되지 않습니다. 대신, OELib의 무료 버전은 이름이 바뀌었고 Matt과 다른 기고자들의 축복으로“Open Babel”이되었습니다.

오픈 바벨은 2001 년에 탄생 한 이래로 상당히 발전했습니다.

마지막 버전은 무엇인가요

이 글을 쓰는 시점에서 최신 버전은 Open Babel 2.3.1입니다. 이것은 광범위한 사용 및 개발에 적합한 안정적인 버전입니다.

개인 프로젝트에서 Open Babel 코드를 사용할 수 있습니까

Open Babel의 GNU GPL 라이센스에 대한 일반적인 오해 중 하나는 사용자가 Open Babel 라이브러리를 사용하는 모든 코드를 릴리스해야한다는 것입니다. 이것은 사실이 아닙니다. 근무 지역 (학계, 산업 등)에 관계없이 개인 프로젝트에 Open Babel 코드를 사용하는 데 대한 제한은 없습니다.

그러나 Open Babel 코드를 사용하는 소프트웨어 패키지를 릴리스하려는 경우 GPL을 사용하려면 GNU GPL 라이센스에 따라 패키지를 릴리스해야합니다. 구별은 사용과 배포 사이에 있습니다. 라이센싱 문제에 대한 자세한 내용은 아래 기여하기 위해 무엇이 포함되어 있습니까?를 참조하십시오.

문서에 Open Babel을 어떻게 인용합니까?

Open Babel 개발을 지원하려면 다음을 인용하십시오.

  • Hutchison et al. [obj2011] [obj2011] Noel M. O’Boyle, Michael Banck, Craig A. James, Chris Morley, Tim Vandermeersch, Geoffrey R. Hutchison 오픈 바벨 : 열린 화학 도구 상자 J.Cheminf. 2011, 3, 33. [링크]
  • Open Babel, version 2.3.1, http://openbabel.org (2011 년 10 월 액세스)

첫 번째는 Open Babel을 설명하는 논문입니다. 두 번째는 특정 URL에서 소프트웨어 패키지를 인용하는 한 가지 방법입니다. 분명히, 사용한 Open Babel의 버전 번호와 소프트웨어를 다운로드하거나 Open Babel을 설치 한 날짜를 포함해야합니다.

기능, 형식, 로드맵

파일 형식 X를 지원하지 않는 이유는 무엇입니까

현재 지원되는 파일 형식은 좀 더 일반적인 파일 형식이며 우리가 작업에 사용하는 형식입니다. 다른 파일 형식을 추가하려면 다음 중 하나가 필요합니다.

  • 파일 형식에 대한 문서
  • 파일 형식을 읽거나 번역하기위한 작업 코드
  • 새로운 파일 형식 및 다른 형식의 예제 파일

후자는 분명히 텍스트 파일 형식에서 가장 쉽습니다. 이진 파일은 설명서 나 작업 코드없이 리버스 엔지니어링하는 데 시간이 걸립니다. 또한 개발자는 이 FAQ와 “나를 위해 무엇이 포함되어 있는가?” 라는 부분을 고려해야 합니다.

SMILES에서 MOL2 / PDB / etc로 변환 할 때 모든 좌표가 왜 0입니까

SMILES 형식은 분자에 대한 2D 정보를 포함합니다. 즉, 어떤 원자가 다른 원자에 연결되어 있으며 어떤 유형의 결합이 있는지 나타냅니다. MOL2, PDB 및 기타 여러 형식에는 SMILES 형식에없는 3D 좌표 정보가 포함되어 있습니다. Open Babel은 기본적으로 3D 구조를 생성하지 않으므로 모든 좌표가 0으로 설정됩니다. 그러나 –gen3d 옵션을 사용하여 Open Babel 2.2.0을 릴리스하면 3D 구조를 생성 할 수 있습니다.

앞으로 어떤 종류의 기능이 추가 될까요

공개 프로젝트이므로 기능이 제안되거나 기증 된 경우 드로잉 보드에서 다른 것만 큼 고려됩니다. 로드맵에 있는 일부 사항은 꽤 확실합니다.

내가 기여할 수있는 것은 무엇입니까

나의 화학 소프트웨어 회사를 위해 무엇이 있나요

제품이 비공개 소스이거나 GPL과 호환되지 않는 경우 불행히도 코드 라이브러리에 직접 연결할 수 없습니다. 그러나 제품과 함께 Open Babel을 수정되지 않은 형태로 배포하여 명령 줄 인터페이스를 사용할 수 있습니다. Open Babel babel 프로그램을 사용하면 표준 입력에서 읽고 표준 출력 (POSIX 파이프로 작동)에 쓸 수 있으므로 매우 쉽습니다.

바이너리를 배포하기로 결정했다면, 원하는 경우 사용자에게 소스를 제공하거나 Open Babel 웹 사이트를 가리켜 야합니다. 소스를 수정하면 Open Babel 웹 사이트를 다시 가리킬 수 없습니다. GPL에서는 변경된 소스를 배포해야합니다. 또는 변경 사항을 통합하여 다시 알려달라고 할 수 있습니다.

이 거래에서 좋지 않은 점은 무엇입니까

Open Babel이 외부 파일 형식을 번역하도록하고 웹 사이트에서 사용자에게 배포를 지시 할 수 있습니다. 이러한 모든 형식에 대해 수많은 코드를 작성할 필요가 없으며 버그 보고서를 다시 전달할 수 있습니다.

물론 하나의 함정이 있습니다. 파일 형식에 대한 풍부한 기능의 지원을 추가해야 할 가능성이 큽니다. 따라서 GPL 하에서 파일을 읽고 쓰는 데 소량의 코드를 제공하면 Open Babel이 그 밖의 모든 것을 처리합니다.

모두에게 좋은 일 입니다. 기능이 풍부한 번역 코드와 열린 파일 형식을 사용하면 커뮤니티의 이점이 있습니다. 귀사와 회사의 프로그램은 상상할 수있는 모든 형식을 읽을 수있는 이점을 제공합니다. 사용자는 필요한 작업에 필요한 프로그램을 사용함으로써 이점을 얻습니다.

학문를 위한 것은 무엇이 있나요

학술 개발자라면 반드시 이전 답변도 읽어야합니다. Open Babel과 인터페이스하는 데 약간의 노력이 필요하며 많은 수익을 얻습니다.

하지만 학계 사용자 인 경우에도 기여해야 할 이유가 많이 있습니다. 우리 대부분은 업무에서 다양한 파일 형식을 처리합니다. 따라서 이것을 깨끗하게 번역하는 것이 유용합니다. 현재 Open Babel에서 형식을 지원하지 않는 경우 파일 형식 X를 지원하지 않는 이유는 무엇입니까?를 참조하십시오. 버그를 발견하면보고하십시오. 오픈 소스이므로 코드를 직접 패치하고 다시 컴파일하여 문제를 매우 빠르게 해결할 수 있습니다.

코드를 작성하려는 경향이 있다면 GPL은 학업에 훌륭한 옵션입니다. 귀하는 원본 저작권 보유자이므로 코드 판매뿐만 아니라 원하는 코드로 원하는 작업을 수행 할 수 있습니다. 그러나 GPL에 따라 라이센스를 취득한 경우 아무도 귀하의 동의없이 독점 소프트웨어 (예 : 비공개 소스) 소프트웨어로 배포 할 수 없습니다. 동료 학자들은 직접 사용하고, 배우고, 향상시키고, 당신에게 기여할 수 있습니다. 왜 우리 중 많은 사람들이 과학을 전공했습니까?

GPL에 따라 라이센스가 부여 된 후에는 코드를 이해 관계자에게 무료로 제공해야합니다. 누군가 코드를 수정하더라도 해당 코드는 여전히 GPL에 남아 있어야합니다.

오픈소스 프로젝트를 위한 것은 무엇이 있나요

확실히 폐쇄 소스 소프트웨어 및 학계에 대한 답변도 귀하에게 적용됩니다. 그 외에도 코드가 GPL과 호환되는 경우 Open Babel과 모든 API를 직접 사용할 수 있습니다. 이것은 이미 GPL과 다른 많은 것들에서 이용 가능한 Avogadro 분자 편집기에서 일어나고 있습니다 (관련 프로젝트 참조). Open Babel에는 파일 번역 외에 많은 코드가 있습니다. 왜 있는 것을 쓰지 않습니까?

이것이 라이센스 X 대신 GPL에 포함되는 이유는 무엇입니까

짧은 대답은 OpenEye Scientific Software는 원래 Babel의 저자 중 하나 인 Matt Stahl을 사용한다는 것입니다. 그들은 바벨이 한 많은 일을했던 GPL에 따라 OELib라는 라이브러리를 공개했습니다. 나중에 그들은 OELib의 다음 버전을 비공개 소스 프로젝트로 선택했습니다. 우리는 OELib 버전을 여전히 GPL하에 가져갔습니다.

Open Babel의 라이센스가 다르게 표시되도록하려면 OpenEye에 새 라이센스로 이전 코드를 공개 할 것인지 물어보십시오 (예 : LGPL. 이 시점에서 Open Babel의 라이센스를 다시 부여해야하는지 고려할 것입니다. 분명히 모든 저작권 보유자는 새 라이센스에 동의해야합니다.

OpenEye가 OEChem이라는 비공개 소스 라이브러리를 개발하고 있기 때문에 구매 이유 중 하나는 비공개 소스 개발 제품에 있다는 것을 의미합니다. 따라서 OpenEye가 LGPL에 따라 재 라이센스를 부여함으로써 Open Babel이 경쟁자가 될 가능성은 거의 없을 것으로 생각합니다.

GNU GPL에 대한 자세한 내용은 어디서 볼 수 있습니까

자유 소프트웨어 재단은 GNU GPL에 대한 FAQ 목록을 유지합니다. FAQ는 일반적인 질문을 읽기 쉬운 (법적 언어가 아닌) 형태로 해결하려고합니다.

고마운 분들

Open Babel은 많은 사람들의 도움이없는 것이 아닙니다. 우리는 기본적으로 커뮤니티 프로젝트이며 사용자와 기고자 모두에게 반응하여 공개 개발을 제공하는 것을 목표로합니다.

모든 종류의 공헌자 외에도 다양한 관련 프로젝트가 우리를 계속 도와줍니다. 또한 학술 및 기술 문헌, 포스터 및 프리젠 테이션에서 Open Babel을 인용 한 모든 분들께 감사드립니다.

크레딧 (알파벳순)

  • Rich Apodaca
  • Joshua Ballanco
  • Michael Banck
  • Ross Braithwaite
  • Daniil Bratashov
  • Francesco Bresciani
  • Jean Brefort
  • Alex Clark
  • Joe Corkery
  • Steve Constable
  • Donald Curtis
  • Andrew Dalke
  • Daen de Leon
  • Menno Deij
  • Christian Ehrlicher
  • Nick England
  • Vincent Favre-Nicolin
  • Maxim Fedorovsky
  • Fabien Fontaine
  • Malcolm Gillies
  • Richard Gillilan
  • Brian Goldman
  • Rajarshi Guha
  • Richard Hall
  • Bob Hanson
  • Marcus Hanwell
  • Tommi Hassinen
  • Bryan Herger
  • David Hoekman
  • Geoffrey Hutchison
  • Benoît Jacob
  • Craig James
  • Mikael Johansson
  • Stefan Kebekus
  • Elmar Krieger
  • Erik Kruus
  • Daniel Leidert
  • Christian Laggner
  • Greg Landrum
  • Eugene Leitl
  • Teng Lin
  • Zhiguo Liu
  • Daniel Mansfield
  • David Mathog
  • Gerde Menche
  • Dominik Mierzejewski
  • Chris Morley
  • Paul Mortenson
  • Peter Murray-Rust
  • Carsten Niehaus
  • Anthony Nicholls
  • Noel O’Boyle
  • Sergei Patchkovskii
  • Frank Peters
  • Steffen Reith
  • Louis Richard
  • Roger Sayle
  • Ernst-Georg Schmid
  • Ajay Shah
  • Kevin Shepherd
  • Sangwoo Shim
  • Andrew Smellie
  • Matt Sprague
  • Matt Stahl
  • Chris Swain
  • S Joshua Swamidass
  • Bob Tolbert
  • Sergey Trepalin
  • Tim Vandermeersch
  • Ugo Varetto
  • Martin Vogt
  • Izhar Wallach
  • Fredrik Wallner
  • Pat Walters
  • Pawel Wolinski
  • Joerg Kurt Wegner

Babel, OBabel, OELib에 직접 참여하거나 여기에 나열되지 않은 Open Babel에 직접 기여한 사람이 더있을 것입니다. 이 목록을 업데이트하도록 도와주십시오. 감사합니다!

댓글남기기