//=====================================================================
// File: PeakLocate.java
// Class: PeakLocate
// Package: AFLPcore
//
// Author: James J. Benham
// Date: August 10, 1998
// Contact: james_benham@hmc.edu
//
// Genographer v1.0 - Computer assisted scoring of gels.
// Copyright (C) 1998 Montana State University
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; version 2
// of the License.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
// The GNU General Public License is distributed in the file GPL
//=====================================================================
package AFLPcore;
/**
* This is an abstract class that should be extended to provide different
* ways of finding the peaks in a lane. Examples include simply waiting for
* a change in slope or something more complicated like a neural net. The
* MIN
and MAX
should always specify the first and
* last data points in the lane given.
*
* @author James J. Benham
* @version 1.0.0
* @date August 10, 1998
*/
public abstract class PeakLocate extends Operation
{
/**Specifies the smallest value in a lane is to be used.*/
public static double MIN = -1;
/**Specifies the largest value in a lane is to be used.*/
public static double MAX = -1;
/**
* Finds the peaks in the given lanes and only finds those whose size is
* greater than or equal to minSize and less than or equal to maxSize.
* The peaks that are found will be stored in the given lanes.
*
* @param lanes the list of lanes that the algorithm should look
* for peaks in.
* @param minSize the minimum size of any peak. If the value
* MIN
is given, then the smallest size
* in the lane will be used.
* @param maxSize the maximum size of any peak. If the value
* MAX
is given, then the largest size
* in the lane will be used.
*/
public abstract void findPeak(DataList lanes, double minSize,
double maxSize);
}