Changing from FASTA to PHYLIP format


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Changing from FASTA to PHYLIP format
# 8  
Old 02-23-2011
try:
Code:
awk -v RS=">" -v FS="\n" '{printf $1"\t";for(i=2;i<=NF;i++) printf $i;print ""}' fasta

This User Gave Thanks to yinyuemi For This Post:
# 9  
Old 02-23-2011
yinyuemi

I am not getting the expected output file.
What I need is to combine these 2 awk codes into one
Code:
awk '$1=substr($1"       ",1,8)"  "' FS="\n" OFS= RS=\> file

Code:
awk '{s=length($2)}END{print NR-1, s}' file

The first one is getting the SeqIDs and the sequences but it does not list in the first line the number of sequences or the length.
The second one takes care of the number of sequences and the length but it does not output the IDs and sequences.
I would like to modify the first code so it can include the number of sequences and length in the very first line.
Thanks!
# 10  
Old 02-23-2011
Code:
awk '$1=substr($1"       ",1,8)"  "' FS="\n" OFS= RS=\> fastafile |awk 'NF>0{s=length($2);t=t"\n"$0}END{print NR-1,s"\n"t}'

This User Gave Thanks to yinyuemi For This Post:
# 11  
Old 02-23-2011
Fantastic!

I only had to remove "\n" to get the rigth format.
Thank you very, very much!
# 12  
Old 02-23-2011
Little problem

The code seems to have some issues when the Sequence IDs are shorter than 8 characters. I have uploaded the corresponding input and output files.
# 13  
Old 02-24-2011
Try:
^M is Ctrl+V+M
Code:
sed '$!N;s/^M\n/\t/;s/>//' input|awk '{s=length($2);t==0?t=$0:t=t"\n"$0}END{print NR,s"\n" t}' output

# 14  
Old 02-24-2011
Confused

It works great on CygWin and VirtualBox but not on my Linux box (redhat) Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Changing the file name format

Hello all, I am tryign to change the format of files (which are many in numbers). They at present are named like this: SomeProcess_M-130_100_1_3BR.root SomeProcess_M-130_101_2_3BX.root SomeProcess_M-130_103_3_3RY.root SomeProcess_M-130_105_1_3GH.root SomeProcess_M-130_99_1_3LF.root... (7 Replies)
Discussion started by: emily
7 Replies

2. Shell Programming and Scripting

Shell script for changing the accession number of DNA sequences in a FASTA file

Hi, I am having a file of dna sequences in fasta format which look like this: >admin_1_45 atatagcaga >admin_1_46 atatagcagaatatatat with many such thousands of sequences in a single file. I want to the replace the accession Id "admin_1_45" similarly in following sequences to... (5 Replies)
Discussion started by: margarita
5 Replies

3. Shell Programming and Scripting

Changing the date format

Hi all, I have a file with below data af23b|11-FEB-12|acc7 ad23b|12-JAN-12|acc4 as23b|15-DEC-11|acc5 z123b|18-FEB-12|acc1 I need the output as below:-(date in yyyymmdd format) af23b|20120211|acc7 ad23b|20120112|acc4 as23b|20111215|acc5 z123b|20120218|acc1 Please help me on this.... (7 Replies)
Discussion started by: gani_85
7 Replies

4. UNIX for Dummies Questions & Answers

Changing from Excel date format to MySQL date format

I have a list of dates in the following format: mm/dd/yyyy and want to change these to the MySQL standard format: yyyy-mm-dd. The dates in the original file may or may not be zero padded, so April is sometimes "04" and other times simply "4". This is what I use to change the format: sed -i '' -e... (2 Replies)
Discussion started by: figaro
2 Replies

5. UNIX for Dummies Questions & Answers

fasta format?

Hi, I'm in need of creating a file in the fasta format: >1A6A.A HVIIQAEFYLNPDQSGEFMFDFDGDEIFHVDMAKKETVWRLEEFGRFASFEAQGALANIAVDKANLEIMTKRSNYTPITN VPPEVTVLTNSPVELREPNVLICFIDKFTPPVVNVTWLRNGKPVTTGVSETVFLPREDHLFRKFHYLPFLPSTEDVYDCR VEHWGLDEPLLKHWEF >1A6A.B ... (5 Replies)
Discussion started by: lost
5 Replies

6. Shell Programming and Scripting

changing month in Mmm format to mm FORMAT

i have an variable mydate=2008Nov07 i want o/p as in variable mymonth=11 (i.e nov comes on 11 number month) i want some command to do this for any month without using any loop. plz help me (1 Reply)
Discussion started by: RahulJoshi
1 Replies

7. Shell Programming and Scripting

Changing date format

Hi, I have a column in a table of Timestamp datatype. For Example : Var1 is the column 2008-06-26-10.10.30.2006. I have Given query as date(var1) and time (var1) I got the file as in the below format : File1: Col1 Col2 2008-06-02|12.36.06 2008-06-01|23.36.35 But the problem is... (7 Replies)
Discussion started by: manneni prakash
7 Replies

8. Shell Programming and Scripting

changing format

Dear Experts, Currently my script is gereating the output like this as mentioned below. 8718,8718,0,8777 7450,7450,0,7483 5063,5063,0,5091 3840,3840,0,3855 3129,3129,0,3142 2400,2400,0,2419 2597,2597,0,2604 3055,3055,0,3078 4249,4249,0,4266 4927,4927,0,4957 8920,8920,0,8978... (4 Replies)
Discussion started by: shary
4 Replies

9. UNIX for Dummies Questions & Answers

Changing the format of date

Hi, There are lots of threads about how to manipulate the date using date +%m %....... But how can I change the default format of the commad date? $ date Mon Apr 10 10:57:15 BST 2006 This would be on fedora and SunOs. Cheers, Neil (4 Replies)
Discussion started by: nhatch
4 Replies

10. Shell Programming and Scripting

Changing date format

Hi, Is there any way to change one date format to another ?? I mean I have a file having dates in the format (Thu Sep 29 2005) ... and i wud like to change these to YYYYMMDD format .. is there any command which does so ?? Or anything like enum which we have in C ?? Thanks in advance, ... (5 Replies)
Discussion started by: Sabari Nath S
5 Replies
Login or Register to Ask a Question