Rosetta
Namespaces | Typedefs | Functions
KMedoids.cc File Reference
#include <protocols/multistage_rosetta_scripts/cluster/KMedoids.hh>
#include <algorithm>
#include <random>
#include <chrono>
#include <basic/options/option.hh>
#include <basic/options/keys/testing.OptionKeys.gen.hh>
#include <protocols/multistage_rosetta_scripts/cluster/ClusterMetric.hh>
#include <core/types.hh>

Namespaces

 protocols
 The instance of Loops contained by AbrelaxApplication should be replaced by a LoopsOP.
 
 protocols::multistage_rosetta_scripts
 
 protocols::multistage_rosetta_scripts::cluster
 

Typedefs

using protocols::multistage_rosetta_scripts::cluster::uint = unsigned int
 

Functions

float protocols::multistage_rosetta_scripts::cluster::distance (utility::vector1< float > const &triangle_matrix, utility::vector1< uint > const &offsets, uint pointA, uint pointB)
 Looks up the distance between two points in the tricky triangle matrix I hacked together. More...
 
unsigned long long int protocols::multistage_rosetta_scripts::cluster::number_of_elements_in_exclusive_upper_triangle (unsigned short int const num_points)
 maybe this is lazy programming on my part. I just want to count how many possible interacitons there are without using math. Feel free to replace this with a simple equation. More...
 
void protocols::multistage_rosetta_scripts::cluster::initialize_offsets (utility::vector1< uint > &offsets, uint const num_points)
 Initialize the offset vector identified in schematic (2) above. More...
 
void protocols::multistage_rosetta_scripts::cluster::assign_initial_medoids (utility::vector1< bool > const &medoids, utility::vector1< uint > &medoid_for_cluster, utility::vector1< uint > &cluster_for_point)
 This assumes you already created k "true"s in medoids vector. Just goes through and updates medoid_for_cluster and cluster_for_point (but only for medoids) More...
 
void protocols::multistage_rosetta_scripts::cluster::assign_medoids (utility::vector1< float > const &triangle_matrix, utility::vector1< uint > const &offsets, utility::vector1< bool > &medoids, utility::vector1< uint > &medoid_for_cluster, utility::vector1< uint > const &cluster_for_point)
 Iterates though every point and tests to see if it is the best medoid for its cluster. More...
 
core::Real protocols::multistage_rosetta_scripts::cluster::assign_non_medoids_to_clusters (utility::vector1< float > const &triangle_matrix, utility::vector1< uint > const &offsets, utility::vector1< bool > const &medoids, utility::vector1< uint > const &medoid_for_cluster, utility::vector1< uint > &cluster_for_point)
 After the medoids have been assigned, go through each point and determine which cluster it is in. Returns total distance cost. More...
 
void protocols::multistage_rosetta_scripts::cluster::k_medoids_with_edge_precalculation (utility::vector1< ClusterMetricCOP > const &points, unsigned short int const num_medoids, utility::vector1< bool > &best_medoids)
 Finds "num_medoids" number of clusters from within the "points" vector. If a point becomes the center of a cluster, it's index in "medoid_positions" is set to true. False otherwise. medoid_positions.size() will equal points.size() More...
 

Detailed Description

Author
Jack Maguire