| シビュラ線記法 | |
|---|---|
| ファイル名拡張子 | .sln |
| フォーマットの種類 | 化学ファイル形式 |
SYBYL線表記法( SLN)は、短いASCII文字列を使用して化学分子の構造を明確に記述するための仕様です。SLN はSMILESとはいくつかの重要な点で異なります。SLN は、分子、分子クエリ、および反応を単一の線表記で指定できますが、SMILES はこれらを言語拡張機能によって処理します。SLN は相対立体化学をサポートしており、エナンチオマーの混合物を、純粋だが立体化学が未解決の純粋な分子と区別できます。SMILES では芳香族性は原子と結合の両方の特性とみなされますが、SLN では結合の特性とみなされます。
SMILESと同様に、SLNも分子を記述する線形言語です。SLNはSMILESとは多くの点で異なりますが、この点でSMILESと多くの類似点があります。そのため、本稿ではSLNをSMILESとその拡張版と比較しながら説明を進めていきます。
属性(括弧で囲まれた文字列で、追加データを含む)[key1=value1, key2...]は、SLNのコア機能です。属性は原子と結合に適用できます。公式に定義されていない属性は、ユーザーが独自の拡張機能を作成するために使用できます。
分子を検索する際には、通常の等号の代わりに、などの比較演算子を使用できます。キー/値グループの前に を付けると、比較結果が反転します。fcharge>-0.125!
分子全体や反応にも属性を持たせることができます。角括弧は2つの記号に置き換えられます。<>
大文字で始まるものはすべてSLN中の原子を表します。水素は自動的に追加されませんが、有機化合物の場合、水素との単結合は省略可能で、メタンのCH4場合は の代わりに となります。著者は、水素を明示的に指定することで、より堅牢な解析が可能になると主張しています。C(H)(H)(H)H
原子に定義されている属性には、I=同位体質量数、charge=形式電荷、fcharge部分電荷、s=立体化学、およびspin=ラジカル(s一重項d、二重項、三重項tそれぞれについて、、)が含まれます。 の形式電荷は、と略記でき、負電荷の場合はその逆です。また、は、−1 または +1 の電荷として認識されます。は、の略記です。 原子の立体化学は、ほとんどが四面体であり、/および/などが利用可能です。これは明示的()または相対的()にすることも、この原子での立体異性体の混合物()を指定することもできます。SMILES のおよびに相当する、通常/反転(/ )表記が提供されています。検索用に多くの追加属性が提供されています。charge=2+2-+*spin=dRSDLERMNI@@@
SLNは、基本原子に加えて、ワイルドカード原子Any(任意の原子に一致)、およびHev(任意の重原子に一致)の指定をサポートしています。また、組み合わせライブラリとRGROUPクエリを指定するための豊富なMarkush構文も備えています。SLNには、原子グループに一致するためのクエリ原子タイプがいくつかあります。各タイプは、グループ名に続いてオプションの正の整数を持ちます。
「0」質量数は通常の同位体を表し、14NN[I=0]と一致N[I=14]し、他のすべての同位体と一致します。N[!I=0]
SLN は、SMILESとほぼ同じ結合表記を使用し、-単結合、二重結合、三重結合、芳香族結合には、、、、、、を使用します。は=、反応 SMILES と同様にゼロ次結合に使用されますが、異なる分子には、が推奨されます。#:.+
ほとんどの単結合は暗黙的に示されるため、エタンの場合、CH3CH3(CH 3 CH 3CH3-CH3 ) の代わりに(CH 3 –CH 3 )を使用できます。明示的な単結合は、3中心結合に役立ちます。
このs=属性は二重結合に対して定義され、E – Z ( E/ Z) またはcis – trans ( c/ t) 表記で立体化学情報を伝えるために使用されます。N/Iは使用可能で、「主鎖」を表し、互いにトランスまたはシスの関係にあります。
SLN は SMILES よりも明示的なパターンで環を記述し、ベンゼンは と指定されますC[1]H:CH:CH:CH:CH:CH:@1。原子は単一の数値属性で環上のアンカーとしてタグ付けされ、@1その後、この (この場合は「番号 1」) 原子に結合するために使用できます。
SLN ブランチは SMILES ブランチと同一で、括弧で指定されています。プロピオン酸はCH3CH2C(=O)OH()
SLNは、反応物と生成物を関連付けることで反応をサポートします。属性を使用することで、原子マッピングが可能になります。反応中心(rc)属性は結合に、キラル変換(cc)属性は原子に追加できます。->[#num]
複数の行は、各行の末尾にバックスラッシュ(/)を付けることで、構文的に1行にまとめることができます\。これにより、長い行を複数行に分割することが可能になり、例えば、各分子をそれぞれ別の行に記述する反応式などに利用できます。