tests/testthat/test_consensus.r

test_that("A consensus sequence is obtained properly", {
  
  
  expect_equal(col_mode(c(NA, NA, NA)),'n')
  expect_equal(col_mode(c(NA, NA, NA, 't')) ,'t')
  expect_equal(col_mode(c(NA, NA, 't', 't')),'t')
  expect_equal(col_mode(c(NA, 't', 't', 't')),'t')
  expect_equal(col_mode(c(NA, 't', 't', 'g')) ,'t')
  expect_equal(col_mode(c(NA, 't', 't', 'c', 'g')), 't')
  expect_equal(col_mode(c(NA, 't', 't', 'g','g')),'n')
  expect_equal(col_mode(c(NA, 't', 't' ,'g' ,'g', 'c', 'c')) ,'n')
  
  
  expected_consensus_sequence = "NNNNNNNNNTTTATTTTTGGAATTTGATCCGGAATAATTGGAACATCTCTTAGTCTATTAATTCGTGCTGAATTAGGAAACCCAGGCTCTTTAATTGGAGATGATCAAATTTATAATACAATTGTTACCGCCCACGCCTTTATTATAATTTTTTTCATGGTTATACCAATTATAATTGGAGGATTTGGAAATTGATTAGTACCTTTAATATTAGGAGCTCCTGATATAGCTTTCCCCCGAATAAATAATATAAGATTTTGATTACTTCCCCCTTCACTTACTTTATTAGTTTCTAGAAGAATTGTAGAAAATGGAGTAGGAACAGGATGAACAGTATACCCCCCTTTATCTTCTAATATTGCCCATGGTGGAGGCTCTGTTGATTTAGCAATCTTTTCTCTTCATTTAGCTGGAATTTCTTCAATTTTAGGAGCTGTCAATTTTATTACAACAGTAATTAATATACGAACAAATGGTATATCTTTTGATCGAATACCATTATTTGTTTGATCTGTTGCTATCACAGCACTTCTACTACTTTTATCTTTACCTGTCTTAGCTGGAGCTATTACTATACTTTTAA"
  
  list_of_adjusted_seqs = list(
    "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNgaacatctcttagtctattaattcgtgNNNNNNtaggaaacccaggctctttaattggagatgatcaaatttataatacaattgttaccgcccacgcctttattataatttttttcatggttataccaattataattggaggatttggaaattgattagtacctttaatattaggagctcctgatatagctttcccccgaataaataatataagattttgattacttcccccttcacttactttattagtttctagaagaattgtagaaaatggagtaggaacaggatgaacagtatacccccctttatcttctaatattgcccatggtggaggctctgttgatttagcaatcttttctcttcatttagctggaatttcttcaattttaggagctgtcaattttattacaacagtaattaatatacgaacaaatggtatatcttttgatcgaataccattatttgtttgatctgttgctatcacagcacttctactacttttatctttacctgtcttagctggagctattactatacttttaa", 
    "NNNNNNNNNtttatttttggaatttgatccggaataattggaacatctcttagtctattaattcgtgctgaattaggaaacccaggctctttaattggagatgatcaaatttataatacaattgttaccgcccacgcctttattataatttttttcatggttataccaattataattggaggatttggaaattgattagtacctttaatattaggagctcctgatNNNNNNttcccccgaataaataatataagattttgattacttcccccttcacttactttattagtttctagaagaattgtagaaaatggagtaggaacaggatgaacagtatacccccctttatcttctaatattgcccatggtggaggctctgttgatttagcaatcttttctcttcatttagctggaatttcttcaattttaggagctgtcaattttattacaacagtaattaatatacgaacaaatggtatatcttttgatcgaataccattatttgtttgatctgttgctatcacagcacttctactacttttatctttacctgtcttagctggagctattactatacttttaa", 
    "NNNNNNNNNtttatttttggaatttgatccggaataattggaacatctcttagtctattaattcgtgctgaattaggaaacccaggctctttaattggagatgaNNNNNNNNNNNNNNNaattgttaccgcccacgcctttattataatttttttcatggttataccaattataattggaggatttggaaattgattagtacctttaatattaggagctcctgatatagctttcccccgaataaataatataagattttgattacttcccccttcacttactttattagtttctagaagaattgtagaaaatggagtaggaacaggatgaacagtatacccccctttatcttctaatattgcccatggtggaggctctgttgatttagcaatcttttctcttcatttagctggaatttcttcaattttaggagctgtcaattttattacaacagtaattaatatacgaacaaatggtatatcttttga", 
    "NNNNNNNNNtttatttttggaatttgatccggaataattggaacatctcttagtctattaattcgtgctgaattaggaaacccaggctctttaattggagatgatcaaatttataatacaattgttaccgcccacgcctttattataatttttttcatggttataccaattataattggaggatttggaaattgattagtacctttaatattaggagctcctgatatagctttcccccgaataaataatataagattttgattacttcccccttcacttactttattagtttctagaagaattgtagaaaatggagtaggaacaggatgaacagtatacccccctttatcttctaatattgcccatggtggaggctctgtNNNNNNagcaattttttctcttcatttagctggaatttcttcaattttaggagctgtcaattttattacaacagtaattaatatacgaacaaatggtatatcttttgatcgaataccattatttgtttgatctgttgctatcacagcacttctact"
  )
  
  list_of_adjusted_seqs=lapply(list_of_adjusted_seqs, toupper)
  
  #consensus_sequence(list_of_adjusted_seqs) == expected_consensus_sequence
  expect_equal(consensus_sequence(list_of_adjusted_seqs),  expected_consensus_sequence)
  
})

Try the debar package in your browser

Any scripts or data that you put into this service are public.

debar documentation built on Jan. 11, 2020, 9:31 a.m.