Я работаю с генетикой, и у меня есть эта командная строка, которая возвращает мне последовательность ДНК гена:
search -db gene -query "glutaminase-asparaginase [Gene/Protein Name] AND (bacteria [orgn] OR fungi [orgn] OR archaea [orgn]) AND alive [prop]" | efetch -format docsum | xtract -pattern GenomicInfoType
-element ChrAccVer -element ChrStart -element ChrStop |xargs -n 3 sh -c 'efetch -db nuccore -id "$0" -seq_start "$1" -seq_stop "$2" -format fasta'
Вывод такой (три последовательности из трех организмов для гена глутаминазы-аспарагиназы):
>NC_030957.1:c4121890-4120582 Colletotrichum higginsianum
TGAGAGCTTCTTACTTGTCGACGCTGTTGTTGCCAGCTCTGGTAGCCCATGGTTTCGCCTCCCCAGTCGG
>NC_016603.1:c898826-897759 Acinetobacter pittii
TGTTGACTAAAACTGTTAAATCTTTAGGTTTAGCGATGGGCTTATTAG
>NC_002947.4:c2800289-2799201 Pseudomonas putida
TGAATGCCGCACTGAAAACCTTCGCCCCAAGCGCACTCGCCCTGCTGCTGATCCTGCCATCCAGCGCCTC
Но мне нужно выполнить этот запрос с несколькими именами генов и сгенерировать выходные файлы с последовательностями для каждого гена.У меня в таблице Excel вот так:
glutaminase-asparaginase ColumnB ColumnC
Polyphosphate kinase ColumnB Columnc
Inositol-polyphosphate multikinase ColumnB Columnc
Я пытаюсь сделать это с помощью этого сценария:
for i in $( cat PATH_TO_TABLE | cut -f1 ); do
esearch -db gene -query "$i [Gene/Protein Name] AND (bacteria [org .... >>"$i".fasta
done
Но сценарий читает только первое слово столбца, дляНапример, в полифосфаткиназе читается только «Полифосфат», а выходным файлом является Polyphosphate.fasta.когда мне нужно, чтобы запрос был над "Polyphosphate kinase", а вывод был Polyphosphate_kinase.fasta
Можете ли вы помочь мне с этим?Буду благодарен.