/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.clothocad.algorithm.seqanalyzer.sequencing;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Hashtable;
import java.net.URL;
import java.util.ArrayList;
//import sequencing.ABITrace;
//import sequencing.seqAnalysis;
/**
*
* @author benjaminbubenheim
*/
public class test {
public static void main(String[] args){
ABITrace abi1=null, abi2=null, abi3=null, abi4=null, abi5=null, abiC=null, abiC1=null;
ArrayList<ABITrace> abis=new ArrayList<ABITrace>();
String actual="GAATTCATGAGATCTCAGCTGAAGTGACCGCATTAGCAACGCAGTAACCCGAAATCCTCTTTGACAAAGACAAAGCGTGTCAGGCTGATTCTGATGCGCTTTTTTTTGAAATGTCACAAAAATTCCATGCGGGAGATGAGAGCTAAAATCCCCGTGCAGAACTTTCCACCCAGGGCGAGAAAACTTGTCATTTTGACCTGTTCGCCCTTCGGAACAGTCGAAATCGATCGCGCATCGCTTTCGTGCATAGTTATGCAGCCCTCTAAAAACGATTCTGGCGCGTTTTTCTGGTTTGGCCTGGTGTTTTCTTGTCTTTTTGCGTTTTTTGCGCCAGAAAGCGACTGAGGGCGTTTTAAGGGGTACGTACAACGGGAGTTATGGTAAATGGATCGGGTTTTCGGGAAGGTTCGACAGGATTTGCCGTTGGGTGTACTGTAAGCGACTGAAAAACAAACGCCCCTGAAATCATGTCCAGATCCGGCAAGATTCAACATGAAATACAGAGGGCGTGTAGGTCGCATAACCCGGAGAGAATCGTAACACATGAGCGCCGCGCTTCAATACTTCGACGAAAATTTACCCCATCGTCCCTATCACACGGATGATCTCGCTTTTGGTCTTCGCATCTCCGGCAAAGGGCGTGCGCTTCTTGCGCGGTACATACAGCAGAACCAGCCTCATGCGCAGTTCTGGCTGGTTTTTGATGTTGACCGCGAGGGGGCTGCGATTGACTGGAGCGACCTGAACGCCCCCGCACCGAACATCACCATAAAAAATCCCGTGAACGGTCACGCCCACCTGCTCTACGCACTCAATATCGCCGTGAGAACCGCGCCTGATGCTTCGGTTAAGGCGCTGAAATACGCCGCCGCGATTGAACGTGCGTTGTGTGAAAAACTGGGCGCAGATGTAAACTACAGCGGCCTGATTTGCAAAAATCCGTTCCATCTGGAATGGCAGGTGATGGAGTGGCGTGAGGAAGCCTATACCCTCGATGAACTGGCTGATTATCTTGATTTGAGCACTTCAGCGCGCCGTAGCATCGATAAACATTACGGGATGGGGCGAAACTGCCATCTGTTCGAAATGACGCGCAAATGGGCTTACAGGGCGATTCGTCAGGGCTGGCCAGCATTCTCACAGTGGCTTGATGCCGAGATTCAGCGTGTCGAAATGTACAACGCATCGCTTCCCGTTCCGCTTTCACCTCCTGAATGTCGGGCTATTGGCAAGAGTATTGCGAAATACACGCACAGGAACTTCACGGCGGAAACTTTCGCACAGTATGTGGCTGATACGCACACGCCAGAAATACAGGCCAAGAGAGGCAGGAAAGGTGGCATCGCTAAAGGCGAAGCCTACGATGACAAGCGTTTCATGGCGCTATGTATGCTGGAGAATGGATATTCTCAGAAAGCTATTGCGGCGATGTTGGAGGTTTCTACTCGAACCATTCGAAACTGGAAAAGCGGAAAATAGGGATCC";
String actual1="GAATTCATGAGATCTTGTTCGGAGCCGCTTTAACCCACTCTGTGGAAGTGCTGGATCC";
String actual2="GAATTCATGAGATCTAGAACCGCAACTCCCAATAAACGCAAACCCAAAACTCCAACGGATAATCGCTGATGGCTGCTAGACCCCGATCTCACAAAATCTCTATACCCAATTTATATTGCAAATTAGATAAGCGAACCGGAAAGGTATATTGGCAATACAAACATCCACTATCCGGTCGTTTTCATAGCTTAGGAACTGATGAGAATGAAGCAAAACAAGTTGCTACTGAAGCAAATACCATTATTGCTGAACAACGTACCAGACAAATATTAAGCGTCAATGAGCGTCTGGAAAGAATGAAAGGCAGGCGCTCAGACATTACGGTGACAGAATGGCTTGATAAATATATTTCTATCCAGGAGGACAGGCTGCAACATAATGAACTAAGACCCAACTCCTATCGGCAAAAAGGCAAACCCATTCGTCTTTTCCGTGAGCATTGTGGAATGCAACACCTCAAGGATATTACCGCACTTGATATTGCCGAAATAATTGATGCTGTAAAGGCTGAAGGTCATAACAGGATGGCGCAAGTCGTGAGAATGGTGTTGATCGACGTCTTCAAAGAAGCACAACACGCAGGACATGTTCCGCCAGGATTTAACCCAGCGCAGGCAACAAAACAACCGCGAAATCGAGTAAACCGCCAAAGATTGTCACTGCTCGAATGGCAGGCAATATTTGAAAGCGTAAGCAGACGGCAGCCCTATTTAAAATGCGGCATGCTACTTGCTCTTGTTACTGGACAACGTTTAGGCGATATCTGCAATTTGAAATTCTCTGATATATGGGACGACATGTTGCACATTACTCAGGAAAAAACCGGTTCAAAACTTGCTATTCCGCTTAACCTGAAATGCGATGCTCTGAATATTACCCTTCGTGAAGTTATATCTCAGTGCAGGGATGCTGTTGTTAGTAAATATCTGGTCCATTACCGTCACACTACCTCTCAAGCAAACAGAGGAGACCAGGTTTCTGCAAATACTCTGACAACGGCTTTTAAAAAGGCCAAGGAAAAATGTGGCATAAAATGGGAGCAAGGAACTGCGCCCACATTTCATGAACAGCGATCTCTGTCAGAACGATTATATCGGGAACAGGGTCTGGATACGCAAAAGTTGTTAGGCCATAAATCCAGAAAAATGACCGACCGATACAATGATGATCGTGGTAAAGACTGGATTATCGTAGATATCAAAACAGCATAGGGATCC";
String c="GATCTCAGATCATATATAAGGAGGTACATATGGACACGTACGCGGGTGCTTACGACCGTCAGTCGCGCGAGCGCGAAAATTCGAGCGCAGCAAGCCCAGCGACACAGCGTAGCGCCAACGAAGACAAGGCGGCCGACCTCCAGCGCGAAGTCGAGCGCGACGGGGGCCGGTTCAGGTTCGTCGGGCATTTCAGCGAAGCGCCGGGCACGTCGGCGTTCGGGACGGCGGAGCGCCCGGAGTTCGAACGCATCCTGAACGAATGCCGCGCCGGGCGGCTCAACATGATCATTGTCTATGACGTGTCGCGCTTCTCGCGCCTCAAGGTCATGGACGCGATTCCGATTGTCTCGGAATTGCTCGCCCTGGGCGTGACGATTGTTTCCACTCAGGAAGGCGTCTTCCGGCAGGGAAACGTCATGGACCTGATTCACCTGATTATGCGGCTCGACGCGTCGCACAAAGAATCTTCGCTCAAGTCGGCGAAGATTCTCGACACGAAGAACCTCCAGCGCGAATTGGGCGGGTACGTCGGCGGGAAGGCGCCTTACGGCTTCGAGCTTGTTTCGGAGACGAAGGAGATCACGCGCAACGGCCGAATGGTCAATGTCGTCATCAACAAGCTTGCGCACTCGACCACTCCCCTTACCGGACCCTTCGAGTTCGAGCCCGACGTAATCCGGTGGTGGTGGCGTGAGATCAAGACGCACAAACACCTTCCCTTCAAGCCGGGCAGTCAAGCCGCCATTCACCCGGGCAGCATCACGGGGCTTTGTAAGCGCATGGACGCTGACGCCGTGCCGACCCGGGGCGAGACGATTGGGAAGAAGACCGCTTCAAGCGCCTGGGACCCGGCAACCGTTATGCGAATCCTTCGGGACCCGCGTATTGCGGGCTTCGCCGCTGAGGTGATCTACAAGAAGAAGCCGGACGGCACGCCGACCACGAAGATTGAGGGTTACCGCATTCAGCGCGACCCGATCACGCTCCGGCCGGTCGAGCTTGATTGCGGACCGATCATCGAGCCCGCTGAGTGGTATGAGCTCCAGGCGTGGTTGGACGGCAGGGGGCGCGGCAAGGGGCTTTCCCGGGGGCAAGCCATTCTGTCCGCCATGGACAAGCTGTACTGCGAGTGTGGCGCCGTCATGACTTCGAAGCGCGGGGAAGAATCGATCAAGGACTCTTACCGCTGCCGTCGCCGGAAGGTGGTCGACCCGTCCGCACCTGGGCAGCACGAAGGCACGTGCAACGTCAGCATGGCGGCACTCGACAAGTTCGTTGCGGAACGCATCTTCAACAAGATCAGGCACGCCGAAGGCGACGAAGAGACGTTGGCGCTTCTGTGGGAAGCCGCCCGACGCTTCGGCAAGCTCACTGAGGCGCCTGAGAAGAGCGGCGAACGGGCGAACCTTGTTGCGGAGCGCGCCGACGCCCTGAACGCCCTTGAAGAGCTGTACGAAGACCGCGCGGCAGGCGCGTACGACGGACCCGTTGGCAGGAAGCACTTCCGGAAGCAACAGGCAGCGCTGACGCTCCGGCAGCAAGGGGCGGAAGAGCGGCTTGCCGAACTTGAAGCCGCCGAAGCCCCGAAGCTTCCCCTTGACCAATGGTTCCCCGAAGACGCCGACGCTGACCCGACCGGCCCTAAGTCGTGGTGGGGGCGCGCGTCAGTAGACGACAAGCGCGTGTTCGTCGGGCTCTTCGTAGACAAGATCGTTGTCACGAAGTCGACTACGGGCAGGGGGCAGGGAACGCCCATCGAGAAGCGCGCTTCGATCACGTGGGCGAAGCCGCCGACCGACGACGACGAAGACGACGCCCAGGACGGCACGGAAGACGTAGCGGCGGGATCTCCGCCGAAAAAAAAACGTAAAGTTtaag";
String c2="GATCTaaaaaaaaaccccgcccctgacagggcggggttttttattaGGATCTAATTGAAGAACCGCTGACCACCTCCCATCCGACAATGCAAGGGTGCCCCGCTCCCAGCGCGACACGGTTGCCTGATCCACACCCATTAATTCAGCTAGGTGACTTTGCTTCATATGACGAAGCAACCGCGCCCTCCGCACCTGCCGCCCCCTGTCATTCGTCAACATTCTTCAGCACCTCAATGTCGTTCGTAGTGAGCCTCATTTTTTCAAGACCGCCGATGATGAGAGCCAGGCCTCGCTCGAATGCCGCGTCCGGACCGCCTTCGTAGACGATTTTCATCGCGCTCTGTAGGCGCGCCGGCATCGTAGACGCTGAGGTGGTCAACTGATCTTCGCCCCGCTCCTCGGCGTCTGCCTCGCTAGCTTGCTGCTCAAGAACAGCGCCGACGGTGAAGTAGCTGATTGCCATCAACGCATAGGTCGCGTCACCTGCCGAAAAGCCAGCATCGCAAAGGAAGCGAAGCTGCGCGTCGGCTTTTTCCATCTGCGGCGCGGCTGGCCGCGTCCCGGCATGAATACGCGCGCCATCGCGATAAGCGAGCAACGCCCGTCGAAAACTGCATGCATTGCCCTTCAGGAACGAACGCCAGTCGTCGTCATCCCTTGGCGTCGAATGCGTGTGATTTATCGTCAGCATGGCTTCGGCAAGTGCGTCGAGCAACGCACGCTTGTTCTTGAAATGCCAGTAGAGCGCTGGCTGTTGCACCCCGAGGCGCTCAGCCAGTCGGCGCGTCGTTAGACCTTCCATGCCCACGTCGTTAAGCAGTTCGAGCGCGGTTCGGATCACGGCCTCGCGTTGGAGCTTGTTCATTCGCcAATTCTCATGTTTGACAGCTTATCATCGATAAGCTTTAATGCGGTAGTTTATCACAGTTAAATTGCTAACGCAGTCAGGCACCGTGTATGAAATCTAACAATGCGCTCATCGTCATCCTCGGCACCGTCACCCTGGATGCTGTAGGCATAGGCTTGGTTATGCCGGTACTGCCGGGCCTCTTGCGGGATAGGATCTaaaaaagccggagtagaagatggtagaaatcaataatcaacgtaaggcgttcctcgatatgctggcgtggtcggagggaactgataacggacgtcagaaaaccagaaatcatggttatgacgtcattgtaggcggagagctattCactgattactccgatcaccctcgcaaacttgtcacgctaaacccaaaactcaaatcaacaggcgccggacgctaccagcttctttcccgttggtgggatgcctaccgcaagcagcttggcctgaaagacttctctccgaaaagtcaggacgctgtggcattgcagcagattaaggagcgtggcgctttacctatgattgatcgtggtgatatccgtcaggcaatcgaccgttgcagcaatatctgggcttcactgccgggcgctggttatggtcagttcgagcataaggctgacagcctgattgcaaaattcaaagaagcgggcggaacggtcagagagattgatgtatgaGGATCTattgggggtaagacCtgaagatgccagaaaaacatgacctgttggccgccattctcgcggcaaaggaacaaggcatcggggcaatccttgcgtttgcaatggcgtaccttcgcggcagatataatggcggtgcgtttacaaaaacagtaatcgacgcaacgatgtgcgccattatcgcctggttcattcgtgaccttctcgacttcgccggactaagtagcaatctcgcttatataacgagcgtgtttatcggctacatcggtactgactcgattggttcgcttatcaaacgcttcgctgctaaaaaagccggagtagaagatggtagaaatcaataaGGATCTccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttataGGATCTCTTACGGCTAGCTCAGTCCTAGGCACTTTGCTAGCGGATCTccccttattgggggtaagacatgaagCtgccagaaaaacatgacctgttggccgccattctcgcggcaaaggaacaaggcatcggggcaatccttgcgtttgcaatggcgtaccttcgcggcagatataatggcggtgcgtttacaaaaacagtaatcgacgcaacgatgtgcgccattatcgcctggttcattcgtgaccttctcgacttcgccggactaagtagcaatctcgcttatataacgagcgtgtttatcggctacatcggtactgactcgattggttcgcttatcaaacgcttcgctgctaaaaaagccggagtagaagatggtagaaatcaataaGGATCTgCcggcttatcGgtcagtttcacctgatttacgtaaaaacccgcttcggcgggtttttgcttttggaggggcagaaagatgaatgactgtccacgacgctatacccaaaagaaatG";
try{
abi1=new ABITrace(new File("//Users//benjaminbubenheim//Downloads//sequencing//BG4_ca998_2010-03-20_B03_029.ab1"));
abi2=new ABITrace(new File("//Users//benjaminbubenheim//Downloads//sequencing//BG4_G00101_2010-03-19_E10_072.ab1"));
abi3=new ABITrace(new File("//Users//benjaminbubenheim//Downloads//032510_jca//CF8_ca998_2010-03-25_C09_075.ab1"));
abi4=new ABITrace(new File("//Users//benjaminbubenheim//Downloads//sequencing//CC4_ca998_2010-03-27_A10_080.ab1"));
abi5=new ABITrace(new File("//Users//benjaminbubenheim//Downloads//sequencing//CC4_G00101_2010-03-26_C02_012.ab1"));
abiC=new ABITrace(new File("//Users//benjaminbubenheim//Downloads//071410_iGEM//iGEM43_g00101_2010-07-14_G10.ab1"));
abiC1=new ABITrace(new File("//Users//benjaminbubenheim//Downloads//071410_iGEM//iGEM44_ca998_2010-07-14_H10.ab1"));
}
catch(IOException e){
System.out.println("OOPS");
}
Hashtable hash=new Hashtable(200);
File xls = new File("//Users//benjaminbubenheim//Downloads//sequencingmatching.csv");
try{
BufferedReader in=new BufferedReader(new FileReader(xls));
String str="";
while((str=in.readLine())!=null){
//System.out.println(str);
String temp1=str.substring(0, str.indexOf(","));
String temp2=str.substring(str.indexOf(",")+1);
hash.put(temp1, temp2);
}
}
catch(Exception e){
System.out.println(e);
e.printStackTrace();
}
File folder = new File("//Users//benjaminbubenheim//Downloads//seqTest//");
File[] listOfFiles = folder.listFiles();
ArrayList<String> seenB4=new ArrayList<String>();
Hashtable fileHash=new Hashtable(200);
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()&&listOfFiles[i].getName().contains(".ab1")) {
System.out.println("File " + listOfFiles[i].getName());
if(!seenB4.contains(listOfFiles[i].getName().substring(0, 3))){
seenB4.add(listOfFiles[i].getName().substring(0, 3));
ArrayList<ABITrace> temp=new ArrayList<ABITrace>();
try{
temp.add(new ABITrace(listOfFiles[i]));
fileHash.put(listOfFiles[i].getName().substring(0, 3), temp);
//abis.add(new ABITrace(listOfFiles[i]));
}
catch(IOException e){
System.out.println("OOPS");
}
}
else{
try{
((ArrayList<ABITrace>)fileHash.get(listOfFiles[i].getName().substring(0, 3))).add(new ABITrace(listOfFiles[i]));
}
catch(IOException e){
System.out.println("OOPS");
}
}
}
}
ArrayList<ABITrace> a=new ArrayList<ABITrace>();
a.add(abi1);
a.add(abi2);
//a.add(abiC);
//a.add(abiC1);
//System.out.println(((String)hash.get("BG4")).toUpperCase());
//System.out.println(actual);
String f="CE2";
seqAnalysis s=new seqAnalysis((ArrayList<ABITrace>)fileHash.get(f), (String)hash.get(f), null, null, true);//((String)hash.get("BG4")).toUpperCase());
//seqAnalysis s=new seqAnalysis(a, actual, null, null, true);
}
}