Skip to content

Commit 212d54b

Browse files
committed
Added architecture to support loaders along with a loader for PFOA
1 parent 691afe0 commit 212d54b

6 files changed

Lines changed: 90 additions & 0 deletions

File tree

.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"python-envs.defaultEnvManager": "ms-python.python:conda",
3+
"python-envs.defaultPackageManager": "ms-python.python:conda",
4+
"python-envs.pythonProjects": []
5+
}

pyaptamer/datasets/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Contains datasets along with their loaders."""
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Contains datasets for aptamers."""

pyaptamer/datasets/data/pfoa.pdb

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
HETATM 1 F1 UNL 1 -1.054 1.948 -0.201 1.00 0.00 F
2+
HETATM 2 F2 UNL 1 0.543 1.258 -1.503 1.00 0.00 F
3+
HETATM 3 F3 UNL 1 1.222 1.649 1.078 1.00 0.00 F
4+
HETATM 4 F4 UNL 1 -0.333 0.293 1.758 1.00 0.00 F
5+
HETATM 5 F5 UNL 1 -1.821 0.167 -2.165 1.00 0.00 F
6+
HETATM 6 F6 UNL 1 -0.453 -1.320 -1.355 1.00 0.00 F
7+
HETATM 7 F7 UNL 1 2.067 -0.762 1.916 1.00 0.00 F
8+
HETATM 8 F8 UNL 1 0.806 -1.794 0.487 1.00 0.00 F
9+
HETATM 9 F9 UNL 1 -2.983 -1.715 -0.682 1.00 0.00 F
10+
HETATM 10 F10 UNL 1 -1.693 -1.305 1.021 1.00 0.00 F
11+
HETATM 11 F11 UNL 1 2.105 -0.612 -1.601 1.00 0.00 F
12+
HETATM 12 F12 UNL 1 3.342 -1.755 -0.237 1.00 0.00 F
13+
HETATM 13 F13 UNL 1 -3.968 0.842 -0.596 1.00 0.00 F
14+
HETATM 14 F14 UNL 1 -2.683 1.301 1.109 1.00 0.00 F
15+
HETATM 15 F15 UNL 1 -4.173 -0.274 1.267 1.00 0.00 F
16+
HETATM 16 O1 UNL 1 4.570 0.329 0.674 1.00 0.00 O
17+
HETATM 17 O2 UNL 1 3.367 1.677 -0.704 1.00 0.00 O
18+
HETATM 18 C1 UNL 1 -0.291 0.860 -0.511 1.00 0.00 C
19+
HETATM 19 C2 UNL 1 0.531 0.526 0.727 1.00 0.00 C
20+
HETATM 20 C3 UNL 1 -1.214 -0.239 -1.021 1.00 0.00 C
21+
HETATM 21 C4 UNL 1 1.506 -0.643 0.678 1.00 0.00 C
22+
HETATM 22 C5 UNL 1 -2.285 -0.725 -0.056 1.00 0.00 C
23+
HETATM 23 C6 UNL 1 2.630 -0.597 -0.348 1.00 0.00 C
24+
HETATM 24 C7 UNL 1 -3.279 0.300 0.430 1.00 0.00 C
25+
HETATM 25 C8 UNL 1 3.539 0.591 -0.167 1.00 0.00 C
26+
HETATM 26 H1 UNL 1 5.153 1.108 0.793 1.00 0.00 H
27+
CONECT 1 18
28+
CONECT 2 18
29+
CONECT 3 19
30+
CONECT 4 19
31+
CONECT 5 20
32+
CONECT 6 20
33+
CONECT 7 21
34+
CONECT 8 21
35+
CONECT 9 22
36+
CONECT 10 22
37+
CONECT 11 23
38+
CONECT 12 23
39+
CONECT 13 24
40+
CONECT 14 24
41+
CONECT 15 24
42+
CONECT 16 25 26
43+
CONECT 17 25
44+
CONECT 18 1 2 19 20
45+
CONECT 19 3 4 18 21
46+
CONECT 20 5 6 18 22
47+
CONECT 21 7 8 19 23
48+
CONECT 22 9 10 20 24
49+
CONECT 23 11 12 21 25
50+
CONECT 24 13 14 15 22
51+
CONECT 25 16 17 23
52+
CONECT 26 16
53+
END
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"""Loaders for different data structures."""
2+
3+
from pyaptamer.datasets.loader.pfoa_loader import load_pfoa_structure
4+
5+
__all__ = ["load_pfoa_structure"]
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import os
2+
3+
from Bio.PDB import PDBParser
4+
5+
6+
def load_pfoa_structure(pdb_path=None):
7+
"""
8+
Load the PFOA molecule from a PDB file using Biopython.
9+
10+
Parameters
11+
----------
12+
pdb_path : str, optional
13+
Path to the PDB file. If not provided, the function uses the default path
14+
located in the '../data/pfoa.pdb' relative to the current file.
15+
16+
Returns
17+
-------
18+
structure : Bio.PDB.Structure.Structure
19+
A Biopython Structure object representing the PFOA molecule.
20+
"""
21+
pdb_path = os.path.join(os.path.dirname(__file__), "..", "data", "pfoa.pdb")
22+
23+
parser = PDBParser(QUIET=True)
24+
structure = parser.get_structure("PFOA", pdb_path)
25+
return structure

0 commit comments

Comments
 (0)