Создание нескольких файлов конфигурации для данных

Создание нескольких файлов конфигурации для данных

У меня есть файлы данных в виде пар. например Sample_27931_RNAX_Р1.fastq.gz и FASTQ/Sample_27931_RNAX_Р2.fastq.gz принадлежат одному образцу. Ниже я показал данные для трех образцов, каждый из которых имеет пары R1 и R2.

Для запуска анализа я создаю список путей по отдельности. Таким образом, список 1 содержит все R1, а список 2 содержит все R2.

Вот список1 для 3 образцов

$TMPDIR/FASTQ/Sample_27931_RNAX_R1.fastq.gz 
$TMPDIR/FASTQ/Sample_28891_RNAX_R1.fastq.gz 
$TMPDIR/FASTQ/Sample_28897_RNAX_R1.fastq.gz

Вот список2 для 3 образцов

$TMPDIR/FASTQ/Sample_27931_RNAX_R2.fastq.gz
$TMPDIR/FASTQ/Sample_28891_RNAX_R2.fastq.gz
$TMPDIR/FASTQ/Sample_28897_RNAX_R2.fastq.gz

Я хочу создать файлы конфигурации для каждого образца (всего 3). Файл конфигурации нужно создать отдельно для каждого образца.

Пример файла конфигурации приведен ниже:

**fastq1        = $TMPDIR/FASTQ/Sample_27931_RNAX_R1.fastq.gz**
**fastq2        = $TMPDIR/FASTQ/Sample_27931_RNAX_R2.fastq.gz**

mailto         = [email protected]
thread_no      = 8

detect_integration = yes   # if no is provided, VirusFinder will not detect virus integrations
detect_mutation    = no   # if no is provided, VirusFinder will not detect viral mutations

Параметры fastq1 и fastq2 необходимо изменить, используя пути из list1 и list2, но остальная часть содержимого остается прежней. Как создать несколько файлов конфигурации, используя list1 и list2? Имя файла конфигурации должно автоматически браться из имени образца, например Sample_27931_RNAX.config.txt для Sample_27931_RNAX. Любые предложения или ссылки на похожие посты будут приветствоваться. Я не смог найти похожие посты.

Спасибо,

Рон

решение1

#!/bin/bash
while IFS= read -r samp1; do

b=${samp1%_R1.fastq.gz} samp2=${b}_R2.fastq.gz

cat - <<eof > "${b##*/}.cfg"
**fastq1        = $samp1**
**fastq2        = $samp2**

mailto         = [email protected]
thread_no      = 8

detect_integration = yes  # if no is provided, VirusFinder will not detect virus integrations
detect_mutation    = no   # if no is provided, VirusFinder will not detect viral
eof
done < LIST1

Обратите внимание, что List2 на самом деле не является необходимым, поскольку мы можем перенести имя второго примера fastq из самого первого.

Связанный контент