Squashed initial commit

This commit is contained in:
2024-09-10 13:47:29 -04:00
commit 8ebb6ad265
6221 changed files with 2512206 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
/**
*
* @author DTian
*/
public class Matrix {
private HashMap matrix; // store data
private int rowSize; // row size of matrix
private int colSize; // column size of value array
private final int lookupTableSize = 9000; //size of look up table
public int getColSize() {
return colSize;
}
public void setColSize(int colSize) {
this.colSize = colSize;
}
public HashMap getMatrix() {
return matrix;
}
public void setMatrix(HashMap matrix) {
this.matrix = matrix;
}
public int getRowSize() {
return rowSize;
}
public void setRowSize(int rowSize) {
this.rowSize = rowSize;
}
public Matrix() {
rowSize = 0;
colSize = 0;
matrix = new HashMap();
}
/**
* constructor with 1 String parameter
*
* @param filename : the name of the input file
*
* @result: create a matrix from a input file
*
*/
public Matrix(String filename) {
// Initialize variables
this.setRowSize(0);
this.setColSize(0);
matrix = new HashMap(lookupTableSize);
try {
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
// strRow is used to read line from file(skip first row)
String strRow = br.readLine();
// The while loop read the data from data file to vvf
while ((strRow = br.readLine()) != null) {
// strArray was used to store the float value from data file in
// string format
String delimiter = "";
if (strRow.indexOf(",") >= 0) { //for CSV file
delimiter = "\\,";
} else { // for whitespace delimited file
delimiter = "\\s";
}
String[] strArray = strRow.trim().split(delimiter);
String[] strArrValue = Arrays.copyOfRange(strArray, 1, strArray.length);
// strArray[0] is the orf name, others are value
matrix.put(strArray[0].trim().toLowerCase(), strArrValue);
rowSize++;
colSize = strArrValue.length;
}
br.close();
fr.close();
} catch (IOException e) {
// catch possible io errors from readLine()
System.out.println("IOException error in 'class Matrix, constructor'");
}
}
/**
*
* @param index, the specifed key
* @return: the string array of the value
*/
public String[] getSpecifiedValue(Object key) {
return (String[]) matrix.get(key);
}
/**
* @return the list of orf names
*/
public ArrayList getOrfNames() {
ArrayList result = new ArrayList(this.getRowSize());
Iterator it = matrix.keySet().iterator();
while (it.hasNext()) {
result.add(it.next());
}
return result;
}
public void addValue(Object key, Object value) {
matrix.put(key, value);
}
}