Visit Our UNIX and Linux User Community


Modifications to a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Modifications to a file
# 1  
Old 11-11-2009
Modifications to a file

Hi,

I do not have a clue how to do this nor can I find information on it but I have a file that looks like this (basically 3 columns and tab delimited). I need this in a particular format in order for a program to actually read it.

Code:
chr1  2  4
chr1  2  5
chr1  3  6
chr2  1  4
chr2  2  5

what I want to do is this

Code:
track type=wiggle_0 name="Name" description="Name" visibility=full autoScale=off viewLimits=-5:1.25 color=0,100,0 altColor=0,100,0 priority=30 yLineOnOff=on 
variableStep chrom=chr1 span=1
2  4
2  5
3  6

track type=wiggle_0 name="Name" description="Name" visibility=full autoScale=off viewLimits=-5:1.25 color=0,100,0 altColor=0,100,0 priority=30 yLineOnOff=on 
variableStep chrom=chr2 span=1
1  4
2  5

so basically when an identifier changes along chr1 then a header (above) is added containing the track type etc... (the header is space separeted) and then at chrom = , a name from column 1 is added (chr1 etc....). Am I clear here?

thanks
# 2  
Old 11-11-2009
This might do it?
Code:
 awk 'p!=$1{p=$1;printf "track type=wiggle_0 name=\"Name\" description=\"Name\" visibility=full autoScale=off viewLimits=-5:1.25 color=0,100,0 altColor=0,100,0 priority=30 yLineOnOff=on\nvariableStep chrom="$1" span=1\n"}{print $2"\t"$3}' infile

# 3  
Old 11-11-2009
Code:
my $name;
my $header='track type=wiggle_0 name="Name" description="Name" visibility=full autoScale=off viewLimits=-5:1.25 color=0,100,0 altColor=0,100,0 priority=30 yLineOnOff=on variableStep chrom=<NAME> span=1';
while(<DATA>){
	chomp;
	my @tmp=split;
	if($name eq "" || $name ne $tmp[0]){
		$name=$tmp[0];
		(my $tmp_header=$header)=~s/<NAME>/$name/;
		print $tmp_header,"\n"; 
	}
	print "@tmp[1..$#tmp]\n";
}
__DATA__
chr1  2  4
chr1  2  5
chr1  3  6
chr2  1  4
chr2  2  5


Previous Thread | Next Thread
Test Your Knowledge in Computers #917
Difficulty: Easy
Unix time is also known as Epoch time.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sentence delimiter in perl: modifications needed

Hello, I found this Perl Script on the EuroParl website which does Sentence Splitting. #!/usr/bin/perl -w # Based on Preprocessor written by Philipp Koehn binmode(STDIN, ":utf8"); binmode(STDOUT, ":utf8"); binmode(STDERR, ":utf8"); use FindBin qw($Bin); use strict; my $mydir =... (0 Replies)
Discussion started by: gimley
0 Replies

2. Shell Programming and Scripting

Modifications using Lookup file

I have 2 files. File 1 delimited by ";" File 1: 001;0;11223;xx;N;1001051;124;1;1;1001051;110;0;A_15;D;DX;U 001;0;8830943;xx;P;1226040;978;1;0;1226040;110;0;A_15;D;DX;H 001;0;10946903;xx;N;1300496;978;1;1;1300496;110;0;A_17;D;DX;H... (2 Replies)
Discussion started by: pparthiv
2 Replies

3. Shell Programming and Scripting

Modifications to a file

I have a file whose format is shown below. It has a table of numbers. In this case, I have 16 values in 12 rows. I want to select a position in the table, example, the 5th number at row 5. I need to change the value in that position by a certain amount and output the file with the modifiation. ... (6 Replies)
Discussion started by: kristinu
6 Replies

4. Shell Programming and Scripting

XML file modifications using sed

Hi, During an installation process in a bash script I need to do 2 things with 2 XML files. Does the use of sed affect in any way the XML file ? 1.Add to a section in <ServerListeners> section <ServerListener> <BaseClass>myapp.module.WowConfigurator</BaseClass> </ServerListener> The... (2 Replies)
Discussion started by: potro
2 Replies

5. Shell Programming and Scripting

how to write modifications in to two tables

hi, how to write modifictions of two tables in the ksh (0 Replies)
Discussion started by: naveeng.81
0 Replies

6. Shell Programming and Scripting

question about testing in shell programming(modifications were made)

In folder A i have a file "a' and text file named infile00.I would like to do redirection :a<infile01. There is a code to do this #get a file "a" in /home/A for file in /home/A/* do if $file ] then #printing out if file is an execute file echo $file "is an... (2 Replies)
Discussion started by: thungmail
2 Replies

7. Shell Programming and Scripting

my shell script (file modifications)

hi guys Need some help on my below script #!/bin/sh if then echo "~~:S:wait:/sbin/sulogin" >> /root/joy/inittab else echo "/root/joy/inittab does not exist" fi now the problem is that when i run the above script it runs successfully but when i run it repeatedly the word echo... (2 Replies)
Discussion started by: whizkidash
2 Replies

8. UNIX for Dummies Questions & Answers

list files with modifications <15 minutes

Good Afternoon Guys: we can use ls -l to find out the files and their modification time. however, how to list the files say which are modified 15 minutes before. we have find command which uses -mtime and -atime for modification and access timing. However, if we just be restricted to the current... (2 Replies)
Discussion started by: tom_k_mishra
2 Replies

9. UNIX for Advanced & Expert Users

Tracing file modifications

Hello all! Is there a way or a utility to trace any kind of file changes in a particular directory on any UNIX machine? The purpose is that in Unix, there are multiple ways of opening and making changes to a file. But internally, there must be something common (a single pipe, etc.) that is... (3 Replies)
Discussion started by: gupta_ca
3 Replies

10. Shell Programming and Scripting

In Line File Modifications: Search and Replace

grep -il "TEST" ${ENVIRON}/*.pde| while read pde &nbsp;&nbsp;do &nbsp;&nbsp;&nbsp;&nbsp;cat $pde | sed s/"TEST 3,1"/"TEST 3,0"/g | sed s/"TEST&nbsp;&nbsp;3,1"/"TEST&nbsp;&nbsp;3,0"/g > ${pde}.tmp &nbsp;&nbsp;&nbsp;&nbsp;if ; then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mv ${pde}.tmp $pde ... (2 Replies)
Discussion started by: Shakey21
2 Replies

Featured Tech Videos