combinando dois arquivos para um único arquivo

0

Eu tenho uma pasta com 700 arquivos (350 pessoas, para cada eu tenho 2 arquivos R1 e R2),

HI.2622.001.Index_16.ED16_KS1W9-3_342_R1.fastq.gz_matches_default.fit_ID_90.fit_ID90_e
HI.2622.001.Index_16.ED16_KS1W9-3_342_R2.fastq.gz_matches_default.fit_ID_90.fit_ID90_e
HI.2622.001.Index_19.ED18_ND1W27-2_288_R1.fastq.gz_matches_default.fit_ID_90.fit_ID90_e
HI.2622.001.Index_19.ED18_ND1W27-2_288_R2.fastq.gz_matches_default.fit_ID_90.fit_ID90_e
HI.2622.001.Index_21.ED20_SD1W11-7_237_R1.fastq.gz_matches_default.fit_ID_90.fit_ID90_e
HI.2622.001.Index_21.ED20_SD1W11-7_237_R2.fastq.gz_matches_default.fit_ID_90.fit_ID90_e
HI.2622.001.Index_2.ED2_KS2W24-7_43_R1.fastq.gz_matches_default.fit_ID_90.fit_ID90_e
HI.2622.001.Index_2.ED2_KS2W24-7_43_R2.fastq.gz_matches_default.fit_ID_90.fit_ID90_e

Existem 2 arquivos por cada indivíduo (R1, R2), como este

HI.2622.001.Index_16.ED16_KS1W9-3_342_R1.fastq.gz_matches_default.fit_ID_90.fit_ID90_e
HI.2622.001.Index_16.ED16_KS1W9-3_342_R2.fastq.gz_matches_default.fit_ID_90.fit_ID90_e

Eu quero combinar o arquivo R1 e R2 para cada indivíduo. se houver apenas 1 indivíduo com 2 arquivos, eu poderia simplesmente fazer

cat HI.2622.001.Index_16.ED16_KS1W9-3_342_R1.fastq.gz_matches_default.fit_ID_90.fit_ID90_e  HI.2622.001.Index_16.ED16_KS1W9-3_342_R2.fastq.gz_matches_default.fit_ID_90.fit_ID90_e > HI.2622.001.Index_16.ED16_KS1W9-3_342_all

Mas como eu disse há 700 arquivos e demora muito tempo se eu quiser combinar o arquivo R1 e R2 para cada indivíduo separadamente. Existe alguma maneira que eu poderia fazer, por exemplo, através de loop? cada indivíduo tem um ID diferente. Eu tenho arquivo que contém o ID de cada indivíduo

head inds.names
HI.2622.001.Index_16.ED16_KS1W9-3_342
HI.2622.001.Index_19.ED18_ND1W27-2_288
HI.2622.001.Index_21.ED20_SD1W11-7_237
HI.2622.001.Index_2.ED2_KS2W24-7_43
    
por Anna1364 14.02.2018 / 01:57

1 resposta

2

Deve ser bastante simples com a expansão de parâmetros , por exemplo,

for f in HI.2622.001.Index_*_R1.fastq.gz_matches_default.fit_ID_90.fit_ID90_e; do
  cat "$f" "${f/R1/R2}" > "${f%%_R1*}_all"
done
    
por 14.02.2018 / 02:08

Tags