다른 파일을 반복해서 실행하고 해당 파일로 프로그램을 실행하려고 합니다.
multigeneblast는 .HTML 파일이 포함된 디렉터리를 생성합니다.
내가 발견한 문제는 각 출력이 새 디렉터리에 저장되어야 한다는 것입니다. 그렇지 않으면 이전 반복에서 수행한 작업을 잃게 됩니다.
매번 출력 폴더의 이름을 변경하는 카운터(c)를 추가하는 아이디어가 있습니다. 그러나 첫 번째 반복 후 이 작업을 수행하면 숫자가 변경되지 않고 다음 파일로 디렉터리를 덮어씁니다.
-out의 오른쪽은 각 반복에서 수정하려는 디렉터리의 이름입니다.
이게 내 코드야
c=1
for f in ./*.fasta
do
./multigeneblast -in "${f}" -db betaproteobacteria.pal -minpercid 10 -distancekb 20 -out "${c}MGB_ycei"
c=$((c+1))
done
예상 출력
1MGB_ycei 2MGB_ycei. . . nMGB_ycei
내가 뭘 잘못하고 있는지 아시나요?
답변1
c=1
for f in ./*.fasta
do
./multigeneblast -in "${f}" -db betaproteobacteria.pal -minpercid 10 -distancekb 20 -out ${c}_"MGB_ycei"
c=$((c+1))
done
따옴표 바깥쪽에 카운터를 입력하고 따옴표 안에 문자열을 입력해 보세요.
매개변수는 out
반복자를 따옴표 밖에 둡니다.
밑줄은 여기서 관련이 없습니다
${c}."MGB_ycei"
여기에 요점을 유지하는 것조차 괜찮습니다.
이는 사용된 인코딩 때문일 수도 있습니다../multigeneblast
약물 도킹 리간드와 수용체를 준비하기 위한 Python 스크립트에서도 비슷한 문제에 직면했습니다. 스크립트가 Pythonic일 수도 있기 때문일 수도 있습니다.