16 #include <core/types.hh>
19 #include <core/conformation/Residue.hh>
20 #include <core/chemical/ChemicalManager.hh>
21 #include <core/pose/Pose.hh>
22 #include <core/scoring/rms_util.hh>
24 #include <core/import_pose/pose_stream/PoseInputStream.hh>
25 #include <core/import_pose/pose_stream/PoseInputStream.fwd.hh>
26 #include <core/import_pose/pose_stream/PDBPoseInputStream.hh>
28 #include <core/id/AtomID.hh>
29 #include <core/id/AtomID_Map.hh>
35 #include <core/sequence/util.hh>
36 #include <core/id/SequenceMapping.hh>
37 #include <core/sequence/SequenceAlignment.hh>
45 #include <basic/options/keys/in.OptionKeys.gen.hh>
46 #include <basic/options/keys/cm.OptionKeys.gen.hh>
47 #include <basic/options/keys/out.OptionKeys.gen.hh>
49 #include <core/pose/util.hh>
52 #include <core/pose/util.tmpl.hh>
55 main(
int argc,
char * argv [] ) {
58 using namespace core::chemical;
59 using namespace basic::options::OptionKeys;
61 using namespace core::import_pose::pose_stream;
63 using core::id::AtomID;
64 using core::id::AtomID_Map;
66 using core::id::SequenceMapping;
67 using core::sequence::SequenceAlignment;
72 ResidueTypeSetCOP rsd_set =
73 ChemicalManager::get_instance()->residue_type_set(
"fa_standard" );
78 pdb_input->fill_pose( pose1, *rsd_set );
79 pdb_input->fill_pose(
pose2, *rsd_set );
83 option[ cm::aln_format ](), align_fns.front()
86 SequenceAlignment aln = alns.front();
87 SequenceMapping mapping = aln.sequence_mapping(1,2);
96 for (
Size ii = 1;
ii <= pose1.total_residue(); ++
ii ) {
101 AtomID_Map< AtomID > atom_map;
102 core::pose::initialize_atomid_map( atom_map, pose1, core::id::BOGUS_ATOM_ID );
105 Size const templ_ii( mapping[*it] );
106 if ( templ_ii == 0 ) {
109 if ( ! pose1.residue(*it).has(
"CA") )
continue;
110 if ( !
pose2.residue(templ_ii).has(
"CA") )
continue;
112 AtomID
const id1( pose1.residue(*it).atom_index(
"CA"), *it );
113 AtomID
const id2(
pose2.residue(templ_ii).atom_index(
"CA"), templ_ii );
114 atom_map.set( id1, id2 );
117 using core::scoring::superimpose_pose;
121 superimpose_pose( pose1,
pose2, atom_map );
123 std::string output_name( fns[1] +
".super.pdb" );
125 output_name =
option[ out::file::o ]();
127 pose1.dump_pdb( output_name );
128 std::cout <<
"wrote pdb with name " << output_name << std::endl;
130 std::cout <<
"caught exception " << e.
msg() << std::endl;
virtual std::string const msg() const
void init(int argc, char *argv[])
Command line init() version.
BooleanOptionKey const user("options:user")
utility::keys::lookup::end< KeyType > const end
common derived classes for thrown exceptions
int main(int argc, char *argv[])
std::vector with 1-based indexing
rule< Scanner, options_closure::context_t > options
ocstream cout(std::cout)
Wrapper around std::cout.
vector1: std::vector with 1-based indexing
Program options global and initialization function.
Fast (x,y,z)-coordinate numeric vector.
rule< Scanner, option_closure::context_t > option