-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Libary to interface with the NCBI blast REST interface
--   
--   Searches for a provided nucleotide or protein sequence with the NCBI
--   Blast REST service and returns a blast result in xml format as
--   BlastResult datatype.
--   
--   For more information on BLAST refer to:
--   <a>http://blast.ncbi.nlm.nih.gov/Blast.cgi</a>.
--   
--   Information on the webservice can be found at:
--   <a>http://www.ncbi.nlm.nih.gov/BLAST/developer.shtml</a>.
--   
--   If you plan to submit more than 20 searches in one session, please
--   look up the Usage Guidelines in the webservice information.
@package BlastHTTP
@version 1.2.1


-- | Searches a provided sequence with the NCBI Blast REST service and
--   returns a blast result in xml format as BlastResult.
--   
--   The function blastHTTP takes the BlastHTTPQuery datatype as argument,
--   which contains following elements:
--   
--   <ol>
--   <li>program: Selects the blast-program to be used for the query.
--   Example values are blastn, blastp, blastx,.. If Nothing is used as
--   argument the function will default to blastn. Type: Maybe String</li>
--   <li>database: Selects the database to be queried against. Example
--   values are refseq_genomic, nr, est,.. Please consider that the
--   database must be chosen in accordance with the blastprogram. Default
--   value: refseq_genomic. Type: Maybe String</li>
--   <li>querySequences: nucleotides or protein sequences, depending on the
--   blast program used. If no sequence is provided an exception as String
--   will be produced. Type: [Sequence]</li>
--   <li>optionalArguments: This argument is optional and will filter the
--   result if provided. Type: Maybe String</li>
--   <li>optionalWalltime: Optional walltime in mircroseconds. If
--   specified, will terminate the query after reaching the timelimit and
--   return Left. Type: Maybe Int</li>
--   </ol>
--   
--   and returns Either a BlastResult (Right) on success or an exception as
--   String (Left)
--   
--   If you plan to submit more than 20 searches in one session, please
--   look up the Usage Guidelines in the webservice information
--   <a>http://www.ncbi.nlm.nih.gov/BLAST/developer.shtml</a>.
module Bio.BlastHTTP
data BlastHTTPQuery
BlastHTTPQuery :: Maybe String -> Maybe String -> Maybe String -> [Sequence] -> Maybe String -> Maybe Int -> BlastHTTPQuery
[provider] :: BlastHTTPQuery -> Maybe String
[program] :: BlastHTTPQuery -> Maybe String
[database] :: BlastHTTPQuery -> Maybe String
[querySequences] :: BlastHTTPQuery -> [Sequence]
[optionalArguments] :: BlastHTTPQuery -> Maybe String
[optionalWalltime] :: BlastHTTPQuery -> Maybe Int

-- | Retrieve Blast results in BlastXML format from the NCBI REST Blast
--   interface The querySequence has to be provided, all other parameters
--   are optional and can be set to Nothing optionalArguments is attached
--   to the query as is .e.g: "&amp;ALIGNMENTS=250"
blastHTTP :: BlastHTTPQuery -> IO (Either String BlastResult)
instance GHC.Classes.Eq Bio.BlastHTTP.BlastHTTPQuery
instance GHC.Show.Show Bio.BlastHTTP.BlastHTTPQuery
