package org.seqcode.data.seqdata.tools;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import org.seqcode.data.seqdata.SeqDataLoader;
import org.seqcode.data.seqdata.SeqLocator;
import org.seqcode.genome.Genome;
import org.seqcode.genome.Species;
import org.seqcode.gseutils.Args;
import org.seqcode.gseutils.NotFoundException;
import org.seqcode.gseutils.Pair;
public class AlignmentLookup {
public static void main(String[] args) {
if(Args.parseArgs(args).contains("expt") && Args.parseArgs(args).contains("species")){
SeqDataLoader loader=null;
try {
Pair<Species,Genome> pair = Args.parseGenome(args);
Genome gen = pair.cdr();
List<SeqLocator> expts = Args.parseSeqExpt(args,"expt");
if(expts.size()>1){
System.err.println("Specify just one alignment.");
System.exit(1);
}
SeqLocator expt = expts.get(0);
loader = new SeqDataLoader(false, true);
boolean erafound=false;
boolean erfound=false;
try{
if(loader.loadAlignments(expt, gen).size()>0)
erafound = true;
} catch (NotFoundException e) {}
try{
if(loader.loadExperiment(expt.getExptName(), expt.getReplicateString())!=null)
erfound=true;
} catch (NotFoundException e) {}
if(erafound)
System.out.println("EXPTREPALIGNFOUND");
else if(erfound)
System.out.println("EXPTREPFOUND");
else
System.out.println("NOTFOUND");
} catch (NotFoundException e) {
System.out.println("NOTFOUND");
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(loader!=null)
loader.close();
}
}else{
System.err.println("AlignmentLookup:\n" +
"\t--species <species;genome>\n" +
"\t--expt <expt;rep;align>\n");
}
}
}