From a9b236460dc5f7bff48b3b4ddc83eda9d2e7c52d Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Tue, 6 Feb 2024 23:44:58 +0100 Subject: [PATCH] mmcif writer: introduce _atom_site.pdbx_PDB_model_num required by prody/biotite --- modules/io/src/mol/mmcif_writer.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/io/src/mol/mmcif_writer.cc b/modules/io/src/mol/mmcif_writer.cc index 327622313..495e79a8c 100644 --- a/modules/io/src/mol/mmcif_writer.cc +++ b/modules/io/src/mol/mmcif_writer.cc @@ -684,6 +684,7 @@ namespace { desc.Add("auth_asym_id"); desc.Add("id"); desc.Add("pdbx_PDB_ins_code"); + desc.Add("pdbx_PDB_model_num"); ost::io::StarWriterLoopPtr sl(new ost::io::StarWriterLoop(desc)); return sl; } @@ -849,7 +850,7 @@ namespace { } const std::vector<String>& aln = it->second; int label_seq_id = 0; // 0-based index - std::vector<ost::io::StarWriterValue> at_data(17); + std::vector<ost::io::StarWriterValue> at_data(18); for(auto res: res_list) { String comp_id = res.GetName(); @@ -920,6 +921,10 @@ namespace { at_data[15] = ost::io::StarWriterValue::FromInt(atom_site_ptr->GetN()); // pdbx_PDB_ins_code at_data[16] = ost::io::StarWriterValue::FromString(ins_code); + // pdbx_PDB_model_num + // always 1 for now, value must be updated if MMCifWriter supports + // writing of multiple models + at_data[17] = ost::io::StarWriterValue::FromInt(1); atom_site_ptr->AddData(at_data); } ++label_seq_id; -- GitLab