32 Commits

Author SHA1 Message Date
9092f98bf6
Add solution to BA2F (#17)
* add a maxint and minint utility function

* add problems ba2f and ba2g

* remove ba2g for now

* adding BA2f to chapter 2 problems

* add BA2f solution (failing)

* remove expensive test

* fix random motif generator script (random number problems)

* fix how we aggregate over multiple random motif searches

* call random motif search multiple times

* update BA2F so eet wurk

* make tests a lil easier

* add ba2f input file, whoops

* add ba2g - gibbs sampler

* update BA2g solution with bug fixes

* add ba2g to chapter 2 tests. add ba2g input file.
2019-04-02 18:24:02 -07:00
2a580cbdc7
add a maxint and minint utility function (#16) 2019-03-05 11:51:52 -08:00
4810449c86
Fix BA2e solution (#14)
* add materials for BA2D (in progress)

* add another test of first inner iteration - helped uncover multiple bugs

* fix build error

* add final, working BA2D solution

* add solution to BA2E

* greedy algorithm should extract kmers in the order in which they occur
2019-03-03 23:54:59 -08:00
216872f46b
Add solution to BA2E (#12)
* add materials for BA2D (in progress)

* add another test of first inner iteration - helped uncover multiple bugs

* fix build error

* add final, working BA2D solution

* add solution to BA2E
2019-02-26 18:06:26 -08:00
49d7385a4c
add materials for BA2D (in progress) (#11)
* add materials for BA2D (in progress)

* add another test of first inner iteration - helped uncover multiple bugs

* fix build error

* add final, working BA2D solution
2019-02-23 10:09:47 -08:00
10b2a14f54
Add BA2c solution (#10)
* add chapter3 module, and rosalind functions for BA3a

* add test for genome reconstruction

* update shields to include godoc

* spacing

* improved function name

* add file test ReconstructGenomeFromPath

* add data file for ReconstructGenomeFromPath file test

* add a strings.Trim(_," ") to fix failing test

* update and fix string composition test

* add BA3B problems

* add ba3b problem to chapter 3 test

* add ba3b into populate templates script

* add chapter3 to travis ci

* add graph data structure for BA3C

* add graph data structure and function to create overlap graph

* add file-based test for BA3C overlap graph

* add BA3c to chapter 3 tests

* add BA3C to templates list

* add BA3c problem to chapter 3 module

* add problem BA2c to chapter 2 problems and tests

* cover BA2c with new rosalind function. add tests

* add version that passes on rosalind
2019-02-20 13:13:58 -08:00
a0c9f211bb
add chapter3 module, and rosalind functions for BA3a thru BA3c (#9)
* add chapter3 module, and rosalind functions for BA3a

* add test for genome reconstruction

* update shields to include godoc

* spacing

* improved function name

* add file test ReconstructGenomeFromPath

* add data file for ReconstructGenomeFromPath file test

* add a strings.Trim(_," ") to fix failing test

* update and fix string composition test

* add BA3B problems

* add ba3b problem to chapter 3 test

* add ba3b into populate templates script

* add chapter3 to travis ci

* add graph data structure for BA3C

* add graph data structure and function to create overlap graph

* add file-based test for BA3C overlap graph

* add BA3c to chapter 3 tests

* add BA3C to templates list

* add BA3c problem to chapter 3 module
2019-01-04 13:28:07 -08:00
87eac56bc4
Add Stronghold module (#8)
* fix up error messages in ba1 functions

* add two supporting hamming distance min functions for median string question BA2B

* fix MinKmerDistance algorithm to be faster

* add script to generate static site documentation from godoc tool

* update gitignore

* adding rosalind stronghold functions and tests

* add median string functionality for ba2b

* add stronghold go jinja template, plus data set for dna question

* mention the stronghold dir in the readme
2019-01-01 21:49:54 -08:00
8543defb86
Continue work on Chapter 2 problems (#7)
* fix up error messages in ba1 functions

* add two supporting hamming distance min functions for median string question BA2B

* fix MinKmerDistance algorithm to be faster

* add script to generate static site documentation from godoc tool

* update gitignore

* adding rosalind stronghold functions and tests

* add median string functionality for ba2b

* add output to readme

* fix ba2b

* add BA2b test

* fix test template and calls

* add ba2b driver

* ba2b in the bag
2019-01-01 21:40:26 -08:00
2a64f89e35
Add code for Chapter 2 (#6)
* update readme to be a little more clear

* add ba2{a,b,c} code, plus jinja template for boilerplate code

* add chapter02 test

* move chapter01 -> chapter1

* move chapter2 chapter02

* improve error handling

* add ba2 functionality tests

* comment out long test (for convenience)

* add BA2 function and test - motif enumeration

* update readme a bit

* rename functions to lowercase letter

* rename test

* include more debug tests

* remove vendored rosalind.go, prepare to remove vendored utils

* update documentation/quickstart/readme for chapter1 and chapter2

* add example input for ba2a

* fix chapter1, add chapter2 to travis tests
2019-01-01 13:28:33 -08:00
8992e3e3ce Merge branch 'chapter1cleanup'
* chapter1cleanup:
  shield links
  add language shield. shields up.
  add MIT license
  add license shield
  fix (remove) custom travis go import path
  add CheckIsDNA to BA1A
  tests for chapter01 working
  update readme to reflect chapter 1 cleanup
  add chapter01 tests to travis file
  clean up chapter 1, consolidate tests
2018-12-31 11:39:29 -08:00
61b538675d Merge branch 'master' of github.com:charlesreid1/go-rosalind into chapter1cleanup
* 'master' of github.com:charlesreid1/go-rosalind:
  clean up chapter 1, consolidate tests (#5)
2018-12-31 11:38:23 -08:00
e7b887b94a shield links 2018-12-31 11:37:11 -08:00
385bd4ac58 add language shield. shields up. 2018-12-31 11:34:11 -08:00
cf22c98e2b
clean up chapter 1, consolidate tests (#5)
* clean up chapter 1, consolidate tests

* add chapter01 tests to travis file

* update readme to reflect chapter 1 cleanup

* tests for chapter01 working

* add CheckIsDNA to BA1A

* fix (remove) custom travis go import path

* add license shield

* add MIT license
2018-12-31 11:30:12 -08:00
ef2172d04c add MIT license 2018-12-31 11:29:24 -08:00
b971d2d1f9 add license shield 2018-12-31 11:28:50 -08:00
257bdd3f5b fix (remove) custom travis go import path 2018-12-31 11:21:40 -08:00
f70724b137 add CheckIsDNA to BA1A 2018-12-31 10:59:52 -08:00
ef412f12f0 tests for chapter01 working 2018-12-31 00:02:58 -08:00
3a2b8d65af update readme to reflect chapter 1 cleanup 2018-12-30 23:20:04 -08:00
d8efc0df41 add chapter01 tests to travis file 2018-12-30 23:14:42 -08:00
42f5d6f5fd clean up chapter 1, consolidate tests 2018-12-30 23:11:42 -08:00
6a5d827185 yikes, spaces 2018-12-30 22:06:00 -08:00
d3782ad84d fix tab 2018-12-30 22:05:33 -08:00
d4cf42824e fix import statements in readme example 2018-12-30 22:02:47 -08:00
8f24f5f75c fix typo in readme example 2018-12-30 22:01:55 -08:00
60abfd5288 fix typo in .travis.yml 2018-12-30 22:00:14 -08:00
1695a36aa4
Make this go get friendly (#3)
* add rosalind package that will be go get friendly

* update readme with new structure and approach

* moving data to rosalind dir

* add travis.yml file
2018-12-30 21:58:06 -08:00
7adf5b5418
Chapter1 part2 (#2)
* added init version of entire BA1i problem. program has issues due to references/pointers.

* update gitignore

* add factorial and binomial coefficient utility functions

* update recursive backtracking method to use goroutines and channels

* remove main.go (now chapter01.go)

* add a makefile

* go fmt uses tabs, not spaces

* update tests to add todos, add ba1i test file

* add count and visit hamming neighbors to rosalind

* add ba1i data frequent_words_mismatch.txt to data/

* fix ba1 part i - recursion now uses a map, solving reference problem and obviating channel.

* add ba1i problem solved

* add BA1j solution and tests

* clean up chapter 01

* add ba1j problem test data

* clean up BA 1 i tests

* clean up and make consistent most frequent kmer methods

* add k, l, m to rosalind.go

* add pattern to number data

* add BA1M number to pattern data

* add solution and test for BA1L

* add frequency array method

* add solutions and tests for BA 1K, 1L, 1M

* add 1k, 1l, 1m data sets

* add BA1N solution and test

* add small fix to ba1n
2018-12-29 23:07:59 -08:00
e65a3d6726
Add solutions for Chapter 1 (#1)
* restructure ba1a.go problem - include BA1A() and BA1ADescription()

* add a test for problem BA1A

* add problem ba1b test

* add problem ba1b

* add main method

* add todo doc

* add readme

* add Go gitignore

* update update function names and docstrings in BA1B

* add BA1C (in progress) and initial test of DNA2Bitmask method

* complete DNA-bitmask conversion functions

* add code to BA1A test to load test case from file

* run a simple test in the BA1C() method

* add BA1D test problems

* add a few more tests

* add BA1B test from file

* add data directory with text files containing sample data

* fill in remaining tests

* add BA1E. restructure everyone to use rosalind.go community function file

* add matrix of tests for clump finding - problem BA1E

* add BA1F solution and functionsa

* update tests, BA1F working

* add BA1G solution

* move chapter 1 problems to folder

* add chapter 1 readme

* add file i/o functions

* update filename

* update top level readme with organization info

* update import statements and fix compilation errors

* fix print statement

* add tests from external file for BA1D

* add int slice comparison function

* add actual rosalind.info inputs (i.e., inputs with no outputs)

* update all drivers to properly work.

2018-12-16: completed/submitted correct
answers for all chapter 1 problems on
rosalind.info.

* add BA1H solution and fixes for everybody

* ba1h utility function comment
2018-12-17 14:25:01 -08:00
65a54e5673 add ba1a go version 2018-12-10 10:18:34 -08:00