Main Page | Data Structures | File List | Data Fields | Globals

asymmetry.h File Reference

header file for asymmetry.c, contains functions for calculating and evaluating the asymmetry in each lane More...

#include "allheaders.h"
#include "gelinfo.h"
#include "anacutoff.h"

Go to the source code of this file.

Defines

#define TOLERANCEFACTOR   3.0
 factor to determine tolerance used when correcting a node

Functions

int checkSymmetry (FILE *ERROROUT_FILE, FILE *FLAGOUT_FILE, PIX *pixGel, int *ZoneID, float **PeakPosition, float *NodePosition, struct GelInfo *GelInfo, struct AnaCutoff *AnaCutoff, float **Asym, float **Laneoffset, int *con_asym_lanes, int Verbose)
 check symmetry of all the lanes, in groups of zones. A corrected image of each lane is extracted using peak and node positions.
int correctAsymmetry (INT32 **ZoneProjection, float **PeakPosition, float *Spacing, struct GelInfo *GelInfo, float **Asym, int MarkerInc)
 correct all peaks in predata identified to have low symmetry (noisy area) with filtered peak projection
void followLane (PIX *pixGel, float **PeakPosition, float *NodePosition, struct GelInfo *GelInfo, int laneID, float **laneintensity)
 based on Peak and Node Positions, the area of a given staighted lane is cropped out and returned
void shellSort (float numbers[], int array_size)
 sorts an array of float


Detailed Description

header file for asymmetry.c, contains functions for calculating and evaluating the asymmetry in each lane


Function Documentation

int checkSymmetry FILE *  ERROROUT_FILE,
FILE *  FLAGOUT_FILE,
PIX *  pixGel,
int *  ZoneID,
float **  PeakPosition,
float *  NodePosition,
struct GelInfo GelInfo,
struct AnaCutoff AnaCutoff,
float **  Asym,
float **  Laneoffset,
int *  con_asym_lanes,
int  Verbose
 

check symmetry of all the lanes, in groups of zones. A corrected image of each lane is extracted using peak and node positions.

The asymmetry is calculated as the difference of intensity the same distance from a center. The center is shifted up and down, and the lowest value of the asymmetry is used. Only columns with sufficient content is included. The mean of the asym score and the offset used in each segment is reported.

Parameters:
ERROROUT_FILE writable file handle to error reporting file
FLAGOUT_FILE writable file handle to data log file
pixGel gel that asymmetry testing is done on
ZoneID array noting the zone number for each column
PeakPosition holds y position of all nodes
NodePosition holds x position of nodes in each zone
GelInfo holds various gel parameters
AnaCutoff holds various analysis cutoff
Asym points to 2D array to which asymmetry score is written, set to negative if identified as outlier
Laneoffset points to 2D array to which average offset used is written
con_asym_lanes the large span of asymmetric lanes detected found
Verbose turn on text output to screen

int correctAsymmetry INT32 **  ZoneProjection,
float **  PeakPosition,
float *  Spacing,
struct GelInfo GelInfo,
float **  Asym,
int  MarkerInc
 

correct all peaks in predata identified to have low symmetry (noisy area) with filtered peak projection

Parameters:
ZoneProjection points to 1D y-projection in each of the zone
PeakPosition holds y position of all nodes
Spacing the dominant spacing in all zones
GelInfo holds various gel parameters
Asym points to all asymmetry score
MarkerInc boolean if true, we only match markers in marker-dominant zone, match all lanes otherwise
Returns:
the number of nodes corrected

void followLane PIX *  pixGel,
float **  PeakPosition,
float *  NodePosition,
struct GelInfo GelInfo,
int  laneID,
float **  laneintensity
 

based on Peak and Node Positions, the area of a given staighted lane is cropped out and returned

Parameters:
pixGel pix to extract from
PeakPosition holds y position of all nodes
NodePosition holds x position of nodes in each zone
GelInfo holds various gel parameters
laneID the lane (lane 0 at top of image) in question
laneintensity points to 2D matrix for returning results

void shellSort float  numbers[],
int  array_size
 

sorts an array of float

sorting code based on code taken from http://linux.wku.edu/~lamonml/algor/sort/shell.html

Parameters:
numbers array of float to be sorted
array_size size of the array


Generated on Fri Apr 20 16:43:06 2007 for LaneRuler by  doxygen 1.3.9.1