Skip to content

Commit

Permalink
Merge branch 'JRaviLab:main' into rworkflow
Browse files Browse the repository at this point in the history
  • Loading branch information
awasyn authored Oct 24, 2024
2 parents 0c6bf79 + 7613887 commit a255e91
Show file tree
Hide file tree
Showing 92 changed files with 1,393 additions and 1,181 deletions.
2 changes: 2 additions & 0 deletions .github/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
*.html

/.quarto/
83 changes: 64 additions & 19 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,42 +5,87 @@ For a detailed discussion on contributing to this and other tidyverse packages,

## Fixing typos

You can fix typos, spelling mistakes, or grammatical errors in the documentation directly using the GitHub web interface, as long as the changes are made in the _source_ file.
This generally means you'll need to edit [roxygen2 comments](https://roxygen2.r-lib.org/articles/roxygen2.html) in an `.R`, not a `.Rd` file.
You can fix typos, spelling mistakes, or grammatical errors in the documentation directly using the GitHub web interface, as long as the changes are made in the _source_ file.
This generally means you'll need to edit [roxygen2 comments](https://roxygen2.r-lib.org/articles/roxygen2.html) in an `.R`, not a `.Rd` file.
You can find the `.R` file that generates the `.Rd` by reading the comment in the first line.

## Bigger changes

If you want to make a bigger change, it's a good idea to first file an issue and make sure someone from the team agrees that it’s needed.
If you’ve found a bug, please file an issue that illustrates the bug with a minimal
If you want to make a bigger change, it's a good idea to first file an issue and make sure someone from the team agrees that it’s needed.
If you’ve found a bug, please file an issue that illustrates the bug with a minimal
[reprex](https://www.tidyverse.org/help/#reprex) (this will also help you write a unit test, if needed).
See our guide on [how to create a great issue](https://code-review.tidyverse.org/issues/) for more advice.

### Pull request process

* Fork the package and clone onto your computer. If you haven't done this before, we recommend using `usethis::create_from_github("JRaviLab/MolEvolvR", fork = TRUE)`.
- Fork the package and clone onto your computer. If you haven't done this before, we recommend using `usethis`.

* Install all development dependencies with `devtools::install_dev_deps()`, and then make sure the package passes R CMD check by running `devtools::check()`.
If R CMD check doesn't pass cleanly, it's a good idea to ask for help before continuing.
* Create a Git branch for your pull request (PR). We recommend using `usethis::pr_init("brief-description-of-change")`.
- Install and load the `usethis` package with:

* Make your changes, commit to git, and then create a PR by running `usethis::pr_push()`, and following the prompts in your browser.
The title of your PR should briefly describe the change.
The body of your PR should contain `Fixes #issue-number`.
```
install.packages("usethis")
* For user-facing changes, add a bullet to the top of `NEWS.md` (i.e. just below the first header). Follow the style described in <https://style.tidyverse.org/news.html>.
library("usethis")
```

- Clone and fork the MolEvolvR package using:
```
usethis::create_from_github("JRaviLab/MolEvolvR", fork = TRUE)
```
- Install BiocManager from Bioconductor:

```
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(version = "3.19")
```

- Install other development dependencies and then ensure that the package passes R CMD check using `devtools`:

```
install.packages("devtools")
library("devtools")
devtools::install_dev_deps()
devtools::check()
```

_If R CMD check doesn't pass cleanly, it's a good idea to ask for help before continuing._

- Create a Git branch for your pull request (PR). We recommend using:

```
usethis::pr_init("brief-description-of-change")
```

- Make your changes, commit to git, and then create a PR by running `usethis::pr_push()`, and following the prompts in your browser.
The title of your PR should briefly describe the change.
The body of your PR should contain `Fixes #issue-number`.

<!-- * For user-facing changes, add a bullet to the top of `NEWS.md` (i.e. just below the first header). Follow the style described in <https://style.tidyverse.org/news.html>. -->

<!-- No NEWS.md file exists at the moment. Suggest restoring this line when the file exists to avoid a y confusion.-->

### Code style

* New code should follow the tidyverse [style guide](https://style.tidyverse.org).
You can use the [styler](https://CRAN.R-project.org/package=styler) package to apply these styles, but please don't restyle code that has nothing to do with your PR.

* Lint Your Code: Ensure your code adheres to our style guidelines by using [lintr](https://lintr.r-lib.org/): `lintr::lint("path/to/your/file.R")`
- New code should follow the tidyverse [style guide](https://style.tidyverse.org).
You can use the [styler](https://CRAN.R-project.org/package=styler) package to apply these styles, but please don't restyle code that has nothing to do with your PR.
- Lint Your Code: Ensure your code adheres to our style guidelines by using [lintr](https://lintr.r-lib.org/):

```
install.packages("lintr")
library("lintr")
lintr::lint("path/to/your/file.R")
```

* We use [roxygen2](https://cran.r-project.org/package=roxygen2), with [Markdown syntax](https://cran.r-project.org/web/packages/roxygen2/vignettes/rd-formatting.html), for documentation.
- We use [roxygen2](https://cran.r-project.org/package=roxygen2), with [Markdown syntax](https://cran.r-project.org/web/packages/roxygen2/vignettes/rd-formatting.html), for documentation.

* We use [testthat](https://cran.r-project.org/package=testthat) for unit tests.
Contributions with test cases included are easier to accept.
- We use [testthat](https://cran.r-project.org/package=testthat) for unit tests.
Contributions with test cases included are easier to accept.

## Code of Conduct

Expand Down
66 changes: 30 additions & 36 deletions NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,67 +1,63 @@
# Generated by roxygen2: do not edit by hand

export(BinaryDomainNetwork)
export(GCA2Lineage)
export(GenContextNetwork)
export(IPG2Lineage)
export(RepresentativeAccNums)
export(acc2FA)
export(acc2Lineage)
export(acc2fa)
export(addLeaves2Alignment)
export(addLineage)
export(addName)
export(addTaxID)
export(add_leaves)
export(add_name)
export(advanced_opts2est_walltime)
export(alignFasta)
export(assign_job_queue)
export(assignJobQueue)
export(calculateEstimatedWallTimeFromOpts)
export(calculateProcessRuntime)
export(cleanClusters)
export(cleanDomainArchitecture)
export(cleanGeneDescription)
export(cleanGenomicContext)
export(cleanLineage)
export(cleanSpecies)
export(combine_files)
export(combine_full)
export(combine_ipr)
export(combineFiles)
export(combineFullAnalysis)
export(combineIPR)
export(condenseRepeatedDomains)
export(convert2TitleCase)
export(convertAlignment2FA)
export(convertAlignment2Trees)
export(convertFA2Tree)
export(convert_aln2fa)
export(countByColumn)
export(createBinaryDomainNetwork)
export(createDomainNetwork)
export(createFA2Tree)
export(createGenomicContextNetwork)
export(createJobResultsURL)
export(createJobStatusEmailMessage)
export(createLineageLookup)
export(createMSA_Kalign)
export(createMSA_PDF)
export(createRepresentativeAccNum)
export(createUndirectedGenomicContextNetwork)
export(createWordCloud2Element)
export(createWordCloudElement)
export(create_lineage_lookup)
export(domain_network)
export(downloadAssemblySummary)
export(efetchIPG)
export(extractAccNum)
export(filterByDomains)
export(filterByFrequency)
export(findParalogs)
export(find_top_acc)
export(formatJobArgumentsHTML)
export(gc_undirected_network)
export(generateAllAlignments2FA)
export(generate_all_aln2fa)
export(generate_msa)
export(get_accnums_from_fasta_file)
export(get_proc_medians)
export(get_proc_weights)
export(ipr2viz)
export(ipr2viz_web)
export(make_opts2procs)
export(getAccNumFromFA)
export(getProcessRuntimeWeights)
export(getTopAccByLinDomArch)
export(mapAcc2Name)
export(map_acc2name)
export(map_advanced_opts2procs)
export(msa_pdf)
export(mapAdvOption2Process)
export(mapOption2Process)
export(plotEstimatedWallTimes)
export(plotIPR2Viz)
export(plotIPR2VizWeb)
export(plotLineageDA)
export(plotLineageDomainRepeats)
export(plotLineageHeatmap)
Expand All @@ -72,7 +68,6 @@ export(plotStackedLineage)
export(plotSunburst)
export(plotTreemap)
export(plotUpSet)
export(plot_estimated_walltimes)
export(prepareColumnParams)
export(prepareSingleColumnParams)
export(proteinAcc2TaxID)
Expand All @@ -83,28 +78,27 @@ export(removeTails)
export(renameFA)
export(rename_fasta)
export(replaceQuestionMarks)
export(reveql)
export(reverse_operon)
export(run_deltablast)
export(run_rpsblast)
export(reverseOperonSeq)
export(runDeltaBlast)
export(runRPSBlast)
export(selectLongestDuplicate)
export(sendJobStatusEmail)
export(shortenLineage)
export(sinkReset)
export(straightenOperonSeq)
export(summarizeByLineage)
export(summarizeDomArch)
export(summarizeDomArch_ByLineage)
export(summarizeGenContext)
export(summarizeGenContext_ByDomArchLineage)
export(summarizeGenContext_ByLineage)
export(theme_genes2)
export(to_titlecase)
export(themeGenes2)
export(totalGenContextOrDomArchCounts)
export(validateCountDF)
export(wordcloud3)
export(write.MsaAAMultipleAlignment)
export(write_proc_medians_table)
export(write_proc_medians_yml)
export(writeMSA_AA2FA)
export(writeProcessRuntime2TSV)
export(writeProcessRuntime2YML)
importFrom(Biostrings,AAStringSet)
importFrom(Biostrings,readAAStringSet)
importFrom(Biostrings,toString)
Expand Down
35 changes: 24 additions & 11 deletions R/CHANGED-pre-msa-tree.R
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ convert2TitleCase <- function(x, y = " ") {
################################
## Function to add leaves to an alignment file
## !! Add DA to leaves?
#' Adding Leaves to an alignment file w/ accessions
#' addLeaves2Alignment
#'
#' @author Janani Ravi
#' @keywords alignment, accnum, leaves, lineage, species
Expand Down Expand Up @@ -178,7 +178,7 @@ addLeaves2Alignment <- function(aln_file = "",
}


#' Add Name
#' addName
#'
#' @author Samuel Chen, Janani Ravi
#' @description This function adds a new 'Name' column that is comprised of components from
Expand Down Expand Up @@ -252,7 +252,7 @@ addName <- function(data,

################################
## Function to convert alignment 'aln' to fasta format for MSA + Tree
#' Adding Leaves to an alignment file w/ accessions
#' convertAlignment2FA
#'
#' @author Janani Ravi
#' @keywords alignment, accnum, leaves, lineage, species
Expand Down Expand Up @@ -320,6 +320,9 @@ convertAlignment2FA <- function(aln_file = "",
return(fasta)
}

#' mapAcc2Name
#'
#' @description
#' Default renameFA() replacement function. Maps an accession number to its name
#'
#' @param line The line of a fasta file starting with '>'
Expand Down Expand Up @@ -382,6 +385,9 @@ renameFA <- function(fa_path, outpath,

################################
## generateAllAlignments2FA
#' generateAllAlignments2FA
#'
#' @description
#' Adding Leaves to an alignment file w/ accessions
#'
#' @keywords alignment, accnum, leaves, lineage, species
Expand Down Expand Up @@ -441,10 +447,11 @@ generateAllAlignments2FA <- function(aln_path = here("data/rawdata_aln/"),

# accessions <- c("P12345","Q9UHC1","O15530","Q14624","P0DTD1")
# accessions <- rep("ANY95992.1", 201)
#' acc2FA converts protein accession numbers to a fasta format.
#' acc2FA
#'
#' @description
#' Resulting fasta file is written to the outpath.
#' converts protein accession numbers to a fasta format. Resulting
#' fasta file is written to the outpath.
#'
#' @author Samuel Chen, Janani Ravi
#' @keywords accnum, fasta
Expand Down Expand Up @@ -539,6 +546,9 @@ acc2FA <- function(accessions, outpath, plan = "sequential") {
return(result)
}

#' createRepresentativeAccNum
#'
#' @description
#' Function to generate a vector of one Accession number per distinct observation from 'reduced' column
#'
#' @author Samuel Chen, Janani Ravi
Expand All @@ -556,7 +566,7 @@ acc2FA <- function(accessions, outpath, plan = "sequential") {
#' @export
#'
#' @examples
RepresentativeAccNums <- function(prot_data,
createRepresentativeAccNum <- function(prot_data,
reduced = "Lineage",
accnum_col = "AccNum") {
# Get Unique reduced column and then bind the AccNums back to get one AccNum per reduced column
Expand Down Expand Up @@ -585,6 +595,9 @@ RepresentativeAccNums <- function(prot_data,
return(accessions)
}

#' alignFasta
#'
#' @description
#' Perform a Multiple Sequence Alignment on a FASTA file.
#'
#' @author Samuel Chen, Janani Ravi
Expand All @@ -610,12 +623,12 @@ alignFasta <- function(fasta_file, tool = "Muscle", outpath = NULL) {
)

if (typeof(outpath) == "character") {
write.MsaAAMultipleAlignment(aligned, outpath)
writeMSA_AA2FA(aligned, outpath)
}
return(aligned)
}

#' Write MsaAAMultpleAlignment Objects as algined fasta sequence
#' writeMSA_AA2FA
#'
#' @description
#' MsaAAMultipleAlignment Objects are generated from calls to msaClustalOmega
Expand All @@ -632,7 +645,7 @@ alignFasta <- function(fasta_file, tool = "Muscle", outpath = NULL) {
#' @export
#'
#' @examples
write.MsaAAMultipleAlignment <- function(alignment, outpath) {
writeMSA_AA2FA <- function(alignment, outpath) {
l <- length(rownames(alignment))
fasta <- ""
for (i in 1:l)
Expand All @@ -645,7 +658,7 @@ write.MsaAAMultipleAlignment <- function(alignment, outpath) {
return(fasta)
}

#' Get accnums from fasta file
#' getAccNumFromFA
#'
#' @param fasta_file
#'
Expand All @@ -655,7 +668,7 @@ write.MsaAAMultipleAlignment <- function(alignment, outpath) {
#' @export
#'
#' @examples
get_accnums_from_fasta_file <- function(fasta_file) {
getAccNumFromFA <- function(fasta_file) {
txt <- read_file(fasta_file)
accnums <- stringi::stri_extract_all_regex(fasta_file, "(?<=>)[\\w,.]+")[[1]]
return(accnums)
Expand Down
Loading

0 comments on commit a255e91

Please sign in to comment.