⚛️ NMR API
calculate_q_factor(calculated_rdcs, experimental_rdcs)
Calculate the RDC Q-factor (Cornilescu et al., 1998). Q = sqrt( sum((D_calc - D_exp)^2) / sum(D_exp^2) )
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
calculated_rdcs
|
ndarray
|
(N,) calculated couplings. |
required |
experimental_rdcs
|
ndarray
|
(N,) measured couplings. |
required |
Returns:
| Type | Description |
|---|---|
ndarray
|
jnp.ndarray: Scalar Q-factor. |
Source code in diff_biophys/nmr/rdc.py
calculate_rdc(bond_vectors, da, r)
Differentiable RDC calculation in the principal frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bond_vectors
|
ndarray
|
(N, 3) unit vectors in the tensor's principal frame |
required |
da
|
float
|
Axial component in Hz |
required |
r
|
float
|
Rhombicity (0 <= R <= 2/3) |
required |
Source code in diff_biophys/nmr/rdc.py
calculate_rdc_from_tensor(bond_vectors, saupe_tensor, d_max=1.0)
Calculate RDCs from a full 3x3 Saupe alignment tensor. D = d_max * sum_ij (v_i * S_ij * v_j)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bond_vectors
|
ndarray
|
(N, 3) unit vectors |
required |
saupe_tensor
|
ndarray
|
(3, 3) symmetric traceless Saupe tensor |
required |
d_max
|
float
|
Maximum dipolar coupling constant (Hz) |
1.0
|
Returns:
| Type | Description |
|---|---|
ndarray
|
jnp.ndarray: Calculated RDCs (N,) |
Source code in diff_biophys/nmr/rdc.py
fit_saupe_tensor(bond_vectors, experimental_rdcs, d_max=1.0)
Fit a Saupe alignment tensor to experimental RDCs using SVD (least squares).
The RDC formula can be rewritten as D = A * s where s = [Sxx, Syy, Sxy, Sxz, Syz] (5 independent components)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bond_vectors
|
ndarray
|
(N, 3) unit vectors |
required |
experimental_rdcs
|
ndarray
|
(N,) measured RDCs in Hz |
required |
d_max
|
float
|
Maximum dipolar coupling constant (Hz) |
1.0
|
Returns:
| Type | Description |
|---|---|
ndarray
|
jnp.ndarray: (3, 3) Fitted Saupe tensor |