![Linux에서 파이프라인 실행 [닫기]](https://linux55.com/image/149154/Linux%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8%20%EC%8B%A4%ED%96%89%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
이 스크립트가 있습니다
#!/bin/bash
module load bedtools/2.21.0
bamfiles=(
/temp/hgig/fi1d18/1672_WTSI-COLO_023_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_023_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-OESO_005_w3/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_005_w3.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-OESO_036_2post/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_036_2post.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_021_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_021_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_027_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_027_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_011_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_011_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_176_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_176_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_170_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_170_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_141_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_141_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLIVM_005_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLIVM_005_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_099_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_099_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_085_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_085_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_075_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_075_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_027_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_027_a_RNA.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_021_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_021_a_RNA.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-OESO_036_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_036_a_RNA.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_005_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_005_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_023_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_023_a_RNA.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-OESO_121_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_121_1pre.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-OESO_013_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_013_a_RNA.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-OESO_005_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-OESO_005_a_RNA.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_011_a_RNA/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_011_a_RNA.dupmarked.bam
/temp/hgig/fi1d18/1672_WTSI-COLO_019_1pre/mapped_sample/HUMAN_1000Genomes_hs37d5_RNA_seq_WTSI-COLO_019_1pre.dupmarked.bam
)
for file in "${bamfiles[@]}"; do
fname=$(basename "$file")
fdir=$(dirname "$file")
bamtofastq -i "$file" -fq "${fdir}/${fname%.bam}.fq"
done
나는 이것을 실행한다
[fi1d18@cyan01 ~]$ chmod +x run.sh
[fi1d18@cyan01 ~]$ run.sh
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
basename: invalid option -- 's'
Try `basename --help' for more information.
./run.sh: line 30: bamtofastq: command not found
[fi1d18@cyan01 ~]$
[fi1d18@cyan01 ~]$ run.sh
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
./run.sh: line 32: bamtofastq: command not found
[fi1d18@cyan01 ~]$
답변1
귀하의 질문에 제한된 정보가 주어지고 귀하의 bamtofastq
명령이 다음과 같다고 가정합니다.이것bedtools 패키지에서 다음을 생각해냈습니다.
#!/bin/bash
bamfiles=(
/path/to/file1.bam
/path/to/file2.bam
/path/to/file3.bam
)
for file in "${bamfiles[@]}"; do
fname=$(basename "$file")
fdir=$(dirname "$file")
bedtools bamtofastq -i "$file" -fq "${fdir}/${fname%.bam}.fq"
done
이는 모든 bam 파일을 스크립트에 수동으로 채우고 .fq 파일이 해당 bam 파일과 동일한 디렉터리에 있기를 원한다고 가정합니다. 그렇지 않은 경우, 귀하의 질문에 보다 효과적으로 답변할 수 있도록 추가 정보를 제공해 주십시오.