File tree Expand file tree Collapse file tree 5 files changed +106
-4
lines changed
Expand file tree Collapse file tree 5 files changed +106
-4
lines changed Original file line number Diff line number Diff line change 55import os
66
77import pytest
8+ from rdkit import Chem
89from rdkit import rdBase
910
1011rdBase .DisableLog ('rdApp.*' )
@@ -15,10 +16,44 @@ def test_root_dir():
1516
1617
1718@pytest .fixture (name = 'sdf_file' )
18- def mock_sdf ():
19- return
19+ def mock_sdf (tmp_path ):
20+ d = tmp_path / "test_data"
21+ d .mkdir ()
22+ p = d / "test.sdf"
23+ writer = Chem .SDWriter (str (p ))
24+ writer .write (Chem .MolFromSmiles ('CN1C(=O)CN=C(C2=C1C=CC(=C2)Cl)C3=CC=CC=C3' ))
25+ writer .write (Chem .MolFromSmiles ('CCC1=CC2=C(S1)N(C(=O)CN=C2C3=CC=CC=C3Cl)C' ))
26+ writer .close ()
27+ return str (p )
28+
29+
30+ @pytest .fixture (name = 'sdf_file_2' )
31+ def mock_sdf_2 (tmp_path ):
32+ d = tmp_path / "test_data"
33+ try :
34+ d .mkdir ()
35+ except FileExistsError :
36+ pass
37+ p = d / "test_2.sdf"
38+ writer = Chem .SDWriter (str (p ))
39+ writer .write (Chem .MolFromSmiles ('C1C(=O)NC2=C(C=C(C=C2)Br)C(=N1)C3=CC=CC=N3' ))
40+ writer .write (Chem .MolFromSmiles ('CC1=NN(C2=C1C(=NCC(=O)N2C)C3=CC=CC=C3F)C' ))
41+ writer .close ()
42+ return str (p )
2043
2144
2245@pytest .fixture (name = 'smiles_file' )
23- def mock_smiles_file ():
24- return
46+ def mock_smiles_file (tmp_path ):
47+ d = tmp_path / "test_data"
48+ d .mkdir ()
49+ p = d / "test.smi"
50+ writer = Chem .SmilesWriter (str (p ))
51+ writer .write (Chem .MolFromSmiles ('CN1C(=O)CN=C(C2=C1C=CC(=C2)Cl)C3=CC=CC=C3' ))
52+ writer .write (Chem .MolFromSmiles ('CCC1=CC2=C(S1)N(C(=O)CN=C2C3=CC=CC=C3Cl)C' ))
53+ writer .close ()
54+ return str (p )
55+
56+
57+ def canon (smiles ):
58+ """Canonicalize SMILES for safety. If canonicalization ever changes this should remain consistent"""
59+ return Chem .MolToSmiles (Chem .MolFromSmiles (smiles ))
Original file line number Diff line number Diff line change 1+ """
2+ scaffoldgraph tests.test_network
3+ """
4+
5+ import pytest
6+
7+ import scaffoldgraph as sg
8+
9+
10+ @pytest .fixture (name = 'test_net' )
11+ def test_network (sdf_file ):
12+ network = sg .ScaffoldNetwork .from_sdf (sdf_file )
13+ return network
14+
15+
16+ def test_network_from_sdf (sdf_file ):
17+ network = sg .ScaffoldNetwork .from_sdf (sdf_file )
18+ assert network .num_scaffold_nodes == 8
19+ assert network .num_molecule_nodes == 2
20+
21+
22+ def test_network_from_smiles (smiles_file ):
23+ network = sg .ScaffoldNetwork .from_smiles_file (smiles_file )
24+ assert network .num_scaffold_nodes == 8
25+ assert network .num_molecule_nodes == 2
26+
27+
28+ def test_hiers (sdf_file ):
29+ network = sg .HierS .from_sdf (sdf_file )
30+ assert network .num_scaffold_nodes == 5
31+ assert network .num_molecule_nodes == 2
32+
33+
34+ def test_repr (test_net ):
35+ assert repr (test_net ) == '<ScaffoldNetwork at {}>' .format (hex (id (test_net )))
Original file line number Diff line number Diff line change 1+ """
2+ scaffoldgraph tests.test_tree
3+ """
4+
5+ import networkx as nx
6+ import pytest
7+
8+ import scaffoldgraph as sg
9+
10+
11+ @pytest .fixture (name = 'test_tree' )
12+ def test_tree_graph (sdf_file ):
13+ tree = sg .ScaffoldTree .from_sdf (sdf_file )
14+ return tree
15+
16+
17+ def test_tree_from_sdf (sdf_file ):
18+ tree = sg .ScaffoldTree .from_sdf (sdf_file )
19+ assert tree .num_scaffold_nodes == 5
20+ assert tree .num_molecule_nodes == 2
21+ assert nx .is_tree (tree )
22+
23+
24+ def test_tree_from_smiles (smiles_file ):
25+ tree = sg .ScaffoldTree .from_smiles_file (smiles_file )
26+ assert tree .num_scaffold_nodes == 5
27+ assert tree .num_molecule_nodes == 2
28+ assert nx .is_tree (tree )
29+
30+
31+ def test_repr (test_tree ):
32+ assert repr (test_tree ) == '<ScaffoldTree at {}>' .format (hex (id (test_tree )))
You can’t perform that action at this time.
0 commit comments