Crie vários arquivos de configuração para dados

0

Eu tenho arquivos de dados na forma de pares.e.g. Sample_27931_RNAX_ R1 .fastq.gz & FASTQ / Sample_27931_RNAX_ R2 .fastq.gz pertencem a uma amostra. Abaixo mostrei os dados para 3 amostras, cada uma tendo pares R1 e R2.

Para executar a análise, criei uma lista dos caminhos deles separadamente. Assim, list1 contém todos os R1's e list2 contém todos os R2's.

Aqui está a lista1 para 3 amostras

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

Aqui está a lista 2 para 3 amostras

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

Eu quero criar arquivos de configuração para cada amostra (total 3). O arquivo de configuração precisa ser criado separadamente para cada amostra.

por exemplo. Um arquivo de configuração de amostra está abaixo:

**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

Os parâmetros fastq1 e fastq2 precisam ser alterados usando os caminhos da lista1 e da lista2, mas o restante do conteúdo permanece o mesmo.Como criar vários arquivos de configuração usando list1 e list2? o nome dos arquivos de configuração deve ser retirado automaticamente do nome da amostra, como Sample_27931_RNAX.config.txt para Sample_27931_RNAX. Qualquer sugestão ou link para postagens semelhantes será bom.Eu não consegui encontrar posts semelhantes.

Obrigado,

Ron

    
por Ron 24.04.2017 / 22:33

1 resposta

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

Note que List2 não é realmente necessário, já que podemos enxertar o nome do segundo sample fastq do primeiro.

    
por 24.04.2017 / 23:39