Kernels are mathematical functions that transform data into higher-dimensional spaces where classification becomes easier. For more background, please see Support Vector Machine.
Support Vector Machines (SVMs) rely on kernels to find optimal decision boundaries, even when data is not linearly separable in the original space.
This makes SVMs particularly powerful for structured and complex data, much like the protein backbone torsion angles in this case.
Quantum kernels leverage the principles of quantum computing to create feature spaces that are exponentially larger and more complex than classical mappings.
They offer the potential to capture intricate structures in data, beyond what classical methods can efficiently compute.
A Hilbert space is a high-dimensional, infinite mathematical space where quantum states reside.
Mapping classical data into a Hilbert space using quantum feature maps allows for complex, non-linear structures to be distinguished with simple decision surfaces.
Quantum simulators running on classical hardware are limited by computational resources, and thus can typically only handle small datasets or a limited number of qubits. Real quantum hardware it noisy at the moment.
Rather than relying on full quantum simulation, Hilbert-like embeddings are crafted classically to mimic the behavior of quantum transformations.
These embeddings are then used to construct kernels for efficient learning on larger datasets.
Torsion angles (ϕ/ψ) extracted via DSSP are used as ground truth labels to train:
The models are compared in terms of:
The user can submit either:
PDB Structure: A standard PDB structure (e.g., 1HV4_A)
Predicted Structure: An AlphaFold model (e.g., AF-A0A021WW64)
AF- and be followed by the Uniprot accession.Submitted structures are processed using DSSP to extract:
Using the trained SVM models, each torsion angle pair is classified as:
/q_torsion/api_submitSubmit a structure for torsion angle classification.
POST
https://biosig.lab.uq.edu.au/q_torsion/api_submit
| Field | Type | Required | Description |
|---|---|---|---|
pdb_chain_list |
string | optional | A PDB Chain ID (e.g., 1hv4_A) or an AlphaFold ID (e.g., AF-A0A021WW64) |
uploaded_file |
file | optional | Upload a .cif file containing exactly one chain |
pdb_chain_list or uploaded_file.curl -X POST https://biosig.lab.uq.edu.au/q_torsion/api_submit \
-F "pdb_chain_list=1hv4_A"
curl -X POST https://biosig.lab.uq.edu.au/q_torsion/api_submit \
-F "pdb_chain_list=AF-A0A021WW64"
curl -X POST https://biosig.lab.uq.edu.au/q_torsion/api_submit \
-F "uploaded_file=@/path/to/your_structure.cif"
{
"job_id": "1aec520e-bf41-43fe-97b9-0e7dc09975a3",
"status": "submitted"
}
/q_torsion/api_status/<job_id>Check the processing status of a submitted job.
GET
https://biosig.lab.uq.edu.au/q_torsion/api_status/<job_id>
Replace <job_id> with the ID you got from /api_submit.
curl https://biosig.lab.uq.edu.au/q_torsion/api_status/1aec520e-bf41-43fe-97b9-0e7dc09975a3
{
"job_id": "1aec520e-bf41-43fe-97b9-0e7dc09975a3",
"status": "pending"
}
{
"job_id": "1aec520e-bf41-43fe-97b9-0e7dc09975a3",
"status": "complete",
"structure_id": "1hv4_A",
"residue_count": 158,
"dssp_json": {
"amino_acids": [...],
"phi_psi": [...],
"q_classification": [...],
"raw_sequence": [...],
"secondary_structure": [...],
"structured_regions": [...],
"svm_classification": [...]
}
}
When the job status is "complete", the returned JSON will have the following fields:
| Field | Type | Description |
|---|---|---|
job_id |
string | Unique job identifier |
status |
string | Status of the job (pending, complete) |
structure_id |
string | Structure ID used (e.g., 1hv4_A) |
residue_count |
number | Number of residues analyzed |
dssp_json |
object | Main result containing torsion angles, DSSP info, and classification tracks |
dssp_json Fields| Subfield | Type | Description |
|---|---|---|
raw_sequence |
array of {begin, label} |
Raw amino acid sequence |
amino_acids |
array of {begin, label} |
DSSP-annotated amino acids |
secondary_structure |
array of {begin, label} |
DSSP secondary structure assignment (H, E, C, etc.) |
structured_regions |
array of {begin, end, value} |
Structured regions based on DSSP |
phi_psi |
array of {seq_pos, residue_number, phi, psi, class_svm, prob1_svm, class_q, prob1_q} |
Torsion angles with predictions and probabilities |
svm_classification |
array of {begin, end, value} |
Classification by classical SVM |
q_classification |
array of {begin, end, value} |
Classification by quantum-inspired SVM |
phi_psi field[
{
"seq_pos": 1,
"residue_number": 10,
"phi": -60.5,
"psi": -45.2,
"class_svm": 1,
"prob1_svm": 0.92,
"class_q": 1,
"prob1_q": 0.95
},
...
]
class_svm and class_q are 0 = disallowed and 1 = allowed.prob1_svm and prob1_q are probability scores (closer to 1 = stronger confidence in allowed region).The preprint should be available soon.
See something out of place? For inquiries of any kind, please email and include job IDs.
Ashar Malik
Email: ashar.malik@uq.edu.au