Почему при редактировании файла fastq и записи вывода в новый файл fastq вводятся непечатаемые символы? - PullRequest
1 голос
/ 12 июня 2019

Я пытаюсь отредактировать файл fastq, который представляет собой просто текстовый файл для хранения чтения ДНК или РНК.

В этом файле я просто редактирую '@' в 'A', 'B'to' C 'и т. д., как показано в коде, и я записываю измененную последовательность в новый файл.

Но в новом файле некоторые непечатаемые символы, такие как' ^ F ',' ^B 'и т. Д. Вводятся вместо символа новой строки.Это было сделано только в нескольких местах, а не во всех местах, поэтому я не уверен, почему это происходит.

#include <bits/stdc++.h>
#include <fstream>
using namespace std;

int main()
{
    ifstream in;
    ofstream out;
    in.open("file1.fq");
    out.open("newfile1.fq",ios::out|ios::app|ios::ate);
    while(!in.eof())
    {
        string head,plus,seq,qs;
        in>>head>>seq>>plus>>qs;
        if(head[0]!='@')
            continue;
        out<<head<<endl;
        for(int i=0;i<seq.size();i++)
        {
            if(seq[i]=='@')
                seq[i] = 'A';
            else if(seq[i]=='B')
                seq[i] = 'C';
            else if(seq[i] =='F')
                seq[i] = 'G';
            else if(seq[i]=='S')
                seq[i] = 'T';
        }
        out<<seq<<endl;
        out<<"+"<<endl;
        out<<qs<<endl;
    }
    in.close();
    out.close();
}

Между ними в новом файле появляются некоторые непечатаемые символы, такие как '^B ',' ^ F 'и т. Д., Которых нет во входном файле.

...