我有一个叫做samtools的程序,想要通过命令行使用它将一个文件转换为另一个文件。它的使用方式如下:
bash-4.2$ samtools view filename.bam | awk '{OFS="\t"; print ">"$1"\n"$10}' - > filename.fasta
我希望自动化这个过程,所以想使用R脚本进行自动化。我知道可以使用system()来运行操作系统命令,但是尝试后无法使其工作。
system(samtools view filename.bam | awk '{OFS="\t"; print ">"$1"\n"$10}' - > filename.fasta)
是否只需使用正则表达式来去除空格等内容,使第二个参数system(command)可读?我该如何做到这一点?
编辑:
system(“samtools view filename.bam | awk'{OFS =\"\\t \";print \">\"$1\"\\n\"$10}' - > first_batch_1.fasta“) 错误:在” system(“samtools view filename.bam | awk '{OFS="\"
编辑2:
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
>
编辑3:获胜者是:
system("samtools view filename.bam | awk '{OFS=\"\\t\"; print \">\"$1\"\\n\"$10}' -> filename.fasta")
system()
函数需要一个字符字符串作为参数,因此您需要将参数用引号括起来。 - Andriesystem("samtools view filename.bam | awk '{OFS=\"\\t\"; print \">\"$1\"\\n\"$10}' -> filename.fasta")
- plannapus