def exercise_1(): # derived from 2goz regression_pdb = libtbx.env.find_in_repositories( relative_path="phenix_regression/pdb/pdb2goz_refmac_tls.ent", test=os.path.isfile) if (regression_pdb is None): print( "Skipping exercise: input pdb (pdb2goz_refmac_tls.ent) not available" ) return rv = rna_validate.run(args=[regression_pdb], out=null_out()) # chages in linking_mixins.py lead to some more bonds that happened to be # outliers, thus bond.results changed from 2 to 5. assert len(rv.puckers.results) == 2, len(rv.puckers.results) assert len(rv.bonds.results) == 5, len(rv.bonds.results) assert len(rv.angles.results) == 14, len(rv.angles.results) assert len(rv.suites.results) == 4, len(rv.suites.results) assert approx_equal(rv.suites.average_suiteness, 0.56, eps=0.01) pickle_unpickle(rv) pdb_in = file_reader.any_file(regression_pdb) result = mmtbx.validation.rna_validate.rna_validation( pdb_hierarchy=pdb_in.file_object.hierarchy, geometry_restraints_manager=None, params=None) pickle_unpickle(result)
def exercise_2(): # fragment from 3g8t pdb_raw = """\ ATOM 7975 P G Q 140 10.347 137.422 73.792 1.00118.69 P ATOM 7976 OP1 G Q 140 9.348 138.439 74.195 1.00118.63 O ATOM 7977 OP2 G Q 140 11.208 137.681 72.617 1.00118.60 O ATOM 7978 O5' G Q 140 11.286 137.083 75.051 1.00119.34 O ATOM 7979 C5' G Q 140 11.015 137.599 76.358 1.00120.43 C ATOM 7980 C4' G Q 140 11.617 136.733 77.454 1.00121.27 C ATOM 7981 O4' G Q 140 11.723 135.361 77.003 1.00121.51 O ATOM 7982 C3' G Q 140 13.038 137.080 77.885 1.00121.72 C ATOM 7983 O3' G Q 140 13.050 138.143 78.836 1.00122.07 O ATOM 7984 C2' G Q 140 13.517 135.770 78.511 1.00121.87 C ATOM 7985 O2' G Q 140 13.160 135.640 79.877 1.00121.91 O ATOM 7986 C1' G Q 140 12.793 134.717 77.671 1.00121.84 C ATOM 7987 N9 G Q 140 13.651 134.055 76.684 1.00121.95 N ATOM 7988 C8 G Q 140 14.226 134.620 75.568 1.00121.96 C ATOM 7989 N7 G Q 140 14.944 133.787 74.870 1.00121.97 N ATOM 7990 C5 G Q 140 14.843 132.588 75.563 1.00121.99 C ATOM 7991 C6 G Q 140 15.412 131.320 75.281 1.00122.03 C ATOM 7992 O6 G Q 140 16.142 131.004 74.331 1.00121.99 O ATOM 7993 N1 G Q 140 15.064 130.361 76.235 1.00122.12 N ATOM 7994 C2 G Q 140 14.264 130.602 77.331 1.00122.14 C ATOM 7995 N2 G Q 140 14.033 129.557 78.139 1.00122.06 N ATOM 7996 N3 G Q 140 13.721 131.787 77.604 1.00122.09 N ATOM 7997 C4 G Q 140 14.050 132.734 76.684 1.00122.00 C ATOM 7998 P A Q 141 14.015 139.407 78.645 1.00122.32 P ATOM 7999 OP1 A Q 141 13.141 140.571 78.383 1.00122.35 O ATOM 8000 OP2 A Q 141 15.073 139.069 77.665 1.00122.37 O ATOM 8001 O5' A Q 141 14.690 139.587 80.088 1.00122.53 O ATOM 8002 C5' A Q 141 15.914 138.934 80.438 1.00122.90 C ATOM 8003 C4' A Q 141 15.673 137.727 81.331 1.00123.23 C ATOM 8004 O4' A Q 141 16.899 137.378 82.025 1.00123.39 O ATOM 8005 C3' A Q 141 14.605 137.909 82.412 1.00123.36 C ATOM 8006 O3' A Q 141 13.551 136.969 82.215 1.00123.31 O ATOM 8007 C2' A Q 141 15.347 137.686 83.732 1.00123.49 C ATOM 8008 O2' A Q 141 14.582 136.976 84.689 1.00123.46 O ATOM 8009 C1' A Q 141 16.551 136.857 83.291 1.00123.61 C ATOM 8010 N9 A Q 141 17.714 136.912 84.186 1.00123.79 N ATOM 8011 C8 A Q 141 17.797 137.531 85.406 1.00123.80 C ATOM 8012 N7 A Q 141 18.964 137.415 85.992 1.00123.83 N ATOM 8013 C5 A Q 141 19.706 136.662 85.099 1.00123.90 C ATOM 8014 C6 A Q 141 21.037 136.187 85.130 1.00123.95 C ATOM 8015 N6 A Q 141 21.875 136.421 86.146 1.00123.97 N ATOM 8016 N1 A Q 141 21.476 135.460 84.076 1.00123.93 N ATOM 8017 C2 A Q 141 20.634 135.225 83.057 1.00123.90 C ATOM 8018 N3 A Q 141 19.364 135.620 82.917 1.00123.84 N ATOM 8019 C4 A Q 141 18.953 136.340 83.979 1.00123.84 C TER 8020 A Q 141 """ with open("tst_rna_validate_1.pdb", "w") as f: f.write(pdb_raw) rv = rna_validate.run(args=["tst_rna_validate_1.pdb"], out=null_out()) assert len(rv.puckers.results) == 1 pickle_unpickle(rv)
def exercise_2 (): # fragment from 3g8t pdb_raw = """\ ATOM 7975 P G Q 140 10.347 137.422 73.792 1.00118.69 P ATOM 7976 OP1 G Q 140 9.348 138.439 74.195 1.00118.63 O ATOM 7977 OP2 G Q 140 11.208 137.681 72.617 1.00118.60 O ATOM 7978 O5' G Q 140 11.286 137.083 75.051 1.00119.34 O ATOM 7979 C5' G Q 140 11.015 137.599 76.358 1.00120.43 C ATOM 7980 C4' G Q 140 11.617 136.733 77.454 1.00121.27 C ATOM 7981 O4' G Q 140 11.723 135.361 77.003 1.00121.51 O ATOM 7982 C3' G Q 140 13.038 137.080 77.885 1.00121.72 C ATOM 7983 O3' G Q 140 13.050 138.143 78.836 1.00122.07 O ATOM 7984 C2' G Q 140 13.517 135.770 78.511 1.00121.87 C ATOM 7985 O2' G Q 140 13.160 135.640 79.877 1.00121.91 O ATOM 7986 C1' G Q 140 12.793 134.717 77.671 1.00121.84 C ATOM 7987 N9 G Q 140 13.651 134.055 76.684 1.00121.95 N ATOM 7988 C8 G Q 140 14.226 134.620 75.568 1.00121.96 C ATOM 7989 N7 G Q 140 14.944 133.787 74.870 1.00121.97 N ATOM 7990 C5 G Q 140 14.843 132.588 75.563 1.00121.99 C ATOM 7991 C6 G Q 140 15.412 131.320 75.281 1.00122.03 C ATOM 7992 O6 G Q 140 16.142 131.004 74.331 1.00121.99 O ATOM 7993 N1 G Q 140 15.064 130.361 76.235 1.00122.12 N ATOM 7994 C2 G Q 140 14.264 130.602 77.331 1.00122.14 C ATOM 7995 N2 G Q 140 14.033 129.557 78.139 1.00122.06 N ATOM 7996 N3 G Q 140 13.721 131.787 77.604 1.00122.09 N ATOM 7997 C4 G Q 140 14.050 132.734 76.684 1.00122.00 C ATOM 7998 P A Q 141 14.015 139.407 78.645 1.00122.32 P ATOM 7999 OP1 A Q 141 13.141 140.571 78.383 1.00122.35 O ATOM 8000 OP2 A Q 141 15.073 139.069 77.665 1.00122.37 O ATOM 8001 O5' A Q 141 14.690 139.587 80.088 1.00122.53 O ATOM 8002 C5' A Q 141 15.914 138.934 80.438 1.00122.90 C ATOM 8003 C4' A Q 141 15.673 137.727 81.331 1.00123.23 C ATOM 8004 O4' A Q 141 16.899 137.378 82.025 1.00123.39 O ATOM 8005 C3' A Q 141 14.605 137.909 82.412 1.00123.36 C ATOM 8006 O3' A Q 141 13.551 136.969 82.215 1.00123.31 O ATOM 8007 C2' A Q 141 15.347 137.686 83.732 1.00123.49 C ATOM 8008 O2' A Q 141 14.582 136.976 84.689 1.00123.46 O ATOM 8009 C1' A Q 141 16.551 136.857 83.291 1.00123.61 C ATOM 8010 N9 A Q 141 17.714 136.912 84.186 1.00123.79 N ATOM 8011 C8 A Q 141 17.797 137.531 85.406 1.00123.80 C ATOM 8012 N7 A Q 141 18.964 137.415 85.992 1.00123.83 N ATOM 8013 C5 A Q 141 19.706 136.662 85.099 1.00123.90 C ATOM 8014 C6 A Q 141 21.037 136.187 85.130 1.00123.95 C ATOM 8015 N6 A Q 141 21.875 136.421 86.146 1.00123.97 N ATOM 8016 N1 A Q 141 21.476 135.460 84.076 1.00123.93 N ATOM 8017 C2 A Q 141 20.634 135.225 83.057 1.00123.90 C ATOM 8018 N3 A Q 141 19.364 135.620 82.917 1.00123.84 N ATOM 8019 C4 A Q 141 18.953 136.340 83.979 1.00123.84 C TER 8020 A Q 141 """ open("tst_rna_validate_1.pdb", "w").write(pdb_raw) rv = rna_validate.run(args=["tst_rna_validate_1.pdb"], out=null_out()) assert len(rv.puckers.results) == 1 pickle_unpickle(rv)
def exercise_1 () : # derived from 2goz regression_pdb = libtbx.env.find_in_repositories( relative_path="phenix_regression/pdb/pdb2goz_refmac_tls.ent", test=os.path.isfile) if (regression_pdb is None): print "Skipping exercise: input pdb (pdb2goz_refmac_tls.ent) not available" return rv = rna_validate.run(args=[regression_pdb], out=null_out()) # chages in linking_mixins.py lead to some more bonds that happened to be # outliers, thus bond.results changed from 2 to 5. assert len(rv.puckers.results) == 2, len(rv.puckers.results) assert len(rv.bonds.results) == 5, len(rv.bonds.results) assert len(rv.angles.results) == 14, len(rv.angles.results) assert len(rv.suites.results) == 4, len(rv.suites.results) assert approx_equal(rv.suites.average_suiteness, 0.56, eps=0.01) pickle_unpickle(rv) pdb_in = file_reader.any_file(regression_pdb) result = mmtbx.validation.rna_validate.rna_validation( pdb_hierarchy=pdb_in.file_object.hierarchy, geometry_restraints_manager=None, params=None) pickle_unpickle(result)
def exercise_3(): # derived from 3bbi pdb_raw = """\ ATOM 1 O5'A U A 1 39.826 29.792 61.182 0.50 82.88 O ATOM 2 O5'B U A 1 39.852 29.856 60.945 0.50 82.91 O ATOM 3 C5'A U A 1 40.022 30.855 62.130 0.50 80.10 C ATOM 4 C5'B U A 1 40.079 31.072 61.650 0.50 79.19 C ATOM 5 C4'A U A 1 38.772 31.691 62.255 0.50 78.82 C ATOM 6 C4'B U A 1 38.796 31.774 62.020 0.50 77.88 C ATOM 7 O4'A U A 1 38.856 32.884 61.429 0.50 80.02 O ATOM 8 O4'B U A 1 38.669 32.983 61.220 0.50 79.40 O ATOM 9 C3'A U A 1 37.538 30.959 61.777 0.50 78.46 C ATOM 10 C3'B U A 1 37.499 31.010 61.758 0.50 77.50 C ATOM 11 O3'A U A 1 37.037 30.176 62.849 0.50 75.37 O ATOM 12 O3'B U A 1 37.158 30.120 62.826 0.50 74.93 O ATOM 13 C2'A U A 1 36.641 32.101 61.304 0.50 79.86 C ATOM 14 C2'B U A 1 36.483 32.143 61.671 0.50 78.29 C ATOM 15 O2'A U A 1 35.961 32.782 62.341 0.50 81.49 O ATOM 16 O2'B U A 1 36.053 32.616 62.932 0.50 80.66 O ATOM 17 C1'A U A 1 37.673 33.025 60.649 0.50 79.69 C ATOM 18 C1'B U A 1 37.299 33.233 60.979 0.50 77.90 C ATOM 19 N1 A U A 1 38.048 32.567 59.307 0.50 77.53 N ATOM 20 N1 B U A 1 37.046 33.343 59.533 0.50 75.93 N ATOM 21 C2 A U A 1 37.329 32.949 58.191 0.50 76.19 C ATOM 22 C2 B U A 1 37.795 32.584 58.638 0.50 75.96 C ATOM 23 O2 A U A 1 36.364 33.685 58.191 0.50 76.18 O ATOM 24 O2 B U A 1 38.754 31.891 58.945 0.50 77.97 O ATOM 25 N3 A U A 1 37.803 32.400 57.033 0.50 74.94 N ATOM 26 N3 B U A 1 37.376 32.694 57.351 0.50 75.08 N ATOM 27 C4 A U A 1 38.865 31.551 56.889 0.50 74.13 C ATOM 28 C4 B U A 1 36.340 33.467 56.890 0.50 74.34 C ATOM 29 O4 A U A 1 39.163 31.127 55.805 0.50 72.11 O ATOM 30 O4 B U A 1 36.162 33.540 55.698 0.50 72.95 O ATOM 31 C5 A U A 1 39.560 31.215 58.099 0.50 74.56 C ATOM 32 C5 B U A 1 35.632 34.263 57.853 0.50 72.59 C ATOM 33 C6 A U A 1 39.134 31.742 59.244 0.50 76.24 C ATOM 34 C6 B U A 1 36.006 34.156 59.108 0.50 73.72 C ATOM 35 P C A 2 36.230 28.821 62.547 1.00 72.47 P ATOM 36 OP1 C A 2 35.510 28.509 63.805 1.00 72.07 O ATOM 37 OP2 C A 2 37.093 27.782 61.920 1.00 67.52 O ATOM 38 O5' C A 2 35.141 29.294 61.493 1.00 61.16 O ATOM 39 C5' C A 2 34.065 30.126 61.886 1.00 53.00 C ATOM 40 C4' C A 2 33.217 30.452 60.692 1.00 54.42 C ATOM 41 O4' C A 2 34.058 31.113 59.709 1.00 57.20 O ATOM 42 C3' C A 2 32.696 29.239 59.934 1.00 54.16 C ATOM 43 O3' C A 2 31.508 28.706 60.508 1.00 49.29 O ATOM 44 C2' C A 2 32.447 29.817 58.551 1.00 50.69 C ATOM 45 O2' C A 2 31.256 30.569 58.491 1.00 53.09 O ATOM 46 C1' C A 2 33.635 30.762 58.406 1.00 51.94 C ATOM 47 N1 C A 2 34.752 30.152 57.665 1.00 50.45 N ATOM 48 C2 C A 2 34.662 30.120 56.283 1.00 49.86 C ATOM 49 O2 C A 2 33.659 30.593 55.738 1.00 50.93 O ATOM 50 N3 C A 2 35.654 29.571 55.565 1.00 47.16 N ATOM 51 C4 C A 2 36.709 29.052 56.179 1.00 47.93 C ATOM 52 N4 C A 2 37.659 28.519 55.412 1.00 47.02 N ATOM 53 C5 C A 2 36.834 29.060 57.597 1.00 46.21 C ATOM 54 C6 C A 2 35.840 29.624 58.297 1.00 47.22 C """ open("tst_rna_validate_2.pdb", "w").write(pdb_raw) rv = rna_validate.run(args=["tst_rna_validate_2.pdb"], out=null_out()) pickle_unpickle(rv)
def exercise_3 () : # derived from 3bbi pdb_raw = """\ ATOM 1 O5'A U A 1 39.826 29.792 61.182 0.50 82.88 O ATOM 2 O5'B U A 1 39.852 29.856 60.945 0.50 82.91 O ATOM 3 C5'A U A 1 40.022 30.855 62.130 0.50 80.10 C ATOM 4 C5'B U A 1 40.079 31.072 61.650 0.50 79.19 C ATOM 5 C4'A U A 1 38.772 31.691 62.255 0.50 78.82 C ATOM 6 C4'B U A 1 38.796 31.774 62.020 0.50 77.88 C ATOM 7 O4'A U A 1 38.856 32.884 61.429 0.50 80.02 O ATOM 8 O4'B U A 1 38.669 32.983 61.220 0.50 79.40 O ATOM 9 C3'A U A 1 37.538 30.959 61.777 0.50 78.46 C ATOM 10 C3'B U A 1 37.499 31.010 61.758 0.50 77.50 C ATOM 11 O3'A U A 1 37.037 30.176 62.849 0.50 75.37 O ATOM 12 O3'B U A 1 37.158 30.120 62.826 0.50 74.93 O ATOM 13 C2'A U A 1 36.641 32.101 61.304 0.50 79.86 C ATOM 14 C2'B U A 1 36.483 32.143 61.671 0.50 78.29 C ATOM 15 O2'A U A 1 35.961 32.782 62.341 0.50 81.49 O ATOM 16 O2'B U A 1 36.053 32.616 62.932 0.50 80.66 O ATOM 17 C1'A U A 1 37.673 33.025 60.649 0.50 79.69 C ATOM 18 C1'B U A 1 37.299 33.233 60.979 0.50 77.90 C ATOM 19 N1 A U A 1 38.048 32.567 59.307 0.50 77.53 N ATOM 20 N1 B U A 1 37.046 33.343 59.533 0.50 75.93 N ATOM 21 C2 A U A 1 37.329 32.949 58.191 0.50 76.19 C ATOM 22 C2 B U A 1 37.795 32.584 58.638 0.50 75.96 C ATOM 23 O2 A U A 1 36.364 33.685 58.191 0.50 76.18 O ATOM 24 O2 B U A 1 38.754 31.891 58.945 0.50 77.97 O ATOM 25 N3 A U A 1 37.803 32.400 57.033 0.50 74.94 N ATOM 26 N3 B U A 1 37.376 32.694 57.351 0.50 75.08 N ATOM 27 C4 A U A 1 38.865 31.551 56.889 0.50 74.13 C ATOM 28 C4 B U A 1 36.340 33.467 56.890 0.50 74.34 C ATOM 29 O4 A U A 1 39.163 31.127 55.805 0.50 72.11 O ATOM 30 O4 B U A 1 36.162 33.540 55.698 0.50 72.95 O ATOM 31 C5 A U A 1 39.560 31.215 58.099 0.50 74.56 C ATOM 32 C5 B U A 1 35.632 34.263 57.853 0.50 72.59 C ATOM 33 C6 A U A 1 39.134 31.742 59.244 0.50 76.24 C ATOM 34 C6 B U A 1 36.006 34.156 59.108 0.50 73.72 C ATOM 35 P C A 2 36.230 28.821 62.547 1.00 72.47 P ATOM 36 OP1 C A 2 35.510 28.509 63.805 1.00 72.07 O ATOM 37 OP2 C A 2 37.093 27.782 61.920 1.00 67.52 O ATOM 38 O5' C A 2 35.141 29.294 61.493 1.00 61.16 O ATOM 39 C5' C A 2 34.065 30.126 61.886 1.00 53.00 C ATOM 40 C4' C A 2 33.217 30.452 60.692 1.00 54.42 C ATOM 41 O4' C A 2 34.058 31.113 59.709 1.00 57.20 O ATOM 42 C3' C A 2 32.696 29.239 59.934 1.00 54.16 C ATOM 43 O3' C A 2 31.508 28.706 60.508 1.00 49.29 O ATOM 44 C2' C A 2 32.447 29.817 58.551 1.00 50.69 C ATOM 45 O2' C A 2 31.256 30.569 58.491 1.00 53.09 O ATOM 46 C1' C A 2 33.635 30.762 58.406 1.00 51.94 C ATOM 47 N1 C A 2 34.752 30.152 57.665 1.00 50.45 N ATOM 48 C2 C A 2 34.662 30.120 56.283 1.00 49.86 C ATOM 49 O2 C A 2 33.659 30.593 55.738 1.00 50.93 O ATOM 50 N3 C A 2 35.654 29.571 55.565 1.00 47.16 N ATOM 51 C4 C A 2 36.709 29.052 56.179 1.00 47.93 C ATOM 52 N4 C A 2 37.659 28.519 55.412 1.00 47.02 N ATOM 53 C5 C A 2 36.834 29.060 57.597 1.00 46.21 C ATOM 54 C6 C A 2 35.840 29.624 58.297 1.00 47.22 C """ open("tst_rna_validate_2.pdb", "w").write(pdb_raw) rv = rna_validate.run(args=["tst_rna_validate_2.pdb"], out=null_out()) pickle_unpickle(rv)