Runs BLAST using the ptr

BLASTFile2DB(
  ptr,
  query,
  subject,
  out_file = NULL,
  out_format = NULL,
  num_threads = 0L,
  return_values = TRUE,
  min_batch_size = 0L
)

Arguments

ptr

(Rcpp::XPtr<QuickBLAST>) or (unsigned int) Pointer/ID of QuickBLAST instance

query

(string) Query DB

subject

(string) Subject DB

out_file

(string) Ouput file (Optional)

out_format

(string) Ouput Format. 'ipc'/'csv'/'parquet' (Optional) (Default: 'parquet').

num_threads

(unsigned int) Number of threads. (Optional)

return_values

(bool) Return BLAST Hits as Rcpp::List (Default: TRUE) (Optional)

min_batch_size

(unsigned int) Minimum batch size - Size of file write buffer (Optional).

Value

(SEXP) Rcpp::List - if return_values == TRUE, out_file - Otherwise.

Note

Calls makeblastdb to create a BLAST DB of subject if it is not a DB

Examples

if (FALSE) { # \dontrun{
blastp_inst <- QuickBLAST::CreateQuickBLASTInstance(
  seq_type = 1,
  strand = 0,
  program = "blastp",
  save_sequences = F,
  save_hsp_sequences = F
)
QuickBLAST::BLASTFile2DB(
  ptr=blastp_inst,
  query=system.file(
    "extdata","protein_query.fasta",
    package = "QuickBLAST",
    mustWork = T
  ),
  subject=system.file(
    "extdata",
    "protein_subject.fasta",
    package = "QuickBLAST",
    mustWork = T
  ),
  num_threads=24,
  out_file="test.db.arrow",
  return_values = T
)
QuickBLAST::MakeBLASTDB(
  blastp_inst,
  system.file(
    "extdata",
    "protein_subject.fasta",
    package = "QuickBLAST",
    mustWork = T
  ),
  "protein_subject.db"
)
QuickBLAST::BLASTFile2DB(
  ptr=blastp_inst,
  query="protein_query.fasta",
  subject="protein_subject.db",
  num_threads=24,
  out_file="test.db.arrow",
  return_values = T
)
} # }