edu.iastate.jtm.jmed
Class PubMedQuerier

java.lang.Object
  extended by edu.iastate.jtm.jmed.PubMedQuerier

public class PubMedQuerier
extends java.lang.Object

Get number of hits and/or PMID list from PubMed.

Author:
dingjing

Field Summary
static int CONNECT_FAIL
           
static int FETCH_LIMIT
           
static int FIRST_DEFAULT
           
static int NOT_FOUND
           
static int QUERY_FAIL
           
 
Constructor Summary
PubMedQuerier()
           
PubMedQuerier(int db)
           
PubMedQuerier(int db, java.lang.String tool, java.lang.String email)
           
PubMedQuerier(org.dom4j.io.SAXReader xmlParser)
           
PubMedQuerier(org.dom4j.io.SAXReader xmlParser, int db)
           
PubMedQuerier(java.lang.String tool, java.lang.String email)
           
 
Method Summary
 java.lang.String appendTerm(java.lang.String pre, java.lang.String suf, java.lang.String op, boolean quote)
           
 java.lang.String combineTerms(java.util.List terms, java.lang.String op, java.lang.String[] fields, boolean quote, boolean exclude0)
           
 java.lang.String combineTerms(java.lang.String[] terms, int count, java.lang.String op, java.lang.String[] fields, boolean quote, boolean exclude0)
          Concatenate a list of terms into a single query.
 org.dom4j.Element getErrorList()
           
 int getHits()
           
 org.dom4j.Element getTranslation()
           
 boolean hasMorePmids()
           
 boolean isIndexed()
           
static void main(java.lang.String[] args)
          For test.
 void retrieveAll(java.io.File output)
          Retrieve all PMIDs to a single file.
 void retrieveAll(java.util.List pmids)
           
 void retrieveAll(java.lang.String[] pmids)
          Retrieve all PMIDs to an array.
 void retrieveAll(java.lang.String prefix, int size)
          Retrieve all PMIDs to multiple files.
 java.lang.String[] retrieveBatch()
          Retrieve a batch of PMIDs, and store them in a new array.
 int retrieveBatch(java.util.List pmids)
           
 int retrieveBatch(java.lang.String[] pmids, int offset)
          Retrieve a batch of PMIDs into an array starting at offset.
 int sendQuery(java.lang.String queryTerm)
           
 int sendQuery(java.lang.String queryTerm, boolean asis)
           
 int sendQuery(java.lang.String queryTerm, Limits limits)
           
 int sendQuery(java.lang.String queryTerm, Limits limits, boolean asis)
          Send a query to PubMed.
 void setBatchSize(int bs)
           
 void setFirstSize(int fs)
           
 void setHasAbstract(boolean ha)
           
 void setIgnoreError(boolean ie)
           
 void setIgnoreWarning(boolean iw)
           
 void setOutputOriginal(boolean o)
           
 void setQuotedQuery(boolean q)
           
 void setVerbose(boolean v)
          Set verbose mode.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NOT_FOUND

public static final int NOT_FOUND
See Also:
Constant Field Values

QUERY_FAIL

public static final int QUERY_FAIL
See Also:
Constant Field Values

CONNECT_FAIL

public static final int CONNECT_FAIL
See Also:
Constant Field Values

FETCH_LIMIT

public static final int FETCH_LIMIT
See Also:
Constant Field Values

FIRST_DEFAULT

public static final int FIRST_DEFAULT
See Also:
Constant Field Values
Constructor Detail

PubMedQuerier

public PubMedQuerier(int db)
              throws java.io.UnsupportedEncodingException,
                     org.xml.sax.SAXException
Throws:
java.io.UnsupportedEncodingException
org.xml.sax.SAXException

PubMedQuerier

public PubMedQuerier()
              throws org.xml.sax.SAXException,
                     java.io.UnsupportedEncodingException
Throws:
org.xml.sax.SAXException
java.io.UnsupportedEncodingException

PubMedQuerier

public PubMedQuerier(org.dom4j.io.SAXReader xmlParser,
                     int db)
              throws java.io.UnsupportedEncodingException
Throws:
java.io.UnsupportedEncodingException

PubMedQuerier

public PubMedQuerier(org.dom4j.io.SAXReader xmlParser)
              throws java.io.UnsupportedEncodingException
Throws:
java.io.UnsupportedEncodingException

PubMedQuerier

public PubMedQuerier(int db,
                     java.lang.String tool,
                     java.lang.String email)
              throws java.io.UnsupportedEncodingException,
                     org.xml.sax.SAXException
Throws:
java.io.UnsupportedEncodingException
org.xml.sax.SAXException

PubMedQuerier

public PubMedQuerier(java.lang.String tool,
                     java.lang.String email)
              throws java.io.UnsupportedEncodingException,
                     org.xml.sax.SAXException
Throws:
java.io.UnsupportedEncodingException
org.xml.sax.SAXException
Method Detail

setVerbose

public void setVerbose(boolean v)
Set verbose mode.

Parameters:
v - verbose mode

setQuotedQuery

public void setQuotedQuery(boolean q)

setOutputOriginal

public void setOutputOriginal(boolean o)

setIgnoreError

public void setIgnoreError(boolean ie)

setIgnoreWarning

public void setIgnoreWarning(boolean iw)

setBatchSize

public void setBatchSize(int bs)

setFirstSize

public void setFirstSize(int fs)

setHasAbstract

public void setHasAbstract(boolean ha)

combineTerms

public java.lang.String combineTerms(java.lang.String[] terms,
                                     int count,
                                     java.lang.String op,
                                     java.lang.String[] fields,
                                     boolean quote,
                                     boolean exclude0)
Concatenate a list of terms into a single query.

Parameters:
terms - list of terms
count - list size
op - operator "AND" or "OR"
fields - field after each term
quote - whether quote term or not
exclude0 - whether or not exclude 0 hits terms
Returns:
query string

combineTerms

public java.lang.String combineTerms(java.util.List terms,
                                     java.lang.String op,
                                     java.lang.String[] fields,
                                     boolean quote,
                                     boolean exclude0)

appendTerm

public java.lang.String appendTerm(java.lang.String pre,
                                   java.lang.String suf,
                                   java.lang.String op,
                                   boolean quote)

sendQuery

public int sendQuery(java.lang.String queryTerm,
                     Limits limits)

sendQuery

public int sendQuery(java.lang.String queryTerm,
                     Limits limits,
                     boolean asis)
Send a query to PubMed.

Parameters:
queryTerm -
limits -
outputOriginal -
Returns:
# of hits if successful.

sendQuery

public int sendQuery(java.lang.String queryTerm)

sendQuery

public int sendQuery(java.lang.String queryTerm,
                     boolean asis)

getHits

public int getHits()

getTranslation

public org.dom4j.Element getTranslation()

getErrorList

public org.dom4j.Element getErrorList()

isIndexed

public boolean isIndexed()

hasMorePmids

public boolean hasMorePmids()

retrieveBatch

public java.lang.String[] retrieveBatch()
                                 throws org.dom4j.DocumentException,
                                        java.io.IOException
Retrieve a batch of PMIDs, and store them in a new array.

Returns:
The new array of PMIDs
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveBatch

public int retrieveBatch(java.lang.String[] pmids,
                         int offset)
                  throws org.dom4j.DocumentException,
                         java.io.IOException
Retrieve a batch of PMIDs into an array starting at offset.

Parameters:
pmids - the array to store PMIDs.
offset - starting position in the array.
Returns:
number of PMIDs retrieved.
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveBatch

public int retrieveBatch(java.util.List pmids)
                  throws org.dom4j.DocumentException,
                         java.io.IOException
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveAll

public void retrieveAll(java.lang.String[] pmids)
                 throws org.dom4j.DocumentException,
                        java.io.IOException
Retrieve all PMIDs to an array.

Parameters:
pmids - array to store the PMIDs.
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveAll

public void retrieveAll(java.util.List pmids)
                 throws org.dom4j.DocumentException,
                        java.io.IOException
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveAll

public void retrieveAll(java.io.File output)
                 throws org.dom4j.DocumentException,
                        java.io.IOException
Retrieve all PMIDs to a single file.

Parameters:
output - output file
Throws:
org.dom4j.DocumentException
java.io.IOException

retrieveAll

public void retrieveAll(java.lang.String prefix,
                        int size)
                 throws org.dom4j.DocumentException,
                        java.io.IOException
Retrieve all PMIDs to multiple files.

Parameters:
prefix - prefix of output filenames
size - number of PMIDs per file
Throws:
org.dom4j.DocumentException
java.io.IOException

main

public static void main(java.lang.String[] args)
For test.

Parameters:
args - the command line arguments