public static void uniprotParse(String filename, String [] accessions, String [] sequences) throws IOException {
Scanner lineScanner = new Scanner(new File(filename));
int n = 0;
boolean foundAC = false; // True when AC line is encountered
boolean foundSQ = false; // True when SQ line is encountered
String sequence=""; // accumulates the sequence
String accession = ""; // stores the primary accession
while(lineScanner.hasNextLine( )){
String line = lineScanner.nextLine();
if (line.startsWith("//")){
accessions[n] = accession;
sequences[n] = sequence;
foundAC = false;
foundSQ = false;
sequence = "";
n++;
}
else if (foundSQ){
sequence += line.replace(" ", "");
}
else if (line.startsWith("AC")){
if (foundAC) continue;
foundAC = true;
accession = line.substring(5, line.length()-1).split(";")[0];
}
else if (line.startsWith("SQ")){
foundSQ = true;
}
}
lineScanner.close();
}
Scanner lineScanner = new Scanner(new File(filename));
int n = 0;
boolean foundAC = false; // True when AC line is encountered
boolean foundSQ = false; // True when SQ line is encountered
String sequence=""; // accumulates the sequence
String accession = ""; // stores the primary accession
while(lineScanner.hasNextLine( )){
String line = lineScanner.nextLine();
if (line.startsWith("//")){
accessions[n] = accession;
sequences[n] = sequence;
foundAC = false;
foundSQ = false;
sequence = "";
n++;
}
else if (foundSQ){
sequence += line.replace(" ", "");
}
else if (line.startsWith("AC")){
if (foundAC) continue;
foundAC = true;
accession = line.substring(5, line.length()-1).split(";")[0];
}
else if (line.startsWith("SQ")){
foundSQ = true;
}
}
lineScanner.close();
}
