package org.tgdb; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.InputStream; import java.net.URL; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.tgdb.dto.OlsDTO; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import uk.ac.ebi.ook.web.services.Query; import uk.ac.ebi.ook.web.services.QueryService; import uk.ac.ebi.ook.web.services.QueryServiceLocator; public class TestMe { private static Map term_maps = new HashMap(); private static String[] ontologies = {"EMAP", "MA"}; public static void main(java.lang.String[] arg) { // doMe(); // doMeToo(); // doMeAsWell(); // doHim("http://www.ebi.ac.uk/ontology-lookup/ajax.view?q=termautocomplete+termname=embryo+ontologyname=EMAP"); // doHimToo("http://www.ebi.ac.uk/ontology-lookup/browse.do?ontName=EMAP"); // doHimToo("http://zoub.org"); doMice(); } private static void doMe() { try { QueryService ols = (QueryService) new QueryServiceLocator(); Query ols_query = ols.getOntologyQuery(); // Map map = ols_query.getOntologyNames(); Map map = ols_query.getAllTermsFromOntology("MA"); Iterator i = map.keySet().iterator(); int oid = 1; while(i.hasNext()) { String key = (String) i.next(); String name =(String) map.get(key); OlsDTO dto = new OlsDTO(); // dto.setOid(oid); dto.setNamespace(key); dto.setName(name); System.out.println("name = " + dto.getName() + " + space = " + dto.getNamespace()); // arr.add(dto); oid++; } }catch(Exception e) { e.printStackTrace(); } } private static void doMeToo() { try { QueryService ols = (QueryService) new QueryServiceLocator(); Query ols_query = ols.getOntologyQuery(); // Map map = ols_query.getOntologyNames(); System.out.println(ols_query.getTermById("MA:0002405", "MA")); }catch(Exception e) { e.printStackTrace(); } } private static void doMeAsWell() { try { QueryService ols = (QueryService) new QueryServiceLocator(); Query ols_query = ols.getOntologyQuery(); for(int i = 0; i < ontologies.length; i++) { term_maps.put(ontologies[i], ols_query.getAllTermsFromOntology(ontologies[i])); } String ontology_name = "EMAP"; Map map = (Map)term_maps.get(ontology_name);//ols_query.getAllTermsFromOntology(ontology_name); Iterator i = map.keySet().iterator(); int oid = 1; while(i.hasNext()) { String key = (String) i.next(); String name =(String) map.get(key); OlsDTO dto = new OlsDTO(); // dto.setOid(oid); dto.setNamespace(key); dto.setName(name); System.out.println("name = " + dto.getName() + " + space = " + dto.getNamespace()); // arr.add(dto); oid++; } }catch(Exception e) { e.printStackTrace(); } } private static void doHim(String url) { try { InputStream nptstr = new URL(url.replace("+", "&")).openStream(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(nptstr); System.out.print(doc.getElementsByTagName("item").getLength()); NodeList nl = doc.getElementsByTagName("item"); for(int nli = 0; nli < nl.getLength(); nli++) { Element node = (Element) nl.item(nli); System.out.print("<item>"); NodeList nl1 = node.getElementsByTagName("name"); for(int nl1i = 0; nl1i < nl1.getLength(); nl1i++) { System.out.print("<name>"); System.out.print(nl1.item(nl1i).getTextContent()); System.out.print("</name>"); } NodeList nl2 = node.getElementsByTagName("value"); for(int nl2i = 0; nl2i < nl2.getLength(); nl2i++) { System.out.print("<value>"); System.out.print(nl2.item(nl2i).getTextContent()); System.out.print("</value>"); } System.out.print("</item>"); } // URLConnection conn = (new URL(url)).openConnection(); // HttpURLConnection c = (HttpURLConnection)conn; // System.out.println("inputStream > " + c.getInputStream().toString()); } catch(Exception e) { e.printStackTrace(); } } private static void doHimToo(String url) { try { WebFile file = new WebFile( url ); String MIME = file.getMIMEType( ); Object content = file.getContent( ); if ( MIME.equals( "text/html" ) && content instanceof String ) { String html = (String)content; System.out.println(html); } } catch(Exception e) { e.printStackTrace(); } } private static boolean doMice() { boolean completed = false; try{ BufferedReader input = new BufferedReader(new FileReader("C:/tmp/mice.csv")); String line = null; int line_type = 0; String [] tg_mouse = null; while ((line = input.readLine()) != null){ tg_mouse = line.split("\t", -2); System.out.println("--------------MODEL DATA--------------"); System.out.println("Line Name: \t" + tg_mouse[4]); System.out.println("Inducible: \t" + tg_mouse[7]); System.out.println("--------------ALLELE DATA--------------"); System.out.println("Allele MGI ID: \t" + tg_mouse[0]); System.out.println("Allele Symbol: \t" + tg_mouse[1]); System.out.println("Allele Name: \t" + tg_mouse[2]); System.out.println("--------------STRAIN DATA--------------"); System.out.println("Strain: \t" + tg_mouse[3]); System.out.println("MGI ID: \t" + tg_mouse[11]); System.out.println("EMMA ID: \t" + tg_mouse[12]); System.out.println("MMRRC ID: \t" + tg_mouse[13]); System.out.println("--------------PROMOTER DATA--------------"); System.out.println("Promoter Name: \t" + tg_mouse[5]); System.out.println("--------------PUBMED--------------"); System.out.println("Pubmed: \t" + tg_mouse[6]); } completed = true; } catch (Exception e) { e.printStackTrace(); } return completed; } }