Fastq Concatenation [закрыто]

Я сгенерировал контиги, которые были помещены в формат fastq. Мне интересно, знает ли кто-нибудь, как я могу захватить нуклеотидную последовательность между двумя символами и сгенерировать один длинный контиг? Я использую Python 2.6.6. Я также добавил пример того, что я хочу:

Текущий макет файла:

>DHWCT801:455:H5HHJBCXX:1:2109:10376:67348/1
GACTCCTCGCCCAACTACGACGGCCAGGAGCAGGAACCCGACGTCCTGCCCGCCGCCTACCCGAACCTGCTGGTCAACGGCTCGTCCGGGATCGCGGTCGG
>DHWCT801:455:H5HHJBCXX:2:1105:15915:79934/2
ACTCGGTGTAACGCATGGCGGCGGCACCGTCGTTGCCGCGGGAGCCGAAGTTACCCTGGCCCTGCACCATCGGGTAGCGCATGGCCCACGGCTGCGCGAGG
>DHWCT801:455:H5HHJBCXX:2:1114:17610:55148/2
AAGCGCTCCTACCTCGATTACGCCATGAGCGTGATCGTGTCCCGTGCGCTGCCGGATGCGCGCGACGGTTTGAAGCCGGTGCACCGGCGCATTTTG

Что я хочу:

GACTCCTCGCCCAACTACGACGGCCAGGAGCAGGAACCCGACGTCCTGCCCGCCGCCTACCCGAACCTGCTGGTCAACGGCTCGTCCGGGATCGCGGTCGGACTCGGTGTAACGCATGGCGGCGGCACCGTCGTTGCCGCGGGAGCCGAAGTTACCCTGGCCCTGCACCATCGGGTAGCGCATGGCCCACGGCTGCGCGAGGAAGCGCTCCTACCTCGATTACGCCATGAGCGTGATCGTGTCCCGTGCGCTGCCGGATGCGCGCGACGGTTTGAAGCCGGTGCACCGGCGCATTTTG

P.S..: У меня несколько файлов, так что если есть способ автоматизировать это, отправив его на мой кластер и сохранив каждый отдельный файл с оригинальным именем + конкатенация, добавленная в конце, я был бы признателен. Однако я полагаю, что смогу разобраться с этим.

0
задан 10 July 2017 в 00:44

1 ответ

С Grep

grep -ve '^>' source.fastaq

Результат:

GACTCCTCGCCCAACTACGACGGCCAGGAGCAGGAACCCGACGTCCTGCCCGCCGCCTACCCGAACCTGCTGGTCAACGGCTCGTCCGGGATCGCGGTCGG
ACTCGGTGTAACGCATGGCGGCGGCACCGTCGTTGCCGCGGGAGCCGAAGTTACCCTGGCCCTGCACCATCGGGTAGCGCATGGCCCACGGCTGCGCGAGG
AAGCGCTCCTACCTCGATTACGCCATGAGCGTGATCGTGTCCCGTGCGCTGCCGGATGCGCGCGACGGTTTGAAGCCGGTGCACCGGCGCATTTTG

Я полагаю, что разрывы строки проигнорированы в FASTA и его изменениях. Если Вы хотите избавить от них, передают результат по каналу через tr -d '\n'.

С Python 2 и 3

Этот подход использует Python в качестве текстового процессора. В зависимости от того, как Вы генерируете или считываете данные FASTA в своей программе Python могут быть лучшие подходы.

import sys
sys.stdout.writelines(s for s in sys.stdin if not s.startswith('>'))

Если Вы хотите все это на одной строке, изменяют последнюю строку к:

[…]writelines(s.rstrip() for […])

Использование для обоих:

python select-contigs.py < source.fastaq
2
ответ дан 2 November 2019 в 23:37

Другие вопросы по тегам:

Похожие вопросы: