Question: Use UNIX reverse complement
0
gravatar for avranarkin
3 months ago by
avranarkin0
avranarkin0 wrote:

I have downloaded the FASTA DNA sequence, how to use UNIX to reverse complement each line of the file using a single line of command?

sequencing • 261 views
ADD COMMENTlink modified 3 months ago by Alex Reynolds22k • written 3 months ago by avranarkin0

This looks like an assignment, what have you tried? UNIX is very diverse and not identical to GNU Linux or POSIX, which you are probably referring to.

ADD REPLYlink modified 3 months ago • written 3 months ago by Michael Dondrup43k
4
gravatar for Alex Reynolds
3 months ago by
Alex Reynolds22k
Seattle, WA USA
Alex Reynolds22k wrote:
$ perl -pe '/^>/ ? print "\n" : chomp' test.fa | while read -r line; do if [[ "$line" == ">"* ]]; then echo $line; else tr "[ATGCatgcNn]" "[TACGtacgNn]"; fi; done | awk '{ if ($0~/^>/) { printf("%s",$0); } else { for(i=length;i!=0;i--) x=(x substr($0,i,1)) } { printf("%s\n",x); x=""; } }'

Christ, that's awful. Just take the teacher's "F" and use seqkit or something. https://github.com/shenwei356/seqkit

ADD COMMENTlink modified 3 months ago • written 3 months ago by Alex Reynolds22k
1
gravatar for James Ashmore
3 months ago by
James Ashmore2.3k
UK/Edinburgh/MRC Centre for Regenerative Medicine
James Ashmore2.3k wrote:

Install bioawk and use the following command:

bioawk -c fastx '{print ">"$name;print revcomp($seq)}' seq.fa.gz
ADD COMMENTlink written 3 months ago by James Ashmore2.3k

Thank you, do you know how to solve this if I just use UNIX commands?

ADD REPLYlink written 3 months ago by avranarkin0
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 842 users visited in the last hour