Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion rfoldsearch/assets/evalue_params.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"scheme":"cluster-max-query-conditional-power","gap_open":-2.0,"gap_extend":-0.5,"seed":0,"len_ratio":null,"calibration_database":"/Users/cassie/Desktop/RFoldSearch-paper-code/files/models/db.pt","n_clusters":882,"n_chains":885,"query_parameter_model":{"distribution":"Gumbel","feature_order":["intercept","z_log_length","z_token_entropy"],"centre":{"log_length_mean":5.405412276932465,"log_length_scale":1.4314640237189997,"entropy_mean":5.108781332445416,"entropy_scale":0.8183067132985551},"training_domain":{"log_length_min":2.995732273553991,"log_length_max":8.392989587956931,"entropy_min":2.440820042086996,"entropy_max":6.263660143519078},"coefficients_mu_logbeta":[[6.314071261583727,0.8335121835572201],[1.0014082494503802,0.14515852489140346],[-0.9753767472278257,-0.2643183809393454]],"ridge":0.001},"skipped_lengths":[],"length_table":[{"length":20,"mu":3.681607851452168,"beta":2.2049071982506163,"lambda":0.4535338270895957,"n_maxima":7715},{"length":30,"mu":4.318213830212868,"beta":2.142801718467983,"lambda":0.46667873717917296,"n_maxima":12559},{"length":40,"mu":4.671987618454014,"beta":2.635210346382038,"lambda":0.37947634858558105,"n_maxima":14846},{"length":60,"mu":5.474719895978278,"beta":2.805932581122761,"lambda":0.3563877502715556,"n_maxima":15201},{"length":80,"mu":5.772794615881089,"beta":2.7694398030699623,"lambda":0.3610838548978339,"n_maxima":13125},{"length":120,"mu":7.259581991124825,"beta":2.932889103734647,"lambda":0.3409607266523075,"n_maxima":12053},{"length":160,"mu":7.58952147947528,"beta":2.9673456230981414,"lambda":0.33700152493726754,"n_maxima":11095},{"length":220,"mu":8.220892333062306,"beta":2.7725828084310318,"lambda":0.3606745295250124,"n_maxima":8031},{"length":300,"mu":8.720539493252323,"beta":3.148145760014543,"lambda":0.31764729978556666,"n_maxima":4087},{"length":500,"mu":8.450259640284866,"beta":2.4765796813949943,"lambda":0.4037826876770326,"n_maxima":2372},{"length":1000,"mu":9.312368469128588,"beta":1.7573420575198044,"lambda":0.5690411810955764,"n_maxima":2055},{"length":2000,"mu":10.829700401390879,"beta":4.004095918502507,"lambda":0.24974426695901686,"n_maxima":1826}],"clusters":"cd-hit-est -c 0.8 -n 5 -aS 0.8 -aL 0.8 -g 1","null":"full-database cluster maxima after excluding the query cluster, same Rfam family or clan, and adjudicated structural relatives; excluded leaders are backfilled within cluster","note":"Database-specific Gumbel mu and log(beta) are predicted by a linear ridge model [1, z(log query length), z(3Dr-token entropy)] fitted from per-query full-database cluster maxima. The length table is retained only as a compatibility fallback. The power-law correction was refitted after the US-align audit of the background was completed through E0 <= 100; the Gumbel model is unchanged.","search_scope":"full_database","validation":{"search_scope":"full_database","cross_validation":"nested leave-one-Rfam-family-out; all components refitted in each training fold","database_sha256":"dc6ce2f01f130fea15ec7d3dd67b5c3a555e55370a43587017ea6bdb7cb2f169","substitution_matrix_sha256":"adb51e94666b085c492150eeda6878c0fb1a3bdb85cc12088b66b2b3ac6ece37","rfam_pdb_full_region_sha256":"eb5f4444536934fe4e84613031023574ec86c36c49f589258dd0486c26a0dc03","rfam_clan_membership_sha256":"2f199aaaa0a1e340145acb8fa20639427d1c0a38f4dedce29901888f222afbec","usalign_sha256":"61ac31ab591cfccf06aea9972437eed2b35c358445d4b6baaa29e61547731b39","n_usalign_candidates":44692,"n_structurally_related_members_excluded":1364,"status":"background-audit-complete","fixed_point_audit":{"audited_e0_ceiling":100.0,"pending_leader_audits_to_fit_maximum":0,"fit_e0_max":100.0},"lofo_power_observed_over_nominal":{"0.01":1.56,"0.1":0.56,"1":0.95,"10":0.89,"100":0.99},"lofo_power_protocol":"family-weighted leave-one-Rfam-family-out over 516 queries in 96 families; Gumbel model fixed, power law refitted in each fold","background_audit":"US-align (mean TM >= 0.45 is related) of every retained cluster leader with E0 <= 100 for the 516 Rfam-labelled queries of Splits/labels.tsv"},"target_database_fingerprint":"57c84bf6a0a0f6fc4ee77e67d54c60db93b4461576eb135bb382f59ee56e2ddf","calibration_context_fingerprint":"c92913298c17aeb6eab25e059e39b51f074b94de015b6762a4ddfcb906ef839d","power_calibration":{"scheme":"power-law","a":1.7796646845845532,"b":0.9096246520395346,"fit_raw_evalue_min":0.0001434105763656027,"fit_raw_evalue_max":99.99407725040136,"fit_grid_points":96,"n_observations":32143,"total_weight":141.16833147680342,"n_clusters":882,"weighting":"equal-family, equal-query-within-family, with experimental annotated-background expansion N_D/B_q","n_calibration_queries":516,"n_families":96,"background_scaling":"annotated-to-full","validation_status":"background-audit-complete","structural_audit_ceiling":100.0,"fit_raw_evalue_ceiling":100.0,"tm_threshold":0.45}}
{"scheme":"cluster-max-query-conditional-power","gap_open":-2.0,"gap_extend":-0.5,"seed":0,"len_ratio":null,"calibration_database":"db.pt","n_clusters":882,"n_chains":885,"query_parameter_model":{"distribution":"Gumbel","feature_order":["intercept","z_log_length","z_token_entropy"],"centre":{"log_length_mean":5.405412276932465,"log_length_scale":1.4314640237189997,"entropy_mean":5.108781332445416,"entropy_scale":0.8183067132985551},"training_domain":{"log_length_min":2.995732273553991,"log_length_max":8.392989587956931,"entropy_min":2.440820042086996,"entropy_max":6.263660143519078},"coefficients_mu_logbeta":[[6.314071261583727,0.8335121835572201],[1.0014082494503802,0.14515852489140346],[-0.9753767472278257,-0.2643183809393454]],"ridge":0.001},"skipped_lengths":[],"length_table":[{"length":20,"mu":3.681607851452168,"beta":2.2049071982506163,"lambda":0.4535338270895957,"n_maxima":7715},{"length":30,"mu":4.318213830212868,"beta":2.142801718467983,"lambda":0.46667873717917296,"n_maxima":12559},{"length":40,"mu":4.671987618454014,"beta":2.635210346382038,"lambda":0.37947634858558105,"n_maxima":14846},{"length":60,"mu":5.474719895978278,"beta":2.805932581122761,"lambda":0.3563877502715556,"n_maxima":15201},{"length":80,"mu":5.772794615881089,"beta":2.7694398030699623,"lambda":0.3610838548978339,"n_maxima":13125},{"length":120,"mu":7.259581991124825,"beta":2.932889103734647,"lambda":0.3409607266523075,"n_maxima":12053},{"length":160,"mu":7.58952147947528,"beta":2.9673456230981414,"lambda":0.33700152493726754,"n_maxima":11095},{"length":220,"mu":8.220892333062306,"beta":2.7725828084310318,"lambda":0.3606745295250124,"n_maxima":8031},{"length":300,"mu":8.720539493252323,"beta":3.148145760014543,"lambda":0.31764729978556666,"n_maxima":4087},{"length":500,"mu":8.450259640284866,"beta":2.4765796813949943,"lambda":0.4037826876770326,"n_maxima":2372},{"length":1000,"mu":9.312368469128588,"beta":1.7573420575198044,"lambda":0.5690411810955764,"n_maxima":2055},{"length":2000,"mu":10.829700401390879,"beta":4.004095918502507,"lambda":0.24974426695901686,"n_maxima":1826}],"clusters":"cd-hit-est -c 0.8 -n 5 -aS 0.8 -aL 0.8 -g 1","null":"full-database cluster maxima after excluding the query cluster, same Rfam family or clan, and adjudicated structural relatives; excluded leaders are backfilled within cluster","note":"Database-specific Gumbel mu and log(beta) are predicted by a linear ridge model [1, z(log query length), z(3Dr-token entropy)] fitted from per-query full-database cluster maxima. The length table is retained only as a compatibility fallback. The power-law correction was refitted after the US-align audit of the background was completed through E0 <= 100; the Gumbel model is unchanged.","search_scope":"full_database","validation":{"search_scope":"full_database","cross_validation":"nested leave-one-Rfam-family-out; all components refitted in each training fold","database_sha256":"dc6ce2f01f130fea15ec7d3dd67b5c3a555e55370a43587017ea6bdb7cb2f169","substitution_matrix_sha256":"adb51e94666b085c492150eeda6878c0fb1a3bdb85cc12088b66b2b3ac6ece37","rfam_pdb_full_region_sha256":"eb5f4444536934fe4e84613031023574ec86c36c49f589258dd0486c26a0dc03","rfam_clan_membership_sha256":"2f199aaaa0a1e340145acb8fa20639427d1c0a38f4dedce29901888f222afbec","usalign_sha256":"61ac31ab591cfccf06aea9972437eed2b35c358445d4b6baaa29e61547731b39","n_usalign_candidates":44692,"n_structurally_related_members_excluded":1364,"status":"background-audit-complete","fixed_point_audit":{"audited_e0_ceiling":100.0,"pending_leader_audits_to_fit_maximum":0,"fit_e0_max":100.0},"lofo_power_observed_over_nominal":{"0.01":1.56,"0.1":0.56,"1":0.95,"10":0.89,"100":0.99},"lofo_power_protocol":"family-weighted leave-one-Rfam-family-out over 516 queries in 96 families; Gumbel model fixed, power law refitted in each fold","background_audit":"US-align (mean TM >= 0.45 is related) of every retained cluster leader with E0 <= 100 for the 516 Rfam-labelled queries of Splits/labels.tsv"},"target_database_fingerprint":"57c84bf6a0a0f6fc4ee77e67d54c60db93b4461576eb135bb382f59ee56e2ddf","calibration_context_fingerprint":"c92913298c17aeb6eab25e059e39b51f074b94de015b6762a4ddfcb906ef839d","power_calibration":{"scheme":"power-law","a":1.7796646845845532,"b":0.9096246520395346,"fit_raw_evalue_min":0.0001434105763656027,"fit_raw_evalue_max":99.99407725040136,"fit_grid_points":96,"n_observations":32143,"total_weight":141.16833147680342,"n_clusters":882,"weighting":"equal-family, equal-query-within-family, with experimental annotated-background expansion N_D/B_q","n_calibration_queries":516,"n_families":96,"background_scaling":"annotated-to-full","validation_status":"background-audit-complete","structural_audit_ceiling":100.0,"fit_raw_evalue_ceiling":100.0,"tm_threshold":0.45}}
2 changes: 1 addition & 1 deletion rfoldsearch/calibrate.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ def is_audited(first, second):
"gap_extend": GAP_EXTEND,
"seed": seed,
"len_ratio": len_ratio,
"calibration_database": str(Path(db_path).resolve()),
"calibration_database": Path(db_path).name,
"n_clusters": fitted["n_clusters"],
"n_chains": fitted["n_chains"],
"target_database_fingerprint": target_fingerprint,
Expand Down
4 changes: 2 additions & 2 deletions rfoldsearch/edges.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,8 @@ def find_base_pair_and_stack_edges(*args, **kwargs):


if __name__ == '__main__':
path = "/Users/cassie/Desktop/train/PDB_00001DDY_1_A.cif"
out = find_base_pair_and_stack_idx(path)
import sys
out = find_base_pair_and_stack_idx(sys.argv[1])
print("pair_idx:\n", out["pair_idx"])
print("pair_orient:\n", out["pair_orient"])
print("stack_idx:\n", out["stack_idx"])
5 changes: 2 additions & 3 deletions webserver/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,8 @@ curl -sF structure=@query.cif -F databases=pdb-rna,rnasolo -F top_k=5 \

`tm_a` hits carry `structure_score`, `tm_a`, `aligned`, `sw_score`, `bits`,
and `evalue`; the E-value is derived from `sw_score`, not `structure_score`.
`sw` hits carry `sw_score`, `bits` and `evalue`; `tm` hits carry
`tm_mean`, `tm_query` and `tm_target` and no E-value, because TM-scores
have no Karlin-Altschul statistics. Hits within `RFOLDSEARCH_ALIGN_MAX` carry
`tm` hits carry `tm_mean`, `tm_query` and `tm_target` and no E-value,
because TM-scores have no Karlin-Altschul statistics. Hits within `RFOLDSEARCH_ALIGN_MAX` carry
`aln`: aligned ranges, sequence and 3Dr alignment lines, sequence and 3Dr
identity, and the C4' RMSD and TM-score of the superposition over the
aligned pairs. The alignment is recomputed with a full traceback
Expand Down
Loading