package miniScripts; import java.io.IOException; import java.io.StringReader; import java.net.URL; import java.net.URLConnection; import java.util.Scanner; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import org.xml.sax.SAXException; public class queryVariant { public static void main (String [] arg) throws IOException { String gene = "BRAF"; String term = "V600E"; String urltxt = "http://goldorak.hesge.ch/synvar/generate/litterature/fromMutation"; String param = "?base="+gene+"&variant="+term+"&type=protein"; String content = ""; try{ URL url = new URL(urltxt+param); URLConnection connection = url.openConnection(); connection.connect(); Scanner in = new Scanner(connection.getInputStream()); while(in.hasNextLine()){ String line = in.nextLine(); content += line+"\n"; } in.close(); } catch (Exception e){ System.out.println("error downloading:"+e.toString()); } // Transform the content to an XML object try { DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); InputSource is = new InputSource(new StringReader(content)); Document doc = dBuilder.parse(is); doc.getDocumentElement().normalize(); // Get the variant list NodeList variantList = doc.getElementsByTagName("variant"); // Pour chaque variant for (int v = 0; v < variantList.getLength(); v++) { Node variantNode = variantList.item(v); Element variantElement = (Element) variantNode; // Get data at protein level Node proteinNode = variantElement.getElementsByTagName("protein-level").item(0); if (proteinNode != null) { Element proteinElement = (Element) proteinNode; // Get HGVS NodeList hgvsPList = proteinElement.getElementsByTagName("hgvs"); if (hgvsPList.getLength() != 0){ Node hgvsPNode = hgvsPList.item(0); String hgvsP = hgvsPNode.getTextContent().trim(); System.out.println(hgvsP); } // Get synonyms NodeList synoProteinNode = proteinElement.getElementsByTagName("syntactic-variation"); for (int s=0; s