sleipnir / src / seekplatform.h

* This file is provided under the Creative Commons Attribution 3.0 license.
* You are free to share, copy, distribute, transmit, or adapt this work
* PROVIDED THAT you attribute the work to the authors listed below.
* For more information, please see the following web page:
* This file is a component of the Sleipnir library for functional genomics,
* authored by:
* Curtis Huttenhower (
* Mark Schroeder
* Maria D. Chikina
* Olga G. Troyanskaya (, primary contact)
* If you use this library, the included executable tools, or any related
* code in your work, please cite the following publication:
* Curtis Huttenhower, Mark Schroeder, Maria D. Chikina, and
* Olga G. Troyanskaya.
* "The Sleipnir library for computational functional genomics"

#include "seekbasic.h"
namespace Sleipnir {

 * \brief
 * Representation of a microarray platform that is used by Seek
 * Contains the gene \a correlation average and standard deviation for a given platform
 * For each gene \a g in each dataset \a d, we calculate the average \a correlation of \a g
 * to all the genes. Then average it across
 * all the datasets in the platform.
 * The result is the platform's gene-\a correlation average, or \c PlatformAvg for short.
 * The standard deviation or \c PlatformStdev measures the spread of \a correlation
 * across all datasets of the given platform.
 * The purpose of the platform's average and standard deviation are to reduce potential biases
 * that might be caused by platform specific \a correlation distributions.
 * \remarks
 * The word \a correlation refers to z-score transformed, standardized Pearson correlation.
class CSeekPlatform{
	 * \brief Constructor
	 * \brief Destructor

	 * \brief Initialize the platform
	 * \param numGenes
	 * The number of genes covered by the platform
	 * \param strPlatformName
	 * Assign a name to the platform
	void InitializePlatform(const utype &, const string &);

	 * \brief Set the platform \a correlation average for a particular gene
	 * \param i Gene index
	 * \param val The average \a correlation for the gene
	void SetPlatformAvg(const utype &, const float &);

	 * \brief Set the platform standard deviation of \a correlation for a given gene
	 * \param i Gene index
	 * \param val The standard deviation
	void SetPlatformStdev(const utype &, const float &);

	 * \brief Get the platform-wide \a correlation average for a given gene
	 * \param i Gene index
	 * \return The platform-wide average
	float GetPlatformAvg(const utype &) const;

	 * \brief Get the platform-wide standard deviation of \a correlation for a given gene
	 * \param i Gene index
	 * \return The platform-wide standard deviation
	float GetPlatformStdev(const utype &) const;

	 * \brief Reset
	void ResetPlatform();

	 * Create a copy from a given platform
	 * \param pl The given platform
	void Copy(const CSeekPlatform &);

	vector<float> m_vecfPlatformAvg;
	vector<float> m_vecfPlatformStdev;
	string m_strPlatformName;
	utype m_iNumGenes;

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.