Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
ff4af33
Templated script to populate a modelCIF file
keiran-rowell-unsw Apr 14, 2026
81a636d
make assemble_modelcif path tuples
keiran-rowell-unsw Apr 21, 2026
d1cff14
empty (for now) dummy files to populate metric slots
keiran-rowell-unsw Apr 21, 2026
83ee1af
Aims in docstring
keiran-rowell-unsw Apr 21, 2026
7781086
Justify model.AbInitioModel()
keiran-rowell-unsw May 4, 2026
3b2ac1e
Add static RCSB CifCheck binary
keiran-rowell-unsw May 14, 2026
8f207a2
Add schema, PDBx, and ModelArchive dicts
keiran-rowell-unsw May 14, 2026
207ca6e
replace dict files with binaries CifChecker can validate against
keiran-rowell-unsw May 14, 2026
9383403
valid modelcif to validate against
keiran-rowell-unsw May 15, 2026
d39d85d
Update constructors
keiran-rowell-unsw May 15, 2026
f18ce28
modules for CIF integrity and ModelArchive deposition
keiran-rowell-unsw May 15, 2026
5f45af9
Add mmcif tuple validation tests | intentionally remove stubs
keiran-rowell-unsw May 15, 2026
5014d76
Only test on ModelArchive dict. I *think* PDBx is superceeded by MA, …
keiran-rowell-unsw May 15, 2026
23539e4
passing snapshots
keiran-rowell-unsw May 15, 2026
b2996d6
Invalid mmcif to assert failure
keiran-rowell-unsw May 15, 2026
8c5a7e6
Check the cifcheck log for parser complainnts
keiran-rowell-unsw May 15, 2026
7740b1b
Catch empy filehandle returns fro py-modelcif
keiran-rowell-unsw May 15, 2026
c4e3ecd
Clearly invalid mmcif because py-modelcif is such a lenient parser
keiran-rowell-unsw May 15, 2026
4c4b0e8
snapshots work on DUMMY_MODELCIF and invalid now gets properly rejected
keiran-rowell-unsw May 15, 2026
a8ba3fc
Check for modelCIF protocol and groups that won't be in PDBx
keiran-rowell-unsw May 15, 2026
99019ef
Complete validation suite including PDBx vs dummy and augumented vali…
keiran-rowell-unsw May 15, 2026
6ee853a
Populate dummy metric files
keiran-rowell-unsw May 15, 2026
bb6f026
more permissive msgpack
keiran-rowell-unsw May 15, 2026
e734736
assemble modelcif with minimal dummy metrics
keiran-rowell-unsw May 15, 2026
d9444af
Remove stub block. You *can't* validate on a 'touch' stub
keiran-rowell-unsw May 15, 2026
52cebb0
assemble_modelcif test now asserts plddt, msa, method are populated
keiran-rowell-unsw May 15, 2026
bca97c3
Merge remote-tracking branch 'nfcore/dev' into assemble_modelcif
keiran-rowell-unsw May 18, 2026
ca8eee8
Update snapshots now nf-core/dev merged in
keiran-rowell-unsw May 18, 2026
e13f826
Add (i)pTM reader
keiran-rowell-unsw May 18, 2026
29033d2
(i)pTM QA metrics in modelCIF
keiran-rowell-unsw May 18, 2026
f3e2945
PAE associated with .mmcif (I think, do more validation during dev)
keiran-rowell-unsw May 18, 2026
caf4b3c
PAE testing but residue count doesn't match. Affixing to 20 residues
keiran-rowell-unsw May 18, 2026
27aa8a3
modified PAE tests to use 20 residues
keiran-rowell-unsw May 18, 2026
6bacbd6
20 residues is now the canonical dummy system
keiran-rowell-unsw May 18, 2026
df8b346
less evenly distributed plDDT vals
keiran-rowell-unsw May 18, 2026
3720882
Update snapshot
keiran-rowell-unsw May 18, 2026
09396b2
Wire up binarCIF assemble_modelCIF test conditional
keiran-rowell-unsw May 18, 2026
c91cb03
re-parse .bcif to ensure it deserialised properly
keiran-rowell-unsw May 18, 2026
f10f5bf
Commence modelCIF .protocol() population using a DUMMY_SOFTWARE_DETAI…
keiran-rowell-unsw May 20, 2026
9f92886
Currently passes dummy sw to a JSON-like .mmcif file. Make into model…
keiran-rowell-unsw May 20, 2026
f0a17ab
sw entries now meld with the dummy stucture file, and seem to populat…
keiran-rowell-unsw May 20, 2026
9caa384
assemble_modelcif now up to spec
keiran-rowell-unsw May 20, 2026
e96a171
Add minimal entity and ModelArchive step classes into the DUMMY_MODEL…
keiran-rowell-unsw May 20, 2026
71a4a84
modelCIF test suite passes and snapshots updated
keiran-rowell-unsw May 20, 2026
8a272ff
fix linting
keiran-rowell-unsw May 20, 2026
0875b0a
Switch to 5 model.Model ingest and testing
keiran-rowell-unsw May 25, 2026
cd7f7e9
0-index mmcif files, etc
keiran-rowell-unsw May 25, 2026
3d3945f
--all_structs flag in assemble_modelcif() tests against 5 ranked dumm…
keiran-rowell-unsw May 25, 2026
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
3 changes: 3 additions & 0 deletions assets/DUMMY_CHAINWISE_IPTM.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
0 1 2
A:B 0.2880 0.2750 0.2900
B:A 0.2904 0.2801 0.2915
1 change: 1 addition & 0 deletions assets/DUMMY_INVALID.mmcif
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NOT A VALID MMCIF FILE
5 changes: 5 additions & 0 deletions assets/DUMMY_IPTM.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
rank_0 0.617
rank_1 0.616
rank_2 0.610
rank_3 0.606
rank_4 0.606
142 changes: 142 additions & 0 deletions assets/DUMMY_MMCIF_rank_0.mmcif
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
data_DUMMY_MMCIF_rank_0
_entry.id DUMMY_MMCIF_rank_0

_entity.id 1
_entity.type polymer
_entity.description 'dummy protein'

_entity_poly.entity_id 1
_entity_poly.type 'polypeptide(L)'
_entity_poly.nstd_linkage no
_entity_poly.nstd_monomer no
_entity_poly.pdbx_seq_one_letter_code
;AAAAAAAAAAAAAAAAAAAA
;
_entity_poly.pdbx_seq_one_letter_code_can
;AAAAAAAAAAAAAAAAAAAA
;
_entity_poly.pdbx_strand_id A
_entity_poly.pdbx_target_identifier ?

loop_
_entity_poly_seq.entity_id
_entity_poly_seq.num
_entity_poly_seq.mon_id
_entity_poly_seq.hetero
1 1 ALA n
1 2 ALA n
1 3 ALA n
1 4 ALA n
1 5 ALA n
1 6 ALA n
1 7 ALA n
1 8 ALA n
1 9 ALA n
1 10 ALA n
1 11 ALA n
1 12 ALA n
1 13 ALA n
1 14 ALA n
1 15 ALA n
1 16 ALA n
1 17 ALA n
1 18 ALA n
1 19 ALA n
1 20 ALA n

loop_
_struct_asym.id
_struct_asym.entity_id
A 1

loop_
_ma_target_entity_instance.asym_id
_ma_target_entity_instance.entity_id
_ma_target_entity_instance.details
A 1 'chain A'

loop_
_ma_data.id
_ma_data.name
_ma_data.content_type
_ma_data.content_type_other_details
1 'Target sequence' target .
2 'Model coordinates' 'model coordinates' .

loop_
_ma_data_group.ordinal_id
_ma_data_group.group_id
_ma_data_group.data_id
1 1 1
2 2 2

loop_
_ma_protocol_step.ordinal_id
_ma_protocol_step.protocol_id
_ma_protocol_step.step_id
_ma_protocol_step.method_type
_ma_protocol_step.step_name
_ma_protocol_step.details
_ma_protocol_step.software_group_id
_ma_protocol_step.input_data_group_id
_ma_protocol_step.output_data_group_id
1 1 1 modeling 'Structure prediction' . . 1 2

loop_
_ma_model_list.ordinal_id
_ma_model_list.model_name
_ma_model_list.data_id
_ma_model_list.model_type
_ma_model_list.model_type_other_details
1 'dummy model' 2 'Ab initio model' .

loop_
_ma_model_group.id
_ma_model_group.name
_ma_model_group.details
1 'All models' .

loop_
_ma_model_group_link.group_id
_ma_model_group_link.model_id
1 1

loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_alt_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.label_entity_id
_atom_site.label_seq_id
_atom_site.pdbx_PDB_ins_code
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.occupancy
_atom_site.B_iso_or_equiv
_atom_site.auth_seq_id
_atom_site.auth_asym_id
_atom_site.pdbx_PDB_model_num
ATOM 1 C CA . ALA A 1 1 ? 1.007 1.498 1.997 1.0 80.0 1 A 1
ATOM 2 C CA . ALA A 1 2 ? 2.020 2.485 3.010 1.0 80.5 2 A 1
ATOM 3 C CA . ALA A 1 3 ? 3.033 3.472 4.023 1.0 81.0 3 A 1
ATOM 4 C CA . ALA A 1 4 ? 4.007 4.498 4.997 1.0 81.5 4 A 1
ATOM 5 C CA . ALA A 1 5 ? 5.020 5.485 6.010 1.0 82.0 5 A 1
ATOM 6 C CA . ALA A 1 6 ? 6.033 6.472 7.023 1.0 82.5 6 A 1
ATOM 7 C CA . ALA A 1 7 ? 7.007 7.498 7.997 1.0 83.0 7 A 1
ATOM 8 C CA . ALA A 1 8 ? 8.020 8.485 9.010 1.0 83.5 8 A 1
ATOM 9 C CA . ALA A 1 9 ? 9.033 9.472 10.023 1.0 84.0 9 A 1
ATOM 10 C CA . ALA A 1 10 ? 10.007 10.498 10.997 1.0 84.5 10 A 1
ATOM 11 C CA . ALA A 1 11 ? 11.020 11.485 12.010 1.0 85.0 11 A 1
ATOM 12 C CA . ALA A 1 12 ? 12.033 12.472 13.023 1.0 85.5 12 A 1
ATOM 13 C CA . ALA A 1 13 ? 13.007 13.498 13.997 1.0 86.0 13 A 1
ATOM 14 C CA . ALA A 1 14 ? 14.020 14.485 15.010 1.0 86.5 14 A 1
ATOM 15 C CA . ALA A 1 15 ? 15.033 15.472 16.023 1.0 87.0 15 A 1
ATOM 16 C CA . ALA A 1 16 ? 16.007 16.498 16.997 1.0 87.5 16 A 1
ATOM 17 C CA . ALA A 1 17 ? 17.020 17.485 18.010 1.0 88.0 17 A 1
ATOM 18 C CA . ALA A 1 18 ? 18.033 18.472 19.023 1.0 88.5 18 A 1
ATOM 19 C CA . ALA A 1 19 ? 19.007 19.498 19.997 1.0 89.0 19 A 1
ATOM 20 C CA . ALA A 1 20 ? 20.020 20.485 21.010 1.0 89.5 20 A 1
142 changes: 142 additions & 0 deletions assets/DUMMY_MMCIF_rank_1.mmcif
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
data_DUMMY_MMCIF_rank_1
_entry.id DUMMY_MMCIF_rank_1

_entity.id 1
_entity.type polymer
_entity.description 'dummy protein'

_entity_poly.entity_id 1
_entity_poly.type 'polypeptide(L)'
_entity_poly.nstd_linkage no
_entity_poly.nstd_monomer no
_entity_poly.pdbx_seq_one_letter_code
;AAAAAAAAAAAAAAAAAAAA
;
_entity_poly.pdbx_seq_one_letter_code_can
;AAAAAAAAAAAAAAAAAAAA
;
_entity_poly.pdbx_strand_id A
_entity_poly.pdbx_target_identifier ?

loop_
_entity_poly_seq.entity_id
_entity_poly_seq.num
_entity_poly_seq.mon_id
_entity_poly_seq.hetero
1 1 ALA n
1 2 ALA n
1 3 ALA n
1 4 ALA n
1 5 ALA n
1 6 ALA n
1 7 ALA n
1 8 ALA n
1 9 ALA n
1 10 ALA n
1 11 ALA n
1 12 ALA n
1 13 ALA n
1 14 ALA n
1 15 ALA n
1 16 ALA n
1 17 ALA n
1 18 ALA n
1 19 ALA n
1 20 ALA n

loop_
_struct_asym.id
_struct_asym.entity_id
A 1

loop_
_ma_target_entity_instance.asym_id
_ma_target_entity_instance.entity_id
_ma_target_entity_instance.details
A 1 'chain A'

loop_
_ma_data.id
_ma_data.name
_ma_data.content_type
_ma_data.content_type_other_details
1 'Target sequence' target .
2 'Model coordinates' 'model coordinates' .

loop_
_ma_data_group.ordinal_id
_ma_data_group.group_id
_ma_data_group.data_id
1 1 1
2 2 2

loop_
_ma_protocol_step.ordinal_id
_ma_protocol_step.protocol_id
_ma_protocol_step.step_id
_ma_protocol_step.method_type
_ma_protocol_step.step_name
_ma_protocol_step.details
_ma_protocol_step.software_group_id
_ma_protocol_step.input_data_group_id
_ma_protocol_step.output_data_group_id
1 1 1 modeling 'Structure prediction' . . 1 2

loop_
_ma_model_list.ordinal_id
_ma_model_list.model_name
_ma_model_list.data_id
_ma_model_list.model_type
_ma_model_list.model_type_other_details
1 'dummy model' 2 'Ab initio model' .

loop_
_ma_model_group.id
_ma_model_group.name
_ma_model_group.details
1 'All models' .

loop_
_ma_model_group_link.group_id
_ma_model_group_link.model_id
1 1

loop_
_atom_site.group_PDB
_atom_site.id
_atom_site.type_symbol
_atom_site.label_atom_id
_atom_site.label_alt_id
_atom_site.label_comp_id
_atom_site.label_asym_id
_atom_site.label_entity_id
_atom_site.label_seq_id
_atom_site.pdbx_PDB_ins_code
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.occupancy
_atom_site.B_iso_or_equiv
_atom_site.auth_seq_id
_atom_site.auth_asym_id
_atom_site.pdbx_PDB_model_num
ATOM 1 C CA . ALA A 1 1 ? 0.957 1.533 1.982 1.0 80.0 1 A 1
ATOM 2 C CA . ALA A 1 2 ? 1.970 2.520 2.995 1.0 80.5 2 A 1
ATOM 3 C CA . ALA A 1 3 ? 2.983 3.507 4.008 1.0 81.0 3 A 1
ATOM 4 C CA . ALA A 1 4 ? 3.957 4.533 4.982 1.0 81.5 4 A 1
ATOM 5 C CA . ALA A 1 5 ? 4.970 5.520 5.995 1.0 82.0 5 A 1
ATOM 6 C CA . ALA A 1 6 ? 5.983 6.507 7.008 1.0 82.5 6 A 1
ATOM 7 C CA . ALA A 1 7 ? 6.957 7.533 7.982 1.0 83.0 7 A 1
ATOM 8 C CA . ALA A 1 8 ? 7.970 8.520 8.995 1.0 83.5 8 A 1
ATOM 9 C CA . ALA A 1 9 ? 8.983 9.507 10.008 1.0 84.0 9 A 1
ATOM 10 C CA . ALA A 1 10 ? 9.957 10.533 10.982 1.0 84.5 10 A 1
ATOM 11 C CA . ALA A 1 11 ? 10.970 11.520 11.995 1.0 85.0 11 A 1
ATOM 12 C CA . ALA A 1 12 ? 11.983 12.507 13.008 1.0 85.5 12 A 1
ATOM 13 C CA . ALA A 1 13 ? 12.957 13.533 13.982 1.0 86.0 13 A 1
ATOM 14 C CA . ALA A 1 14 ? 13.970 14.520 14.995 1.0 86.5 14 A 1
ATOM 15 C CA . ALA A 1 15 ? 14.983 15.507 16.008 1.0 87.0 15 A 1
ATOM 16 C CA . ALA A 1 16 ? 15.957 16.533 16.982 1.0 87.5 16 A 1
ATOM 17 C CA . ALA A 1 17 ? 16.970 17.520 17.995 1.0 88.0 17 A 1
ATOM 18 C CA . ALA A 1 18 ? 17.983 18.507 19.008 1.0 88.5 18 A 1
ATOM 19 C CA . ALA A 1 19 ? 18.957 19.533 19.982 1.0 89.0 19 A 1
ATOM 20 C CA . ALA A 1 20 ? 19.970 20.520 20.995 1.0 89.5 20 A 1
Loading
Loading