Softepigen
TODO: Write documentation for Softepigen
Constants
KMERS = {4 => (["TGAT", "TGTA", "GTAT", "TAGT", "TATG", "GTAG", "GTGA", "TGAG", "GATG", "GAGT", "AGTG", "AGTA", "AGAT", "GATA", "ATGA", "ATAG", "TAGA", "ATGT"] of ::String).map(&.to_slice), 5 => (["GTAGA", "AGTGA", "GTGAG", "ATGAG", "AGATG", "GATGA", "GAGTA", "GAGTG", "GAGAT", "AGATA", "GATAG", "ATAGA"] of ::String).map(&.to_slice)}
MAX_REPEAT_SIZE = 5
VERSION = {{ (`shards version \"/tmp/tmp.eLNIPf/src/src\"`).chomp.stringify }}
Class methods
find_amplicons(io : IO, primer_size : Range(Int, Int) = 15..25, amplicon_size : Range(Int, Int) = 100..150, allowed_cpg : Range(Int, Int) = 3..40, kmer : Int = 4) : Array(Amplicon)
Sourcefind_amplicons(path : Path | String, primer_size : Range(Int, Int) = 15..25, amplicon_size : Range(Int, Int) = 100..150, allowed_cpg : Range(Int, Int) = 3..40, kmer : Int = 4) : Array(Amplicon)
Sourcefind_primers(seq : Region, primer_size : Range(Int, Int), kmer : Int) : Tuple(Array(Region), Array(Region))
Sourcefold_amplicons(amplicons : Array(Amplicon)) : Array(Amplicon)
Returns the non-overlapping amplicons only.
generate_amplicons(forward_primers : Array(Region), reverse_primers : Array(Region), amplicon_size : Range(Int, Int), allowed_cpg : Range(Int, Int)) : Array(Amplicon)
Sourcewrite_bed(io : IO, chromosome : String, amplicons : Array(Amplicon)) : Nil
Sourcewrite_bed(path : Path | String, chromosome : String, amplicons : Array(Amplicon)) : Nil
Sourcewrite_csv(io : IO, amplicons : Array(Amplicon)) : Nil
Sourcewrite_csv(path : Path | String, amplicons : Array(Amplicon)) : Nil
Source