Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Is it possible to rename fasta headers based on its position specified in another file? Post 303041051 by RudiC on Wednesday 13th of November 2019 04:02:20 AM
Old 11-13-2019
For the easy case that your replacements are in lines in increasing order, try
Code:
awk 'FNR==NR {REP[NR] = $2; next} /^>/ {$0 = ">" REP[++CNT]}1' FS="=" list.txt gene1.fasta
>org5
ATGTAGC
>amylase
TAGAG
>org8
ATGCATA
>lipase
ATGCTGA
>org_1
 ATGCTG

EDIT: in case it's not (here: position3 doesn't exist), try



Code:
awk 'FNR==NR {REP[$1] = $2; next} /^>/ && (TMP = "position" ++CNT) in REP {$0 = ">" REP[TMP]}1' FS="=" list.txt gene1.fasta
>org5
ATGTAGC
>amylase
TAGAG
>GTY578
ATGCATA
>lipase
ATGCTGA
>org_1
ATGCTG


Last edited by RudiC; 11-13-2019 at 05:10 AM..
This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Merging of files with different headers to make combined headers file

Hi , I have a typical situation. I have 4 files and with different headers (number of headers is varible ). I need to make such a merged file which will have headers combined from all files (comman coluns should appear once only). For example - File 1 H1|H2|H3|H4 11|12|13|14 21|22|23|23... (1 Reply)
Discussion started by: marut_ashu
1 Replies

2. UNIX for Dummies Questions & Answers

To Extract words from File based on Position

Hi Guys, While I was writing one shell script , I just got struck at this point. I need to extract words from a file at some specified position and do some comparison operation and need to replace the extracted word with another word. Eg : I like Orange very much. I need to replace... (19 Replies)
Discussion started by: kuttu123
19 Replies

3. UNIX for Dummies Questions & Answers

Script to delete a word based on position in a file

Hi, I am new to unix. I want to delete 2 words placed at position say for example at 23rd and 45th position in a line. I used sed but couldnt achieve this. Example: the file contains 2 lines 12345 98765 "12345" 876 12345 98765 "64578" 876 I want to delete " placed at position 13 and 19... (4 Replies)
Discussion started by: nbks2u
4 Replies

4. Shell Programming and Scripting

Replacing headers based on a second file

I have a file with thousands of sequences that looks like this: I need to replace the headers using a second file Thus, I will end up having the following file: I am looking for an AWK script that I can easily plug in my current pipeline. Any help will be greatly appreciated! (6 Replies)
Discussion started by: Xterra
6 Replies

5. UNIX for Dummies Questions & Answers

extract regions of file based on start and end position

Hi, I have a file1 of many long sequences, each preceded by a unique header line. file2 is 3-columns list: headers name, start position, end position. I'd like to extract the sequence region of file1 specified in file2. Based on a post elsewhere, I found the code: awk... (2 Replies)
Discussion started by: pathunkathunk
2 Replies

6. Shell Programming and Scripting

Fixed width file search based on position value

Hi, I am unable to find the right option to extract the data in the fixed width file. sample data abcd1234xgyhsyshijfkfk hujk9876 io xgla loki8787eljuwoejroiweo dkfj9098 dja Search based on position 8-9="xg" and print the entire row output ... (4 Replies)
Discussion started by: onesuri
4 Replies

7. Shell Programming and Scripting

Split file based on distinct value at specific position

OS : Linux 2.6x Shell : Korn In a single file , how can I identify all the Uniqe values at a specific character position and length of each record , and simultaneously SPLIT the records of the file based on each of these values and write them in seperate files . Lets say : a) I want to... (4 Replies)
Discussion started by: kumarjt
4 Replies

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

9. UNIX for Dummies Questions & Answers

Append file name to fasta file headers in Linux

How do we append the file name to fasta file headers in multiple fasta-files in Linux? (10 Replies)
Discussion started by: Mauve
10 Replies

10. Shell Programming and Scripting

Search for a string at a particular position and replace with blank based on position

Hi, I have a file with multiple lines(fixed width dat file). I want to search for '02' in the positions 45-46 and if available, in that lines, I need to replace value in position 359 with blank. As I am new to unix, I am not able to figure out how to do this. Can you please help me to achieve... (9 Replies)
Discussion started by: Pradhikshan
9 Replies
BP_FLANKS(1p)						User Contributed Perl Documentation					     BP_FLANKS(1p)

NAME
flanks - finding flanking sequences for a variant in a sequence position SYNOPSIS
flanks --position POS [-p POS ...] [--flanklen INT] accession | filename DESCRIPTION
This script allows you to extract a subsequence around a region of interest from an existing sequence. The output if fasta formatted sequence entry where the header line contains additional information about the location. OPTIONS
The script takes one unnamed argument which be either a file name in the local file system or a nucleotide sequence accession number. -p Position uses simple nucleotide sequence feature table --position notation to define the region of interest, typically a SNP or microsatellite repeat around which the flanks are defined. There can be more than one position option or you can give a comma separated list to one position option. The format of a position is: [id:] int | range | in-between [-] The optional id is the name you want to call the new sequence. If it not given in joins running number to the entry name with an underscore. The position is either a point (e.g. 234), a range (e.g 250..300) or insertion point between nucleotides (e.g. 234^235) If the position is not completely within the source sequence the output sequence will be truncated and it will print a warning. The optional hyphen [-] at the end of the position indicates that that you want the retrieved sequence to be in the opposite strand. -f Defaults to 100. This is the length of the nucleotides --flanklen sequence retrieved on both sides of the given position. If the source file does not contain OUTPUT FORMAT
The output is a fasta formatted entry where the description file contains tag=value pairs for information about where in the original sequence the subsequence was taken. The ID of the fasta entry is the name given at the command line joined by hyphen to the filename or accesion of the source sequence. If no id is given a series of consequtive integers is used. The tag=value pairs are: oripos=int position in the source file strand=1|-1 strand of the sequence compared to the source sequence allelepos=int position of the region of interest in the current entry. The tag is the same as used by dbSNP@NCBI The sequence highlights the allele variant position by showing it in upper case and rest of the sequence in lower case characters. EXAMPLE
% flanks ~/seq/ar.embl >1_/HOME/HEIKKI/SEQ/AR.EMBL oripos=100 strand=1 allelepos=100 taataactcagttcttatttgcacctacttcagtggacactgaatttggaaggtggagga ttttgtttttttcttttaagatctgggcatcttttgaatCtacccttcaagtattaagag acagactgtgagcctagcagggcagatcttgtccaccgtgtgtcttcttctgcacgagac tttgaggctgtcagagcgct TODO
The input files are assumed to be in EMBL format and the sequences are retrieved only from the EMB database. Make this more generic and use the registry. head1 FEEDBACK Mailing Lists User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing lists Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bioperl.org/wiki/Mailing_lists - About the mailing lists Reporting Bugs Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web: https://redmine.open-bio.org/projects/bioperl/ AUTHOR - Heikki Lehvaslaiho Email: <heikki-at-bioperl-dot-org> perl v5.14.2 2012-03-02 BP_FLANKS(1p)
All times are GMT -4. The time now is 07:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy