ich Dateien mit dem folgende Namensmuster fusionieren muß:Merging fastq Dateien von Identifikatoren mit einem Shell-Skript
[SampleID]_[custom_ID01]_ID[RUN_ID]_L001_R1.fastq
[SampleID]_[custom_ID02]_ID[RUN_ID]_L002_R1.fastq
[SampleID]_[custom_ID03]_ID[RUN_ID]_L003_R1.fastq
[SampleID]_[custom_ID04]_ID[RUN_ID]_L004_R1.fastq
Ich brauche alle Dateien mit identischem [ProbeID] but different „Lanes“ (L001-L004 fusionieren). Das folgende Skript funktioniert gut, wenn direkt im Terminal laufen:
custom_id="000"
RUN_ID="0025"
wd="/path/to/script/" # was missing/ incorrect
# get ALL sample identifiers
touch temp1.txt
for line in $wd/*.fastq ; do
fastq_identifier=$(echo "$line" | cut -d"_" -f1);
echo $fastq_identifier >> temp1.txt
done
# get all uniqe samples identical
cat temp1.txt | uniq > temp2.txt
input_var=$(cat temp2.txt)
# concatenate all fastq (different lanes) with identical identifier
for line in $input_var; do
cat $line*fastq >> $line"_"$custom_id"_ID"$Run_ID"_L001_R1.fastq"
done
rm temp1.txt temp2.txt;
Aber wenn ich eine Skriptdatei (concatenate_fastq.sh) und ausführbar machen
$ chomd +x concatenate_fastq.sh
und führen Sie es
$ ./concatenate_fastq.sh
Ich habe den folgenden Fehler:
$ concatenate_fastq.sh: line 17: /*.fastq_000_ID_L001_R1.fastq: Keine Berechtigung # = Permission denied
Thx auf Ihre Hinweise unten Ich löste das Problem, indem sie
wd=/path/to/script/
"Keine Berechtigung" offenbar bedeutet "Zugriff verweigert". Verwenden Sie denselben Benutzer, um die Befehle in der Shell auszuführen und das Skript auszuführen? Funktionieren beide Läufe in denselben Verzeichnissen? – Aaron
Schön! Und wo ist Linie 49? – hek2mgl
Mein schlechtes. Ich habe den kommentierten Abschnitt im Skript übersprungen. Zeile 49 ist: cat $ Zeile * fastq >> $ Zeile "_" $ custom_id "_ID" $ Run_ID "_L001_R1.fastq" –