bioform 0.1.0

Tools for sniffing, parsing, and manipulating common biological file formats.
Documentation
This language follows an Elm-inspired syntax and structure.
- everything is an expression blah blah blah
- lisp-style functions
- whitespace delimited

Grammar
`verb object object...`
with pipes
`verb object |> verb object |> verb`

example:
`align reference.fa query.fa`

maybe allow for a different currying syntax, e.g.
`align - query.fa`?
`records |> for-each align - reference.fa |> visualize`


Early iterations will be dynamically typed and interpreted.
- automatically generating help pages / command line parsers with your tools
- currying on the command line?

Later iterations will be statically typed (with type inference) and compiled (as well as interpreted). 
- once gradual typing is added, add a macro that lets you write this language inline in Rust
- what would currying on the command-line look like?
- the compilation aspect is generally scary, so maybe there's nothing really to be gained from that
    - might be hard, require dynamically linked libraries and what not
    - the interpreter should never be the hot path (underlying verbs, written in rust and consume much )


`yecko`
```
[nice greeting with version]
[have different commands]
```

`yecko align`
```
align to [reference] with [query]
version
William Owens ()

possible other arguments
```

`yecko align human.fa`
```
version (maybe just print the version of this package)
align to human.fa with [query]
# warning if human.fa does not exist
# warning if human.fa is type which cannot be converted to reference
```

`yecko align human.fa meme.fa`

`yecko map align human.fa [query.fa query.fa query.fa]`


Built in commands
- sketch: mash based ideas
- align (local and global)
- align_global
- blast 
- translate 
- reverse_translate (codon optimization)
- transcribe
- rev_transcribe
- rev_translate
    - how to capture this idea? return a consensus or codon optimize
- translate
- melt_temp
- assemble

# stuff to extract
- tidy (different from print?)

# extracting fields from files
- sequence
- features
- files

# later
- predict_domains
- fold 

# stringy stuff

- find (match)
    - automatic checks with sequences to see if they use the right alphabets

# iteration
- map (maybe choose a different word)
- fold (maybe choose a different word)
- filter