Как я запускаю эти команды одновременно для разных файлов

Измените права доступа к файлу. Google — ваш друг, с большинством проблем, с которыми сталкиваетесь вы, сталкивались и решались и другие люди. Один поиск в Google, и вы можете просто найти свое решение.

chmod 4755 /usr/lib/policykit-1/polkit-agent-helper-1
  • Опция монтирования nosuid указывает, что файловая система не может содержать файлы с установленными идентификаторами пользователей. Предотвращение двоичных файлов setuid в доступной для записи файловой системе -мира имеет смысл, потому что там есть риск укрупнения корневой системы или других ужасных ситуаций. Проще говоря, удалите nosuid в /etc/fstab со всех разделов. Перезагрузитесь, а затем попробуйте войти.

Должно быть примерно так:

UUID=a34cdfff-2388.. / ext4 noatime,nodiratime,errors=remount-ro 0 1
3
10.09.2019, 18:52
1 ответ

В качестве грубой догадки может работать что-то вроде следующего:

find./A{1..16}/ -type f -name aligned.sorted.bam -print0 | 
  xargs -0r -n 1 -P 8./myscript.sh

Это запустит несколько экземпляров myscript.shпараллельно(-P 8запустит 8 одновременно. отрегулируйте, если у вас больше или меньше ядер/потоков ЦП -на моем threadripper, я бы использовал -P 32. или используйте -P 0для запуска как можно большего числа ), предоставляя каждому экземпляру скрипта один аргумент имени файла.

myscript.shбудет что-то вроде:

#!/bin/sh

cd "$(dirname "$1")"

module load samtools/1.3.2
samtools view -h -o aligned.sam "$1"

module load htseq/0.6.1
htseq-count --stranded=no -q aligned.sam /local/software/DropSeq/STAR_Genomes/STAR_hg38_Genome/metadata/Homo_sapiens.GRCh38.dna.primary_assembly.gtf > counts.txt

Это должно быть выполнено с помощью chmod +x myscript.sh. Приведенная выше команда xargsпредполагает, что она находится в текущем каталоге. Вы можете поместить его в свой PATH где-нибудь(~/bin/— это хорошее место для ваших собственных скриптов, просто добавьте его в $PATH в вашем~/.bashrc)и просто запустите myscript.sh, а не ./myscript.sh.

Я понятия не имею, что делает module load..., или samtools, или htseq-count, так что вполне возможно, что я неправильно понял эту часть ответа. Я предполагаю, что вы знаете, что хотите запустить, поэтому вы можете исправить сценарий по мере необходимости.


ps :Я рекомендую протестировать очень простой myscript.sh, который не записывает никаких файлов.

напр. что-то вроде этого:

#!/bin/sh

cd "$(dirname "$1")"

echo process-id $$ is in $(pwd), processing file "$1"
3
27.01.2020, 21:20

Теги

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