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


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell script for changing the accession number of DNA sequences in a FASTA file
# 1  
Old 12-30-2013
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 "mydesired_name_45" replacing serially 46,47, 48 with my desired name as static next to each of the > symbol.

kindly help me with the script
# 2  
Old 12-30-2013
Welcome to Forum.

How do you expect output ? Like this ?

Input file :
Code:
$ cat fasta_file
>admin_1_45
atatagcaga
>admin_1_46
atatagcagaatatatat

Code to run on terminal :
Code:
$ awk '(/^>/ && sub(/>.*_/,">"new)) + 1' new="mydesired_name_" fasta_file

Resulting :
Code:
>mydesired_name_45
atatagcaga
>mydesired_name_46
atatagcagaatatatat

This User Gave Thanks to Akshay Hegde For This Post:
# 3  
Old 12-30-2013
Code:
sed 's/>admin_1_/>mydesired_name_/' filename

# 4  
Old 12-30-2013
Quote:
Originally Posted by Akshay Hegde
Welcome to Forum.

How do you expect output ? Like this ?

Input file :
Code:
$ cat fasta_file
>admin_1_45
atatagcaga
>admin_1_46
atatagcagaatatatat

Code to run on terminal :
Code:
$ awk '(/^>/ && sub(/>.*_/,">"new)) + 1' new="mydesired_name_" fasta_file

Resulting :
Code:
>mydesired_name_45
atatagcaga
>mydesired_name_46
atatagcagaatatatat

---------- Post updated at 08:44 AM ---------- Previous update was at 08:44 AM ----------

it worked nicely. Thank you
# 5  
Old 12-30-2013
Please use CODE TAGS for data you provided in post1. Select data and press code option which is available between QUOTE and HTML, I attached screen shot of it see.

Last edited by Akshay Hegde; 05-31-2014 at 04:29 PM..
# 6  
Old 12-30-2013
Hello,

One more approach with sed may help.

Code:
sed 's/\(^>.*_\)\(.*\)/my_desired_text_\2/g' file_name

Output will be as follows.

Code:
my_desired_text_45
atatagcaga
my_desired_text_46
atatagcagaatatatat



Thanks,
R. Singh

---------- Post updated at 11:34 AM ---------- Previous update was at 10:30 AM ----------

One more approach for same as follows.


Code:
awk -vs1="my_desired_ouput_" -F"_" '/^>/ {print s1$NF} !/^>/' file

Output will be as follows.

Code:
my_desired_ouput_45
atatagcaga
my_desired_ouput_46
atatagcagaatatatat


Thanks,
R. Singh
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to add specific bases at the beginning and ending of all the fasta sequences?

Hi, I have to add 7 bases of specific nucleotide at the beginning and ending of all the fasta sequences of a file. For example, I have a multi fasta file namely test.fasta as given below test.fasta >TalAA18_Xoo_CIAT_NZ_CP033194.1:_2936369-2939570:+1... (1 Reply)
Discussion started by: dineshkumarsrk
1 Replies

2. Shell Programming and Scripting

Shorten header of protein sequences in fasta file to only organism name

I have a fasta file as follows >sp|Q8WWQ8|STAB2_HUMAN Stabilin-2 OS=Homo sapiens OX=9606 GN=STAB2 PE=1 SV=3 MMLQHLVIFCLGLVVQNFCSPAETTGQARRCDRKSLLTIRTECRSCALNLGVKCPDGYTM ITSGSVGVRDCRYTFEVRTYSLSLPGCRHICRKDYLQPRCCPGRWGPDCIECPGGAGSPC NGRGSCAEGMEGNGTCSCQEGFGGTACETCADDNLFGPSCSSVCNCVHGVCNSGLDGDGT... (3 Replies)
Discussion started by: jerrild
3 Replies

3. UNIX for Beginners Questions & Answers

How to count the length of fasta sequences?

I could calculate the length of entire fasta sequences by following command, awk '/^>/{if (l!="") print l; print; l=0; next}{l+=length($0)}END{print l}' unique.fasta But, I need to calculate the length of a particular fasta sequence specified/listed in another txt file. The results to to be... (14 Replies)
Discussion started by: dineshkumarsrk
14 Replies

4. Shell Programming and Scripting

Getting unique sequences from multiple fasta file

Hi, I have a fasta file with multiple sequences. How can i get only unique sequences from the file. For example my_file.fasta >seq1 TCTCAAAGAAAGCTGTGCTGCATACTGTACAAAACTTTGTCTGGAGAGATGGAGAATCTCATTGACTTTACAGGTGTGGACGGTCTTCAGAGATGGCTCAAGCTAACATTCCCTGACACACCTATAGGGAAAGAGCTAAC >seq2... (3 Replies)
Discussion started by: Ibk
3 Replies

5. UNIX for Dummies Questions & Answers

Select distinct sequences from fasta file and list

Hi How can I extract sequences from a fasta file with respect a certain criteria? The beginning of my file (containing in total more than 1000 sequences) looks like this: >H8V34IS02I59VP SDACNDLTIALLQIAREVRVCNPTFSFRWHPQVKDEVMRECFDCIRQGLG YPSMRNDPILIANCMNWHGHPLEEARQWVHQACMSPCPSTKHGFQPFRMA... (6 Replies)
Discussion started by: Marion MPI
6 Replies

6. Shell Programming and Scripting

Shorten header of protein sequences in fasta file

I have a fasta file as follows >sp|O15090|FABP4_HUMAN Fatty acid-binding protein, adipocyte OS=Homo sapiens GN=FABP4 PE=1 SV=3 MCDAFVGTWKLVSSENFDDYMKEVGVGFATRKVAGMAKPNMIISVNGDVITIKSESTFKN TEISFILGQEFDEVTADDRKVKSTITLDGGVLVHVQKWDGKSTTIKRKREDDKLVVECVM KGVTSTRVYERA >sp|L18484|AP2A2_RAT AP-2... (3 Replies)
Discussion started by: alexypaul
3 Replies

7. Shell Programming and Scripting

Extract sequences from a FASTA file based on another file

I have two files. File1 is shown below. >153L:B|PDBID|CHAIN|SEQUENCE RTDCYGNVNRIDTTGASCKTAKPEGLSYCGVSASKKIAERDLQAMDRYKTIIKKVGEKLCVEPAVIAGIISRESHAGKVL KNGWGDRGNGFGLMQVDKRSHKPQGTWNGEVHITQGTTILINFIKTIQKKFPSWTKDQQLKGGISAYNAGAGNVRSYARM DIGTTHDDYANDVVARAQYYKQHGY >16VP:A|PDBID|CHAIN|SEQUENCE... (7 Replies)
Discussion started by: nelsonfrans
7 Replies

8. Shell Programming and Scripting

Tricky task with DNA sequences.

I am trying to reverse and complement my DNA sequences. The file format is FASTA, something like this: Now, to reverse the sequence, I should start reading from right to left. At the same should be complemented. Thus, "A" should be read as "T"; "C" should be read as "G"; "T" should be converted... (8 Replies)
Discussion started by: Xterra
8 Replies

9. UNIX for Dummies Questions & Answers

trying to grep -v multiple changing sequences from a file

Hello All - I am looking for help on how to solve a re-occuring problem. I have a file with certain sequences in it that need to be removed. The sequences are always different but the fix is always the same remove those sequences and leave the rest. Another team ID's the bad sequences and then I... (3 Replies)
Discussion started by: candyluv030
3 Replies

10. Shell Programming and Scripting

Extracting DNA sequences from GenBank files using Perl

Hi all, Using Perl, I need to extract DNA bases from a GenBank file for a given plant species. A sample GenBank file is here... Nucleotide This is saved on my computer as NC_001666.gb. I also have a file that is saved on my computer as NC_001666.txt. This text file has a list of all... (5 Replies)
Discussion started by: akreibich07
5 Replies
Login or Register to Ask a Question