int main(int argc, char** argv) { try { RMF_ADD_INPUT_FILE("rmf"); process_options(argc, argv); RMF::FileConstHandle rh = RMF::open_rmf_file_read_only(input); RMF::show_frames(rh, std::cout); return 0; } catch (const std::exception& e) { std::cerr << "Error: " << e.what() << std::endl; } }
int main(int argc, char** argv) { try { RMF_ADD_INPUT_FILE("rmf"); RMF_ADD_OUTPUT_FILE("rmf"); int num_frames = 0; double noise = 0, angle_noise = 0; int max_frames = -1; options.add_options()( "number-interpolated", boost::program_options::value<int>(&num_frames), "How many frames to insert between each original frame")( "coordinate_noise", boost::program_options::value<double>(&noise), "How much (gaussian) noise to add to each generated coordinate.")( "angular_noise", boost::program_options::value<double>(&angle_noise), "How much (gaussian) noise to add to each generated quaternion.")( "frame_limit", boost::program_options::value<int>(&max_frames), "Limits how many frames are output, for testing."); process_options(argc, argv); RMF::FileConstHandle irh0 = RMF::open_rmf_file_read_only(input); RMF::FileConstHandle irh1 = RMF::open_rmf_file_read_only(input); RMF::FileHandle orh = RMF::create_rmf_file(output); orh.set_producer("rmf_interpolate"); orh.set_description(std::string("Interpolation between frames of ") + input); RMF::clone_hierarchy(irh0, orh); RMF::clone_static_frame(irh0, orh); for (unsigned int j = 0; j < irh0.get_number_of_frames() - 1; ++j) { std::cout << "Processing frame " << j << std::endl; irh0.set_current_frame(RMF::FrameID(j)); irh1.set_current_frame(RMF::FrameID(j + 1)); orh.add_frame(irh0.get_name(RMF::FrameID(j)), RMF::FRAME); RMF::clone_loaded_frame(irh0, orh); if (j + 1 < irh0.get_number_of_frames()) { interpolate_frames(num_frames, noise, angle_noise, irh0, irh1, orh); } if (max_frames > 0 && orh.get_number_of_frames() > static_cast<unsigned int>(max_frames)) { return 1; } } irh0.set_current_frame(RMF::FrameID(irh0.get_number_of_frames() - 1)); RMF::clone_loaded_frame(irh0, orh); return 0; } catch (const std::exception& e) { std::cerr << "Error: " << e.what() << std::endl; } }
int main(int argc, char** argv) { try { RMF_ADD_INPUT_FILE("rmf"); RMF_ADD_OUTPUT_FILE("xml"); int frame = 0; options.add_options()("frame,f", boost::program_options::value<int>(&frame), "Frame to use, if -1 just show static data")( "verbose,v", "Show the attribute values for each node."); process_options(argc, argv); RMF::FileConstHandle rh = RMF::open_rmf_file_read_only(input); std::ostream* out; std::ofstream fout; if (!output.empty()) { fout.open(output.c_str()); if (!fout) { std::cerr << "Error opening file " << output << std::endl; return 1; } out = &fout; } else { out = &std::cout; } RMF::Categories cs = rh.get_categories(); *out << "<?xml version=\"1.0\"?>\n"; *out << "<rmf>\n"; *out << "<description>\n"; *out << rh.get_description() << std::endl; *out << "</description>\n"; *out << "<path>\n"; *out << input << std::endl; *out << "</path>\n"; std::set<RMF::NodeConstHandle> seen; rh.set_current_frame(RMF::FrameID(frame)); show_hierarchy(rh.get_root_node(), cs, seen, *out); *out << "</rmf>\n"; return 0; } catch (const std::exception& e) { std::cerr << "Error: " << e.what() << std::endl; } }
int main(int argc, char **argv) { try { RMF_ADD_INPUT_FILE("rmf"); process_options(argc, argv); RMF::FileConstHandle rh = RMF::open_rmf_file_read_only(input); for (unsigned int i = 0; i < rh.get_number_of_frames(); ++i) { rh.set_current_frame(i); std::string cmt = rh.get_current_frame().get_name(); if (!cmt.empty()) { std::cout << i << ": " << cmt << std::endl; } } return 0; } catch (const std::exception &e) { std::cerr << "Error: " << e.what() << std::endl; } }
int main(int argc, char** argv) { try { RMF_ADD_INPUT_FILE("rmf"); process_options(argc, argv); if (boost::algorithm::ends_with(input, ".rmf2") && boost::filesystem::exists(boost::filesystem::path(input) / "file")) { boost::filesystem::rename( boost::filesystem::path(input) / "file", boost::filesystem::path(input) / "file.rmf2info"); std::cout << "Updated" << std::endl; } else { std::cout << "Nothing to do" << std::endl; } } catch (const std::exception& e) { std::cerr << "Error: " << e.what() << std::endl; } return 0; }
int main(int argc, char** argv) { try { RMF_ADD_INPUT_FILE("rmf"); RMF_ADD_OUTPUT_FILE("pdb"); RMF_ADD_FRAMES; process_options(argc, argv); RMF::FileConstHandle rh = RMF::open_rmf_file_read_only(input); std::ostream* out; std::ofstream fout; if (!output.empty()) { fout.open(output.c_str()); if (!fout) { std::cerr << "Error opening file " << output << std::endl; return 1; } out = &fout; } else { out = &std::cout; } RMF::decorator::IntermediateParticleFactory ipf(rh); RMF::decorator::AtomFactory af(rh); RMF::decorator::ChainFactory cf(rh); RMF::decorator::ResidueFactory rf(rh); RMF::NodeConstHandle rn = rh.get_root_node(); for (unsigned int input_frame = start_frame, output_frame = 0; input_frame < rh.get_number_of_frames(); input_frame += step_frame, ++output_frame) { rh.set_current_frame(RMF::FrameID(input_frame)); *out << (boost::format("MODEL%1$9d") % (output_frame + 1)) << std::endl; write_atoms(*out, 0, rn, ipf, af, cf, rf); *out << "ENDMDL" << output_frame + 1 << std::endl; } return 0; } catch (const std::exception& e) { std::cerr << "Error: " << e.what() << std::endl; } }