Я могу извлечь список шаблонов, используя следующую команду,
fgrep -A 1 -f patternlist.txt filename.fasta
но, есть ли способ, который я могу извлечь без создания другого файла (patternlist.txt в этом случае) из другого вывода команды?
Такие как:
cut -d " " Cell_cycle.txt -f 1 | grep ...???... filename.fasta
РЕДАКТИРОВАТЬ:
Cell_cycle.txt выглядит так:
$ cat Cell_cycle_Kegg_pathway ctg2977_3.g207.t1 K06626 P05_Ctg654_12.g311.t2 K03094 P06_Ctg710_7.g346.t1 K05868
Я хочу взять первый столбец и извлечь эти последовательности из файла fasta.
EDIT 2:
У меня есть список последовательностей в UniqueSeq_28Dec2014.fasta
>ctg1474_1.g69.t1 (first line) atgaaatgttggtgcagcgccctggcacttctcc...... (second line) >ctg1475_1.g70.t1 (third line) atgaaattgcagcgccctggcacttctcctgcag...... (fourth line)
Я хочу напечатать первые две последовательности (из строк с 1 по 4). Тем не менее, я не хочу использовать head -4 UniqueSeq_28Dec2014.fasta
который также может выдавать мой вывод, но я хочу его использовать замену процесса.
Я попробовал следующую команду, но, похоже, не работает. Я просто вижу 4 пустые строки.
grep -A 1 -Ff <(grep '>' UniqueSeq_28Dec2014.fasta |head -4) UniqueSeq_28Dec2014.fasta
Использовать замену процесса <()
:
fgrep -A 1 -f <(cut -d " " -f 1 Cell_cycle.txt) filename.fasta
Также это (для немного более короткого и более читаемого):
grep -Ff <(awk '{print $1}' Cell_cycle.txt) filename.fasta