test_that("PHMMs can be subset as expected", {
expect_error(subsetPHMM(nt_coi_PHMM, 3, 1222), "Index error, end position out of bounds. Input PHMM only has a length of: 657")
expect_error(subsetPHMM(nt_coi_PHMM, 7, 2), "Index error, end position must match or exceed the start position.")
# Subsetting a PHMM
# builda subsection of nt_coi_PHMM that should be 60 profile positions in length
nt_start = 333
nt_end = 392
nt_333PHMM = subsetPHMM(nt_coi_PHMM, nt_start , nt_end)
expect_equal(nt_333PHMM$size, 60)
expect_equal(all.equal(nt_333PHMM$E[,1], nt_coi_PHMM$E[,333]), TRUE)
expect_equal(all.equal(nt_333PHMM$A[,ncol(nt_333PHMM$A)], nt_coi_PHMM$A[,392]), TRUE)
#subset the aa_coi_PHMM in the same manner
aa_start = nt_start/3
aa_end = aa_start + (nt_333PHMM$size/3) -1
aa_333PHMM = subsetPHMM(aa_coi_PHMM, aa_start , aa_end)
expect_equal(aa_333PHMM$size, 20)
#example subset, starting at the specified position, 333 in folmer region
start_333 = 'tgtatatcctcctttagcaggtaatttagcacatgctggcccctctgttgatttagcca'
start_333_error = 'tgtatatcctcctttagccaggtaatttagcacatgctggcccctctgttgatttagcca'
small_good = coi5p_pipe(start_333 , nt_PHMM = nt_333PHMM, aa_PHMM = aa_333PHMM)
#small_error$stop_codons == FALSE
#expect_equal(small_good$stop_codons, FALSE)
small_error = coi5p_pipe(start_333_error , nt_PHMM = nt_333PHMM, aa_PHMM = aa_333PHMM)
#small_error$stop_codons == TRUE
expect_equal(small_error$stop_codons, TRUE)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.