Shell Scripting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell Scripting
# 1  
Old 12-02-2010
Shell Scripting

Sir, I have a big datafile in the given format. I have to extract the lines which are starting with ‘Chr’ followed by number like ‘Chr5’, ‘Chr25’ etc. and fix the range for each line by subtracting 10 from that number left and adding 10 to that number right. (or in other way; remove the lines starting with miR, let,CH, number, Chr without number: shown in blue color) For example, Chr5-26236044 has to be displayed like Chr5:26236034-26236054. If the ‘Chr5’ with same range is came in the output file, n-1 entries are to be removed otherwise all Chr5 must be present. In the given output Chr5 with same data range came twice. One has to be removed (shown in red color). Similarly Chr2 came 3 times with different ranges. So all three should be there. I given the output required. The output format must be like this Chrno:number1-number2 (no spaces). Shell scripting for this is highly appreciated. Thanks in Advance.

Code:
 
Chr
 
Chr
Chr5-26236044
Chr25-2622227
Chr10-23813153
ChrX-62081599
miR-1-1-3p;Chr13:55237544-55237619
Chr18-31139230
miR-2331-3p;Chr19:15308148-15308218
CH240-242E2-CH240-416P12-96217
Chr2-66268692
miR-2379-5p;Chr23:30788153-30788230
Chr13-3857984
Chr23-29971922
let-7a-2-5p;Chr15:33347557-33347652
Chr4-120427453
Chr2-119023403
miR-2347-3p;Chr19:51593973-51594031
Chr25-21194342
miR-449b-5p;Chr20:23967269-23967366
Chr25-9506360
Chr2-66270795 
Chr5-26236044
miR-2484-5p;ChrX:20461131-20461206
93748382

Output required:
Code:
 
Chr5:26236034-26236055
Chr25:2622217-2622237
Chr10:23813143-26813163
ChrX:62081589-62081609
Chr18:31139220-31139240
Chr2:66268682-66268702
Chr13:3857974-3857994
Chr23:29971912-29971932
Chr4:120427443-120427463
Chr2:119023393-119023413
Chr25:32391131-32391151
Chr25:9506350-9506370
Chr2:66270785-66270805
Chr5:26236034-26236055


Last edited by DukeNuke2; 12-02-2010 at 04:19 PM..
# 2  
Old 12-02-2010
Code:
awk -F"-" '/^Chr[0-9[X]/{print $1":"$2-10"-"$2+10}' file

This User Gave Thanks to cabrao For This Post:
# 3  
Old 12-02-2010
Code:
grep ^Chr. input | while read a ; do echo "${a%-*}:$((${a#*-}-10))-$((${a#*-}+10))" ; done


Last edited by ctsgnb; 12-02-2010 at 06:27 PM.. Reason: Oooops
This User Gave Thanks to ctsgnb For This Post:
# 4  
Old 12-02-2010
Code:
awk -F- '/^Chr[0-9]/&&!A[$0]++{print $1":"$2-10 FS $2+10}' file


Last edited by Scrutinizer; 12-02-2010 at 04:03 PM..
This User Gave Thanks to Scrutinizer For This Post:
# 5  
Old 12-02-2010
Quote:
Originally Posted by kswapnadevi
If the ‘Chr5’ with same range is came in the output file, n-1 entries are to be removed otherwise all Chr5 must be present. In the given output Chr5 with same data range came twice. One has to be removed (shown in red color). Similarly Chr2 came 3 times with different ranges. So all three should be there.
Didn't read this part so my command is not totaly correct. @op, you should use scrutinizer answer.

@scrutinizer:
I believe you're missing a X in /^Chr[0-9X]/ ?
# 6  
Old 12-02-2010
The OP's post is contradictory, because on the first line it says it should be followed by a number, but if ChrX is valid too then indeed it should be /^Chr[0-9X]/
This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Shell script to read lines in a text file and filter user data Shell Programming and Scripting

sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies

2. Shell Programming and Scripting

help me in Shell Scripting

Hi there please have a look at the code..i want to create Using a named pipe. Run a find in the background starting in the working directory While this is happening wait for input from the user to ask him which file to find. If the user does not enter any data in 10 seconds ask the user again.... (1 Reply)
Discussion started by: kattak1511
1 Replies

3. Shell Programming and Scripting

Shell scripting

Hi, if in a network there are lots of PCs connected with either windows or linux as operating system.Then what will be the shell script for the same and also if the PC has linux in it then we have to find if it is occupied or unoccupied. If the PC has windows in it then we have to find if it is... (6 Replies)
Discussion started by: akansha singh
6 Replies

4. UNIX for Dummies Questions & Answers

Shell Scripting

Hey I have a data in the file named as outputFile.txt. The data is in the format 123456,12345678912345,400,09/09/09,INACTIVE. I want this output without commas ie 12345612345678912345400090909INACTIVE. Please tell me what to do and clear explain all the terms, as I am new to it. (6 Replies)
Discussion started by: sampandey31
6 Replies

5. Web Development

Perl scripting or shell scripting?

i am going to study any one of the scripting languages mentioned above(shell 0r perl scripting) . Which is having more scope for a fresher? (1 Reply)
Discussion started by: Anna Hussie
1 Replies

6. What is on Your Mind?

Shell Scripting vs Perl scripting

Gents, I have been working in a Solaris/Unix environment for about 9 months. I took some linux classses online before getting the job. But, I am not very good at scripting. I want to learn how to script. Do you think that I should start with Shell scripting or Perl? I wanted to continue with... (2 Replies)
Discussion started by: Pouchie1
2 Replies

7. Android

Android Scripting Environment: Shell Scripting and Android

I just upgraded to Android 2.2 from 2.1. The GPS issue that was troublesome in 2.1 seems to have been fixed. Some of web browsing seems faster, but it could just be my connection is better today ;) Flash works in some browsers but not very good and it is too slow for Flash apps designed for... (0 Replies)
Discussion started by: Neo
0 Replies

8. What is on Your Mind?

Shell scripting vs Perl scripting

Hi all, I would like to start developping some good scripting skills. Do you think it would be best to start with shell scripting or Perl? I already got a fundation, really basics, in perl. but I am wondering what would be best to be good at first. Can you please help me determine which one to... (14 Replies)
Discussion started by: Pouchie1
14 Replies

9. Shell Programming and Scripting

Call Shell scripting from Perl Scripting.

Hi How to call a shell scripting through a Perl scripting? Actually I need some value from Shell scripting and passes in the Perl scripting. So how can i do this? (2 Replies)
Discussion started by: anupdas
2 Replies

10. Shell Programming and Scripting

difference between AIX shell scripting and Unix shell scripting.

please give the difference between AIX shell scripting and Unix shell scripting. (2 Replies)
Discussion started by: haroonec
2 Replies
Login or Register to Ask a Question