Patch a bug in fasta and fastq reading

Former-commit-id: bcaa264b4c4a7c67617eb909b199176bf09913db
This commit is contained in:
Eric Coissac
2024-06-21 14:28:57 +02:00
parent 818ce87bab
commit 54a138196c
9 changed files with 85 additions and 44 deletions

View File

@@ -50,13 +50,12 @@ func _ParseFastaFile(source string,
var identifier string
var definition string
state := 0
idBytes := new(bytes.Buffer)
defBytes := new(bytes.Buffer)
seqBytes := new(bytes.Buffer)
idBytes := bytes.Buffer{}
defBytes := bytes.Buffer{}
seqBytes := bytes.Buffer{}
for chunks := range input {
state := 0
scanner := bufio.NewReader(chunks.raw)
start, _ := scanner.Peek(20)
if start[0] != '>' {

View File

@@ -129,14 +129,13 @@ func _ParseFastqFile(source string,
var identifier string
var definition string
state := 0
idBytes := new(bytes.Buffer)
defBytes := new(bytes.Buffer)
qualBytes := new(bytes.Buffer)
seqBytes := new(bytes.Buffer)
idBytes := bytes.Buffer{}
defBytes := bytes.Buffer{}
qualBytes := bytes.Buffer{}
seqBytes := bytes.Buffer{}
for chunks := range input {
state := 0
scanner := bufio.NewReader(chunks.raw)
sequences := make(obiseq.BioSequenceSlice, 0, 100)
previous := byte(0)
@@ -257,7 +256,7 @@ func _ParseFastqFile(source string,
}
case 10:
if is_end_of_line {
_storeSequenceQuality(qualBytes, sequences[len(sequences)-1], quality_shift)
_storeSequenceQuality(&qualBytes, sequences[len(sequences)-1], quality_shift)
if no_order {
if len(sequences) == batch_size {
@@ -286,7 +285,7 @@ func _ParseFastqFile(source string,
if len(sequences) > 0 {
if state == 10 {
_storeSequenceQuality(qualBytes, sequences[len(sequences)-1], quality_shift)
_storeSequenceQuality(&qualBytes, sequences[len(sequences)-1], quality_shift)
state = 1
}