03 - 화학 데이터 변환, 필터링 및 조작

업데이트: Link

obabelbabel 은 분자 모델링 및 계산 화학 및 관련 영역에서 사용되는 많은 파일 형식간에 상호 변환하도록 설계된 크로스 플랫폼 프로그램입니다. 분자 필터링 및 화학 데이터의 간단한 조작에도 사용할 수 있습니다.

요약

  • obabel [-H <도움말 옵션>]
  • obabel [-i <input-ID>] INFILE [-o <출력 ID>] [-O OUTFILE] [OPTIONS]
  • babel [-H <도움말 옵션>]
  • babel [-i <input-ID>] INFILE [-o <출력 ID>] [OUTFILE] [OPTIONS]

babel 보다 obabel 을 권장합니다 ( babel과 obabel의 차이점 참조 ).

옵션

정보와 도움

  • obabel [-H <도움말 옵션>]
  • babel [-H <도움말 옵션>]
옵션 설명
-H 사용 정보 출력
-H <format-ID> 지정된 형식에 대한 출력 형식 정보 및 옵션
-Halll 모든 형식에 대한 출력 형식 정보 및 옵션
-L 플러그인 유형 ( 요금 , 설명자 , 지문 , forcefields , 형식 , 로더 및 ops ) 나열
-L <plugin type> 이 유형의 플러그인을 나열하십시오. 예를 들어 obabel -L 형식 은 파일 형식 목록을 제공합니다.
-L <plugin-ID> 특정 플러그인의 세부 사항 (모든 플러그인 유형) 예를 들어 obabel -L cml 은 CML 파일 형식에 대한 세부 정보를 제공합니다.
-V 출력 버전 번호

변환 옵션

  • obabel [-i <input-ID>] INFILE [-o <출력 ID>] [-O OUTFILE] [OPTIONS]
  • obabel- : "<SMILES 문자열>" [-o <output-ID>] [-O 출력 파일 ] [OPTIONS]
  • 바벨 [-i <input-ID>] INFILE [-o <출력 ID>] [OUTFILE] [OPTIONS]

노트
입력 및 출력 파일만 제공되는 경우 Open Babel은 파일 이름 확장자에서 파일 유형을 추측합니다. Open Babel이 지원하는 파일 형식에 대한 자세한 내용은 지원되는 파일 형식 및 옵션을 참조하십시오.

옵션 설명    
-a <options> 형식 별 입력 옵션. -H <format-ID> 를 사용 하여 특정 형식에서 허용되는 옵션을 보거나 지원되는 파일 형식 및 옵션 에서 해당 섹션을 참조하십시오.    
--add <list> 목록의 디스크립터에서 특성 (SDF, CML 등)을 추가하십시오. 사용 가능한 설명자를 보려면 -L 설명자를 사용하십시오.    
--addinindex 제목에 입력 색인 추가 (즉, 필터링 전의 색인 )    
--addoutindex 출력 색인을 제목에 추가 (즉, 필터링 후의 색인 )    
--addtotitle <text> 각 분자 제목 뒤에 텍스트를 추가하십시오    
--append <list> 분자에 적합한 특성 또는 설명자 값을 제목에 추가하십시오. 자세한 정보는 제목에 특성 값 추가를 참조하십시오.    
-b Dative bonds 변환 (예 : [N +] ([O-]) = O 에서 N (= O) = O로 )    
-c (0,0,0)의 중심 원자 좌표    
-C 첫 번째 파일의 분자를 같은 이름을 가진 다른 분자와 결합    
-d 수소 삭제 (모든 수소를 암시 적으로 작성)    
--delete <list> 목록에서 속성 삭제    
-e 오류 후 분자를 계속 변환    
  ---errorlevel <N> 표시되는 오류 및 경고 레벨을 필터링하십시오. \
    - 1 = 중대한 오류 만 \
    - 2 = 경고도 포함 ( 기본값 ) \
    - 3 = 정보 메시지도 포함 \
    - 4 = 데이터 변경에 대한 “감사 로그”메시지 포함 \
    - 5 = 디버깅 메시지도 포함  
-f <#> 다중 입력 입력의 경우 첫 번째 입력으로 분자 #을 사용하여 가져 오기를 시작하십시오.    
--filter <criteria> 분자 특성을 기준으로 필터링합니다. 예와 기준 목록은 다중 분자 파일에서 분자 필터링을 참조하십시오.    
--gen2d 2D 좌표 생성    
--gen3d 3D 좌표 생성    
-h 수소 추가 (모든 수소를 명시 적으로 작성)    
-i <format-ID> 입력 형식을 지정합니다. 지원되는 파일 형식 및 옵션을 참조하십시오.    
-j, --join 모든 입력 분자를 단일 출력 분자 항목으로 결합    
-k 전산 화학 모델링 키워드를 번역합니다. GAMESS 입력 (inp, gamin)Gaussian 98/03 입력 (gjf, gjc, gau, com) 과 같은 계산 화학 형식 ( 계산 화학 형식 )을 참조하십시오 .    
  -m 다음을 허용하기 위해 여러 개의 출력 파일을 생성하십시오. \
    - 하나의 입력 파일 나누기-각 분자를 연속적으로 번호가 매겨진 출력 파일에 넣습니다. \
    - 일괄 변환-여러 입력 파일 각각을 지정된 출력 형식으로 변환  
-l <#> 다중 입력 입력의 경우 분자 #을 마지막 입력으로 가져 오기를 중지하십시오.    
-o <format-ID> 출력 형식을 지정합니다. 지원되는 파일 형식 및 옵션을 참조하십시오 .    
-p <pH> pH에 적합한 수소 첨가 ( phmodel.txt의 변형 사용 )    
--partialcharge <charge-method> 지정된 방법으로 부분 요금을 계산하십시오. obabel -L charges를 사용하여 사용 가능한 방법을 나열하십시오 .    
--property <name value> 속성 추가 또는 교체 (예 : SD 파일)    
-r 가장 큰 연속 조각을 제외하고 모두 제거하십시오 (스트립 염)    
--readconformers 다중 분자 입력에서 인접한 컨 포머를 단일 분자로 결합    
-s <SMARTS> 지정된 SMARTS 패턴과 일치하는 분자 만 변환    
-s <filename.xxx> 파일에서 분자가있는 분자 만 하위 구조로 변환    
--separate 분리 된 단편을 개별 분자 기록으로 분리    
--sort 디스크립터의 값에 따라 정렬 된 출력 분자. 분자 정렬을 참조하십시오 .    
--title <title> 분자 제목 추가 또는 교체    
--unique, --unique <param> 중복 분자를 변환하지 마십시오. 중복 분자 제거를 참조 하십시오.    
--writeconformers 여러 분자를 개별 분자로 출력    
-x <options> 형식 별 출력 옵션. 사용 -H <형식-ID는> 특정 형식에 의해 허용 옵션을 참조 또는 해당 섹션보기 위해 [_지원되는 파일 형식과 옵션을_](./12-지원되는%20파일%20형식%20및%20옵션.md).    
-v <SMARTS> 지정된 SMARTS 패턴과 일치 하지 않는 분자 만 변환    
-z gzip을 사용하여 출력 압축 (Windows 아님)    

예제

아래 예제는 파일이 현재 디렉토리에 있다고 가정합니다. 그렇지 않으면 파일의 전체 경로 (예 : /Users/username/Desktop/mymols.sdf) 를 포함 해야하고 파일 이름을 따옴표로 묶어야 할 수도 있습니다 (특히 공백을 포함 할 수있는 경우 Windows에서).

표준 전환 :

obabel ethanol.xyz -O ethanol.pdb
babel ethanol.xyz ethanol.pdb

파일에 형식을 설명하는 확장자가없는 경우 변환 :

obabel -ixyz ethanol.aa -opdb -O ethanol.bb
babel -ixyz ethanol.aa -opdb ethanol.bb

여러 입력 파일 (다른 형식을 가질 수 있음)의 분자는 일반적으로 출력 파일에 결합됩니다.

obabel ethanol.xyz acetal.sdf benzene.cml -O allmols.smi

STDIN의 SMI 파일에서 STDOUT에 작성된 Mol2 파일로 변환 :

obabel -ismi -omol2

다중 분자 파일을 new1.smi, new2.smi 등 으로 분할하십시오.

obabel infile.mol -O new.smi -m

Windows에서는 다음과 같이 쓸 수도 있습니다.

obabel infile.mol -O new*.smi

여러 입력 파일도 배치 형식으로 변환 할 수 있습니다. .xyz ( * .xyz )로 끝나는 모든 파일 을 PDB 파일 로 변환하려면 다음을 입력하십시오.

obabel *.xyz -opdb -m

Open Babel은 요청이 없으면 좌표를 생성하지 않으므로 SMILES에서 SDF로 변환하면 유효한 SDF 파일이 생성되지만 결과 파일에는 좌표가 포함되지 않습니다. 좌표를 생성하려면 --gen3d 또는 --gen2d 옵션을 사용하십시오.

obabel infile.smi -O out.sdf --gen3d

변환 할 때 모든 수소를 제거 (즉, 모두 암시 적으로 만들려면) 명령은 다음과 같습니다.

obabel mymols.sdf -osmi -O outputfile.smi -d

변환을 수행 할 때 수소를 추가하려면 (즉, 모두 명시 적으로 지정) 명령은 다음과 같습니다.

obabel mymols.sdf -O outputfile.smi -h

변환 할 때 pH7.4에 적합한 수소를 추가하려는 경우 명령은 다음과 같습니다.

obabel mymols.sdf -O outputfile.smi -p

양성자는 원자 단위로 수행되므로 이온화 가능한 중심이 여러 개인 분자는 모든 중심이 이온화됩니다.

물론 수소를 수정하기 위해 실제로 파일 형식을 변경할 필요는 없습니다. 모든 수소를 추가하려면 다음 명령을 수행하십시오.

obabel mymols.sdf -O mymols_H.sdf -h

니트로 또는 설폰과 같은 일부 작용기는 [N+]([O-])=O 또는 N(=O)=O 로 표현 될 수있다 . 모두를 본딩 형태로 전환하려면 :

obabel mymols.sdf -O outputfile.smi -b

분자의 서브 세트 만 변환하려는 경우 -f-l을 사용하여 분자를 정의 할 수 있습니다. mymols.sdf 파일의 분자 2-4를 변환하려면 :

obabel mymols.sdf -f 2 -l 4 -osdf -O outputfile.sdf

또는 SMARTS 패턴과 일치하는 부분 집합을 선택하여 브로 모 벤젠을 사용하는 모든 분자를 선택할 수 있습니다.

obabel mymols.sdf -O selected.sdf -s "c1ccccc1Br"

SMARTS 패턴과 일치 하지 않는 부분 집합을 선택하여 브로 모 벤젠을 사용하지 않는 모든 분자를 선택할 수도 있습니다.

obabel mymols.sdf -O selected.sdf -v "c1ccccc1Br"

물론 옵션을 결합하여 분자를 결합하고 수소 유형을 추가 할 수 있습니다.

obabel mymols.sdf -O myjoined.sdf -h -j

gzip으로 압축 된 파일은 .gz 접미사가 있는지 여부에 관계없이 투명하게 읽습니다.

obabel compress.sdf.gz -O extended.smi

Windows 이외의 플랫폼에서는 출력 파일을 gzip으로 압축 할 수 있지만 .gz 접미사를 지정하지 않으면 자동으로 추가되지 않으므로 파일을 열 때 문제가 발생할 수 있습니다.

obabel mymols.sdf -O outputfile.sdf.gz -z

다음 예제는 압축 된 데이터 세트에서 처음 50 개의 분자를 읽고 피리딘 고리를 포함하는 분자의 SMILES를 파일의 인덱스, ID (SDF 속성에서 가져옴) 및 출력 인덱스와 함께 인쇄합니다.

obabel chembl_02.sdf.gz -osmi -l 50 -s c1ccccn1-chebi_id 추가 --addinindex --addoutindex

테스트 데이터 (ChEMBLdb에서 가져온)의 경우 다음과 같은 결과가 나타납니다.

N1(CCN(CC1)c1c(cc2c3c1OCC(n3cc(c2=O)C(=O)O)C)F)C        3 100146 1
c1(c(=O)c2c(n(c1)OC)c(c(N1CC(CC1)CNCC)c(c2)F)F)C(=O)O   6 100195 2
S(=O)(=O)(Nc1ncc(cc1)C)c1c2c(c(N(C)C)ccc2)ccc1          22 100589 3
c1([nH]c2c(c1)cccc2)C(=O)N1CCN(c2c(N(CC)CC)cccn2)CC1    46 101536 4

babel과 obabel의 차이점

본질적으로 obabel 은 추가 기능과보다 표준적인 인터페이스를 갖춘 최신 버전의 babel 입니다. 시간이 지남에 따라 obabelbabel 을 대체 하므로 지금 obabel을 사용하는 것이 좋습니다 .

구체적으로 다음과 같은 차이점이 있습니다.

  • obabel 은 출력 파일을 -O 옵션 과 함께 지정해야합니다 . 이것은 명령 행 프로그램의 일반적인 유닉스 규칙에 더 가깝고 사용자가 실수로 입력 파일을 덮어 쓰는 것을 방지합니다.
  • 사용자가 옵션에 매개 변수 값을 지정해야하는 경우 obabel 이 더 유연합니다. 예를 들어 --unique 옵션은 매개 변수를 사용하거나 사용하지 않고 사용할 수 있습니다 (사용 된 기준 지정). babel을 사용 하면 옵션이 마지막 줄인 경우에만 작동합니다. 함께 obabel , 이런 제약이 적용되지 않는다. babel의 원래 디자인으로 인해 이 기능을 이전 버전과 호환되는 방식으로 추가 할 수 없습니다.
  • obabel 에는 SMILES 문자열을 입력하기위한 바로 가기가 있습니다. SMILES 앞에 -:를 입력하고 입력 파일 대신 사용하십시오. SMILES 문자열은 따옴표로 묶어야합니다. 예를 들면 다음과 같습니다.
      obabel -:"O=C(O)c1ccccc1OC(=O)C" -ocan
    

    둘 이상을 사용할 수 있으며 따옴표로 묶은 경우 분자 제목을 포함 할 수 있습니다.

      obabel -:"O=C(O)c1ccccc1OC(=O)C aspirin" -:"Oc1ccccc1C(=O)O salicylic acid" -ofpt
    
  • obabel 은 연결된 단일 문자 옵션을 사용할 수 없습니다.


babel 에 대한 명령 행을 obabel에 맞게 조정하려면 일반적으로 출력 파일 이름 앞에 -O 를 입력하면 됩니다.

형식 옵션

개별 파일 형식에는 추가 형식 옵션이있을 수 있습니다. 개별 형식에 대한 문서에 나열되어 있거나 (지원되는 파일 형식 및 옵션 참조 ) -H <format-Id> 옵션 (예 : -H cml)을 사용하여 표시 할 수 있습니다 .

이러한 추가 옵션을 사용하려면 입력 형식 옵션 앞에 -a가 있습니다 (예 : -as). 훨씬 더 일반적인 출력 형식 옵션 앞에는 -x가 있습니다 (예 : -xn). 따라서 CML 파일 에서 2D 좌표 (3D가 아닌)를 읽고 분자를 검정색 배경으로 표시 하는 SVG 파일을 생성 하려면 관련 옵션이 다음과 같이 사용됩니다.

babel mymol.cml out.svg -a2 -xb

제목에 추가 속성 값

명령 행 옵션 --append 는 분자 제목에 추가 정보를 추가합니다.

정보는 분자의 구조로부터 계산되거나 분자에 부착 된 특성 (CML 및 SDF 입력 파일의 경우)에서 비롯 될 수 있습니다. 다음과 같이 사용됩니다.

babel infile.sdf -osmi --append "MW CAT_NO"

MW 는 분자의 분자량을 계산하는 설명 자의 ID이고, CAT_NO 는 SDF 입력 파일에서 분자의 특성입니다. 이들의 값은 분자의 제목에 추가됩니다. 분자가 많은 입력 파일의 경우 이러한 추가는 각 분자마다 다릅니다. 관련 옵션 --addtotitle 은 모든 제목에 동일한 텍스트를 추가하기 만합니다.

append 옵션은 하나의 매개 변수 만 사용하므로 모든 설명자 ID 또는 속성 이름을 작은 따옴표로 묶어야합니다.

SDF 파일의 속성 이름 (내부적으로 OBPairData의 속성)에 공백이 포함되어 있으면이 공백은 밑줄 문자 _로 바꿔야합니다. 따라서 위의 예제는 CAT NO 라는 속성에서도 작동합니다.

기본적으로 추가 항목은 공백으로 구분하여 제목에 추가됩니다. 그러나 매개 변수의 첫 번째 문자가 _이외의 공백 또는 문장 부호 문자 인 경우 대신 분리 자로 사용됩니다. GUI에서 탭은 컨트롤 사이를 이동하는 데 사용되므로 탭 문자가 필요한 경우 붙여 넣어야합니다.

다중 분자 파일에서 분자 필터링

위의 옵션 중 6 가지를 사용하여 분자를 필터링 할 수 있습니다.

  • -s - SMARTS 문자열과 일치하는 분자 변환
  • -v - SMARTS 문자열과 일치하지 않는 분자 변환
  • -f-l - 특정 범위의 분자 변환
  • --unique- 고유 한 분자 만 변환합니다 (즉, 중복 제거).
  • --filter- 지정된 화학적 (및 기타) 기준을 충족하는 분자 변환

이 섹션은 --filter 옵션 에 중점을 두며, 이는 매우 다양하며 분자로 가져온 특성 (SDF 파일에서 가져 오기) 또는 분자에서 Open Babel을 통해 계산 한 값을 기반으로 분자의 하위 집합을 선택할 수 있습니다.

목표는 옵션을 유연하고 직관적으로 사용하는 것입니다. 긴 설명으로 연기하지 마십시오.

다음과 같이 사용하십시오.

babel filterset.sdf -osmi --filter "MW<130 ROTATABLE_BOND > 2"

쉘이나 운영 체제의 혼동을 피하기 위해 큰 따옴표로 묶어야 할 하나의 매개 변수가 필요합니다. (Windows GUI에는 따옴표가 필요하지 않습니다.) 매개 변수에는 하나 이상의 조건부 테스트가 포함됩니다. 기본적으로 분자가 변환 되려면 모두 참이어야합니다. 이 암시 적 및 동작뿐만 아니라 전체 부울 식을 작성할 수 있습니다 (아래 참조). 보시다시피, 적절한 장소에 공백이 있거나 없을 수 있으며 조건부 테스트는 쉼표 또는 세미콜론으로 구분할 수 있습니다.

두 가지 유형의 속성을 필터링 할 수 있습니다.

  • ROTATABLE_BOND ID가 될 수있는 SDF 특성 이전에 Open Babel에 알려질 필요는 없습니다.
  • 디스크립터 이름 (내부적으로 OBDescriptor 오브젝트의 ID) 새 클래스를 쉽게 추가 할 수 있도록하는 플러그인 클래스입니다. MW는 분자량을 계산하는 설명 자의 ID입니다. 다음을 사용하여 사용 가능한 설명자 목록을 볼 수 있습니다.
      babel -L descriptors
    

    또는 GUI의 메뉴 항목에서

빠른 필터링
Open Babel은 다양한 유틸리티 파일 형식을 제공합니다 ( 지원되는 파일 형식 및 옵션 참조 ). 이 중 복사 형식 을 출력 형식 으로 사용 하면 필터링 할 때 특히 유용 합니다 (원시 텍스트 복사 (복사) 참조 ). 이것은 분자 파일의 내용을 입력에서 출력으로 직접 복사합니다. 분자를 다른 형식으로 변환하지 않으면이 절차가 훨씬 빨라지고 정보 손실 가능성을 피할 수 있습니다.
또한 SDF 파일을 변환하고 제목을 기준으로 필터링하는 경우 -aT 사용을 고려해야합니다 ( MDL MOL 형식 (mol, mdl, sdf, sd) 참조 ). 전체 분자의 화학적 성질을 인식하기보다는이 옵션은 제목에서만 읽습니다.

설명자 이름은 대소 문자를 구분하지 않습니다. 현재 속성 이름으로 사례를 올바르게 작성해야합니다. 두 가지 유형의 식별자 모두 문자, 숫자 및 밑줄 ‘_‘을 포함 할 수 있습니다. 속성에는 공백이 포함될 수 있지만 필터 매개 변수에 이름을 쓸 때는 밑줄로 바꾸어야합니다. 위의 예에서 테스트는 ‘ROTATABLE BOND’속성에도 적합합니다.

Open Babel은 분자 내에 존재하는 경우 디스크립터보다 SDF와 유사한 특성 (내부적으로 OBPairData에 저장 됨)을 사용합니다. 예제 파일은 다음과 같습니다.

babel filterset.sdf -osmi-필터 "logP> 5"

다른 속성에는 속성이없고 설명자인 logP도 계산되며 항상 5보다 작기 때문에 logP = 10.900 속성을 가진 분자 만 변환합니다.

속성에 조건부 테스트가 없으면 속성이 존재하는 경우에만 true를 반환합니다. 그래서:

babel filterset.sdf -osmi --filter "ROTATABLE_BOND MW<130"

ROTATABLE_BOND 속성과 분자량 130 미만의 분자 만 변환합니다. ROTATABLE_BOND가 정의되지 않은 모든 분자도 포함하려면 다음을 사용하십시오.

babel filterset.sdf -osmi --filter "!ROTATABLE_BOND || (ROTATABLE_BOND & MW<130)"
부정을 의미합니다! AND는 & 또는 && 일 수 있으며 OR는 또는   . &는 보다 우선하기 때문에 대괄호는 여기서 꼭 필요한 것은 아닙니다. 정상적인 방법으로. 테스트 결과가 중요하지 않으면 구문 분석되지만 평가되지는 않습니다. 이 예에서 괄호 안의 표현은 ROTATABLE_BOND 속성이없는 분자에 대해서는 평가되지 않습니다. 여기서는 중요하지 않지만 설명 자의 평가에 많은 계산이 필요한 경우 부울 식에 늦게 포함시켜 일부 분자에서 생략 될 가능성이 있습니다.

설명자는 조건부 테스트를 받아야하며 그렇지 않은 경우 오류입니다. MW 또는 logP에서 사용되는 기본 테스트는 숫자 테스트이지만 텍스트의 구문 분석 및 테스트의 기능은 각 설명자 코드 (OBDescriptor 클래스의 가상 함수)에 정의됩니다. 이에 대한 세 가지 예는 다음 섹션에서 설명합니다.

문자열 설명

babel filterset.sdf -osmi --filter "title='Ethanol'"

설명자 title 뒤에 문자열 (여기에서 작은 따옴표로 묶음)이 있으면 대소 문자 구분 문자열 비교를 수행합니다. ( ‘Ethanol’은 예제 파일의 어떤 것과도 일치하지 않습니다.) 비교가 평등 일 필요는 없습니다.

babel filterset.sdf -osmi --filter "title>='D'"

예제 파일에서 제목이 Dimethyl Ether 및 Ethanol인 분자를 변환합니다.

의미가 모호하지 않은 경우 항상 작은 따옴표를 사용할 필요는 없습니다. 위의 두 예제는 따옴표없이 작동합니다. 그러나 두 피연산자를 모두 숫자로 변환 할 수 있으면 문자열이 아니라 숫자가 비교됩니다. 이것은 유용 할 수 있습니다 :

babel filterset.sdf -osmi --filter "title<129"

제목이 56 123 및 126 인 분자를 변환 할 것입니다.

babel filterset.sdf -osmi --filter "title<'129'"

문자열 비교가 이루어지기 때문에 123과 126 만 변환합니다.

문자열 비교는 *를 와일드 카드로 사용할 수 있습니다. 문자열의 첫 번째 또는 마지막 문자로만 사용할 수 있습니다. 따라서 --filter "title='* ol" 은 제목 ‘Methanol ‘, ‘ethanol’ 등의 분자와 일치하고 --filter "title ='eth * '" 는 ‘ethanol ‘, ‘ethyl acetate ‘, ‘ethical solution’ 등과 일치합니다.

스마트 디스크립터

이 설명자는 분자에 대해 SMARTS 테스트 (하위 구조 등)를 수행합니다. 스마트 ID는 s로 축약 될 수 있으며 =는 선택 사항입니다. 하나 이상의 SMARTS 테스트를 수행 할 수 있습니다.

babel filterset.sdf -osmi --filter "s='CN' s!='[N+]'"

SMARTS 디스크립터 테스트를 다른 테스트와 결합 할 수 있으므로 기존의 -s-v 옵션에 대한보다 유연한 대안을 제공합니다.

InChI 디스크립터

babel filterset.sdf -osmi --filter "inchi='InChI=1/C2H6O/c1-2-3/h3H,2H2,1H3'"

에탄올 만 변환합니다. InChI 비교에 기본 매개 변수를 사용하므로 InChI 코드의 일부 메시지가있을 수 있습니다. InChI가 표시되는 방식에는 상당히 많은 유연성이 있습니다 (필수 비트는 생략 할 수 있음).

babel filterset.sdf -osmi --filter "inchi='1/C2H6O/c1-2-3/h3H,2H2,1H3'"
babel filterset.sdf -osmi --filter "inchi='C2H6O/c1-2-3/h3H,2H2,1H3'"
babel filterset.sdf -osmi --filter "inchi=C2H6O/c1-2-3/h3H,2H2,1H3"
babel filterset.sdf -osmi --filter "InChI=1/C2H6O/c1-2-3/h3H,2H2,1H3"

모두 같은 효과가 있습니다.

InChI 문자열의 비교는 매개 변수 길이까지만 수행됩니다. 즉, InChI의 계층 구조를 활용할 수 있습니다.

babel filterset.sdf -osmi --filter "inchi=C2H6O"

에탄올과 디메틸 에테르를 모두 변환합니다.

하부 구조 및 유사성 검색

하위 구조 검색 및 유사성 검색에 babel 을 사용하는 방법에 대한 자세한 내용 은 분자 지문 및 유사성 검색을 참조하십시오 .

분자 분류

--sort 옵션 기술자의 값에 의해 지시 출력 분자로 사용된다 :

babel  infile.xxx  outfile.xxx  --sort desc

디스크립터 desc가 숫자 값을 제공하면 가장 작은 값을 가진 분자가 먼저 출력됩니다. 문자열 출력을 제공하는 설명 자의 경우 순서는 알파벳순이지만 InChI 설명 자의 경우 화학적으로 더 잘 알려진 순서가 사용됩니다 (예 : “CH4”는 “C2H6”이전, “CH4”는 “ClH”염화수소 미만).

디스크립터 이름 앞에 ~ 를 붙여서 순서를 바꿀 수 있습니다. 예 :

babel  infile.xxx  outfile.yyy  --sort ~logP

지름길은 설명자에 + 를 추가하여 설명자 값을 분자 이름에 추가 할 수 있습니다. 예를 들면 다음과 같습니다.

babel  aromatics.smi  -osmi  --sort ~MW+
 c1ccccc1C=C   styrene 104.149
 c1ccccc1C     toluene 92.1384
 c1ccccc1      benzene 78.1118

중복 분자 제거

--unique 옵션, 즉 출력하지 변환 중에 화학적으로 동일한 분자를 제거하기 위해 사용된다 :

babel  infile.xxx  outfile.yyy  --unique [param]

선택적 매개 변수 매개 변수 는 “화학적으로 동일한”것으로 간주되는 것을 정의합니다. 유용하지는 않지만 많은 설명 자의 이름이 될 수 있습니다. 경우 PARAM가 생략되면, InChI 디스크립터가 사용된다. 다른 유용한 설명자는 ‘cansmi’및 ‘cansmiNS’(입체 화학 정보가 있거나없는 정식 SMILES), ‘title’및 잘린 InChI입니다 (아래 참조).

babel 과 함께 매개 변수없이 --unique 를 사용하려면 마지막 줄에 있어야합니다. 대체 명령 줄 인터페이스 인 obabel 을 사용하면 출력 파일 다음에있을 수 있습니다.

발견 된 각 중복에 대한 메시지가 출력됩니다.

Removed methyl benzene - a duplicate of toluene (#1)

분명히, 이것은 각 분자에 제목이있는 경우 더 유용합니다. (# 1) 중복의 수는 지금까지 발견된다.

중복을 식별하고 고유 분자를 출력하지 않으려면 null 형식을 사용할 수 있습니다 .

babel  infile.xxx  -onul  --unique

잘린 InChI

절단 된 InChI 사양을 param 으로 사용하여 분자가 “화학적으로 동일한”것으로 간주되는 기준을 완화 할 수 있습니다 . 이것은 InChI의 계층 구조를 이용합니다. 따라서 입체 이성질체를 동일한 분자로 취급하여 중복을 제거하려면 :

babel  infile.xxx  outfile.yyy  --unique /nostereo

잘린 InChI 사양은 /로 시작하며 대소 문자를 구분합니다. PARAM은 이러한 예에 연결 할 수 있습니다 /nochg/noiso :

/formula   formula only
/connect   formula and connectivity only
/nostereo  ignore E/Z and sp3 stereochemistry
/nosp3     ignore sp3 stereochemistry
/noEZ      ignore E/Z stereoochemistry
/nochg     ignore charge and protonation
/noiso     ignore isotopes

여러 파일

입력 분자는 단일 파일에있을 필요는 없습니다. 따라서 MOL 파일 세트에서 모든 고유 분자를 수집하려면 다음을 수행하십시오.

babel  *.mol  uniquemols.sdf  --unique

고유 한 분자를 개별 파일에 유지하려면 다음을 수행하십시오.

babel  *.mol  U.mol  -m  --unique

GUI에서 다음 양식을 사용하십시오.

babel  *.mol  U*.mol  --unique

Windows 명령 행에서 두 가지 형식을 모두 사용할 수 있습니다.

고유 한 분자는 원래 이름 앞에 ‘U’가 붙은 파일에 있습니다. 중복 분자는 비슷한 파일에 있지만 길이는 0이므로 직접 삭제해야합니다.

화학 그룹의 별칭

2 개의 앨리어스 그룹을 갖는 Ph-COOH 와 같은 앨리어스, 예를 들어 벤조산으로 일반적인 화학 그룹을 표현하기위한 제한된 양의 지지가있다 . 내부적으로 Open Babel에서 분자는 대체 표현으로 만 존재하는 별칭 이름을 가진 ‘실제’ 구조를 갖습니다. MDL MOL 및 SD 파일의 경우 별칭 이름은 ‘A’줄에서 읽거나 쓸 수 있습니다. 보다 현대적인 RGroup 표현은 아직 인식되지 않습니다. 독서는 투명하다. 분자가 2D 또는 3D 인 경우 앨리어스 그룹이 확장되고 ‘실제’ 원자가 합리적인 좌표를 제공합니다. ‘실제’ 구조가 아닌 별칭 형식으로 쓰 려면 -xA 옵션을 사용해야합니다. -xA 옵션이 설정된 경우 SVGFormat 은 분자에 존재하는 모든 별칭을 표시합니다.

인식되는 별명 이름은 superatoms.txt 파일에 있으며 편집 할 수 있습니다.

일반 분자는 --genalias 옵션을 사용하여 대체 별명으로 지정된 특정 공통 그룹을 가질 수 있습니다 . 인식되고 변환 된 그룹은 읽은 그룹의 하위 집합입니다. 그것들을 표시하거나 쓰려면 여전히 -xA 옵션이 필요합니다 . 예를 들어, aspirin.smiO=C(O)c1ccccc1OC(=O)C 가 포함 된 경우 다음과 같이 별명 COOHOAc 와 함께 표시 될 수 있습니다 .

obabel aspirin.smi -O out.svg --genalias -xA

댓글남기기