파일 이름이 포함된 두 개의 목록 읽기

파일 이름이 포함된 두 개의 목록 읽기

파일 이름과 경로가 포함된 두 개의 목록을 얻고 gnu-parallel을 사용하여 두 목록의 파일을 처리합니다. 그러나 출력을 확인하면 명령은 두 번째 목록이 아닌 첫 번째 목록의 파일만 사용할 수 있습니다. 나는 이것에 대해 다양한 옵션을 시도했습니다. 예를 들어 파일 형식이 주어지면 --readFilesIn(여기서 오류가 발생함)

reads_list=/comb_fastq/fq1.list
reads_list2=/comb_fastq/fq2.list

for fastq in `cat $reads_list`;do
  rsync -av $fastq $TMPDIR/input/ 
done

for fastq in `cat $reads_list2`;do
     rsync -av $fastq $TMPDIR/input2/
done

parallel -j $NSLOTS --xapply \
  "STAR \
--genomeDir $TMPDIR/reference_genome \
--genomeLoad LoadAndKeep \
--runThreadN 4 \
--readFilesIn ../input/{1} ../input2/{1}

답변1

GNU Parallel $reads_list 및 $reads_list2를 알려주지 않았습니다. 그래서 저는 GNU Parallel이 이러한 것들을 사용해야 한다고 어떻게 추측할 것이라고 기대하는지 혼란스럽습니다.

(첫 번째 작업 전에 모든 것을 실행하는 대신) 병렬로 동기화하면 속도가 더 빨라질 수도 있습니다. 내 생각엔 이 정도면 충분할 것 같다.

parallel -j $NSLOTS --xapply \
  "rsync {1} $TMPDIR/input/{1};\
  rsync {2} $TMPDIR/input2/{2};\
  STAR \
  --genomeDir $TMPDIR/reference_genome \
  --genomeLoad LoadAndKeep \
  --runThreadN 4 \
  --readFilesIn ../input/{1} ../input2/{2}" :::: $reads_list $reads_list2

이 튜토리얼을 완료해 보세요http://www.gnu.org/software/parallel/parallel_tutorial.html여기에는 더 많은 내용이 포함되어 있습니다. 당신의 명령줄은 당신을 좋아할 것입니다.

관련 정보