Rosetta
Macros | Functions
bettercluster.cc File Reference
#include <protocols/simple_moves/ScoreMover.hh>
#include <core/scoring/ScoreFunction.hh>
#include <core/pose/util.hh>
#include <core/scoring/symmetry/SymmetricScoreFunction.hh>
#include <core/scoring/ScoreFunctionFactory.hh>
#include <core/chemical/ChemicalManager.hh>
#include <core/import_pose/import_pose.hh>
#include <core/id/TorsionID.hh>
#include <protocols/cluster/cluster.hh>
#include <protocols/loops/Loops.hh>
#include <core/import_pose/pose_stream/MetaPoseInputStream.hh>
#include <core/import_pose/pose_stream/util.hh>
#include <basic/options/option.hh>
#include <basic/options/option_macros.hh>
#include <devel/init.hh>
#include <iostream>
#include <string>
#include <deque>
#include <basic/options/keys/in.OptionKeys.gen.hh>
#include <basic/options/keys/out.OptionKeys.gen.hh>
#include <basic/options/keys/cluster.OptionKeys.gen.hh>
#include <basic/options/keys/symmetry.OptionKeys.gen.hh>
#include <utility/vector1.hh>
#include <core/scoring/rms_util.hh>
#include <core/scoring/rms_util.tmpl.hh>
#include <core/scoring/Energies.hh>
#include <ObjexxFCL/format.hh>
#include <ObjexxFCL/FArray2D.hh>
#include <protocols/minimization_packing/RepackSidechainsMover.hh>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <protocols/simple_moves/MutateResidue.hh>
#include <protocols/relax/FastRelax.hh>
#include <numeric/model_quality/rms.hh>
#include <core/scoring/func/HarmonicFunc.hh>
#include <core/scoring/func/CircularHarmonicFunc.hh>
#include <core/scoring/constraints/AtomPairConstraint.hh>
#include <core/scoring/constraints/AngleConstraint.hh>
#include <core/scoring/constraints/DihedralConstraint.hh>
#include <core/scoring/constraints/ConstraintSet.hh>
#include <core/pose/annotated_sequence.hh>
#include <numeric/EulerAngles.hh>
#include <numeric/PCA.hh>
#include <core/io/silent/SilentStructFactory.hh>
#include <core/io/silent/SilentFileData.hh>
#include <core/io/silent/SilentFileOptions.hh>
#include <core/io/silent/SilentStruct.hh>
#include <protocols/constraint_movers/ConstraintSetMover.hh>
#include <protocols/cyclic_peptide/CycpepSymmetryFilter.hh>
#include <protocols/cyclic_peptide/DeclareBond.hh>

Macros

#define PI   3.1415926535897932384626433832795
 
#define CNCa_ANGLE   121.7
 
#define CNH_ANGLE   119.15
 
#define CaCN_ANGLE   116.2
 
#define OCN_ANGLE   123.01
 

Functions

 OPT_KEY (Boolean, v_prerelax) OPT_KEY(Integer
 
v_relaxrounds OPT_KEY (String, v_clusterby) OPT_KEY(Real
 
v_relaxrounds v_clusterradius OPT_KEY (Boolean, v_weightbyenergy) OPT_KEY(Real
 
v_relaxrounds v_clusterradius v_kbt OPT_KEY (Boolean, v_CB) OPT_KEY(IntegerVector
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue OPT_KEY (IntegerVector, v_ignorechain) OPT_KEY(Integer
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster OPT_KEY (Integer, v_limit_clusters) OPT_KEY(Boolean
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic OPT_KEY (Integer, v_cyclic_symmetry) OPT_KEY(Boolean
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring OPT_KEY (Real, v_cyclic_symmetry_threshold) OPT_KEY(Boolean
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations OPT_KEY (Integer, v_cyclic_permutation_offset) OPT_KEY(Boolean
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations v_mutate_to_ala OPT_KEY (IntegerVector, v_disulfide_positions) OPT_KEY(Boolean
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations v_mutate_to_ala v_homooligomer_swap OPT_KEY (Boolean, v_silentoutput) OPT_KEY(File
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations v_mutate_to_ala v_homooligomer_swap v_cst_file OPT_KEY (StringVector, v_extra_rms_atoms) OPT_KEY(Boolean
 
v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations v_mutate_to_ala v_homooligomer_swap v_cst_file v_skip_PCA void register_options ()
 
void parse_extra_atom_list (utility::vector1< core::id::NamedAtomID > &extra_atom_list)
 
bool use_in_rmsd_offset (core::pose::Pose const &pose1, core::pose::Pose const &pose2, core::Size resno2, core::Size atomno, const core::Size pose1_offset, utility::vector1< core::id::NamedAtomID > const &extra_atom_list)
 
bool use_in_rmsd (core::pose::Pose const &pose1, core::pose::Pose const &pose2, core::Size resno, core::Size atomno, utility::vector1< core::id::NamedAtomID > const &extra_atom_list)
 
void betapeptide_setphi (core::pose::Pose &pose, core::Size resnumber, core::Real angle)
 
void betapeptide_settheta (core::pose::Pose &pose, core::Size resnumber, core::Real angle)
 
void betapeptide_setpsi (core::pose::Pose &pose, core::Size resnumber, core::Real angle)
 
void betapeptide_setomega (core::pose::Pose &pose, core::Size resnumber, core::Real angle)
 
bool is_beta_aminoacid (const core::conformation::Residue &rsd)
 Function to determine whether an amino acid is a beta amino acid. Added 23 August 2013 by Vikram K. Mulligan. More...
 
bool is_beta_aminoacid (const core::pose::Pose &mypose, const core::Size position)
 
core::Size count_bb_dihedrals (const core::pose::Pose &mypose)
 
bool is_in_list (const core::Size val, const utility::vector1< core::Size > &vallist)
 
void check_angle_bounds (utility::vector1< core::Real > anglevector, utility::vector1< core::Size > skiplist)
 
void check_angle_bounds (utility::vector1< core::Real > anglevector)
 
void make_disulfides (core::pose::Pose outputpose)
 
void storeposedata (const core::pose::Pose &pose, utility::vector1< core::Real > &posedata, FArray2D< core::Real > &alignmentdata, const core::Size clustermode, utility::vector1< core::id::NamedAtomID > const &extra_atom_list)
 
void storeposedata (const core::pose::Pose &pose, utility::vector1< utility::vector1< core::Real > > &posedata, utility::vector1< FArray2D< core::Real > > &alignmentdata, const core::Size clustermode, utility::vector1< core::id::NamedAtomID > const &extra_atom_list)
 
core::Real elementdiff (const core::Real &n1, const core::Real &n2, const core::Size &clustmode)
 
void pose_from_posedata (const core::pose::Pose &inputpose, core::pose::Pose &outputpose, const core::Size clustermode, const utility::vector1< core::Real > &posedata, const bool set_chi=true)
 
core::Size alignment_atoms_in_res (const core::pose::Pose &pose, const core::Size position)
 
core::Size alignment_torsions_in_res (const core::pose::Pose &pose, const core::Size position)
 
core::Size factorial (core::Size val)
 
core::Size get_start_index (const core::Size aa_number, const core::pose::Pose &refpose)
 
core::Size get_start_aa (const core::Size chainnumber, const core::pose::Pose &refpose)
 
void swapchains (core::pose::Pose &currentpose, const core::Size permutation_number)
 
void swapalignmentvector (const FArray2D< core::Real > &parentvect, FArray2D< core::Real > &swappedvect, const core::pose::Pose &refpose, core::Size permutation_number)
 
void swapvector (const utility::vector1< core::Real > &parentvect, utility::vector1< core::Real > &swappedvect, const core::pose::Pose &, core::Size)
 
core::Real calc_dist (const utility::vector1< core::Real > &vect1, const utility::vector1< core::Real > &vect2, const core::Size clustmode, const FArray2D< core::Real > &alignmentvect1, const FArray2D< core::Real > &alignmentvect2, const core::Size nresidues, const core::pose::Pose &firstpose)
 
core::Real calc_dist (const utility::vector1< core::Real > &vect1, const utility::vector1< core::Real > &vect2, const core::Size clustmode, const FArray2D< core::Real > &alignmentvect1, const FArray2D< core::Real > &alignmentvect2, const core::Size nresidues, const core::pose::Pose &firstpose, core::Size &offset, core::Size &permutation)
 
void slidearound (utility::vector1< core::Real > &dihedrals, const core::Size offset, const core::Size rescount, const core::pose::Pose &pose)
 
void trim_and_add_jump_data (utility::vector1< core::Real > &myvect, const core::Size numdihedrals, const core::pose::Pose &mypose)
 
void shift_center_and_PCA (utility::vector1< core::Real > &clustcenter, utility::vector1< utility::vector1< core::Real > > &pca_vector_list, utility::vector1< core::Real > &coeff_list, const core::Size clustcenterindex, const utility::vector1< utility::vector1< core::Real > > &posedata, const utility::vector1< core::Real > &poseenergies, const utility::vector1< core::Size > &statesincluster, const core::Size currentclusterindex, const core::Size clustmode, const core::pose::Pose &firstpose, const utility::vector1< core::Size > &cluster_offsets, const utility::vector1< core::Size > &cluster_oligomer_permutations, utility::vector1< core::id::NamedAtomID > const &extra_atom_list)
 
void output_PCA (const utility::vector1< utility::vector1< core::Real > > &pca_vector_list, const utility::vector1< core::Real > &coeff_list, const core::Size &clustnumber)
 
void sortclusterlist (utility::vector1< core::Size > &statelist, utility::vector1< core::Real > &poseenergies)
 
void addcyclicconstraints (core::pose::Pose &mypose)
 
void align_with_offset (core::pose::Pose &pose1, const core::pose::Pose &pose2, const core::Size offset, utility::vector1< core::id::NamedAtomID > const &extra_atom_list)
 
void mutate_to_ala (core::pose::Pose &mypose)
 
bool contains_beta (const core::pose::Pose &mypose)
 
bool betas_match (const core::pose::Pose &pose1, const core::pose::Pose &pose2)
 
void add_user_constraints (core::pose::Pose &mypose)
 
int main (int argc, char *argv[])
 

Macro Definition Documentation

◆ CaCN_ANGLE

#define CaCN_ANGLE   116.2

◆ CNCa_ANGLE

#define CNCa_ANGLE   121.7

◆ CNH_ANGLE

#define CNH_ANGLE   119.15

◆ OCN_ANGLE

#define OCN_ANGLE   123.01

◆ PI

#define PI   3.1415926535897932384626433832795

Function Documentation

◆ add_user_constraints()

void add_user_constraints ( core::pose::Pose mypose)

◆ addcyclicconstraints()

void addcyclicconstraints ( core::pose::Pose mypose)

◆ align_with_offset()

void align_with_offset ( core::pose::Pose pose1,
const core::pose::Pose pose2,
const core::Size  offset,
utility::vector1< core::id::NamedAtomID > const &  extra_atom_list 
)

◆ alignment_atoms_in_res()

core::Size alignment_atoms_in_res ( const core::pose::Pose pose,
const core::Size  position 
)

◆ alignment_torsions_in_res()

core::Size alignment_torsions_in_res ( const core::pose::Pose pose,
const core::Size  position 
)

References is_beta_aminoacid(), and beta_nonlocal::pose.

Referenced by calc_dist(), and slidearound().

◆ betapeptide_setomega()

void betapeptide_setomega ( core::pose::Pose pose,
core::Size  resnumber,
core::Real  angle 
)

◆ betapeptide_setphi()

void betapeptide_setphi ( core::pose::Pose pose,
core::Size  resnumber,
core::Real  angle 
)

◆ betapeptide_setpsi()

void betapeptide_setpsi ( core::pose::Pose pose,
core::Size  resnumber,
core::Real  angle 
)

◆ betapeptide_settheta()

void betapeptide_settheta ( core::pose::Pose pose,
core::Size  resnumber,
core::Real  angle 
)

◆ betas_match()

bool betas_match ( const core::pose::Pose pose1,
const core::pose::Pose pose2 
)

◆ calc_dist() [1/2]

core::Real calc_dist ( const utility::vector1< core::Real > &  vect1,
const utility::vector1< core::Real > &  vect2,
const core::Size  clustmode,
const FArray2D< core::Real > &  alignmentvect1,
const FArray2D< core::Real > &  alignmentvect2,
const core::Size  nresidues,
const core::pose::Pose firstpose 
)

◆ calc_dist() [2/2]

core::Real calc_dist ( const utility::vector1< core::Real > &  vect1,
const utility::vector1< core::Real > &  vect2,
const core::Size  clustmode,
const FArray2D< core::Real > &  alignmentvect1,
const FArray2D< core::Real > &  alignmentvect2,
const core::Size  nresidues,
const core::pose::Pose firstpose,
core::Size offset,
core::Size permutation 
)

◆ check_angle_bounds() [1/2]

void check_angle_bounds ( utility::vector1< core::Real anglevector)

References check_angle_bounds().

◆ check_angle_bounds() [2/2]

void check_angle_bounds ( utility::vector1< core::Real anglevector,
utility::vector1< core::Size skiplist 
)

◆ contains_beta()

bool contains_beta ( const core::pose::Pose mypose)

References is_beta_aminoacid(), and create_a3b_hbs::nres.

Referenced by main().

◆ count_bb_dihedrals()

core::Size count_bb_dihedrals ( const core::pose::Pose mypose)

◆ elementdiff()

core::Real elementdiff ( const core::Real n1,
const core::Real n2,
const core::Size clustmode 
)

◆ factorial()

core::Size factorial ( core::Size  val)

Referenced by calc_dist().

◆ get_start_aa()

core::Size get_start_aa ( const core::Size  chainnumber,
const core::pose::Pose refpose 
)

References create_a3b_hbs::nres.

Referenced by swapalignmentvector(), and swapchains().

◆ get_start_index()

core::Size get_start_index ( const core::Size  aa_number,
const core::pose::Pose refpose 
)

◆ is_beta_aminoacid() [1/2]

bool KinematicMover::is_beta_aminoacid ( const core::conformation::Residue &  rsd)

Function to determine whether an amino acid is a beta amino acid. Added 23 August 2013 by Vikram K. Mulligan.

Referenced by alignment_atoms_in_res(), alignment_torsions_in_res(), betas_match(), calc_dist(), contains_beta(), count_bb_dihedrals(), is_beta_aminoacid(), mutate_to_ala(), pose_from_posedata(), and storeposedata().

◆ is_beta_aminoacid() [2/2]

bool is_beta_aminoacid ( const core::pose::Pose mypose,
const core::Size  position 
)

References is_beta_aminoacid().

◆ is_in_list()

bool is_in_list ( const core::Size  val,
const utility::vector1< core::Size > &  vallist 
)

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ make_disulfides()

void make_disulfides ( core::pose::Pose  outputpose)

◆ mutate_to_ala()

void mutate_to_ala ( core::pose::Pose mypose)

References is_beta_aminoacid().

Referenced by main().

◆ OPT_KEY() [1/12]

v_relaxrounds v_clusterradius v_kbt OPT_KEY ( Boolean  ,
v_CB   
)

◆ OPT_KEY() [2/12]

OPT_KEY ( Boolean  ,
v_prerelax   
)

◆ OPT_KEY() [3/12]

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations v_mutate_to_ala v_homooligomer_swap OPT_KEY ( Boolean  ,
v_silentoutput   
)

◆ OPT_KEY() [4/12]

v_relaxrounds v_clusterradius OPT_KEY ( Boolean  ,
v_weightbyenergy   
)

◆ OPT_KEY() [5/12]

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations OPT_KEY ( Integer  ,
v_cyclic_permutation_offset   
)

◆ OPT_KEY() [6/12]

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic OPT_KEY ( Integer  ,
v_cyclic_symmetry   
)

◆ OPT_KEY() [7/12]

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster OPT_KEY ( Integer  ,
v_limit_clusters   
)

◆ OPT_KEY() [8/12]

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations v_mutate_to_ala OPT_KEY ( IntegerVector  ,
v_disulfide_positions   
)

◆ OPT_KEY() [9/12]

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue OPT_KEY ( IntegerVector  ,
v_ignorechain   
)

◆ OPT_KEY() [10/12]

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring OPT_KEY ( Real  ,
v_cyclic_symmetry_threshold   
)

◆ OPT_KEY() [11/12]

v_relaxrounds OPT_KEY ( String  ,
v_clusterby   
)

◆ OPT_KEY() [12/12]

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations v_mutate_to_ala v_homooligomer_swap v_cst_file OPT_KEY ( StringVector  ,
v_extra_rms_atoms   
)

◆ output_PCA()

void output_PCA ( const utility::vector1< utility::vector1< core::Real > > &  pca_vector_list,
const utility::vector1< core::Real > &  coeff_list,
const core::Size clustnumber 
)

◆ parse_extra_atom_list()

void parse_extra_atom_list ( utility::vector1< core::id::NamedAtomID > &  extra_atom_list)

◆ pose_from_posedata()

void pose_from_posedata ( const core::pose::Pose inputpose,
core::pose::Pose outputpose,
const core::Size  clustermode,
const utility::vector1< core::Real > &  posedata,
const bool  set_chi = true 
)

◆ register_options()

v_relaxrounds v_clusterradius v_kbt v_ignoreresidue v_limit_structures_per_cluster v_cyclic v_cyclic_symmetry_mirroring v_cluster_cyclic_permutations v_mutate_to_ala v_homooligomer_swap v_cst_file v_skip_PCA void register_options ( )

References NEW_OPT.

Referenced by main().

◆ shift_center_and_PCA()

void shift_center_and_PCA ( utility::vector1< core::Real > &  clustcenter,
utility::vector1< utility::vector1< core::Real > > &  pca_vector_list,
utility::vector1< core::Real > &  coeff_list,
const core::Size  clustcenterindex,
const utility::vector1< utility::vector1< core::Real > > &  posedata,
const utility::vector1< core::Real > &  poseenergies,
const utility::vector1< core::Size > &  statesincluster,
const core::Size  currentclusterindex,
const core::Size  clustmode,
const core::pose::Pose firstpose,
const utility::vector1< core::Size > &  cluster_offsets,
const utility::vector1< core::Size > &  cluster_oligomer_permutations,
utility::vector1< core::id::NamedAtomID > const &  extra_atom_list 
)

◆ slidearound()

void slidearound ( utility::vector1< core::Real > &  dihedrals,
const core::Size  offset,
const core::Size  rescount,
const core::pose::Pose pose 
)

◆ sortclusterlist()

void sortclusterlist ( utility::vector1< core::Size > &  statelist,
utility::vector1< core::Real > &  poseenergies 
)

References create_a3b_hbs::i, and create_a3b_hbs::j.

Referenced by main().

◆ storeposedata() [1/2]

void storeposedata ( const core::pose::Pose pose,
utility::vector1< core::Real > &  posedata,
FArray2D< core::Real > &  alignmentdata,
const core::Size  clustermode,
utility::vector1< core::id::NamedAtomID > const &  extra_atom_list 
)

◆ storeposedata() [2/2]

void storeposedata ( const core::pose::Pose pose,
utility::vector1< utility::vector1< core::Real > > &  posedata,
utility::vector1< FArray2D< core::Real > > &  alignmentdata,
const core::Size  clustermode,
utility::vector1< core::id::NamedAtomID > const &  extra_atom_list 
)

◆ swapalignmentvector()

void swapalignmentvector ( const FArray2D< core::Real > &  parentvect,
FArray2D< core::Real > &  swappedvect,
const core::pose::Pose refpose,
core::Size  permutation_number 
)

◆ swapchains()

void swapchains ( core::pose::Pose currentpose,
const core::Size  permutation_number 
)

◆ swapvector()

void swapvector ( const utility::vector1< core::Real > &  parentvect,
utility::vector1< core::Real > &  swappedvect,
const core::pose::Pose ,
core::Size   
)

Referenced by calc_dist().

◆ trim_and_add_jump_data()

void trim_and_add_jump_data ( utility::vector1< core::Real > &  myvect,
const core::Size  numdihedrals,
const core::pose::Pose mypose 
)

◆ use_in_rmsd()

bool use_in_rmsd ( core::pose::Pose const &  pose1,
core::pose::Pose const &  pose2,
core::Size  resno,
core::Size  atomno,
utility::vector1< core::id::NamedAtomID > const &  extra_atom_list 
)

◆ use_in_rmsd_offset()

bool use_in_rmsd_offset ( core::pose::Pose const &  pose1,
core::pose::Pose const &  pose2,
core::Size  resno2,
core::Size  atomno,
const core::Size  pose1_offset,
utility::vector1< core::id::NamedAtomID > const &  extra_atom_list 
)