Skip to content

Commit

Permalink
added sequence count
Browse files Browse the repository at this point in the history
  • Loading branch information
DomBennett committed Sep 14, 2018
1 parent 824be16 commit 0a40d5a
Show file tree
Hide file tree
Showing 111 changed files with 139 additions and 228 deletions.
1 change: 0 additions & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ Imports:
rentrez,
MonetDBLite,
DBI (>= 1.0.0),
R.utils,
downloader,
RCurl,
cli,
Expand Down
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Generated by roxygen2: do not edit by hand

export(count_db_ids)
export(db_create)
export(db_delete)
export(db_download)
Expand Down
6 changes: 3 additions & 3 deletions R/db-tools.R
Original file line number Diff line number Diff line change
Expand Up @@ -219,13 +219,13 @@ demo_db_create <- function(db_type='nucleotide', n=100) {
#' @name db_delete
#' @title Delete database
#' @family setup
#' @description Delete the local SQL database and/or restez
#' folder.
#' @description Delete the local SQL database and/or restez folder.
#' @param everything T/F, delete the whole restez folder as well?
#' @details Any connected database will be automatically disconnected.
#' @return NULL
#' @export
#' @example examples/db_delete.R
db_delete <- function(everything = TRUE) {
db_delete <- function(everything = FALSE) {
restez_disconnect()
if (length(sql_path_get()) > 0 && dir.exists(sql_path_get())) {
unlink(sql_path_get(), recursive = TRUE)
Expand Down
24 changes: 24 additions & 0 deletions R/general-get-tools.R
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,27 @@ is_in_db <- function(id, db = 'nucleotide') {
names(res) <- id
res
}

#' @name count_db_ids
#' @title Return the number of ids
#' @description Return the number of ids in a user's restez database.
#' @details Requires an open connection. If no connection or db 0 is returned.
#' @param db character, database name
#' @return integer
#' @family get
#' @export
#' @example examples/count_db_ids.R
count_db_ids <- function(db = 'nucleotide') {
if (!restez_ready()) {
warning('No database connection. Did you run `restez_connect`?')
return(0L)
}
connection <- connection_get()
qry <- "SELECT count(*) FROM nucleotide"
qry_res <- DBI::dbSendQuery(conn = connection, statement = qry)
on.exit(expr = {
DBI::dbClearResult(res = qry_res)
})
res <- DBI::dbFetch(res = qry_res)
as.integer(res[[1]])
}
22 changes: 2 additions & 20 deletions R/log-tools.R
Original file line number Diff line number Diff line change
Expand Up @@ -214,24 +214,6 @@ last_add_get <- function() {
last_entry_get(fp = fp)[[3]]
}

#' @name db_nrows_get
#' @title Return the number of rows in a db
#' @description Return the number of rows in the SQL database in the user's
#' restez_path.
#' @details Requires an open connection.
#' @return integer
#' @family private
db_nrows_get <- function() {
qry <- "SELECT count(*) FROM nucleotide"
connection <- connection_get()
qry_res <- DBI::dbSendQuery(conn = connection, statement = qry)
on.exit(expr = {
DBI::dbClearResult(res = qry_res)
})
res <- DBI::dbFetch(res = qry_res)
res[[1]]
}

#' @name db_sqlngths_get
#' @title Return the minimum and maximum sequence lengths in db
#' @description Returns the maximum and minimum sequence lengths as set by the
Expand All @@ -242,10 +224,10 @@ db_nrows_get <- function() {
db_sqlngths_get <- function() {
fp <- file.path(restez_path_get(), 'seqlengths.tsv')
if (!file.exists(fp)) {
return(c('min' = '', 'max' = 'max'))
return(c('min' = '0', 'max' = 'Inf'))
}
res <- utils::read.table(file = fp, header = TRUE, sep = '\t',
stringsAsFactors = FALSE)[1, ]
stringsAsFactors = FALSE)[1, ]
res
}

Expand Down
2 changes: 2 additions & 0 deletions R/status-tools.R
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,12 @@ status_class <- function() {
# database
flpth <- sql_path_get()
sqlngths <- db_sqlngths_get()
nseqs <- suppressWarnings(count_db_ids())
database_info <- list('Path' = flpth, 'Does path exist?' = dir.exists(flpth),
'N. GBs' = dir_size(flpth),
'Is database connected?' = connected(),
'Does the database have data?' = has_data(),
'Number of sequences' = nseqs,
'Min. sequence length' = sqlngths[['min']],
'Max. sequence length' = sqlngths[['max']],
'Last_updated' = last_add_get())
Expand Down
8 changes: 8 additions & 0 deletions examples/count_db_ids.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
library(restez)
restez_path_set(filepath = tempdir())
restez_connect()
demo_db_create()
(count_db_ids())

# delete demo after example
db_delete(everything = TRUE)
1 change: 0 additions & 1 deletion examples/db_delete.R
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ demo_db_create(n = 10)
db_delete(everything = FALSE)
# Will not run: gb_sequence_get(id = 'demo_1')
# only the SQL database is deleted
restez_disconnect()
db_delete(everything = TRUE)
# Now returns NULL
(restez_path_get())
3 changes: 1 addition & 2 deletions examples/demo_db_create.R
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,4 @@ demo_db_create(n = 100)
(gb_sequence_get(id = 'demo_1'))

# Delete a demo database after an example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/entrez_fetch.R
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,4 @@ cat(gb_res)
# rettype = 'gb')

# delete demo after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/gb_definition_get.R
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ demo_db_create()


# delete demo after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/gb_fasta_get.R
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ demo_db_create()


# delete demo after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/gb_organism_get.R
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ demo_db_create()


# delete demo after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/gb_record_get.R
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ demo_db_create()


# delete demo after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/gb_sequence_get.R
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ demo_db_create()


# delete demo after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/gb_version_get.R
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ demo_db_create()


# delete demo after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/is_in_db.R
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,4 @@ ids <- c('thisisnotanid', 'demo_1', 'demo_2')


# delete demo after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
3 changes: 1 addition & 2 deletions examples/list_db_ids.R
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,4 @@ cat(fasta_file)


# delete after example
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
2 changes: 1 addition & 1 deletion examples/restez_connect.R
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ restez_connect()
demo_db_create()
restez_status()
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
# Errors
# restez_status()
2 changes: 1 addition & 1 deletion examples/restez_disconnect.R
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ demo_db_create()
restez_status()
# always remember to disconnect from a database when you've finished
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
# Errors
# restez_status()
2 changes: 1 addition & 1 deletion examples/restez_ready.R
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ restez_connect()
demo_db_create()
(restez_ready())
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
(restez_ready())
2 changes: 1 addition & 1 deletion examples/restez_status.R
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ restez_connect()
demo_db_create()
restez_status()
restez_disconnect()
db_delete()
db_delete(everything = TRUE)
# Errors:
# restez_status()
1 change: 0 additions & 1 deletion man/add_rcrd_log.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion man/cat_line.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion man/char.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion man/check_connection.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion man/cleanup.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion man/connected.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion man/connection_get.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 39 additions & 0 deletions man/count_db_ids.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion man/custom_download.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion man/custom_download2.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions man/db_delete.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 0a40d5a

Please sign in to comment.