diff --git a/database/chemical/residue_type_sets/fa_standard/patches/MethylatedProteinCterm.txt b/database/chemical/residue_type_sets/fa_standard/patches/MethylatedProteinCterm.txt index a3d5e690f4..58a5634f41 100644 --- a/database/chemical/residue_type_sets/fa_standard/patches/MethylatedProteinCterm.txt +++ b/database/chemical/residue_type_sets/fa_standard/patches/MethylatedProteinCterm.txt @@ -248,8 +248,8 @@ ADD_BOND 3HN CN #APPEND_MAINCHAIN_ATOM NM #APPEND_MAINCHAIN_ATOM CN -SET_ICOOR NM -178.525514 65.210767 1.349313 C Ca O -SET_ICOOR CN 173.715548 58.286172 1.449020 NM C Ca +SET_ICOOR NM -178.525514 65.210767 1.349313 C CA O +SET_ICOOR CN 173.715548 58.286172 1.449020 NM C CA SET_ICOOR 1HN -72.124155 68.240467 1.083554 CN NM C SET_ICOOR 2HN 120.381913 70.210033 1.080230 CN NM 1HN SET_ICOOR 3HN 119.184435 71.274589 1.081917 CN NM 2HN @@ -368,8 +368,8 @@ ADD_BOND 3HN CN #APPEND_MAINCHAIN_ATOM NM #APPEND_MAINCHAIN_ATOM CN -SET_ICOOR NM -178.525514 65.210767 1.349313 C Ca O -SET_ICOOR CN 173.715548 58.286172 1.449020 NM C Ca +SET_ICOOR NM -178.525514 65.210767 1.349313 C CA O +SET_ICOOR CN 173.715548 58.286172 1.449020 NM C CA SET_ICOOR 1HN -72.124155 68.240467 1.083554 CN NM C SET_ICOOR 2HN 120.381913 70.210033 1.080230 CN NM 1HN SET_ICOOR 3HN 119.184435 71.274589 1.081917 CN NM 2HN diff --git a/database/chemical/residue_type_sets/fa_standard/patches/N_acetylated.txt b/database/chemical/residue_type_sets/fa_standard/patches/N_acetylated.txt index 64640c76c2..aae93843a0 100644 --- a/database/chemical/residue_type_sets/fa_standard/patches/N_acetylated.txt +++ b/database/chemical/residue_type_sets/fa_standard/patches/N_acetylated.txt @@ -173,7 +173,7 @@ SET_ICOOR OCP -180.00 61.19 1.230 CP N CQ # Need to prevent these from repacking SET_BACKBONE_HEAVYATOM CP -ADD_ATOM CQ VIRT CT3 0.00 ## This is the methyl carbon of the acetyl group... +#ADD_ATOM CQ VIRT CT3 0.00 ## This is the methyl carbon of the acetyl group... # Already added above #SET_BACKBONE_HEAVYATOM CQ SET_BACKBONE_HEAVYATOM OCP diff --git a/source/src/core/chemical/PatchOperation.cc b/source/src/core/chemical/PatchOperation.cc index a3c1f3d4e0..f9067728a1 100644 --- a/source/src/core/chemical/PatchOperation.cc +++ b/source/src/core/chemical/PatchOperation.cc @@ -194,7 +194,21 @@ SetPolymerConnectAtom::apply( MutableResidueType & rsd ) const bool SetPolymerConnectAtom::changes_connections_on( ResidueType const & rsd_type, std::string const & atom ) const { - return rsd_type.has( atom ) && rsd_type.has( atom_name_ ) && rsd_type.atom_index( atom ) == rsd_type.atom_index( atom_name_ ); + if ( atom_name_ == "NONE" ) { + if ( upper_lower_ == -1 ) { + return rsd_type.lower_connect_id() != 0 && ( atom == "LOWER" || ( + rsd_type.has( atom_name_ ) && rsd_type.atom_index( atom ) == rsd_type.lower_connect_atom() ) ); + } else { + return rsd_type.upper_connect_id() != 0 && ( atom == "UPPER" || ( + rsd_type.has( atom_name_ ) && rsd_type.atom_index( atom ) == rsd_type.upper_connect_atom() ) ); + } + } else if ( atom == "LOWER" ) { + return upper_lower_ == -1; + } else if ( atom == "UPPER" ) { + return upper_lower_ != -1; + } else { + return rsd_type.has( atom ) && rsd_type.has( atom_name_ ) && rsd_type.atom_index( atom ) == rsd_type.atom_index( atom_name_ ); + } } diff --git a/source/src/core/chemical/ResidueTypeFinder.cc b/source/src/core/chemical/ResidueTypeFinder.cc index 0afd724d46..765dab93c3 100644 --- a/source/src/core/chemical/ResidueTypeFinder.cc +++ b/source/src/core/chemical/ResidueTypeFinder.cc @@ -330,10 +330,12 @@ ResidueTypeCOPs ResidueTypeFinder::apply_preferences_and_discouragements( ResidueTypeCOPs const & rsd_types ) const { if ( rsd_types.empty() ) return rsd_types; - if ( preferred_properties_.empty() && discouraged_properties_.empty() && ! no_CCD_on_name3_match_ ) { + if ( preferred_properties_.empty() && discouraged_properties_.empty() && preferred_connects_.empty() && discouraged_connects_.empty() && ! no_CCD_on_name3_match_ ) { return rsd_types; // nothing to do } + if ( rsd_types.size() == 1 ) return rsd_types; // If there's only one possibility, we're going to be using it. + ResidueTypeCOPs current_type_list( rsd_types ); ResidueTypeCOPs new_type_list; @@ -374,6 +376,46 @@ ResidueTypeFinder::apply_preferences_and_discouragements( ResidueTypeCOPs const current_type_list = new_type_list; } + if ( ! discouraged_connects_.empty() ) { + utility::vector1< core::Size > connect_counts; + for ( ResidueTypeCOP const & type: current_type_list ) { + core::Size count = 0; + for ( std::string const & connect_point: discouraged_connects_ ) { + if ( connect_point == "UPPER" && type->upper_connect_id() != 0 ) { + ++count; + } else if ( connect_point == "LOWER" && type->lower_connect_id() != 0 ) { + ++count; + } else if ( type->has(connect_point) && type->atom_forms_residue_connection( type->atom_index(connect_point) ) ) { + ++count; + } + } + connect_counts.push_back(count); + } + debug_assert( ! connect_counts.empty() ); + core::Size min_count = *std::min_element( connect_counts.begin(), connect_counts.end() ); + new_type_list.clear(); + for ( core::Size ii(1); ii <= current_type_list.size(); ++ii ) { + if ( connect_counts[ ii ] == min_count ) { + new_type_list.push_back( current_type_list[ ii ] ); + } + } + if ( TR.Debug.visible() ) { + TR.Debug << "Discouraging " << discouraged_connects_.size() << " connection points, " << + "going from " << current_type_list.size() << " types to " << + new_type_list.size() << " types." << std::endl; + TR.Debug<< "Discouraged connections: " << discouraged_connects_ << std::endl; + TR.Debug<< "Going from "; + for ( auto rt: current_type_list ) { TR.Debug << " " << rt->name(); } + TR.Debug << std::endl; + TR.Debug << "To "; + for ( auto rt: new_type_list ) { TR.Debug << " " << rt->name(); } + TR.Debug << std::endl; + } + + current_type_list = new_type_list; + } + + if ( ! preferred_properties_.empty() ) { utility::vector1< core::Size > property_counts; for ( ResidueTypeCOP const & rsd_type: current_type_list ) { @@ -409,6 +451,45 @@ ResidueTypeFinder::apply_preferences_and_discouragements( ResidueTypeCOPs const current_type_list = new_type_list; } + if ( ! preferred_connects_.empty() ) { + utility::vector1< core::Size > connect_counts; + for ( ResidueTypeCOP const & type: current_type_list ) { + core::Size count = 0; + for ( std::string const & connect_point: preferred_connects_ ) { + if ( connect_point == "UPPER" && type->upper_connect_id() != 0 ) { + ++count; + } else if ( connect_point == "LOWER" && type->lower_connect_id() != 0 ) { + ++count; + } else if ( type->has(connect_point) && type->atom_forms_residue_connection( type->atom_index(connect_point) ) ) { + ++count; + } + } + connect_counts.push_back(count); + } + debug_assert( ! connect_counts.empty() ); + core::Size max_count = *std::max_element( connect_counts.begin(), connect_counts.end() ); + new_type_list.clear(); + for ( core::Size ii(1); ii <= current_type_list.size(); ++ii ) { + if ( connect_counts[ ii ] == max_count ) { + new_type_list.push_back( current_type_list[ ii ] ); + } + } + if ( TR.Debug.visible() ) { + TR.Debug << "Encouraging " << preferred_connects_.size() << " connection points, " << + "going from " << current_type_list.size() << " types to " << + new_type_list.size() << " types." << std::endl; + TR.Debug<< "Encouraged connections: " << preferred_connects_ << std::endl; + TR.Debug<< "Going from "; + for ( auto rt: current_type_list ) { TR.Debug << " " << rt->name(); } + TR.Debug << std::endl; + TR.Debug << "To "; + for ( auto rt: new_type_list ) { TR.Debug << " " << rt->name(); } + TR.Debug << std::endl; + } + + current_type_list = new_type_list; + } + current_type_list = prioritize_rosetta_types_over_pdb_components( current_type_list ); return current_type_list; @@ -774,23 +855,50 @@ ResidueTypeFinder::fixes_interchangeability_group( PatchCOP patch, ResidueTypeCO } //////////////////////////////////////////////////////////////////////////////////////////////////// +bool +adds_connects_helper( PatchCOP patch, ResidueTypeCOP rsd_type, std::string const & atom ) { + if ( rsd_type->has(atom) ) { + // patch->changes_connections_on() should be whitespace padding insensitive. + if ( rsd_type->residue_connections_for_atom( rsd_type->atom_index(atom) ).empty() && + patch->changes_connections_on( *rsd_type, atom ) ) { + return true; + } + } else { + // Don't have the atom -- get patches which may add the atom. + if ( patch->adds_atoms( *rsd_type ).has_value( atom ) ) { + return true; + } + } + return false; +} + bool ResidueTypeFinder::fixes_connects( PatchCOP patch, ResidueTypeCOP rsd_type ) const { - if ( connect_atoms_.empty() ) return false; // Can't fix what isn't broken. + for ( std::string const & atom: connect_atoms_ ) { - if ( rsd_type->has(atom) ) { - // patch->changes_connections_on() should be whitespace padding insensitive. - if ( rsd_type->residue_connections_for_atom( rsd_type->atom_index(atom) ).empty() && - patch->changes_connections_on( *rsd_type, atom ) ) { - return true; - } + if ( adds_connects_helper( patch, rsd_type, atom ) ) { return true; } + } + + for ( std::string const & atom: preferred_connects_ ) { + if ( atom == "LOWER" && rsd_type->lower_connect_id() == 0 ) { + if ( patch->changes_connections_on( *rsd_type, atom ) ) { return true; } + } else if ( atom == "UPPER" && rsd_type->upper_connect_id() == 0 ) { + if ( patch->changes_connections_on( *rsd_type, atom ) ) { return true; } } else { - // Don't have the atom -- get patches which may add the atom. - if ( patch->adds_atoms( *rsd_type ).has_value( atom ) ) { - return true; - } + if ( adds_connects_helper( patch, rsd_type, atom ) ) { return true; } } } + + for ( std::string const & atom: discouraged_connects_ ) { + if ( atom == "LOWER" && rsd_type->lower_connect_id() != 0 ) { + if ( patch->changes_connections_on( *rsd_type, atom ) ) { return true; } + } else if ( atom == "UPPER" && rsd_type->upper_connect_id() != 0 ) { + if ( patch->changes_connections_on( *rsd_type, atom ) ) { return true; } + } else if ( rsd_type->has( atom ) && rsd_type->atom_forms_residue_connection( rsd_type->atom_index(atom) ) ) { + if ( patch->changes_connections_on( *rsd_type, atom ) ) { return true; } + } + } + return false; } diff --git a/source/src/core/chemical/ResidueTypeFinder.hh b/source/src/core/chemical/ResidueTypeFinder.hh index 00db30fc5f..019ab38c43 100644 --- a/source/src/core/chemical/ResidueTypeFinder.hh +++ b/source/src/core/chemical/ResidueTypeFinder.hh @@ -219,6 +219,22 @@ public: return *this; } + /// @brief The atom name (or UPPER/LOWER) of the connection points that should be preferred + /// Will not eliminate residues if those connection points are not present + ResidueTypeFinder & + preferred_connects( utility::vector1< std::string > const & setting ) { + preferred_connects_ = setting; + return *this; + } + + /// @brief The atom name (or UPPER/LOWER) of the connection points that should be avoided + /// Will not eliminate residues if all possibilities have that connection point + ResidueTypeFinder & + discouraged_connects( utility::vector1< std::string > const & setting ) { + discouraged_connects_ = setting; + return *this; + } + ResidueTypeFinder & patch_names( utility::vector1< std::string > const & setting ) { patch_names_ = setting; @@ -389,6 +405,8 @@ private: utility::vector1< ResidueProperty > disallow_properties_; // Properties which must not be present utility::vector1< ResidueProperty > preferred_properties_; // Does not affect filtering, but may cause additional patches to be applied utility::vector1< ResidueProperty > discouraged_properties_; // Only affects filtering if alternatives are present. + utility::vector1< std::string > preferred_connects_; // Only affects filtering if alternatives are present + utility::vector1< std::string > discouraged_connects_; // Only affects filtering if alternatives are present utility::vector1< std::string > patch_names_; utility::vector1< std::string > connect_atoms_; diff --git a/source/src/core/io/pose_from_sfr/PoseFromSFRBuilder.cc b/source/src/core/io/pose_from_sfr/PoseFromSFRBuilder.cc index 2fb61da397..6a9f7fee1a 100644 --- a/source/src/core/io/pose_from_sfr/PoseFromSFRBuilder.cc +++ b/source/src/core/io/pose_from_sfr/PoseFromSFRBuilder.cc @@ -1966,6 +1966,7 @@ PoseFromSFRBuilder::get_rsd_type( using utility::vector1; vector1< ResidueProperty > preferred_properties, discouraged_properties; + vector1< std::string > preferred_connects, discouraged_connects; vector1< VariantType > variants, disallow_variants; std::string residue_base_name( "" ); // used when we have more information then just a 3-letter code @@ -1982,19 +1983,20 @@ PoseFromSFRBuilder::get_rsd_type( if ( known_connect_atoms_on_this_residue.contains( "P" ) || known_connect_atoms_on_this_residue.contains( "N" ) ) { variants.push_back( CUTPOINT_UPPER ); } else { - preferred_properties.push_back( LOWER_TERMINUS ); + discouraged_connects.push_back( "LOWER" ); } } else { - discouraged_properties.push_back( LOWER_TERMINUS ); + // Non-terminus probably means we need a polymeric connection ... probably + preferred_connects.push_back( "LOWER" ); } if ( is_upper_terminus ) { if ( known_connect_atoms_on_this_residue.contains( "O3'" ) || known_connect_atoms_on_this_residue.contains( "C" ) ) { variants.push_back( CUTPOINT_LOWER ); } else { - preferred_properties.push_back( UPPER_TERMINUS ); + discouraged_connects.push_back( "UPPER" ); } } else { - discouraged_properties.push_back( UPPER_TERMINUS ); + preferred_connects.push_back( "UPPER" ); } if ( is_d_aa ) { preferred_properties.push_back( D_AA ); @@ -2024,6 +2026,8 @@ PoseFromSFRBuilder::get_rsd_type( .disallow_variants( disallow_variants ) .preferred_properties( preferred_properties ) .discouraged_properties( discouraged_properties ) + .preferred_connects( preferred_connects ) + .discouraged_connects( discouraged_connects ) .patch_names( patch_names ) .ignore_atom_named_H( is_lower_terminus ) .check_nucleic_acid_virtual_phosphates( true ) diff --git a/source/test/core.test.settings b/source/test/core.test.settings index 75c83b2efa..9f010c6173 100644 --- a/source/test/core.test.settings +++ b/source/test/core.test.settings @@ -1088,6 +1088,8 @@ testinputfiles = [ "io/pose_from_sfr/cyclic_pep_with_link.pdb", "io/pose_from_sfr/1rgr_apo.pdb", "io/pose_from_sfr/1IJ3_cleaned.pdb", + "io/pose_from_sfr/NOT_TES.params", + "io/pose_from_sfr/NOT_TES.pdb", "io/pose_to_sfr/2_peptides_2_glycan_ligands.pdb", "io/silent/cyclic_peptide_binary_silent.silent", "io/silent/cyclic_peptide_binary_silent_duplicated_header.silent", diff --git a/source/test/core/io/pose_from_sfr/NOT_TES.params b/source/test/core/io/pose_from_sfr/NOT_TES.params new file mode 100644 index 0000000000..05bf405b09 --- /dev/null +++ b/source/test/core/io/pose_from_sfr/NOT_TES.params @@ -0,0 +1,146 @@ +NAME MY_TES +IO_STRING TES Z +TYPE LIGAND +AA UNK +ATOM N1 NH2O X -0.66 +ATOM C11 aroC X 0.14 +ATOM C6 aroC X -0.10 +ATOM C4 aroC X -0.06 +ATOM C10 aroC X -0.12 +ATOM C5 aroC X -0.10 +ATOM C7 aroC X -0.14 +ATOM H7 Haro X 0.15 +ATOM H5 Haro X 0.15 +ATOM C14 CH1 X 0.16 +ATOM C16 CH1 X 0.60 +ATOM F4 F X -0.23 +ATOM F5 F X -0.21 +ATOM F6 F X -0.22 +ATOM C17 CH1 X 0.60 +ATOM F7 F X -0.22 +ATOM F8 F X -0.21 +ATOM F9 F X -0.23 +ATOM O3 OH X -0.55 +ATOM H12 Hpol X 0.44 +ATOM H4 Haro X 0.17 +ATOM H6 Haro X 0.16 +ATOM C13 CH2 X 0.19 +ATOM C15 CH1 X 0.61 +ATOM F1 F X -0.24 +ATOM F2 F X -0.22 +ATOM F3 F X -0.23 +ATOM H10 Hapo X 0.08 +ATOM H11 Hapo X 0.10 +ATOM S1 S X 1.50 +ATOM C12 aroC X -0.40 +ATOM C8 aroC X -0.02 +ATOM C2 aroC X -0.15 +ATOM C1 aroC X -0.06 +ATOM C3 aroC X -0.15 +ATOM C9 aroC X -0.02 +ATOM H9 Haro X 0.16 +ATOM H3 Haro X 0.15 +ATOM H1 Haro X 0.14 +ATOM H2 Haro X 0.15 +ATOM H8 Haro X 0.15 +ATOM O1 OOC X -0.63 +ATOM O2 OOC X -0.63 +BOND C1 C2 +BOND C1 C3 +BOND C2 C8 +BOND C3 C9 +BOND C4 C6 +BOND C4 C10 +BOND C5 C7 +BOND C5 C10 +BOND C6 C11 +BOND C7 C11 +BOND C8 C12 +BOND C9 C12 +BOND C10 C14 +BOND C11 N1 +BOND C12 S1 +BOND C13 C15 +BOND C13 N1 +BOND C14 C16 +BOND C14 C17 +BOND C14 O3 +BOND C15 F1 +BOND C15 F2 +BOND C15 F3 +BOND C16 F4 +BOND C16 F5 +BOND C16 F6 +BOND C17 F7 +BOND C17 F8 +BOND C17 F9 +BOND N1 S1 +BOND O1 S1 +BOND O2 S1 +BOND C1 H1 +BOND C2 H2 +BOND C3 H3 +BOND C4 H4 +BOND C5 H5 +BOND C6 H6 +BOND C7 H7 +BOND C8 H8 +BOND C9 H9 +BOND C13 H10 +BOND C13 H11 +BOND O3 H12 +CHI 1 C10 C14 O3 H12 +PROTON_CHI 1 SAMPLES 3 60 -60 180 EXTRA 1 20 +CHI 2 C4 C10 C14 C16 +CHI 3 C13 N1 C11 C6 +CHI 4 N1 S1 C12 C8 +CHI 5 N1 C13 C15 F1 +CHI 6 C11 N1 C13 C15 +CHI 7 C10 C14 C16 F4 +CHI 8 C10 C14 C17 F7 +CHI 9 C11 N1 S1 C12 +NBR_ATOM N1 +NBR_RADIUS 8.924279 +ICOOR_INTERNAL N1 0.000000 0.000000 0.000000 N1 C11 C6 +ICOOR_INTERNAL C11 0.000000 180.000000 1.501343 N1 C11 C6 +ICOOR_INTERNAL C6 0.000000 60.836794 1.400289 C11 N1 C6 +ICOOR_INTERNAL C4 -177.989034 57.682761 1.411403 C6 C11 N1 +ICOOR_INTERNAL C10 -0.184191 57.541470 1.428750 C4 C6 C11 +ICOOR_INTERNAL C5 1.058858 64.596624 1.427366 C10 C4 C6 +ICOOR_INTERNAL C7 -1.331961 58.225737 1.414012 C5 C10 C4 +ICOOR_INTERNAL H7 -179.236527 61.006986 1.080017 C7 C5 C10 +ICOOR_INTERNAL H5 179.997860 60.885144 1.079992 C5 C10 C7 +ICOOR_INTERNAL C14 176.756532 62.003343 1.561933 C10 C4 C5 +ICOOR_INTERNAL C16 136.536784 66.545342 1.533785 C14 C10 C4 +ICOOR_INTERNAL F4 -176.505612 69.449897 1.361527 C16 C14 C10 +ICOOR_INTERNAL F5 121.970918 70.888983 1.339462 C16 C14 F4 +ICOOR_INTERNAL F6 116.163441 66.444845 1.340614 C16 C14 F5 +ICOOR_INTERNAL C17 116.729255 73.734851 1.570046 C14 C10 C16 +ICOOR_INTERNAL F7 -57.157344 67.261197 1.364069 C17 C14 C10 +ICOOR_INTERNAL F8 117.351205 69.944894 1.361125 C17 C14 F7 +ICOOR_INTERNAL F9 121.160165 62.190085 1.355120 C17 C14 F8 +ICOOR_INTERNAL O3 120.016505 65.518487 1.459509 C14 C10 C17 +ICOOR_INTERNAL H12 156.869022 70.500783 0.949967 O3 C14 C10 +ICOOR_INTERNAL H4 179.997575 61.230448 1.080006 C4 C6 C10 +ICOOR_INTERNAL H6 179.997639 61.156620 1.080022 C6 C11 C4 +ICOOR_INTERNAL C13 -130.994611 68.995939 1.526040 N1 C11 C6 +ICOOR_INTERNAL C15 82.745243 69.433831 1.488458 C13 N1 C11 +ICOOR_INTERNAL F1 167.796422 73.099782 1.342018 C15 C13 N1 +ICOOR_INTERNAL F2 -121.928076 65.433184 1.338355 C15 C13 F1 +ICOOR_INTERNAL F3 -117.769450 68.358455 1.316141 C15 C13 F2 +ICOOR_INTERNAL H10 -119.997761 70.892324 1.099996 C13 N1 C15 +ICOOR_INTERNAL H11 -120.457737 71.136145 1.099960 C13 N1 H10 +ICOOR_INTERNAL S1 -134.624518 60.856553 1.802566 N1 C11 C13 +ICOOR_INTERNAL C12 75.148283 74.639699 1.775419 S1 N1 C11 +ICOOR_INTERNAL C8 94.172060 59.402007 1.439352 C12 S1 N1 +ICOOR_INTERNAL C2 -179.286345 59.453140 1.414395 C8 C12 S1 +ICOOR_INTERNAL C1 0.190513 61.024122 1.406604 C2 C8 C12 +ICOOR_INTERNAL C3 0.405368 60.057950 1.431670 C1 C2 C8 +ICOOR_INTERNAL C9 -0.430549 58.211218 1.420647 C3 C1 C2 +ICOOR_INTERNAL H9 179.838752 58.847984 1.080040 C9 C3 C1 +ICOOR_INTERNAL H3 179.998909 60.891425 1.080025 C3 C1 C9 +ICOOR_INTERNAL H1 -179.997710 59.970941 1.080035 C1 C2 C3 +ICOOR_INTERNAL H2 -179.997366 59.486143 1.080029 C2 C8 C1 +ICOOR_INTERNAL H8 -179.998952 60.274076 1.079977 C8 C12 C2 +ICOOR_INTERNAL O1 -112.903952 62.512385 1.420420 S1 N1 C12 +ICOOR_INTERNAL O2 -128.942710 66.225147 1.445836 S1 N1 O1 diff --git a/source/test/core/io/pose_from_sfr/NOT_TES.pdb b/source/test/core/io/pose_from_sfr/NOT_TES.pdb new file mode 100644 index 0000000000..e13a3d29a5 --- /dev/null +++ b/source/test/core/io/pose_from_sfr/NOT_TES.pdb @@ -0,0 +1,337 @@ +ATOM 1 N ASP A 3 -4.522 18.306 17.409 1.00174.51 N +ATOM 2 CA ASP A 3 -3.061 18.228 17.122 1.00174.51 C +ATOM 3 C ASP A 3 -2.664 16.993 16.324 1.00174.51 C +ATOM 4 O ASP A 3 -3.515 16.306 15.754 1.00174.51 O +ATOM 5 CB ASP A 3 -2.261 18.246 18.422 1.00 83.84 C +ATOM 6 CG ASP A 3 -1.658 19.600 18.711 1.00 83.84 C +ATOM 7 OD1 ASP A 3 -1.169 20.249 17.760 1.00 83.84 O +ATOM 8 OD2 ASP A 3 -1.654 20.007 19.892 1.00 83.84 O +ATOM 9 N ILE A 4 -1.360 16.714 16.297 1.00 57.73 N +ATOM 10 CA ILE A 4 -0.823 15.562 15.568 1.00 57.73 C +ATOM 11 C ILE A 4 -0.721 14.309 16.433 1.00 57.73 C +ATOM 12 O ILE A 4 0.091 14.222 17.355 1.00 57.73 O +ATOM 13 CB ILE A 4 0.555 15.888 14.980 1.00 57.14 C +ATOM 14 CG1 ILE A 4 0.425 17.108 14.058 1.00 57.14 C +ATOM 15 CG2 ILE A 4 1.097 14.674 14.218 1.00 57.14 C +ATOM 16 CD1 ILE A 4 1.737 17.831 13.766 1.00 57.14 C +ATOM 17 N GLN A 5 -1.567 13.342 16.105 1.00 49.21 N +ATOM 18 CA GLN A 5 -1.632 12.078 16.814 1.00 49.21 C +ATOM 19 C GLN A 5 -0.907 10.950 16.066 1.00 49.21 C +ATOM 20 O GLN A 5 -1.306 10.567 14.965 1.00 84.12 O +ATOM 21 CB GLN A 5 -3.095 11.691 17.017 1.00 87.59 C +ATOM 22 CG GLN A 5 -3.284 10.472 17.883 1.00 87.59 C +ATOM 23 CD GLN A 5 -2.740 10.671 19.282 1.00 87.59 C +ATOM 24 OE1 GLN A 5 -2.801 9.770 20.107 1.00 87.59 O +ATOM 25 NE2 GLN A 5 -2.209 11.857 19.556 1.00 87.59 N +ATOM 26 N VAL A 6 0.151 10.426 16.683 1.00 61.01 N +ATOM 27 CA VAL A 6 0.937 9.342 16.107 1.00 61.01 C +ATOM 28 C VAL A 6 0.671 8.008 16.803 1.00 61.01 C +ATOM 29 O VAL A 6 0.957 7.837 17.983 1.00 61.01 O +ATOM 30 CB VAL A 6 2.439 9.624 16.196 1.00 50.93 C +ATOM 31 CG1 VAL A 6 3.199 8.503 15.531 1.00 50.93 C +ATOM 32 CG2 VAL A 6 2.772 10.922 15.516 1.00 50.93 C +ATOM 33 N GLN A 7 0.118 7.066 16.055 1.00 44.88 N +ATOM 34 CA GLN A 7 -0.196 5.735 16.561 1.00 44.88 C +ATOM 35 C GLN A 7 0.719 4.713 15.881 1.00 44.88 C +ATOM 36 O GLN A 7 0.658 4.513 14.674 1.00 44.88 O +ATOM 37 CB GLN A 7 -1.658 5.390 16.264 1.00 83.92 C +ATOM 38 CG GLN A 7 -2.534 5.302 17.485 1.00 83.92 C +ATOM 39 CD GLN A 7 -2.119 4.173 18.412 1.00 83.92 C +ATOM 40 OE1 GLN A 7 -0.990 4.138 18.905 1.00 83.92 O +ATOM 41 NE2 GLN A 7 -3.031 3.241 18.653 1.00 83.92 N +ATOM 42 N VAL A 8 1.578 4.084 16.673 1.00 45.42 N +ATOM 43 CA VAL A 8 2.499 3.068 16.186 1.00 45.42 C +ATOM 44 C VAL A 8 2.103 1.700 16.756 1.00 45.42 C +ATOM 45 O VAL A 8 2.114 1.508 17.966 1.00 45.42 O +ATOM 46 CB VAL A 8 3.945 3.377 16.613 1.00 41.58 C +ATOM 47 CG1 VAL A 8 4.867 2.293 16.086 1.00 41.58 C +ATOM 48 CG2 VAL A 8 4.375 4.731 16.083 1.00 41.58 C +ATOM 49 N ASN A 9 1.746 0.755 15.891 1.00 56.60 N +ATOM 50 CA ASN A 9 1.357 -0.569 16.361 1.00 56.60 C +ATOM 51 C ASN A 9 2.224 -1.684 15.748 1.00 56.60 C +ATOM 52 O ASN A 9 2.140 -1.992 14.559 1.00 56.60 O +ATOM 53 CB ASN A 9 -0.119 -0.818 16.065 1.00105.47 C +ATOM 54 CG ASN A 9 -0.823 -1.519 17.208 1.00105.47 C +ATOM 55 OD1 ASN A 9 -1.281 -0.879 18.165 1.00105.47 O +ATOM 56 ND2 ASN A 9 -0.887 -2.850 17.133 1.00105.47 N +ATOM 57 N ILE A 10 3.073 -2.269 16.587 1.00 40.88 N +ATOM 58 CA ILE A 10 3.976 -3.337 16.187 1.00 40.88 C +ATOM 59 C ILE A 10 3.531 -4.697 16.730 1.00 40.88 C +ATOM 60 O ILE A 10 3.465 -4.900 17.944 1.00 70.73 O +ATOM 61 CB ILE A 10 5.399 -3.068 16.702 1.00 61.80 C +ATOM 62 CG1 ILE A 10 5.870 -1.693 16.253 1.00 61.80 C +ATOM 63 CG2 ILE A 10 6.343 -4.127 16.180 1.00 61.80 C +ATOM 64 CD1 ILE A 10 7.241 -1.341 16.788 1.00 61.80 C +ATOM 65 N ASP A 11 3.225 -5.621 15.824 1.00 68.81 N +ATOM 66 CA ASP A 11 2.802 -6.960 16.220 1.00 68.81 C +ATOM 67 C ASP A 11 3.892 -7.970 15.878 1.00 68.81 C +ATOM 68 O ASP A 11 4.569 -7.850 14.850 1.00 68.81 O +ATOM 69 CB ASP A 11 1.498 -7.342 15.537 1.00114.14 C +ATOM 70 CG ASP A 11 0.590 -8.125 16.449 1.00114.14 C +ATOM 71 OD1 ASP A 11 1.008 -9.205 16.916 1.00114.14 O +ATOM 72 OD2 ASP A 11 -0.534 -7.651 16.712 1.00114.14 O +ATOM 73 N ASP A 12 4.055 -8.971 16.737 1.00 70.35 N +ATOM 74 CA ASP A 12 5.107 -9.950 16.527 1.00 70.35 C +ATOM 75 C ASP A 12 4.970 -11.157 17.446 1.00 70.35 C +ATOM 76 O ASP A 12 5.649 -11.243 18.468 1.00 70.35 O +ATOM 77 CB ASP A 12 6.462 -9.264 16.752 1.00 53.31 C +ATOM 78 CG ASP A 12 7.632 -10.096 16.286 1.00 53.31 C +ATOM 79 OD1 ASP A 12 7.496 -10.774 15.243 1.00 53.31 O +ATOM 80 OD2 ASP A 12 8.697 -10.045 16.944 1.00 53.31 O +ATOM 81 N ASN A 13 4.090 -12.081 17.079 1.00 96.17 N +ATOM 82 CA ASN A 13 3.876 -13.307 17.848 1.00 96.17 C +ATOM 83 C ASN A 13 3.792 -13.129 19.361 1.00 96.17 C +ATOM 84 O ASN A 13 4.817 -12.980 20.028 1.00 96.17 O +ATOM 85 CB ASN A 13 4.988 -14.315 17.550 1.00100.93 C +ATOM 86 CG ASN A 13 5.349 -14.363 16.087 1.00100.93 C +ATOM 87 OD1 ASN A 13 5.977 -13.444 15.562 1.00100.93 O +ATOM 88 ND2 ASN A 13 4.947 -15.434 15.413 1.00100.93 N +ATOM 89 N GLY A 14 2.572 -13.164 19.895 1.00130.92 N +ATOM 90 CA GLY A 14 2.371 -13.029 21.330 1.00130.92 C +ATOM 91 C GLY A 14 2.938 -11.774 21.965 1.00130.92 C +ATOM 92 O GLY A 14 3.099 -11.711 23.185 1.00130.92 O +ATOM 93 N LYS A 15 3.245 -10.775 21.143 1.00 68.27 N +ATOM 94 CA LYS A 15 3.790 -9.520 21.640 1.00 68.27 C +ATOM 95 C LYS A 15 3.313 -8.363 20.774 1.00 68.27 C +ATOM 96 O LYS A 15 3.754 -8.207 19.639 1.00 68.27 O +ATOM 97 CB LYS A 15 5.329 -9.570 21.663 1.00 55.99 C +ATOM 98 N ASN A 16 2.400 -7.560 21.313 1.00 54.52 N +ATOM 99 CA ASN A 16 1.872 -6.404 20.600 1.00 54.52 C +ATOM 100 C ASN A 16 2.268 -5.109 21.338 1.00 54.52 C +ATOM 101 O ASN A 16 2.022 -4.958 22.538 1.00 54.52 O +ATOM 102 CB ASN A 16 0.347 -6.516 20.481 1.00102.09 C +ATOM 103 CG ASN A 16 -0.260 -5.401 19.643 1.00102.09 C +ATOM 104 OD1 ASN A 16 0.179 -5.140 18.522 1.00102.09 O +ATOM 105 ND2 ASN A 16 -1.284 -4.745 20.181 1.00102.09 N +ATOM 106 N PHE A 17 2.902 -4.187 20.617 1.00 42.25 N +ATOM 107 CA PHE A 17 3.318 -2.920 21.197 1.00 42.25 C +ATOM 108 C PHE A 17 2.488 -1.820 20.560 1.00 42.25 C +ATOM 109 O PHE A 17 2.326 -1.787 19.346 1.00 42.25 O +ATOM 110 CB PHE A 17 4.810 -2.682 20.947 1.00 34.85 C +ATOM 111 N ASP A 18 1.947 -0.934 21.394 1.00 45.89 N +ATOM 112 CA ASP A 18 1.124 0.181 20.939 1.00 45.89 C +ATOM 113 C ASP A 18 1.671 1.527 21.481 1.00 45.89 C +ATOM 114 O ASP A 18 1.496 1.855 22.652 1.00 45.89 O +ATOM 115 CB ASP A 18 -0.310 -0.037 21.406 1.00 89.81 C +ATOM 116 CG ASP A 18 -1.254 0.966 20.813 1.00 89.81 C +ATOM 117 OD1 ASP A 18 -1.419 0.953 19.573 1.00 89.81 O +ATOM 118 OD2 ASP A 18 -1.816 1.782 21.577 1.00 89.81 O +ATOM 119 N TYR A 19 2.343 2.290 20.623 1.00 43.94 N +ATOM 120 CA TYR A 19 2.936 3.578 20.999 1.00 43.94 C +ATOM 121 C TYR A 19 2.048 4.728 20.530 1.00 43.94 C +ATOM 122 O TYR A 19 1.694 4.814 19.360 1.00 78.71 O +ATOM 123 CB TYR A 19 4.329 3.734 20.373 1.00 87.94 C +ATOM 124 CG TYR A 19 5.347 2.679 20.778 1.00 87.94 C +ATOM 125 CD1 TYR A 19 6.083 2.805 21.954 1.00 87.94 C +ATOM 126 CD2 TYR A 19 5.578 1.553 19.977 1.00 87.94 C +ATOM 127 CE1 TYR A 19 7.029 1.837 22.327 1.00 87.94 C +ATOM 128 CE2 TYR A 19 6.521 0.577 20.342 1.00 87.94 C +ATOM 129 CZ TYR A 19 7.243 0.728 21.518 1.00 87.94 C +ATOM 130 OH TYR A 19 8.180 -0.218 21.886 1.00 87.94 O +ATOM 131 N THR A 20 1.691 5.609 21.457 1.00 50.11 N +ATOM 132 CA THR A 20 0.857 6.756 21.147 1.00 50.11 C +ATOM 133 C THR A 20 1.589 8.007 21.589 1.00 50.11 C +ATOM 134 O THR A 20 1.996 8.119 22.746 1.00 50.11 O +ATOM 135 CB THR A 20 -0.458 6.683 21.889 1.00 57.60 C +ATOM 136 OG1 THR A 20 -0.954 5.345 21.830 1.00 57.60 O +ATOM 137 CG2 THR A 20 -1.468 7.592 21.246 1.00 57.60 C +ATOM 138 N TYR A 21 1.784 8.929 20.649 1.00 57.65 N +ATOM 139 CA TYR A 21 2.468 10.196 20.916 1.00 57.65 C +ATOM 140 C TYR A 21 1.581 11.325 20.413 1.00 57.65 C +ATOM 141 O TYR A 21 0.683 11.120 19.599 1.00 57.65 O +ATOM 142 CB TYR A 21 3.799 10.331 20.154 1.00 63.74 C +ATOM 143 CG TYR A 21 4.810 9.204 20.258 1.00 63.74 C +ATOM 144 CD1 TYR A 21 4.560 7.953 19.684 1.00 63.74 C +ATOM 145 CD2 TYR A 21 6.060 9.422 20.845 1.00 63.74 C +ATOM 146 CE1 TYR A 21 5.525 6.959 19.691 1.00 63.74 C +ATOM 147 CE2 TYR A 21 7.031 8.434 20.854 1.00 63.74 C +ATOM 148 CZ TYR A 21 6.759 7.209 20.271 1.00 63.74 C +ATOM 149 OH TYR A 21 7.735 6.240 20.243 1.00 63.74 O +ATOM 150 N THR A 22 1.867 12.525 20.893 1.00 67.33 N +ATOM 151 CA THR A 22 1.136 13.706 20.489 1.00 67.33 C +ATOM 152 C THR A 22 2.205 14.758 20.356 1.00 67.33 C +ATOM 153 O THR A 22 2.833 15.129 21.342 1.00 67.33 O +ATOM 154 CB THR A 22 0.144 14.146 21.558 1.00 65.03 C +ATOM 155 OG1 THR A 22 -0.589 13.007 22.026 1.00 65.03 O +ATOM 156 CG2 THR A 22 -0.826 15.159 20.984 1.00 65.03 C +ATOM 157 N VAL A 23 2.444 15.212 19.135 1.00 71.70 N +ATOM 158 CA VAL A 23 3.462 16.223 18.921 1.00 71.70 C +ATOM 159 C VAL A 23 2.881 17.499 18.343 1.00 71.70 C +ATOM 160 O VAL A 23 1.714 17.547 17.935 1.00 71.70 O +ATOM 161 CB VAL A 23 4.574 15.719 17.970 1.00 70.78 C +ATOM 162 CG1 VAL A 23 5.298 14.540 18.591 1.00 70.78 C +ATOM 163 CG2 VAL A 23 3.976 15.342 16.638 1.00 70.78 C +ATOM 164 N THR A 24 3.717 18.531 18.327 1.00 83.96 N +ATOM 165 CA THR A 24 3.369 19.839 17.793 1.00 83.96 C +ATOM 166 C THR A 24 4.686 20.523 17.473 1.00 83.96 C +ATOM 167 O THR A 24 5.175 21.315 18.270 1.00 83.96 O +ATOM 168 CB THR A 24 2.604 20.696 18.831 1.00 95.26 C +ATOM 169 OG1 THR A 24 1.323 20.110 19.084 1.00 95.26 O +ATOM 170 CG2 THR A 24 2.399 22.114 18.317 1.00 95.26 C +ATOM 171 N THR A 25 5.280 20.203 16.327 1.00136.13 N +ATOM 172 CA THR A 25 6.552 20.818 15.953 1.00136.13 C +ATOM 173 C THR A 25 7.033 20.385 14.576 1.00136.13 C +ATOM 174 O THR A 25 7.608 21.179 13.834 1.00136.13 O +ATOM 175 CB THR A 25 7.703 20.449 16.943 1.00146.88 C +ATOM 176 OG1 THR A 25 7.172 20.180 18.244 1.00146.88 O +ATOM 177 CG2 THR A 25 8.697 21.598 17.058 1.00146.88 C +ATOM 178 N GLU A 26 6.796 19.119 14.247 1.00187.15 N +ATOM 179 CA GLU A 26 7.267 18.538 12.994 1.00187.15 C +ATOM 180 C GLU A 26 8.782 18.481 13.170 1.00187.15 C +ATOM 181 O GLU A 26 9.508 17.917 12.351 1.00187.15 O +ATOM 182 CB GLU A 26 6.892 19.396 11.781 1.00134.71 C +ATOM 183 CG GLU A 26 7.383 18.807 10.458 1.00 97.04 C +ATOM 184 CD GLU A 26 6.713 19.422 9.243 1.00 97.04 C +ATOM 185 OE1 GLU A 26 6.740 20.662 9.115 1.00 97.04 O +ATOM 186 OE2 GLU A 26 6.165 18.662 8.416 1.00 97.04 O +ATOM 187 N SER A 27 9.234 19.085 14.266 1.00114.54 N +ATOM 188 CA SER A 27 10.637 19.110 14.647 1.00114.54 C +ATOM 189 C SER A 27 10.764 18.025 15.711 1.00114.54 C +ATOM 190 O SER A 27 11.634 17.158 15.624 1.00114.54 O +ATOM 191 CB SER A 27 11.008 20.463 15.229 1.00116.53 C +ATOM 192 N GLU A 28 9.885 18.071 16.713 1.00113.18 N +ATOM 193 CA GLU A 28 9.900 17.055 17.762 1.00113.18 C +ATOM 194 C GLU A 28 9.258 15.810 17.168 1.00113.18 C +ATOM 195 O GLU A 28 9.094 14.794 17.842 1.00200.03 O +ATOM 196 CB GLU A 28 9.116 17.505 19.003 1.00112.19 C +ATOM 197 CG GLU A 28 7.596 17.557 18.841 1.00112.19 C +ATOM 198 CD GLU A 28 6.879 17.960 20.129 1.00112.19 C +ATOM 199 OE1 GLU A 28 5.778 18.547 20.047 1.00112.19 O +ATOM 200 OE2 GLU A 28 7.407 17.679 21.226 1.00112.19 O +ATOM 201 N LEU A 29 8.883 15.919 15.895 1.00 97.20 N +ATOM 202 CA LEU A 29 8.286 14.820 15.147 1.00 97.20 C +ATOM 203 C LEU A 29 9.475 14.012 14.649 1.00 97.20 C +ATOM 204 O LEU A 29 9.456 12.784 14.643 1.00 97.20 O +ATOM 205 CB LEU A 29 7.493 15.350 13.947 1.00 66.59 C +ATOM 206 CG LEU A 29 6.452 14.423 13.296 1.00 66.59 C +ATOM 207 CD1 LEU A 29 6.087 14.961 11.915 1.00 66.59 C +ATOM 208 CD2 LEU A 29 6.997 13.012 13.162 1.00 66.59 C +ATOM 209 N GLN A 30 10.512 14.723 14.225 1.00113.13 N +ATOM 210 CA GLN A 30 11.724 14.081 13.747 1.00113.13 C +ATOM 211 C GLN A 30 12.310 13.296 14.916 1.00113.13 C +ATOM 212 O GLN A 30 13.031 12.315 14.725 1.00113.13 O +ATOM 213 CB GLN A 30 12.718 15.135 13.256 1.00 67.53 C +ATOM 214 N LYS A 31 11.984 13.738 16.128 1.00 75.23 N +ATOM 215 CA LYS A 31 12.465 13.094 17.348 1.00 75.23 C +ATOM 216 C LYS A 31 11.731 11.776 17.556 1.00 75.23 C +ATOM 217 O LYS A 31 12.331 10.751 17.887 1.00 75.23 O +ATOM 218 CB LYS A 31 12.247 14.016 18.550 1.00 80.64 C +ATOM 219 N VAL A 32 10.420 11.824 17.360 1.00 56.38 N +ATOM 220 CA VAL A 32 9.562 10.658 17.497 1.00 56.38 C +ATOM 221 C VAL A 32 9.898 9.703 16.364 1.00 56.38 C +ATOM 222 O VAL A 32 10.051 8.496 16.569 1.00 56.38 O +ATOM 223 CB VAL A 32 8.090 11.065 17.376 1.00 46.58 C +ATOM 224 CG1 VAL A 32 7.202 9.830 17.366 1.00 46.58 C +ATOM 225 CG2 VAL A 32 7.725 12.000 18.532 1.00 46.58 C +ATOM 226 N LEU A 33 10.016 10.262 15.162 1.00 55.92 N +ATOM 227 CA LEU A 33 10.340 9.470 13.992 1.00 55.92 C +ATOM 228 C LEU A 33 11.608 8.685 14.235 1.00 55.92 C +ATOM 229 O LEU A 33 11.579 7.454 14.286 1.00 55.92 O +ATOM 230 CB LEU A 33 10.523 10.363 12.773 1.00 52.98 C +ATOM 231 CG LEU A 33 9.242 10.835 12.080 1.00 52.98 C +ATOM 232 CD1 LEU A 33 9.641 11.471 10.750 1.00 52.98 C +ATOM 233 CD2 LEU A 33 8.273 9.666 11.846 1.00 52.98 C +ATOM 234 N ASN A 34 12.719 9.404 14.389 1.00 69.48 N +ATOM 235 CA ASN A 34 14.011 8.779 14.631 1.00 69.48 C +ATOM 236 C ASN A 34 13.870 7.727 15.722 1.00 69.48 C +ATOM 237 O ASN A 34 14.350 6.605 15.584 1.00 69.48 O +ATOM 238 CB ASN A 34 15.039 9.844 15.038 1.00 46.71 C +ATOM 239 N GLU A 35 13.180 8.098 16.795 1.00 62.44 N +ATOM 240 CA GLU A 35 12.972 7.212 17.938 1.00 62.44 C +ATOM 241 C GLU A 35 12.233 5.917 17.574 1.00 62.44 C +ATOM 242 O GLU A 35 12.580 4.830 18.057 1.00 62.44 O +ATOM 243 CB GLU A 35 12.207 7.956 19.039 1.00129.81 C +ATOM 244 CG GLU A 35 11.750 7.084 20.206 1.00114.46 C +ATOM 245 CD GLU A 35 11.028 7.870 21.289 1.00114.46 C +ATOM 246 OE1 GLU A 35 10.356 7.237 22.131 1.00114.46 O +ATOM 247 OE2 GLU A 35 11.141 9.116 21.298 1.00114.46 O +ATOM 248 N LEU A 36 11.213 6.021 16.730 1.00 59.14 N +ATOM 249 CA LEU A 36 10.469 4.828 16.342 1.00 59.14 C +ATOM 250 C LEU A 36 11.321 3.923 15.466 1.00 59.14 C +ATOM 251 O LEU A 36 11.229 2.702 15.544 1.00 59.14 O +ATOM 252 CB LEU A 36 9.217 5.227 15.613 1.00 61.28 C +HETATM 253 N MSE A 37 12.136 4.544 14.621 1.00 45.85 N +HETATM 254 CA MSE A 37 13.021 3.824 13.725 1.00 45.85 C +HETATM 255 C MSE A 37 13.869 2.835 14.511 1.00 45.85 C +HETATM 256 O MSE A 37 14.082 1.700 14.085 1.00 45.85 O +HETATM 257 CB MSE A 37 13.922 4.804 12.968 1.00 57.27 C +HETATM 258 CG MSE A 37 13.203 5.576 11.873 1.00 57.27 C +HETATM 259 SE MSE A 37 14.347 6.471 10.802 1.00 57.27 SE +HETATM 260 CE MSE A 37 14.638 5.266 9.472 1.00 57.27 C +ATOM 261 N ASP A 38 14.338 3.255 15.679 1.00 56.30 N +ATOM 262 CA ASP A 38 15.156 2.372 16.497 1.00 56.30 C +ATOM 263 C ASP A 38 14.343 1.250 17.135 1.00 56.30 C +ATOM 264 O ASP A 38 14.695 0.070 17.008 1.00 56.30 O +ATOM 265 CB ASP A 38 15.901 3.179 17.556 1.00 94.79 C +ATOM 266 CG ASP A 38 16.859 4.191 16.942 1.00 94.79 C +ATOM 267 OD1 ASP A 38 17.680 3.809 16.079 1.00 94.79 O +ATOM 268 OD2 ASP A 38 16.791 5.377 17.317 1.00 94.79 O +ATOM 269 N TYR A 39 13.249 1.597 17.806 1.00 57.17 N +ATOM 270 CA TYR A 39 12.420 0.561 18.424 1.00 57.17 C +ATOM 271 C TYR A 39 12.126 -0.564 17.425 1.00 57.17 C +ATOM 272 O TYR A 39 12.195 -1.745 17.771 1.00104.80 O +ATOM 273 CB TYR A 39 11.086 1.135 18.915 1.00 92.26 C +ATOM 274 CG TYR A 39 11.163 2.049 20.123 1.00 92.26 C +ATOM 275 CD1 TYR A 39 11.708 1.607 21.333 1.00 92.26 C +ATOM 276 CD2 TYR A 39 10.645 3.346 20.069 1.00 92.26 C +ATOM 277 CE1 TYR A 39 11.732 2.439 22.460 1.00 92.26 C +ATOM 278 CE2 TYR A 39 10.661 4.179 21.186 1.00 92.26 C +ATOM 279 CZ TYR A 39 11.204 3.724 22.373 1.00 92.26 C +ATOM 280 OH TYR A 39 11.218 4.565 23.462 1.00 92.26 O +ATOM 281 N ILE A 40 11.805 -0.192 16.186 1.00 75.79 N +ATOM 282 CA ILE A 40 11.467 -1.188 15.177 1.00 75.79 C +ATOM 283 C ILE A 40 12.677 -1.933 14.605 1.00 75.79 C +ATOM 284 O ILE A 40 12.570 -3.121 14.295 1.00 75.79 O +ATOM 285 CB ILE A 40 10.603 -0.569 14.031 1.00 76.70 C +ATOM 286 CG1 ILE A 40 11.482 0.006 12.931 1.00 76.70 C +ATOM 287 CG2 ILE A 40 9.709 0.512 14.582 1.00 76.70 C +ATOM 288 CD1 ILE A 40 11.700 -0.961 11.782 1.00 76.70 C +ATOM 289 N LYS A 41 13.817 -1.255 14.454 1.00 65.22 N +ATOM 290 CA LYS A 41 15.015 -1.937 13.960 1.00 65.22 C +ATOM 291 C LYS A 41 15.238 -3.089 14.927 1.00 65.22 C +ATOM 292 O LYS A 41 15.336 -4.253 14.534 1.00 65.22 O +ATOM 293 CB LYS A 41 16.245 -1.024 13.999 1.00 66.42 C +ATOM 294 CG LYS A 41 16.441 -0.159 12.762 1.00 66.42 C +ATOM 295 CD LYS A 41 17.635 0.777 12.923 1.00 66.42 C +ATOM 296 CE LYS A 41 17.801 1.692 11.713 1.00 66.42 C +ATOM 297 NZ LYS A 41 18.856 2.725 11.913 1.00 66.42 N +ATOM 298 N LYS A 42 15.287 -2.736 16.207 1.00 55.06 N +ATOM 299 CA LYS A 42 15.498 -3.693 17.278 1.00 55.06 C +ATOM 300 C LYS A 42 14.502 -4.852 17.267 1.00 55.06 C +ATOM 301 O LYS A 42 14.892 -6.013 17.198 1.00 55.06 O +ATOM 302 CB LYS A 42 15.437 -2.966 18.625 1.00200.03 C +ATOM 303 CG LYS A 42 15.692 -3.852 19.830 1.00186.63 C +ATOM 304 CD LYS A 42 15.652 -3.051 21.117 1.00186.63 C +ATOM 305 CE LYS A 42 15.900 -3.945 22.320 1.00139.05 C +ATOM 306 NZ LYS A 42 17.216 -4.640 22.230 1.00139.05 N +HETATM 1 N1 TES B 1 0.000 0.000 0.000 1.00 0.00 N +HETATM 2 C11 TES B 1 1.501 0.000 0.000 1.00 0.00 C +HETATM 3 C6 TES B 1 2.184 1.223 0.000 1.00 0.00 C +HETATM 4 C4 TES B 1 3.592 1.301 -0.042 1.00 0.00 C +HETATM 5 C10 TES B 1 4.424 0.140 -0.083 1.00 0.00 C +HETATM 6 C5 TES B 1 3.732 -1.109 -0.103 1.00 0.00 C +HETATM 7 C7 TES B 1 2.320 -1.178 -0.055 1.00 0.00 C +HETATM 8 C14 TES B 1 5.969 0.347 -0.180 1.00 0.00 C +HETATM 9 C16 TES B 1 6.768 -0.576 0.748 1.00 0.00 C +HETATM 10 F4 TES B 1 8.098 -0.293 0.674 1.00 0.00 F +HETATM 11 F5 TES B 1 6.322 -0.429 2.003 1.00 0.00 F +HETATM 12 F6 TES B 1 6.600 -1.879 0.482 1.00 0.00 F +HETATM 13 C17 TES B 1 6.373 -0.037 -1.648 1.00 0.00 C +HETATM 14 F7 TES B 1 6.010 -1.309 -1.979 1.00 0.00 F +HETATM 15 F8 TES B 1 5.725 0.766 -2.536 1.00 0.00 F +HETATM 16 F9 TES B 1 7.684 0.033 -1.981 1.00 0.00 F +HETATM 17 O3 TES B 1 6.414 1.711 0.087 1.00 0.00 O +HETATM 18 C13 TES B 1 -0.547 -0.935 1.075 1.00 0.00 C +HETATM 19 C15 TES B 1 -0.570 -0.253 2.398 1.00 0.00 C +HETATM 20 F1 TES B 1 -1.301 -1.021 3.221 1.00 0.00 F +HETATM 21 F2 TES B 1 -1.068 0.989 2.375 1.00 0.00 F +HETATM 22 F3 TES B 1 0.643 -0.099 2.886 1.00 0.00 F +HETATM 23 S1 TES B 1 -0.878 -0.120 -1.570 1.00 0.00 S +HETATM 24 C12 TES B 1 -0.724 -1.818 -2.066 1.00 0.00 C +HETATM 25 C8 TES B 1 -1.751 -2.772 -1.741 1.00 0.00 C +HETATM 26 C2 TES B 1 -1.620 -4.128 -2.124 1.00 0.00 C +HETATM 27 C1 TES B 1 -0.468 -4.530 -2.824 1.00 0.00 C +HETATM 28 C3 TES B 1 0.553 -3.573 -3.130 1.00 0.00 C +HETATM 29 C9 TES B 1 0.436 -2.209 -2.753 1.00 0.00 C +HETATM 30 O1 TES B 1 -0.327 0.568 -2.683 1.00 0.00 O +HETATM 31 O2 TES B 1 -2.286 0.192 -1.475 1.00 0.00 O diff --git a/source/test/core/io/pose_from_sfr/PoseFromSFRBuilder.cxxtest.hh b/source/test/core/io/pose_from_sfr/PoseFromSFRBuilder.cxxtest.hh index 5162f5752c..ebf4eb5a69 100644 --- a/source/test/core/io/pose_from_sfr/PoseFromSFRBuilder.cxxtest.hh +++ b/source/test/core/io/pose_from_sfr/PoseFromSFRBuilder.cxxtest.hh @@ -25,7 +25,8 @@ #include #include #include -#include +#include +#include #include #include #include @@ -289,6 +290,43 @@ public: TS_ASSERT( pose4->residue_type(resNC).is_upper_terminus() ); } + /// @brief Test if we can read in a structure with a ligand with a three letter code which matches an NCAA + void test_read_overlapping_3_letter_codes() { + pose::Pose pose; + core::io::StructFileReaderOptions options; + std::string file_contents = utility::file_contents( "core/io/pose_from_sfr/NOT_TES.pdb" ); + core::io::StructFileRep sfr = core::io::pdb::create_sfr_from_pdb_file_contents( file_contents, options ); + chemical::ResidueTypeSetCOP fa_standard + ( chemical::ChemicalManager::get_instance()->residue_type_set( chemical::FA_STANDARD ) ); + + TS_ASSERT( fa_standard->has_name("TES") ); + TS_ASSERT_EQUALS( fa_standard->name_map("TES").name(), "TES" ); + TS_ASSERT_DIFFERS( fa_standard->name_map("TES").upper_connect_id(), 0 ); + TS_ASSERT_DIFFERS( fa_standard->name_map("TES").lower_connect_id(), 0 ); + + TS_ASSERT( fa_standard->has_name("TES:CtermProteinFull:NtermProteinFull") ); + TS_ASSERT_EQUALS( fa_standard->name_map("TES:CtermProteinFull:NtermProteinFull").upper_connect_id(), 0 ); + TS_ASSERT_EQUALS( fa_standard->name_map("TES:CtermProteinFull:NtermProteinFull").lower_connect_id(), 0 ); + TS_ASSERT( fa_standard->name_map("TES:CtermProteinFull:NtermProteinFull").has_property( chemical::LOWER_TERMINUS ) ); + TS_ASSERT( fa_standard->name_map("TES:CtermProteinFull:NtermProteinFull").has_property( chemical::UPPER_TERMINUS ) ); + + chemical::PoseResidueTypeSetOP residue_set = utility::pointer::make_shared< core::chemical::PoseResidueTypeSet >(fa_standard); + residue_set->add_base_residue_type( "core/io/pose_from_sfr/NOT_TES.params" ); + + TS_ASSERT( residue_set->has_name("MY_TES") ); + + PoseFromSFRBuilder pb( residue_set, options ); + pb.build_pose( sfr, pose ); + + TS_ASSERT_EQUALS( pose.size(), 41 ); + TS_ASSERT_EQUALS( pose.residue_type(41).name3(), "TES" ); + TS_ASSERT_EQUALS( pose.residue_type(41).name(), "MY_TES" ); + TS_ASSERT_EQUALS( pose.residue_type(41).upper_connect_id(), 0 ); + TS_ASSERT_EQUALS( pose.residue_type(41).lower_connect_id(), 0 ); + TS_ASSERT( !pose.residue_type(41).has_property( chemical::LOWER_TERMINUS ) ); // Not formally annotated as such + TS_ASSERT( !pose.residue_type(41).has_property( chemical::UPPER_TERMINUS ) ); + } + /// @brief utility function for pose comparison void compare_poses( core::pose::Pose const & plain, core::pose::Pose const & fast, std::string const & filename ) { // Basic check to see if we got poses of the same size diff --git a/tests/integration/tests/simple_metrics_b_factor/inputs/rosetta.flags b/tests/integration/tests/simple_metrics_b_factor/inputs/rosetta.flags index fa3a2c5b97..9b150331d2 100644 --- a/tests/integration/tests/simple_metrics_b_factor/inputs/rosetta.flags +++ b/tests/integration/tests/simple_metrics_b_factor/inputs/rosetta.flags @@ -1,2 +1,5 @@ -in:file:s inputs/3gml.pdb +-include_sugars +-alternate_3_letter_codes pdb_sugar +-write_glycan_pdb_codes -parser:protocol inputs/test_simple_metrics_b_factor.xml