package com.illumina.basespace.igv.bam;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import org.broad.igv.feature.genome.Genome;
import org.broad.igv.sam.AlignmentDataManager;
import org.broad.igv.sam.AlignmentTileLoader;
import org.broad.igv.util.ResourceLocator;
public class BaseSpaceAlignmentDataManager extends AlignmentDataManager
{
public BaseSpaceAlignmentDataManager(ResourceLocator locator, Genome genome) throws IOException
{
super(locator,null);
try
{
Class<?> clazz = this.getClass().getSuperclass();
Field field = clazz.getDeclaredField("reader");
field.setAccessible(true);
field.set(this, new AlignmentTileLoader(new BaseSpaceBAMHttpReader(locator)));
field.setAccessible(false);
Method method = clazz.getDeclaredMethod("initChrMap",new Class[]{Genome.class});
method.setAccessible(true);
method.invoke(this, genome);
method.setAccessible(false);
}
catch(Throwable t)
{
throw new RuntimeException(t);
}
}
}