Как вырезать последовательность fasta по определенным номерам и сгенерировать ORF

У меня есть файл, показанный ниже:

 CDS             join(36..56,37..67)
 CDS             36..183
 CDS             457..565
 CDS             join(505..519,521..596)
 CDS             join(577..591,725..770)
 CDS             join(516..591,725..899)
 CDS             508..556
 CDS             571..841
 CDS             complement(619..788)
 CDS             843..863

Я хочу напечатать конкретное число нуклеотидных диапазонов, как в файле ( последовательность читается из другого файла "sequence.fasta"). Например, для файла sequence.fasta:

>gi1234 HIVgenome|NC_909999.1
AACTGCGTGTGTGTCCACACAACACTGGGGGACACACAACAACAACACTGGGGGACACACTGGGACAACACTGGGGGACAGGACACTGTACAACACTGGGTGTGTCGGGACAGTACACATGTTGGGGGGGTGTGTCGGACAACACTGGGGGACATGTGTGTACAACACTGGGGGACAGTGACGACGACAACACTGGGGGACACGAGCGTTGTGAGCAGGTGACAACACTGGGGGACAGTGTTTTTACAACACTGGGGGACATTTTTGAGCAGCGACGCAGCGTTGTGGGGTGTGTCGGAAGGTGTGTCGTGTGTCGTGTGTC

Outputp должен быть

36  -  56   ACAACAACAACACTGGGGGAC 

37  -  67   CAACAACAACACTGGGGGACAACACTGGGAC

и так далее ... от

до

843 - 863   GTGT....

Каким будет самый простой способ сделать это с помощью сценариев оболочки?

0
25.06.2016, 00:15
1 ответ

Я решал аналогичную проблему, но раньше у меня возникали проблемы при попытке использовать сценарии, приведенные в одном из ответов (как WSL, так и Mac )...

Я продолжил поиски и нашел очень простое решение. :Это функция getfastaиз набора bedtools!

https://bedtools.readthedocs.io/en/latest/content/tools/getfasta.html

0
28.01.2020, 02:48

Теги

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