У меня есть текстовый вывод из программы с заданным форматом. Мне нужно разобрать ~ 200 из них, чтобы извлечь информацию. Я пробовал в MATLAB с «textscan», но не работал. Ниже вход:Обработка текстового файла в Matlab
MOTIFS SUMMARY:
1) TTATAGCCGC (GCGGCTATAA) 1.986
2) AAACCGCCTC (GAGGCGGTTT) 1.865
DETAILED RESULTS:
1) TTATAGCCGC (GCGGCTATAA) 1.986
Matrix: MAT1 TTATAGCCGC
A 0.1249 0.177 0.7364 0.1189 0.7072 0.1149 0.09858 0.1096
C 0.0899 0.07379 0.1136 0.1298 0.08662 0.1293 0.7528 0.721
G 0.06828 0.1284 0.07195 0.1031 0.1352 0.6708 0.05556 0.0713
T 0.7169 0.6209 0.07802 0.6482 0.07096 0.08492 0.09305 0.09804
OCCURRENCES:
>GENE_1 1 TTATAGCCGC 1 561 +
>GENE_2 24 TAATAGCCGC 0.928699 762 -
>GENE_3 10 ATATAGCCGC 0.904905 185 -
>GENE_1 7 TTATAGCAGC 0.901785 726 +
**********
2) AAACCGCCTC (GAGGCGGTTT) 1.865
Matrix: MAT2 AAACCGCCTC
A 0.653 0.7401 0.7763 0.1323 0.09619 0.09134 0.07033 0.1383
C 0.1163 0.07075 0.09441 0.749 0.6347 0.1132 0.6559 0.6982
G 0.09136 0.09402 0.07385 0.04209 0.1799 0.7332 0.1241 0.07568
T 0.1393 0.09518 0.05541 0.07659 0.08921 0.06234 0.1497 0.08786
OCCURRENCES:
>GENE_1 21 AAACCGCCTC 1 963 +
>GENE_2 14 AAACGGCCTC 0.928198 212 +
>GENE_2 8 AAACCGTCTC 0.92009 170 +
>GENE_4 3 TAACCGCCTC 0.918883 370 +
**********
Я пытаюсь считать уникальным() возникновение под каждым рисунком и добавить его к MOTIF РЕЗЮМЕ и окончательный средний из них. Мой ожидается выход:
MOTIFS SUMMARY:
1) TTATAGCCGC (GCGGCTATAA) 1.986 3
2) AAACCGCCTC (GAGGCGGTTT) 1.865 3
AVERAGE OCCURRENCE: 3
Для мотива 1, уникальный случай является 3 (GENE_1, GENE_2, GENE_3). Аналогично для мотива 2 снова 3 (GENE_1, GENE_2, GENE_4)
Как использовать OCCURRENCES и ****** в качестве блоков? так что я могу regexp GENE_x хранить его и считать.
Просьба помочь.
Спасибо,
AP
Какие входные данные вы использовали для 'textscan', который не работал? Так как это относительно сложный формат, вам нужно иметь достойный код для его обработки. Вы не можете ожидать, что «textscan» просто волшебным образом сможет понять все это. – Suever
Упрощает ли текстовые файлы параметр? Это кажется ужасно сложным. Во всяком случае, я предлагаю использовать 'textscan()' для получения информации в удобном формате (например, в структуре) и ** затем ** обработки извлеченной информации. –