Спасибо, что нашли время, чтобы посмотреть на это.Эффективный способ трансляции каждой N-й строки в bash или R
У меня есть файл fastq, и я хочу, чтобы перевести его на взаимодополняющими, но не наоборот дополняют друг друга, что-то вроде этого:
@Some header example:1:
ACTGAGACTCGATCA
+
S0m3_Qu4l1t13s&
Перевод на
@Some header example:1:
TGACTCTGAGCTAGT
+
S0m3_Qu4l1t13s&
И код, который я использовал is:
awk '{
if(NR==100000){break}
else if((NR+2) % 4 ==0){ system("echo " $0 "| tr ATGC TACG") }
else print $0}' MyFastqFyle.fastq > MyDesiredFile.fastq
И это работает! но этот подход является slooooooooow, даже с небольшими файлами (250M). Интересно, каким другим способом это будет сделано быстрее, неважно, находится ли это в R или bash или аналогично.
(я смотрел на BioStrings Но я нашел только обратную бесплатную функцию, и есть некоторые проблемы с «@» в заголовке вместо «>»)
'chartr ("ВАР", "ATCG", "ACTGAGACTCGATCA")' в простом коде R –
как применить, что весь файл (исключительно для 4-го ряда) – Edahi