BLAST 2 FASTA files containing nucleotide or protein sequences with a QuickBLAST instance.

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

Arguments

ptr

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

query

(string) Query file

subject

(string) Subject file

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).

verbose

(bool) Verbosity (Default: TRUE).

Value

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

Note

Only FASTA files are supported by this function, use BLAST2DBs() if inputs are BLAST DBs.

Examples

blastp_inst <- QuickBLAST::CreateQuickBLASTInstance(
  seq_type = 1,
  strand = 0,
  program = "blastp",
  save_sequences = FALSE,
  save_hsp_sequences = FALSE
)
#> Using blastp Defaults...
QuickBLAST::BLAST2Files(
  ptr = blastp_inst,
  query = system.file(
    "extdata",
    "protein_query.fasta",
    package = "QuickBLAST",
    mustWork = TRUE
  ),
  subject = system.file(
    "extdata",
    "protein_subject.fasta",
    package = "QuickBLAST",
    mustWork = TRUE
  ),
  out_file = "test.arrow",
  out_format = "parquet",
  return_values = FALSE,
  min_batch_size = 1024
)
#> Num Threads: 2
#> Total Records (Q + S): 2 (1 + 1)
#> Batch Size: 1024
#> 
Computing: [========================================] 100% (done)                         
#> Done writing to file.
#> Total Records Processed: 4
#> Clock : 0.0502661 seconds
#> [1] TRUE
QuickBLAST::BLAST2Files(
  ptr = blastp_inst,
  query = system.file(
    "extdata",
    "protein_query.fasta",
    package = "QuickBLAST",
    mustWork = TRUE
  ),
  subject = system.file(
    "extdata",
    "protein_subject.fasta",
    package = "QuickBLAST",
    mustWork = TRUE
  ),
  out_file = "test.arrow",
  return_values = TRUE,
  min_batch_size = 0
)
#> Writing to : test.arrow
#> Output Format : parquet
#> Num Threads: 2
#> Total Records (Q + S): 2 (1 + 1)
#> Batch Size: 3
#> 
Computing: [========================================] 100% (done)                         
#> Done writing to file.
#> Total Records Processed: 5
#> Clock : 0.0503667 seconds
#> RecordBatchVector size: 4
#> Total rows across all batches: 8
#> [[1]]
#>   seq_info_num_alignments
#> 1                       1
#> 2                       1
#>                                                                                   seq_info_seqids_qseqid
#> 1 QUERY sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#> 2 QUERY sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#>                                                                                     seq_info_seqids_sseqid
#> 1 SUBJECT sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#> 2 SUBJECT sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#>   seq_info_seqs_qseq seq_info_seqs_sseq seq_info_strands seq_info_lengths_qlen
#> 1                                                    */*                   756
#> 2                                                    */*                   756
#>   seq_info_lengths_slen hsps_qhsp hsps_shsp hsps_pident hsps_pident_gap
#> 1                   756                             100             100
#> 2                   756                             100             100
#>   hsps_frames hsps_evalue hsps_length hsps_length01 hsps_qstart hsps_qend
#> 1         0/0           0         756             1           1       756
#> 2         0/0           0         756             1           1       756
#>   hsps_sstart hsps_send hsps_bitscore hsps_score hsps_qcovhsp hsps_blast_score
#> 1           1       756      1492.249       3862            0             3862
#> 2           1       756      1492.249       3862            0             3862
#>   hsps_gaps hsps_nident hsps_mismatch hsps_positive hsps_n_splices hsps_hsp_num
#> 1         0         756             0           756              0            1
#> 2         0         756             0           756              0            2
#>   hsps_sum_evalue hsps_product_coverage hsps_overall_identity
#> 1               0                     0                     0
#> 2               0                     0                     0
#>   hsps_negative_count hsps_matches hsps_high_quality_percent_coverage
#> 1                   0            0                                  0
#> 2                   0            0                                  0
#>   hsps_exon_identity hsps_consensus_splices hsps_comp_adj_method
#> 1                  0                      0                    2
#> 2                  0                      0                    2
#> 
#> [[2]]
#>   seq_info_num_alignments
#> 1                       1
#> 2                       1
#>                                                                                   seq_info_seqids_qseqid
#> 1 QUERY sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#> 2 QUERY sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#>                                                                                     seq_info_seqids_sseqid
#> 1 SUBJECT sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#> 2 SUBJECT sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#>   seq_info_seqs_qseq seq_info_seqs_sseq seq_info_strands seq_info_lengths_qlen
#> 1                                                    */*                   756
#> 2                                                    */*                   756
#>   seq_info_lengths_slen hsps_qhsp hsps_shsp hsps_pident hsps_pident_gap
#> 1                   756                             100             100
#> 2                   756                             100             100
#>   hsps_frames hsps_evalue hsps_length hsps_length01 hsps_qstart hsps_qend
#> 1         0/0           0         756             1           1       756
#> 2         0/0           0         756             1           1       756
#>   hsps_sstart hsps_send hsps_bitscore hsps_score hsps_qcovhsp hsps_blast_score
#> 1           1       756      1492.249       3862            0             3862
#> 2           1       756      1492.249       3862            0             3862
#>   hsps_gaps hsps_nident hsps_mismatch hsps_positive hsps_n_splices hsps_hsp_num
#> 1         0         756             0           756              0            1
#> 2         0         756             0           756              0            2
#>   hsps_sum_evalue hsps_product_coverage hsps_overall_identity
#> 1               0                     0                     0
#> 2               0                     0                     0
#>   hsps_negative_count hsps_matches hsps_high_quality_percent_coverage
#> 1                   0            0                                  0
#> 2                   0            0                                  0
#>   hsps_exon_identity hsps_consensus_splices hsps_comp_adj_method
#> 1                  0                      0                    2
#> 2                  0                      0                    2
#> 
#> [[3]]
#>   seq_info_num_alignments
#> 1                       1
#> 2                       1
#>                                                                                   seq_info_seqids_qseqid
#> 1 QUERY sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#> 2 QUERY sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#>                                                                                     seq_info_seqids_sseqid
#> 1 SUBJECT sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#> 2 SUBJECT sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#>   seq_info_seqs_qseq seq_info_seqs_sseq seq_info_strands seq_info_lengths_qlen
#> 1                                                    */*                   758
#> 2                                                    */*                   758
#>   seq_info_lengths_slen hsps_qhsp hsps_shsp hsps_pident hsps_pident_gap
#> 1                   756                             100             100
#> 2                   756                             100             100
#>   hsps_frames hsps_evalue hsps_length hsps_length01 hsps_qstart hsps_qend
#> 1         0/0           0         756             1           1       756
#> 2         0/0           0         756             1           1       756
#>   hsps_sstart hsps_send hsps_bitscore hsps_score hsps_qcovhsp hsps_blast_score
#> 1           1       756      1493.405       3865            0             3865
#> 2           1       756      1493.405       3865            0             3865
#>   hsps_gaps hsps_nident hsps_mismatch hsps_positive hsps_n_splices hsps_hsp_num
#> 1         0         756             0           756              0            1
#> 2         0         756             0           756              0            2
#>   hsps_sum_evalue hsps_product_coverage hsps_overall_identity
#> 1               0                     0                     0
#> 2               0                     0                     0
#>   hsps_negative_count hsps_matches hsps_high_quality_percent_coverage
#> 1                   0            0                                  0
#> 2                   0            0                                  0
#>   hsps_exon_identity hsps_consensus_splices hsps_comp_adj_method
#> 1                  0                      0                    2
#> 2                  0                      0                    2
#> 
#> [[4]]
#>   seq_info_num_alignments
#> 1                       1
#> 2                       1
#>                                                                                   seq_info_seqids_qseqid
#> 1 QUERY sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#> 2 QUERY sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#>                                                                                     seq_info_seqids_sseqid
#> 1 SUBJECT sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#> 2 SUBJECT sp|P10636|TAU_HUMAN Microtubule-associated protein tau OS=Homo sapiens OX=9606 GN=MAPT PE=1 SV=5
#>   seq_info_seqs_qseq seq_info_seqs_sseq seq_info_strands seq_info_lengths_qlen
#> 1                                                    */*                   758
#> 2                                                    */*                   758
#>   seq_info_lengths_slen hsps_qhsp hsps_shsp hsps_pident hsps_pident_gap
#> 1                   756                             100             100
#> 2                   756                             100             100
#>   hsps_frames hsps_evalue hsps_length hsps_length01 hsps_qstart hsps_qend
#> 1         0/0           0         756             1           1       756
#> 2         0/0           0         756             1           1       756
#>   hsps_sstart hsps_send hsps_bitscore hsps_score hsps_qcovhsp hsps_blast_score
#> 1           1       756      1493.405       3865            0             3865
#> 2           1       756      1493.405       3865            0             3865
#>   hsps_gaps hsps_nident hsps_mismatch hsps_positive hsps_n_splices hsps_hsp_num
#> 1         0         756             0           756              0            1
#> 2         0         756             0           756              0            2
#>   hsps_sum_evalue hsps_product_coverage hsps_overall_identity
#> 1               0                     0                     0
#> 2               0                     0                     0
#>   hsps_negative_count hsps_matches hsps_high_quality_percent_coverage
#> 1                   0            0                                  0
#> 2                   0            0                                  0
#>   hsps_exon_identity hsps_consensus_splices hsps_comp_adj_method
#> 1                  0                      0                    2
#> 2                  0                      0                    2
#> 
unlink("test.arrow")