//===================================================================== // 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); }