Я работаю над большим набором данных на данный момент, и до сих пор я мог решить все свои идеи/проблемы с помощью бесчисленных поисковых запросов Google и долго пробуйте & ошибок сессии очень хорошо. Мне удалось использовать plyr и изменить функции для некоторых преобразований моих разных наборов данных и многому научился, но я думаю, что дошел до того, что мое настоящее знание R мне больше не поможет.Преобразование/преобразование изобилия (OTU) table/data.frame (в файл fasta) в R
Даже если мой вопрос звучит очень специфично (т. Е. Таблица OTU и файл fasta) Я предполагаю, что моя попытка - это распространенное приложение R во многих разных полях (а не только в биоинформатике).
Прямо сейчас, я слился файл ссылочной последовательности с таблицей изобилия, и я хотел бы, чтобы сформировать конкретный файл на основе информации этого data.frame - в FASTA файл.
Мой ДФ выглядит немного как это на данный момент:
repSeq sw.1.102 sw.3.1021 sw.30.101 sw.5.1042 ...
ACCT-AGGA 3 0 1 0
ACCT-AGGG 1 1 2 0
ACTT-AGGG 0 1 0 25
...
Получившийся файл должен выглядеть следующим образом:
>sw.1.102_1
ACCT-AGGA
>sw.1.102_2
ACCT-AGGA
>sw.1.102_3
ACCT-AGGA
>sw.1.102_4
ACCT-AGGG
>sw.3.1021_1
ACCT-AGGG
>sw.3.1021_2
ACTT-AGGG
>sw.30.101_1
ACCT-AGGA
>sw.30.101_2
ACCT-AGGG
...
Как вы можете видеть, что я хотел бы использовать информацию о количество (ссылочных) последовательностей для каждого образца (т.е. sw.n) для создания файла (fasta).
У меня нет опыта с циклами в R (я использовал базовые циклы только во время простых попыток обработки), но я предполагаю, что это может сделать трюк здесь. Я нашел функцию write.fasta от пакета SeqinR, но я не мог найти там никакого решения. Команда deunique.seqs в mothur не работает, потому что ей нужен файл fasta в качестве входных данных (чего я, очевидно, не имею). Может быть очень возможно, что есть что-то на Bioconductor (OTUbase?), Но, честно говоря, я не знаю, с чего начать, и я рад любой помощи. И я действительно хотел бы сделать это в R, так как мне нравится работать с ним, но любые другие идеи также очень приветствуются.
// небольшой редактировать:
Оба ответа ниже работают очень хорошо (см мои комментарии) - Я также нашел два возможных не так элегантно обходные & не-R (пока не проверено):
- Поскольку у меня уже есть файл таксономии и таблица OTU изобилия, я думаю, что команда mothur make.biom может быть использована для создания biom-format file. Я не работал с BIOM файлами, но я думаю, что есть некоторые инструменты и сценарии, доступные для сохранения данных BIOM-файлы, как FASTA снова
- convert Qiime files to oligotyping format - это также нуждается в файле таксономии и таблице ОТА
Не уверен, что в обоих направлениях работает - поэтому, пожалуйста, исправьте меня, если я ошибаюсь.
Отлично, это сработало отлично! Большое вам спасибо за вашу помощь и работу. Уже поздно, но я проведу завтра некоторое время, чтобы понять, что вы сделали. Наверное, сейчас самое время узнать, как работает функция (x). До сегодняшнего дня я мог легко обойти его с неэлементными подходами и/или textwrangler. Ура! – plik