Variant Effect Predictor от EnsEMBL по умолчанию читает из стандартного ввода(документацию здесь).
Это означает, что полное отключение опции -i
(вместе с аргументом опции -)заставит его считывать ввод из канала.
Я не уверен, что вы пытаетесь сделать в своем пайплайне, но похоже, что вы пытаетесь заменить одни идентификаторы другими, считанными из отдельного файла. При этом вы используете программу awk
, в которой есть бесполезная обратная косая черта. Команду awk
можно записать как
awk 'BEGIN { FS=OFS="\t" } NR == FNR { key[$1]=$2; next} ($1 in key) { $1=key[$1] } 1' map -
Имя входного файла -
заставляет awk
считывать его со стандартного ввода, когда он достигает его (после обработки файла с именемmap
).
awk
— более мощный язык, чем то, что вы считаете его конвейером, и вы можете легко включить в него код cut
и sed
:
awk 'BEGIN { FS=OFS="\t" } NR == FNR { key[$1]=$2; next} ($1 in key) { $1=key[$1] } FNR > 6 { print $1, $2, $3, $4, $5, $6 }' map -
Ваш скрипт может выглядеть примерно так
#!/bin/sh
for file in./*.vcf.gz; do
gzip -cd "$file" |
awk 'BEGIN { FS=OFS="\t" } NR == FNR { key[$1]=$2; next} ($1 in key) { $1=key[$1] } FNR > 6 { print $1, $2, $3, $4, $5, $6 }' map - |
vep -o "${file}_dnds" --compress_output gzip --dir_cache./
done
(обратите внимание также на правильное двойное -цитирование расширений переменных)
Если вы хотите удалить суффикс имени файла .vcf.gz
из имени выходного файла перед добавлением _dnds
в его конец, используйте vep -o "${file%.vcf.gz}_dnds"...
.
кажется, что решение описано здесь:
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/#xforwarding
все дело в PULSE_SERVER
"переменной". Таким образом, запуск процесса с добавлением PULSE_SERVER=localhost
перед гарантирует, что аудиопротоколы будут работать на хост-компьютере. В моем случае одноплатный компьютер, а не ноутбук.
У меня была возможность протестировать это только один раз, поэтому я не уверен, что это работает во всех сценариях, но вот:
[user@fedora ~]$ ssh user@mobian -YC
...
user@mobian:~$ PULSE_SERVER=localhost [YOUR_APLICATION]
Я постараюсь обновить, если получу дополнительную информацию.