/// \brief TODOCUMENT alignment cath::align::residue_name_align_and_residue_score_if_multi(const residue_name_vec_vec &arg_residue_lists, ///< TODOCUMENT const residue_scorer &arg_residue_scorer, ///< TODOCUMENT const protein_list &arg_proteins ///< TODOCUMENT ) { const size_t num_proteins = arg_proteins.size(); return (num_proteins > 1) ? residue_name_align_and_residue_score( arg_residue_lists, arg_residue_scorer, arg_proteins ) : residue_name_aligner::residue_name_align( arg_residue_lists ); }
pair<record_scores_scan_action, scan_metrics> single_pair::do_perform_scan(const protein_list &arg_query_protein_list, ///< TODOCUMENT, const protein_list &arg_match_protein_list ///< TODOCUMENT ) const { if ( arg_query_protein_list.size() != 1 || arg_match_protein_list.size() != 1 ) { BOOST_THROW_EXCEPTION(invalid_argument_exception("Unable to perform single_pair scan because the two protein_lists don't both contain one entry")); } const auto angle_radius = make_angle_from_degrees<detail::angle_base_type>( 120 ); const auto the_scan_policy = make_scan_policy( make_res_pair_keyer( res_pair_from_phi_keyer_part { angle_radius }, res_pair_from_psi_keyer_part { angle_radius }, res_pair_to_phi_keyer_part { angle_radius }, res_pair_to_psi_keyer_part { angle_radius }, res_pair_index_dirn_keyer_part{}, // res_pair_orient_keyer_part {}, res_pair_view_x_keyer_part { 12.65f }, res_pair_view_y_keyer_part { 12.65f }, res_pair_view_z_keyer_part { 12.65f } ), make_default_quad_criteria(), scan_stride{ 4, 4, 2, 2 } ); const auto the_query_set = make_scan_query_set( the_scan_policy, arg_query_protein_list ); const auto the_index = make_scan_index ( the_scan_policy, arg_match_protein_list ); record_scores_scan_action the_action( arg_query_protein_list.size(), arg_match_protein_list.size() ); const auto scan_duration = the_query_set.do_magic( the_index, the_action ); // BOOST_LOG_TRIVIAL( warning ) << "Did magic - took " << do_magic_durn << "s (" << 1.0 / do_magic_durn << "/s)"; const scan_metrics the_metrics{ the_query_set.get_structures_build_durn_and_size(), the_query_set.get_index_build_durn_and_size(), the_index.get_structures_build_durn_and_size(), the_index.get_index_build_durn_and_size(), scan_duration }; return make_pair( the_action, the_metrics ); }
/// \brief Parse a FASTA format input into an alignment /// /// This version of read_alignment_from_fasta() doesn't take names to find within the parsed IDS /// so it is less safe than the other version. /// /// \relates alignment alignment cath::align::read_alignment_from_fasta(istream &arg_istream, ///< The istream from which to read the FASTA input for parsing const protein_list &arg_proteins, ///< TODOCUMENT ostream &arg_stderr ///< An ostream to which any warnings should be output (currently unused) ) { return read_alignment_from_fasta( arg_istream, get_amino_acid_lists( arg_proteins ), str_vec( arg_proteins.size() ), arg_stderr ); }
/// \brief Parse a FASTA format input into an alignment /// /// This version of read_alignment_from_fasta() doesn't take names to find within the parsed IDS /// so it is less safe than the other version. /// /// \relates alignment alignment cath::align::read_alignment_from_fasta_file(const path &arg_fasta_file, ///< The file from which to read the FASTA input for parsing const protein_list &arg_proteins, ///< TODOCUMENT ostream &arg_stderr ///< An ostream to which any warnings should be output (currently unused) ) { return read_alignment_from_fasta_file( arg_fasta_file, arg_proteins, str_vec( arg_proteins.size() ), arg_stderr ); }