Führen Sie ein Bash-Skript aus einem R-Skript aus
Ich habe also dieses Programm samtools, das ich von cmd line verwenden möchte, um eine Datei in eine andere zu konvertieren. Es funktioniert so:
bash-4.2$ samtools view filename.bam | awk '{OFS="\t"; print ">"$1"\n"$10}' - > filename.fasta
Da ich dies automatisieren möchte, möchte ich es mithilfe eines R-Skripts automatisieren. Ich weiß, dass Sie system () verwenden können, um einen OS-Befehl auszuführen, aber ich kann ihn nicht zum Laufen bringen, indem ich es versuche
system(samtools view filename.bam | awk '{OFS="\t"; print ">"$1"\n"$10}' - > filename.fasta)
Ist es nur eine Frage der Verwendung von Regexen, um Leerzeichen und ähnliches loszuwerden, damit das Kommando-Argument-System (Befehl) lesbar ist? Wie mache ich das?
BEARBEITEN:
system ("samtools view filename.bam | awk '{OFS =" \ t "; print"> "$ 1" \ n "$ 10}' -> first_batch_1.fasta") Fehler: Unerwartete Eingabe in "system" ("samtools view filename .bam | awk '{OFS = "\"
EDIT2:
system ("samtools view filename.bam | awk '{OFS = \" \ t \ "; print \"> \ "$ 1 \" \ n \ "$ 10}' -> filename.fasta")
awk: cmd. line:1: {OFS=" "; print ">"$1"
awk: cmd. line:1: ^ unterminated string
awk: cmd. line:1: {OFS=" "; print ">"$1"
awk: cmd. line:1: ^ syntax error
>
EDIT3: Und der Gewinner ist:
system("samtools view filename.bam | awk '{OFS=\"\\t\"; print \">\"$1\"\\n\"$10}' -> filename.fasta")