/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.clothocad.algorithm.seqanalyzer.sequencing; import java.awt.Color; import java.util.Hashtable; import java.awt.Dimension; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JComboBox; import javax.swing.JButton; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.text.JTextComponent; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.ArrayList; import java.awt.BorderLayout; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileReader; 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.net.URL; import java.util.ArrayList; //import sequencing.ABITrace; //import sequencing.seqAnalysis; /** * * @author benjaminbubenheim */ public class ABIClassification extends JPanel{ ArrayList<ABITrace> abis; int score; public ABIClassification(int s){ setBackground(Color.gray); score=s; abis=new ArrayList<ABITrace>(); 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//sequencing//"); File[] listOfFiles = folder.listFiles(); for (int i = 0; i < listOfFiles.length; i++) { if (listOfFiles[i].isFile()&&listOfFiles[i].getName().contains(".ab1")) { System.out.println("File " + listOfFiles[i].getName()); try{ abis.add(new ABITrace(listOfFiles[i])); } catch(IOException e){ System.out.println("OOPS"); } } } try{ abis.add(new ABITrace(listOfFiles[0])); } catch(IOException e){ System.out.println("OOPS"); } JLabel seqLabel = new JLabel(""+score); seqLabel.setBounds(10, 5, 110, 26); add(seqLabel); for(int i=0; i<abis.size(); i++) { for(int j=0; j<abis.get(i).getQualities().length; j++){ if(abis.get(i).getQualities()[j]==score){ System.out.println("j is "+j); JLabel imageLabel = new JLabel(); imageLabel.setBounds(150*i+10, 30, 120, 90); add(imageLabel); drawAnIcon(imageLabel, new int[]{i, j}); } } } } public void drawAnIcon(JLabel alabel, int[] n) { BufferedImage traceImage = abis.get(n[0]).getImage(90,1,Math.max(0, n[1])); ImageIcon traceIcon = new ImageIcon(traceImage); alabel.setIcon(traceIcon); } public static void main(String[] args){ ABIClassification a=new ABIClassification(12); JScrollPane scrollPane = new JScrollPane(a); scrollPane.setPreferredSize(new Dimension(350, 170)); JOptionPane.showMessageDialog(null, scrollPane, ""+a.score, JOptionPane.INFORMATION_MESSAGE); /* ABIClassification b=new ABIClassification(18); ABIClassification c=new ABIClassification(17); ABIClassification d=new ABIClassification(16); ABIClassification e=new ABIClassification(15); ABIClassification f=new ABIClassification(14); ABIClassification g=new ABIClassification(13); ABIClassification h=new ABIClassification(12); ABIClassification i=new ABIClassification(11); ABIClassification j=new ABIClassification(10); ABIClassification k=new ABIClassification(9); ABIClassification l=new ABIClassification(8); ABIClassification m=new ABIClassification(7); ABIClassification n=new ABIClassification(6); ABIClassification o=new ABIClassification(5); ABIClassification p=new ABIClassification(4); ABIClassification q=new ABIClassification(3); ABIClassification r=new ABIClassification(2); ABIClassification s=new ABIClassification(1); ABIClassification t=new ABIClassification(0); */ } }