Digital evolution is a branch of artificial life in which self-replicating computer programs—digital organisms—mutate and evolve within a user-defined computational environment. In spite of its value in biology, we still lack an up-to-date and comprehensive database on digital organisms resulting from Avida evolution experiments. Therefore, we have developed an ontology-based semantic database—avidaDB—and an R package—avidaR—that provides users of the R programming language with an easy-to-use tool for performing complex queries without specific knowledge of SPARQL or RDF. avidaR can be used to do research on robustness, evolvability, complexity, phenotypic plasticity, gene regulatory networks, and genomic architecture by retrieving the genomes, phenotypes, and transcriptomes of more than a million digital organisms available on avidaDB. avidaR is already accepted on CRAN (i.e., a comprehensive collection of R packages contributed by the R community) and will make biologists better equipped to embrace the field of digital evolution. avidaR was developed by the Computational Biology Lab of the Doñana Biological Station (EBD), a research institute of the Spanish National Research Council (CSIC) based in Seville (Spain).
avidaR depends on the following packages: - base64enc - xml2 - httr - dplyr - readr - tidyr - tibble - circlize - RColorBrewer - R6 - curl - devtools: needed for the GitLab installation.
You can install avidaR from CRAN:
install.packages("avidaR")
or from our GitLab repository to get the latest version:
::install_gitlab("fortunalab/avidaR") devtools
avidaR can be loaded as follows:
library("avidaR")
avidaDB is a semantic database (or triple-store) on genomes and transcriptomes of more a million digital organisms stored as RDF data. It allows querying data using the SPARQL query language. The library avidaR can connect to triple-stores that support the RDF4J server REST API such as GraphDB. Since avidaDB is implemented in GraphDB, a basic connection (requiring no password or requiring basic HTTP user-pass authentication) or a connection secured with an API access token can be established.
avidaR provides a triplestore_access
class to manage
access options and retrieve data through the database server API. In
order to get access to the entire database, you should first create the
triplestore
object and run the
set_access_options()
method as follows:
# create object of class triplestore_access
<- triplestore_access$new()
avidaDB
# set access options to avidaDB
$set_access_options(
avidaDBurl = "https://graphdb.fortunalab.org",
user = "public_avida",
password = "public_avida",
repository = "avidaDB"
)
The following function can be used to get the genome sequence of a single genome (e.g., genome_id = 1):
get_genome_seq_from_genome_id(genome_id = 1, triplestore = avidaDB)
or to get the genome sequences of multiple genomes at once:
get_genome_seq_from_genome_id(genome_id = c(1, 2, 3), triplestore = avidaDB)
Please, use the R help command to get more details about any specific
function by writing the name of the function preceded by the symbol
?
:
?get_genome_seq_from_genome_id
get_genome_id_from_logic_operation()
get_genome_id_from_phenotype_id()
get_genome_id_from_transcriptome_id()
get_genome_id_from_genome_seq()
get_genome_seq_from_genome_id()
get_phenotype_id_from_logic_operation()
get_phenotype_id_from_genome_id()
get_phenotype_id_from_genome_seq()
get_phenotype_id_from_transcriptome_id()
get_logic_operations_from_phenotype_id()
get_transcriptome_id_from_logic_operation()
get_transcriptome_id_from_genome_id()
get_transcriptome_id_from_genome_seq()
get_transcriptome_id_from_phenotype_id()
get_transcriptome_seq_from_transcriptome_id()
get_tandem_id_from_logic_operation()
get_tandem_id_from_genome_id()
get_tandem_id_from_genome_seq()
get_tandem_id_from_phenotype_id()
get_tandem_seq_from_tandem_id()
get_experiment_id_from_organism_id()
get_doi_from_experiment_id()
get_docker_image_from_experiment_id()
get_db_summary()
instruction_set()
get_genome_id_of_wild_type_organisms()
get_mutant_at_pos()
convert_org_into_seq()
convert_seq_into_org()
plot_transcriptome()
avidaR was developed by Raúl Ortega.