Make subseq method dealing with qualities

This commit is contained in:
2022-02-01 18:49:32 +01:00
parent bc1d7b26a9
commit e9cdfd7e03
2 changed files with 15 additions and 4 deletions

10
.gitignore vendored
View File

@ -1,11 +1,13 @@
cpu.pprof cpu.pprof
cpu.trace cpu.trace
obicount
obipairing
test test
bin bin
vendor vendor
*.fastq *.fastq
*.fasta *.fasta
obiconvert
obipcr /obiconvert
/obicount
/obimultiplex
/obipairing
/obipcr

View File

@ -27,11 +27,20 @@ func (sequence BioSequence) Subsequence(from, to int, circular bool) (BioSequenc
newSeq = MakeEmptyBioSequence() newSeq = MakeEmptyBioSequence()
newSeq.Write(sequence.Sequence()[from:to]) newSeq.Write(sequence.Sequence()[from:to])
if sequence.HasQualities() {
newSeq.WriteQualities(sequence.Qualities()[from:to])
}
newSeq.sequence.id = fmt.Sprintf("%s_sub[%d..%d]", sequence.Id(), from+1, to) newSeq.sequence.id = fmt.Sprintf("%s_sub[%d..%d]", sequence.Id(), from+1, to)
newSeq.sequence.definition = sequence.sequence.definition newSeq.sequence.definition = sequence.sequence.definition
} else { } else {
newSeq, _ = sequence.Subsequence(from, sequence.Length(), false) newSeq, _ = sequence.Subsequence(from, sequence.Length(), false)
newSeq.Write(sequence.Sequence()[0:to]) newSeq.Write(sequence.Sequence()[0:to])
if sequence.HasQualities() {
newSeq.WriteQualities(sequence.Qualities()[0:to])
}
} }
if len(sequence.Annotations()) > 0 { if len(sequence.Annotations()) > 0 {