В Perl вы можете использовать ряд механизмов для запуска внешних программ (например, команда system
, обратные метки и open()
). Я предполагаю, что ваша подпрограмма system_p()
использует один из этих подходов.
Все, что вы можете запустить в качестве команды в командной строке вашей оболочки, может быть запущено с использованием этих механизмов в Perl. Вам просто нужно определить правильную команду.
Команда, которую вы используете для запуска контейнера Docker, вероятно, будет docker run [container_name]
(с некоторыми опциями). После того, как вы точно определили, какие опции вам нужны, это просто случай передачи этой строки в команду system()
(или любой другой механизм, который вы используете).
Я полагаю, вы получаете Docker изображение с Docker Hub. Оттуда доступно несколько изображений samstools, поэтому я не уверен, какой из них вы используете. Но вполне вероятно, что страница с изображением, которое вы используете (например, biocontainers / samtools ), будет содержать полезную информацию о том, как его запустить.