YeastDataSourceOKC is the parent class of data providers, namely, ModBase, SAM and SWISS. The implementation of each data provider must implement the method for look-up.
package org.openk.okc.bioinfo.okc;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FilenameFilter;
import java.io.IOException;
import org.openk.core.OKC.impl.OKCFacadeImpl;
import org.openk.core.module.interpreter.Argument;
public abstract class YeastDataSourceOKC extends OKCFacadeImpl {
class YeastFileFilter implements FilenameFilter {
private String yeastID;
public YeastFileFilter(String yeastid){
yeastID = yeastid;
}
public boolean accept(File dir, String name) {
return (name.startsWith(yeastID));
}
}
//@MethodSemantic(
// language="tag",
// args={"yeast_gene_ORF","protein_3D_structure_model"}
//)
public abstract boolean lookup(Argument Yid, Argument Fnames, Argument Ds);
protected String[] filesStartingWith(String dir, String prefix){
File basedir = new File(dir);
return basedir.list(new YeastFileFilter(prefix));
}
protected String fileNameOnly(String filename){
File f = new File(filename);
return f.getName();
}
protected void readFile(String filename, StringBuffer filecontent) throws IOException{
BufferedReader in = new BufferedReader(new FileReader(filename));
String str;
while ((str = in.readLine()) != null) {
filecontent.append(str+"\n");
}
filecontent.append("@#@#@#@\n"); // file separator
in.close();
}
}