У меня есть некоторые файлы fastaq
, которые мне нужно проанализировать. Основная проблема заключается в том, что инструмент анализа, с которым я сейчас работаю, принимает только ACTG
как нуклеотиды, а не остальные номенклатуры в коде IUPAC (R
, W
и т. Д.).Замещение определенных нуклеотидов в файлах FastaQ в Linux
Я сделал этот код, чтобы изменить конкретные нуклеотиды:
awk '{
split($2,a,"") ;
str="" ;
for (n in a) {nucleotide=a[n]} ;
if (nucleotide~/[ACTG]/) {str=str""nucleotide}
else {
if (nucleotide~/[RWMV]/) {str=str""A}
else {
if (nucleotide~/[YD]/) {str=str""C}
else {
if (nucleotide~/[SKN]/) {str=str""G}
else {str=str""T}
}
}
}
}' | head
Это работает, но это супер медленно. Знаете ли вы более эффективный способ сделать это?
Большое вам спасибо!
'для (п в) {нуклеотида = a [n]}; 'Не работает хорошо –
Каков ваш ожидаемый результат? и пример ввода? –
Вы ничего не делаете с переменной 'str' в конце –