Big change iin the data model, and a first version of obiuniq

This commit is contained in:
2022-02-21 19:00:23 +01:00
parent 9737f97084
commit 2e7c1834b0
43 changed files with 664 additions and 440 deletions

View File

@ -151,7 +151,7 @@ func (pattern ApatPattern) Print() {
// at the junction. To limit memory allocation, it is possible to provide
// an already allocated ApatSequence to recycle its allocated memory.
// The provided sequence is no more usable after the call.
func MakeApatSequence(sequence obiseq.BioSequence, circular bool, recycle ...ApatSequence) (ApatSequence, error) {
func MakeApatSequence(sequence *obiseq.BioSequence, circular bool, recycle ...ApatSequence) (ApatSequence, error) {
var errno C.int32_t
var errmsg *C.char
seqlen := sequence.Length()

View File

@ -218,7 +218,7 @@ func OptionBatchSize(size int) WithOption {
}
func _Pcr(seq ApatSequence,
sequence obiseq.BioSequence,
sequence *obiseq.BioSequence,
opt Options) obiseq.BioSequenceSlice {
results := make(obiseq.BioSequenceSlice, 0, 10)
@ -278,7 +278,7 @@ func _Pcr(seq ApatSequence,
match, _ := sequence.Subsequence(fm[0], fm[1], opt.pointer.circular)
annot["forward_match"] = match.String()
(&match).Recycle()
match.Recycle()
annot["forward_error"] = erri
@ -286,7 +286,7 @@ func _Pcr(seq ApatSequence,
match, _ = sequence.Subsequence(rm[0], rm[1], opt.pointer.circular)
match = match.ReverseComplement(true)
annot["reverse_match"] = match.String()
(&match).Recycle()
match.Recycle()
annot["reverse_error"] = errj
results = append(results, amplicon)
@ -351,14 +351,14 @@ func _Pcr(seq ApatSequence,
match, _ := sequence.Subsequence(rm[0], rm[1], opt.pointer.circular)
match.ReverseComplement(true)
annot["forward_match"] = match.String()
(&match).Recycle()
match.Recycle()
annot["forward_error"] = errj
annot["reverse_primer"] = reverse.String()
match, _ = sequence.Subsequence(fm[0], fm[1], opt.pointer.circular)
annot["reverse_match"] = match.String()
(&match).Recycle()
match.Recycle()
annot["reverse_error"] = erri
results = append(results, amplicon)
@ -376,7 +376,7 @@ func _Pcr(seq ApatSequence,
// obiseq.BioSequence instance. PCR parameters are
// specified using the corresponding Option functions
// defined for the PCR algorithm.
func PCRSim(sequence obiseq.BioSequence, options ...WithOption) obiseq.BioSequenceSlice {
func PCRSim(sequence *obiseq.BioSequence, options ...WithOption) obiseq.BioSequenceSlice {
opt := MakeOptions(options)