Visit Our UNIX and Linux User Community


Getting unique sequences from multiple fasta file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Getting unique sequences from multiple fasta file
# 1  
Old 09-05-2018
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

Code:
>seq1
TCTCAAAGAAAGCTGTGCTGCATACTGTACAAAACTTTGTCTGGAGAGATGGAGAATCTCATTGACTTTACAGGTGTGGACGGTCTTCAGAGATGGCTCAAGCTAACATTCCCTGACACACCTATAGGGAAAGAGCTAAC

>seq2
CAATTTTGGCTCCTTCATGTCTGTTGTGCCAGACTTGAGTGAGTTTGAACTGCAAGCAAGAAAGGCAGGTTCAGACCAAGAAAAAGATGCAATATACTCCAAGGCACTGATAGCAGCCACAAGAAAGGCGGCTCCTATTG

>seq3
CGGCCTGTGCATGGACATCAAGCAACGACATGGTGACAAAAGGGCTCAAGTGGTTCGAGGATCAGATAACAAAAGAGAATCCTAAATTTATCTCTTGGCACAAGGAGTATGAATTTTTCAAAAAGAATGTGCCCACAGTT

>seq1
TCTCAAAGAAAGCTGTGCTGCATACTGTACAAAACTTTGTCTGGAGAGATGGAGAATCTCATTGACTTTACAGGTGTGGACGGTCTTCAGAGATGGCTCAAGCTAACATTCCCTGACACACCTATAGGGAAAGAGCTAAC

>seq4
AAACTGCAACTCTCACAAGCAAAGTTGTGGCACAGTTCTCAGTTCCTGGGGTCTATGTTGTTGCTGTGCAAGATATGATCAAAGACATGGTTGCCAGAAGAGGTGGAGGGCCTAAACGCGGAGTCAGTGATGAACACATC

>seq1
TCTCAAAGAAAGCTGTGCTGCATACTGTACAAAACTTTGTCTGGAGAGATGGAGAATCTCATTGACTTTACAGGTGTGGACGGTCTTCAGAGATGGCTCAAGCTAACATTCCCTGACACACCTATAGGGAAAGAGCTAAC

>seq2
CAATTTTGGCTCCTTCATGTCTGTTGTGCCAGACTTGAGTGAGTTTGAACTGCAAGCAAGAAAGGCAGGTTCAGACCAAGAAAAAGATGCAATATACTCCAAGGCACTGATAGCAGCCACAAGAAAGGCGGCTCCTATTG

Note there are 3 copies of seq1 and two copies of seq2. I want to get a new file that contain only one copy of seq1, seq2, seq3 and seq4.

Thanks

Last edited by vgersh99; 09-05-2018 at 06:20 PM.. Reason: code tags, please!
# 2  
Old 09-05-2018
Code:
awk '{ a[$0]} END{for (i in a) print i ORS}' RS= my_file.fasta

or better yet:
Code:
awk '!a[$0]++' RS= ORS='\n\n' my_file.fasta


Last edited by vgersh99; 09-06-2018 at 11:57 AM..
These 2 Users Gave Thanks to vgersh99 For This Post:
# 3  
Old 09-05-2018
Thanks vgersh99. Code worked perfectly
# 4  
Old 09-05-2018
Quote:
Originally Posted by Ibk
Thanks vgersh99. Code worked perfectly
I'd suggest following this user for the similar scientific threads.
Like this one.

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. 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

5. 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

6. Shell Programming and Scripting

Count and search by sequence in multiple fasta file

Hello, I have 10 fasta files with sequenced reads information with read sizes from 15 - 35 . I have combined the reads and collapsed in to unique reads and filtered for sizes 18 - 26 bp long unique reads. Now i wanted to count each unique read appearance in all the fasta files and make a table... (5 Replies)
Discussion started by: empyrean
5 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

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

9. UNIX for Dummies Questions & Answers

Breaking a fasta formatted file into multiple files containing each gene separately

Hey, I've been trying to break a massive fasta formatted file into files containing each gene separately. Could anyone help me? I've tried to use the following code but i've recieved errors every time: for i in *.rtf.out do awk '/^>/{f=++d".fasta"} {print > $i.out}' $i done (1 Reply)
Discussion started by: Ann Mc Cartney
1 Replies

10. 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

Featured Tech Videos