से एक बैश स्क्रिप्ट चलाएं तो मेरे पास यह प्रोग्राम सैमटोल्स है जिसे मैं cmd लाइन से उपयोग करना चाहता हूं, एक फ़ाइल को दूसरे में परिवर्तित करना चाहता हूं। यह इस तरह काम करता है:एक आर स्क्रिप्ट
bash-4.2$ samtools view filename.bam | awk '{OFS="\t"; print ">"$1"\n"$10}' - > filename.fasta
जैसा कि मैं इसे स्वचालित करना चाहता हूं, मैं इसे आर स्क्रिप्ट का उपयोग करके स्वचालित करना चाहता हूं। मैं आपको एक ओएस आदेश को चलाने के लिए प्रणाली() का उपयोग कर सकते पता है, लेकिन मैं इसे
system(samtools view filename.bam | awk '{OFS="\t"; print ">"$1"\n"$10}' - > filename.fasta)
कोशिश कर रहा द्वारा काम करने के लिए नहीं मिल सकता है यह regexes का उपयोग कर तो अल्पविराम nd तर्क रिक्त स्थान और सामान से छुटकारा पाने के का मामला है सिस्टम (कमांड) पठनीय है? मैं यह कैसे करु?
संपादित करें:
system("samtools view filename.bam | awk '{OFS="\t"; print ">"$1"\n"$10}' - > first_batch_1.fasta") Error: unexpected input 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: और विजेता है:
system("samtools view filename.bam | awk '{OFS=\"\\t\"; print \">\"$1\"\\n\"$10}' -> filename.fasta")
'प्रणाली का उपयोग करने में सक्षम होना चाहिए' तर्क के रूप में एक चरित्र स्ट्रिंग लगता है, इसलिए कोट्स में अपना तर्क लपेटने की जरूरत है। – Andrie
मैंने पहले ही कोशिश की थी। उपरोक्त संपादन के रूप में दिखाया गया। – cianius
सिस्टम को आजमाएं ("samtools देखें filename.bam | awk '{OFS = \" \ t \ "; प्रिंट \"> \ "$ 1 \" \ n \ "$ 10}' -> filename.fasta") आपको भागने की जरूरत है दो उद्धरण चिह्न, आर को पूरे आदेश को पढ़ने के क्रम में, पहले दो डबल उद्धरण चिह्नों के बीच केवल कमांड भाग के बजाय –