Me gustaría emplear el ampersand de fondo del shell Bourne como parte del comando de ejecución ONE bsub.
Tenga en cuenta que no quiero usar un archivo .bash sino una línea de comando bsub para ejecutar todo el procedimiento.
Tenga en cuenta que tampoco quiero dividir mi contenido de bsub en unos pocos comandos de bsub que se esperan unos a otros, sino envolver en una sola línea de comandos de bsub algunos comandos internos de Unix que se esperan entre sí usando el símbolo de fondo de shell Bourne .
el siguiente intento solo produjo la salida del primer comando interno (el comando liftOver), pero no se ejecutaron ni sort ni mv.
bsub -q medium -J $i "liftOver $i mm10ToMm9.over.chain.gz ${i/.bed/.mm9.bed} ${i/.bed/.unlifted_to_mm9.bed} & sort -k1,1 -k2,2n ${i/.bed/.mm9.bed} > ${i/.bed/.mm9.bed}.srt & mv ${i/.bed/.mm9.bed}.srt ${i/.bed/.mm9.bed}"Fuera del bsub, este procedimiento podría escribirse de la siguiente manera:
liftOver $i mm10ToMm9.over.chain.gz ${i/.bed/.mm9.bed} ${i/.bed/.unlifted_to_mm9.bed} & sort -k1,1 -k2,2n ${i/.bed/.mm9.bed} > ${i/.bed/.mm9.bed}.srt & mv ${i/.bed/.mm9.bed}.srt ${i/.bed/.mm9.bed}No sé bsub , pero tal vez podría darte un truco que uso con batch , ssh y algunos otros shells diferentes :
bsub -q medium -J $i <<<"liftOver $i mm10ToMm9.over.chain.gz ${i/.be/.mm9.bed} ${i/.bed/.unlifted_to_mm9.bed} && sort -k1,1 -k2,2n ${i/.bed/.mm9.bed} > ${i/.bed/.mm9.bed}.srt && mv ${i/.bed/.mm9.bed}.srt ${i/.bed/.mm9.bed}" Tal vez tengas que cambiar las comillas dobles ( " ) por comillas ( ' ) si $i tiene que ser desarrollado por bsub (nuevamente, no conozco este producto)
o
bsub -q medium -J $i <<-eocmd liftOver $i mm10ToMm9.over.chain.gz ${i/.be/.mm9.bed} \ ${i/.bed/.unlifted_to_mm9.bed} && sort -k1,1 -k2,2n ${i/.bed/.mm9.bed} > ${i/.bed/.mm9.bed}.srt && mv ${i/.bed/.mm9.bed}.srt ${i/.bed/.mm9.bed} eocmd (advertencia: solo se puede colocar una tabulación $'\t' antes de la palabra eocmd )
Una vez más, es posible que tenga que escapar del signo $ si bsub tiene que desarrollar $i .
Para trabajar con el entorno $TERM no establecido , utilizo en algún momento:
bsub -q medium -J $i /bin/bash <<-eocmd ... eocmdCon la esperanza de que esto podría hacer el trabajo.