Skip to content

Commit

Permalink
intermediate save to continue work at home
Browse files Browse the repository at this point in the history
  • Loading branch information
drseb committed Dec 12, 2017
1 parent fc55605 commit d968959
Showing 1 changed file with 30 additions and 31 deletions.
61 changes: 30 additions & 31 deletions src/de/phenomics/Obo2Xls.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.stream.Collectors;

import org.apache.commons.cli.CommandLine;
Expand Down Expand Up @@ -87,7 +85,7 @@ public static void main(String[] args) throws IOException, ParseException {
File oboFilePathFile = new File(oboFilePath);
Ontology ontology = OntologyUtil.parseOntology(oboFilePathFile.getAbsolutePath());

Term selectedRootTerm = null;
Term selectedRootTerm = ontology.getRootTerm();
if (classId != null) {
classId = classId.trim();
if (!classId.equals("")) {
Expand Down Expand Up @@ -131,47 +129,48 @@ private static void createXlsFromObo(Ontology ontology, Term selectedRootTerm, S

rowIndex = createHeaderRow(createHelper, style, rowIndex, sheet0, headersTermAdd);

ArrayList<Term> termsInTopologicalOrder = ontology.getTermsInTopologicalOrder();
HashSet<Term> termsToReport = new HashSet<>();
if (selectedRootTerm != null) {
termsToReport.addAll(ontologySlim.getDescendants(selectedRootTerm));
} else {
termsToReport.addAll(ontology.getAllTerms());
recursiveWriteTermsAndTheirChildren();

for (int i = 0; i < wb.getNumberOfSheets(); i++) {
wb.getSheetAt(i).setDefaultColumnWidth(defaultColumnWidth);
}

for (Term term : termsInTopologicalOrder) {
wb.write(fileOut);
fileOut.close();
}

if (term.isObsolete())
continue;
private static void recursiveWriteTermsAndTheirChildren() {
// if (term.isObsolete())
// continue;
//
// if (!termsToReport.contains(term))
// continue;
//
// createRowForTerm(term, rowIndex++, sheet0, createHelper, ontologySlim);

if (!termsToReport.contains(term))
continue;
}

Row row = sheet0.createRow((short) rowIndex++);
private static void createRowForTerm(Term term, int rowIndex, Sheet sheet0, XSSFCreationHelper createHelper,
SlimDirectedGraphView<Term> ontologySlim) {

int columnIndex = 0;
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(term.getName()));
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(term.getIDAsString()));
Row row = sheet0.createRow((short) rowIndex);

String altIds = Arrays.stream(term.getAlternatives()).map(Object::toString).collect(Collectors.joining("; "));
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(altIds));
int columnIndex = 0;

String synonyms = String.join("; ", term.getSynonymsArrayList());
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(term.getName()));
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(term.getIDAsString()));

row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(synonyms));
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(term.getDefinition()));
String altIds = Arrays.stream(term.getAlternatives()).map(Object::toString).collect(Collectors.joining("; "));
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(altIds));

String parents = ontologySlim.getParents(term).stream().map(Object::toString).collect(Collectors.joining("; "));
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(parents));
String synonyms = String.join("; ", term.getSynonymsArrayList());

}
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(synonyms));
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(term.getDefinition()));

for (int i = 0; i < wb.getNumberOfSheets(); i++) {
wb.getSheetAt(i).setDefaultColumnWidth(defaultColumnWidth);
}
String parents = ontologySlim.getParents(term).stream().map(Object::toString).collect(Collectors.joining("; "));
row.createCell(columnIndex++).setCellValue(createHelper.createRichTextString(parents));

wb.write(fileOut);
fileOut.close();
}

private static int createHeaderRow(XSSFCreationHelper createHelper, XSSFCellStyle style, int rowIndex, Sheet sheet, String[] strings) {
Expand Down

0 comments on commit d968959

Please sign in to comment.