diff --git a/modules/io/tests/test_io_pdb.cc b/modules/io/tests/test_io_pdb.cc index 053705f01f820d376dff3da00209fe2d7f5d5a25..9be98cdba349f54f49ac5727e3c34e228d018d22 100644 --- a/modules/io/tests/test_io_pdb.cc +++ b/modules/io/tests/test_io_pdb.cc @@ -203,7 +203,6 @@ BOOST_AUTO_TEST_CASE(anisou_record) BOOST_CHECK_CLOSE( 0.0120, props.anisou(2, 2), 1e-4); } - BOOST_AUTO_TEST_CASE(only_66_cols) { String fname("testfiles/pdb/short.pdb"); @@ -324,6 +323,22 @@ BOOST_AUTO_TEST_CASE(write_ter) "testfiles/pdb/ter-out.pdb")); } +BOOST_AUTO_TEST_CASE(write_conect) +{ + // this scope is required to force the writer stream to be closed before + // opening the file again in compare_files. Avoids a race condition. + { + PDBReader reader(String("testfiles/pdb/conect.pdb")); + PDBWriter writer(String("testfiles/pdb/conect-out.pdb")); + mol::EntityHandle ent=mol::CreateEntity(); + reader.Import(ent); + conop::Conopology& conop_inst=conop::Conopology::Instance(); + conop_inst.ConnectAll(conop_inst.GetBuilder(), ent); + writer.Write(ent); + } + BOOST_CHECK(compare_files("testfiles/pdb/conect.pdb", + "testfiles/pdb/conect-out.pdb")); +} BOOST_AUTO_TEST_CASE(res_name_too_long) { diff --git a/modules/io/tests/testfiles/pdb/conect.pdb b/modules/io/tests/testfiles/pdb/conect.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b4ce6bd8e3855a2a79ccdcfa6424bf6ad796525c --- /dev/null +++ b/modules/io/tests/testfiles/pdb/conect.pdb @@ -0,0 +1,46 @@ +ATOM 1 N VAL A 1 -8.585 17.971 25.103 0.50 11.44 N +ATOM 2 CA VAL A 1 -8.253 17.023 24.068 0.50 12.65 C +ATOM 3 C VAL A 1 -7.312 17.705 23.054 0.50 16.06 C +ATOM 4 O VAL A 1 -7.544 18.799 22.596 0.50 12.36 O +ATOM 5 CB VAL A 1 -9.457 16.377 23.387 0.50 12.94 C +ATOM 6 CG1 VAL A 1 -9.264 14.902 23.055 0.50 11.08 C +ATOM 7 CG2 VAL A 1 -10.739 16.533 24.224 0.50 13.21 C +ATOM 8 N VAL A 2 -6.277 16.910 22.755 0.50 16.75 N +ATOM 9 CA VAL A 2 -5.196 17.143 21.863 0.50 16.61 C +ATOM 10 C VAL A 2 -4.253 18.199 22.473 0.50 19.00 C +ATOM 11 O VAL A 2 -4.434 18.654 23.600 0.50 17.27 O +ATOM 12 CB VAL A 2 -5.589 17.486 20.437 0.50 18.24 C +ATOM 13 CG1 VAL A 2 -7.059 17.853 20.200 0.50 19.12 C +ATOM 14 CG2 VAL A 2 -4.672 18.535 19.802 0.50 14.29 C +TER 15 VAL A 2 +HETATM 16 N PS0 A 3 -11.234 16.802 30.197 0.50 7.63 N +HETATM 17 CA PS0 A 3 -11.284 16.497 28.779 0.50 6.15 C +HETATM 18 C PS0 A 3 -10.818 17.753 28.010 0.50 8.61 C +HETATM 19 OS PS0 A 3 -11.697 18.822 28.249 0.50 4.53 O +HETATM 20 CB PS0 A 3 -12.670 16.079 28.322 0.50 12.53 C +HETATM 21 CG PS0 A 3 -13.432 14.971 29.048 0.50 11.04 C +HETATM 22 CD1 PS0 A 3 -13.076 13.629 28.983 0.50 10.33 C +HETATM 23 CD2 PS0 A 3 -14.560 15.373 29.807 0.50 12.71 C +HETATM 24 CE1 PS0 A 3 -13.818 12.638 29.661 0.50 11.11 C +HETATM 25 CE2 PS0 A 3 -15.300 14.380 30.483 0.50 14.32 C +HETATM 26 CZ PS0 A 3 -14.917 13.043 30.412 0.50 10.61 C +HETATM 27 CM PS0 A 3 -9.405 18.196 28.546 0.50 6.25 C +HETATM 28 O HOH A 4 -3.126 40.621 48.726 1.00 47.60 O +HETATM 29 O HOH A 5 -2.279 35.565 45.117 1.00 43.93 O +HETATM 30 O HOH A 6 5.765 35.848 41.846 1.00 36.24 O +HETATM 31 O HOH A 7 -12.666 40.044 22.441 1.00 41.24 O +HETATM 32 O HOH A 8 -4.462 37.411 18.124 1.00 30.94 O +HETATM 33 O HOH A 9 -1.109 26.454 19.470 1.00 39.06 O +CONECT 16 17 +CONECT 17 16 18 20 +CONECT 18 17 19 27 +CONECT 19 18 +CONECT 20 17 21 +CONECT 21 20 22 23 +CONECT 22 21 24 +CONECT 23 21 25 +CONECT 24 22 26 +CONECT 25 23 26 +CONECT 26 24 25 +CONECT 27 18 +END \ No newline at end of file