/*
* AlleleDataObject.java
*
* Created on May 5, 2003, 4:09 PM
*/
package se.arexis.agdb.util.FileImport;
import java.util.*;
/**
*
* @author heto
*/
public class AlleleDataObject
{
private ArrayList d_marker = new ArrayList();
private ArrayList d_allele = new ArrayList();
/** Creates a new instance of AlleleDataObject */
public AlleleDataObject()
{
}
public boolean isMarkerUnique(String marker)
{
int pos = d_marker.indexOf(marker);
boolean res = false;
if (pos > 0)
return false;
else
return true;
}
public boolean isMarkerAlleleUnique(String marker, String allele)
{
int pos = d_marker.indexOf(marker);
boolean res = false;
if (pos > 0)
{
if (allele.equals((String)d_allele.get(pos)))
res = false;
else
res = true;
}
else
res = true;
return res;
}
public int indexOf(String marker)
{
return d_marker.indexOf(marker);
}
public int indexOf(String allele, String marker)
{
ArrayList set1 = new ArrayList();
for (int i=0;i<d_allele.size();i++)
{
if (allele.equals(d_allele.get(i)))
{
set1.add(new Integer(i));
}
}
//System.out.println("set1="+set1);
ArrayList set2 = new ArrayList();
for (int i=0;i<d_marker.size();i++)
{
if (marker.equals(d_marker.get(i)))
{
set2.add(new Integer(i));
}
}
//System.out.println("set2="+set2);
// Create the intersection of the two sets.
ArrayList intersect = new ArrayList(set1);
intersect.retainAll(set2);
//System.out.println("intersect: " + intersect);
if (intersect.size()>0)
{
Integer tmp = (Integer)intersect.get(0);
return tmp.intValue();
}
else
{
return -1;
}
}
public String getMarker(int index)
{
return (String)d_marker.get(index);
}
public String getAllele(int index)
{
return (String)d_allele.get(index);
}
public void add(String marker, String allele)
{
d_marker.add(marker);
d_allele.add(allele);
}
}