Wolfram Language
Paclet Repository
Community-contributed installable additions to the Wolfram Language
Primary Navigation
Categories
Cloud & Deployment
Core Language & Structure
Data Manipulation & Analysis
Engineering Data & Computation
External Interfaces & Connections
Financial Data & Computation
Geographic Data & Computation
Geometry
Graphs & Networks
Higher Mathematical Computation
Images
Knowledge Representation & Natural Language
Machine Learning
Notebook Documents & Presentation
Scientific and Medical Data & Computation
Social, Cultural & Linguistic Data
Strings & Text
Symbolic & Numeric Computation
System Operation & Setup
Time-Related Computation
User Interface Construction
Visualization & Graphics
Random Paclet
Alphabetical List
Using Paclets
Create a Paclet
Get Started
Download Definition Notebook
Learn More about
Wolfram Language
MoleculeFingerprints
Guides
Molecule Fingerprints
Tech Notes
Substructure Screening
Symbols
AtomPairFingerprint
ExtendedConnectivityFingerprint
LayeredFingerprint
MACCSKeysFingerprint
MoleculeDistanceMatrix
MoleculeDistance
MoleculeNearest
PatternFingerprint
SubstructureKeyFingerprint
TopologicalFingerprint
$DefaultFingerprintFormat
$DefaultFingerprintType
WolframChemistry`MoleculeFingerprints`
S
u
b
s
t
r
u
c
t
u
r
e
K
e
y
F
i
n
g
e
r
p
r
i
n
t
S
u
b
s
t
r
u
c
t
u
r
e
K
e
y
F
i
n
g
e
r
p
r
i
n
t
[
m
o
l
,
p
a
t
t
s
,
"
f
o
r
m
a
t
"
]
r
e
t
u
r
n
s
a
m
o
l
e
c
u
l
e
f
i
n
g
e
r
p
r
i
n
t
i
n
t
h
e
g
i
v
e
n
f
o
r
m
a
t
u
s
i
n
g
t
h
e
p
r
o
v
i
d
e
d
p
a
t
t
e
r
n
s
a
s
k
e
y
s
.
S
u
b
s
t
r
u
c
t
u
r
e
K
e
y
F
i
n
g
e
r
p
r
i
n
t
[
p
a
t
t
s
,
"
f
o
r
m
a
t
"
]
r
e
t
u
r
n
s
a
f
u
n
c
t
i
o
n
t
h
a
t
c
a
n
b
e
a
p
p
l
i
e
d
t
o
m
o
l
e
c
u
l
e
s
.
D
e
t
a
i
l
s
a
n
d
O
p
t
i
o
n
s
Examples
(
3
)
Basic Examples
(
2
)
The simplest substructure patterns to use would be the elements of the periodic table:
I
n
[
1
]
:
=
(
p
a
t
t
s
=
M
a
p
[
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
[
{
#
}
,
{
}
]
&
,
E
l
e
m
e
n
t
D
a
t
a
[
]
]
)
/
/
S
h
o
r
t
O
u
t
[
1
]
/
/
S
h
o
r
t
=
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
A
t
o
m
s
:
1
B
o
n
d
s
:
0
,
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
A
t
o
m
s
:
1
B
o
n
d
s
:
0
,
1
1
5
,
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
A
t
o
m
s
:
1
B
o
n
d
s
:
0
Using this list of patterns we can find the elemental composition of a molecule:
I
n
[
2
]
:
=
S
u
b
s
t
r
u
c
t
u
r
e
K
e
y
F
i
n
g
e
r
p
r
i
n
t
M
o
l
e
c
u
l
e
F
o
r
m
u
l
a
:
C
1
9
H
1
6
B
r
N
O
3
S
A
t
o
m
s
:
4
1
B
o
n
d
s
:
4
3
,
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
[
{
#
}
,
{
}
]
&
/
@
E
l
e
m
e
n
t
D
a
t
a
[
]
,
"
C
o
u
n
t
V
e
c
t
o
r
"
O
u
t
[
2
]
=
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
A
t
o
m
s
:
1
B
o
n
d
s
:
0
1
9
,
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
A
t
o
m
s
:
1
B
o
n
d
s
:
0
1
,
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
A
t
o
m
s
:
1
B
o
n
d
s
:
0
3
,
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
A
t
o
m
s
:
1
B
o
n
d
s
:
0
1
,
M
o
l
e
c
u
l
e
P
a
t
t
e
r
n
A
t
o
m
s
:
1
B
o
n
d
s
:
0
1
The above example shows clearly how this fingerprint function works, but it is really just an inefficient way to get the elemental composition. A more interesting set of keys is included in the paclet assets:
I
n
[
1
]
:
=
p
a
t
t
s
=
G
e
t
[
P
a
c
l
e
t
O
b
j
e
c
t
[
"
W
o
l
f
r
a
m
C
h
e
m
i
s
t
r
y
/
M
o
l
e
c
u
l
e
F
i
n
g
e
r
p
r
i
n
t
s
"
]
[
"
A
s
s
e
t
L
o
c
a
t
i
o
n
"
,
"
F
P
3
S
u
b
s
t
r
u
c
t
u
r
e
K
e
y
s
"
]
]
;
K
e
y
s
@
p
a
t
t
s
O
u
t
[
1
]
=
{
c
a
t
i
o
n
,
a
n
i
o
n
,
a
l
d
e
h
y
d
e
o
r
k
e
t
o
n
e
,
a
l
d
e
h
y
d
e
,
k
e
t
o
n
e
,
t
h
i
o
a
l
d
e
h
y
d
e
o
r
t
h
i
o
k
e
t
o
n
e
,
t
h
i
o
a
l
d
e
h
y
d
e
,
t
h
i
o
k
e
t
o
n
e
,
i
m
i
n
e
,
h
y
d
r
a
z
o
n
e
,
s
e
m
i
c
a
r
b
a
z
o
n
e
,
t
h
i
o
s
e
m
i
c
a
r
b
a
z
o
n
e
,
o
x
i
m
e
,
o
x
i
m
e
e
t
h
e
r
,
k
e
t
e
n
e
,
k
e
t
e
n
a
c
e
t
y
l
d
e
r
i
v
a
t
i
v
e
*
*
*
,
c
a
r
b
o
n
y
l
h
y
d
r
a
t
e
,
h
e
m
i
a
c
e
t
a
l
,
a
c
e
t
a
l
,
h
e
m
i
a
m
i
n
a
l
,
a
m
i
n
a
l
,
t
h
i
o
h
e
m
i
a
m
i
n
a
l
,
t
h
i
o
a
c
e
t
a
l
,
e
n
a
m
i
n
e
,
e
n
o
l
,
e
n
o
l
e
t
h
e
r
,
h
y
d
r
o
x
y
c
o
m
p
o
u
n
d
,
a
l
c
o
h
o
l
,
p
r
i
m
a
r
y
a
l
c
o
h
o
l
,
s
e
c
o
n
d
a
r
y
a
l
c
o
h
o
l
,
t
e
r
t
i
a
r
y
a
l
c
o
h
o
l
,
1
,
2
-
d
i
o
l
,
1
,
2
-
a
m
i
n
o
a
l
c
o
h
o
l
,
p
h
e
n
o
l
,
1
,
2
-
d
i
p
h
e
n
o
l
,
e
n
e
d
i
o
l
,
e
t
h
e
r
,
d
i
a
l
k
y
l
e
t
h
e
r
,
a
l
k
y
l
a
r
y
l
e
t
h
e
r
,
d
i
a
r
y
l
e
t
h
e
r
,
t
h
i
o
e
t
h
e
r
,
d
i
s
u
l
f
i
d
e
,
p
e
r
o
x
i
d
e
,
h
y
d
r
o
p
e
r
o
x
i
d
e
,
a
r
y
l
,
h
e
t
e
r
o
a
t
o
m
,
H
B
A
,
H
B
D
,
r
i
n
g
,
c
a
r
b
o
x
y
l
i
c
a
c
i
d
,
e
s
t
e
r
,
n
i
t
r
o
,
n
i
t
r
i
l
e
,
a
n
i
l
i
n
e
,
u
r
e
a
}
I
n
[
2
]
:
=
S
u
b
s
t
r
u
c
t
u
r
e
K
e
y
F
i
n
g
e
r
p
r
i
n
t
[
p
a
t
t
s
]
/
@
M
o
l
e
c
u
l
e
F
o
r
m
u
l
a
:
C
2
3
H
2
8
N
2
O
4
A
t
o
m
s
:
5
7
B
o
n
d
s
:
5
9
,
M
o
l
e
c
u
l
e
F
o
r
m
u
l
a
:
C
1
0
H
1
6
S
A
t
o
m
s
:
2
7
B
o
n
d
s
:
2
8
,
M
o
l
e
c
u
l
e
F
o
r
m
u
l
a
:
C
1
0
H
1
5
C
l
O
3
S
A
t
o
m
s
:
3
0
B
o
n
d
s
:
3
1
,
M
o
l
e
c
u
l
e
F
o
r
m
u
l
a
:
C
1
0
H
1
9
N
O
A
t
o
m
s
:
3
1
B
o
n
d
s
:
3
1
,
M
o
l
e
c
u
l
e
F
o
r
m
u
l
a
:
C
9
H
1
2
O
3
A
t
o
m
s
:
2
4
B
o
n
d
s
:
2
4
O
u
t
[
2
]
=
N
u
m
e
r
i
c
A
r
r
a
y
T
y
p
e
:
I
n
t
e
g
e
r
8
D
i
m
e
n
s
i
o
n
s
:
{
5
5
}
,
N
u
m
e
r
i
c
A
r
r
a
y
T
y
p
e
:
I
n
t
e
g
e
r
8
D
i
m
e
n
s
i
o
n
s
:
{
5
5
}
,
N
u
m
e
r
i
c
A
r
r
a
y
T
y
p
e
:
I
n
t
e
g
e
r
8
D
i
m
e
n
s
i
o
n
s
:
{
5
5
}
,
N
u
m
e
r
i
c
A
r
r
a
y
T
y
p
e
:
I
n
t
e
g
e
r
8
D
i
m
e
n
s
i
o
n
s
:
{
5
5
}
,
N
u
m
e
r
i
c
A
r
r
a
y
T
y
p
e
:
I
n
t
e
g
e
r
8
D
i
m
e
n
s
i
o
n
s
:
{
5
5
}
I
n
[
3
]
:
=
T
o
t
a
l
/
@
%
O
u
t
[
3
]
=
{
7
,
4
,
4
,
4
,
1
0
}
N
e
a
t
E
x
a
m
p
l
e
s
(
1
)
S
e
e
A
l
s
o
M
o
l
e
c
u
l
e
▪
F
e
a
t
u
r
e
E
x
t
r
a
c
t
▪
T
o
p
o
l
o
g
i
c
a
l
F
i
n
g
e
r
p
r
i
n
t
▪
M
o
l
e
c
u
l
e
D
i
s
t
a
n
c
e
▪
A
t
o
m
P
a
i
r
F
i
n
g
e
r
p
r
i
n
t
R
e
l
a
t
e
d
G
u
i
d
e
s
▪
M
o
l
e
c
u
l
e
F
i
n
g
e
r
p
r
i
n
t
s
"
"