com.hfg.bio.seq.pattern.PrositePatternPosition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com_hfg Show documentation
Show all versions of com_hfg Show documentation
com.hfg xml, html, svg, and bioinformatics utility library
package com.hfg.bio.seq.pattern;
import com.hfg.math.Range;
//------------------------------------------------------------------------------
/**
Prosite pattern position.
@author J. Alex Taylor, hairyfatguy.com
*/
//------------------------------------------------------------------------------
// com.hfg Library
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
// [email protected]
//------------------------------------------------------------------------------
public class PrositePatternPosition
{
private PrositePatternPositionType mType;
private String mResidues;
private Range mCountRange;
//------------------------------------------------------------------------
void setType(PrositePatternPositionType inValue)
{
mType = inValue;
}
//------------------------------------------------------------------------
PrositePatternPositionType getType()
{
return mType;
}
//------------------------------------------------------------------------
void setResidues(String inValue)
{
mResidues = inValue;
}
//------------------------------------------------------------------------
String getResidues()
{
return mResidues;
}
//------------------------------------------------------------------------
boolean matchesResidue(char inTargetResidue)
{
boolean result = false;
switch (mType)
{
case IS_ANY:
result = true;
break;
case IS:
case ONE_OF:
result = mResidues.contains(inTargetResidue + "");
break;
case NOT:
result = ! mResidues.contains(inTargetResidue + "");
break;
}
return result;
}
//------------------------------------------------------------------------
void setCountRange(Range inValue)
{
mCountRange = inValue;
}
//------------------------------------------------------------------------
boolean hasCountRange()
{
return mCountRange != null;
}
//------------------------------------------------------------------------
Range getCountRange()
{
return mCountRange;
}
}