This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Java <> Genbank: How to query for organism taxonomic info with accession number?

Hello!

I'm working on creating a database similar to Genbank that will store cyanobacteria specific information. When adding data, I prompt the user for the Genbank# of the organism they are uploading data for.

I want to query Genbank for genus, species and strain so I can create an organism entry in the database to be linked to what the user uploads. I want to do this to ensure the user input is valid and to shorten the input time a bit.

I would appreciate if someone could point me in the right direction, not sure if there is a framework out there that I can use for this, or if I would have to build this from scratch.

Thanks!

genbank query api java

Can you define Genbank#? I assume you mean accession number. They come in all sorts of varieties and one would need to know what kind of a molecule they are for (if you are strictly thinking DNA then it would make things simpler).

1 answer

there is a java tool named xjc transforming the XML schema for taxonomy to java code.

$ xjc -dtd "https://www.ncbi.nlm.nih.gov/entrez/query/DTD/taxon.dtd"
parsing a schema...
compiling a schema...
generated/Acronym.java
generated/AkaTaxIds.java
generated/Anamorph.java
generated/Citation.java
generated/Citations.java
generated/CommonName.java
generated/EquivalentName.java
generated/GenbankAnamorph.java
generated/GenbankSynonym.java
generated/GeneticCode.java
generated/Includes.java
generated/Inpart.java
generated/LineageEx.java
generated/Misnomer.java
generated/Misspelling.java
generated/MitoGeneticCode.java
generated/Modifier.java
generated/Modifiers.java
generated/Name.java
generated/ObjectFactory.java
generated/OtherNames.java
generated/PropValueBool.java
generated/PropValueInt.java
generated/PropValueString.java
generated/Properties.java
generated/Property.java
generated/RModId.java
generated/RTaxId.java
generated/Synonym.java
generated/TaxId.java
generated/TaxaSet.java
generated/Taxon.java
generated/Teleomorph.java

One you have generated the classes you can use them to send some queries to NCBI/EUTils and to 'unmarshall' the returned XML.

see Drawing A Schematic Genomic Context Tree for an example.

Log in to answer this question.