thanks Richie. It woks perfectly.

----- Original Message ----
From: "Richard.Cotton@hsl.gov.uk" <Richard.Cotton@hsl.gov.uk>
To: joseph <jdsandjd@yahoo.com>
Cc: r-help@r-project.org; r-help-bounces@r-project.org
Sent: Wednesday, February 6, 2008 2:22:16 AM
Subject: Re: [R] inserting text lines in a dat  frame


>  
I 
am 
trying 
to 
prepare 
a 
bed 
file 
to 
load 
as 
accustom 
track 
on 
the 
> 
UCSC 
genome 
browser.
> 
I 
have 
a 
data 
frame 
that 
looks 
like 
the 
one 
below.
> 
> 
x
>  
  
  
V1  
  
V2 
V3
> 
1 
chr1 
11255 
55
> 
2 
chr1 
11320 
29
> 
3 
chr1 
11400 
45
> 
4 
chr2 
21680 
35
> 
5 
chr2 
21750 
84
> 
6 
chr2 
21820 
29
> 
7 
chr2 
31890 
46
> 
8 
chr3 
32100 
29
> 
9 
chr3 
52380 
29
> 
10 
chr3 
66450 
46
> 
I 
would 
like 
to 
insert 
the 
following 
4 
lines 
at 
the 
beginning:
> 
browser 
position 
chr1:1-10000
> 
browser 
hide 
all
> 
track 
type=wiggle_0 
name=sample 
description=chr1_sample 
visibility=full
> 
variableStep 
chrom=chr1 
span=1
> 
and 
then 
insert 
2 
lines 
before 
each 
chromosome:
> 
track 
type=wiggle_0 
name=sample 
description=chr2_sample 
visibility=full
> 
vriableStep 
chrom=chr2 
span=1
> 
The 
final 
result 
should 
be 
tab 
delimited 
file 
that 
looks 
like 
this:
> 
browser 
position 
chr1:1-10000
> 
browser 
hide 
all
> 
track 
type=wiggle_0 
name=sample 
description=chr1_sample 
visibility=full
> 
variableStep 
chrom=chr1 
span=1
> 
chr1 
11255 
55
> 
chr1 
11320 
29
> 
chr1 
11400 
45
> 
track 
type=wiggle_0 
name=sample 
description=chr2_sample 
visibility=full
> 
variableStep 
chrom=chr2 
span=1
> 
chr2 
21680 
35
> 
chr2 
21750 
84
> 
chr2 
21820 
29
> 
track 
type=wiggle_0 
name=sample 
description=chr3_sample 
visibility=full
> 
variableStep 
chrom=chr3 
span=1
> 
chr3 
32100 
29
> 
chr3 
32170 
45
> 
chr3 
32240 
45

#First 
write 
your 
preamble 
text 
to 
a 
file
preamble 
<- 
c("browser 
position 
chr1:1-10000",
  
  
  
  
  
  
  
"browser 
hide 
all",
  
  
  
  
  
  
  
"track 
type=wiggle_0 
name=sample 
description=chr1_sample 
visibility=full",
  
  
  
  
  
  
  
"variableStep 
chrom=chr1 
span=1")
write(preamble, 
"myfile.txt")

#Now 
split 
your 
data 
frame 
up 
by 
the 
values 
in 
V1
x 
<- 
data.frame(V1=rep(c("chr1", 
"chr2", 
"chr3"),times=c(3,4,3)), 
V2=c(11255,11320,11400,21680,21750,21820,21890,32100,52380,66450),V3=c(55,29,45,35,84,29,46,29,29,46))
spx 
<- 
split(x, 
x$V1)

#Create 
lines 
of 
text 
to 
go 
before 
each 
piece 
of 
data 
frame
lV1 
<- 
levels(x$V1)
maintext 
<- 
paste("track 
type=wiggle_0 
name=sample 
description=", 
lV1,
  
  
  
  
  
  
  
 
"_sample 
visibility=full\nvariableStep 
chrom=", 
lV1,
  
  
  
  
  
  
  
 
" 
span=1", 
sep="")

#Use 
a 
loop 
to 
write 
the 
pieces 
to 
the 
file
for(i 
in 
1: 
nlevels(x$V1))
  
{
  
  
write(maintext[i], 
"myfile.txt", 
append=TRUE)
  
  
write.table(spx[[i]], 
"myfile.txt", 
append=TRUE, 
sep="\t", 
quote=FALSE,
  
  
  
  
  
  
  
  
col.names=FALSE, 
row.names=FALSE)
  
}

Regards,
Richie.

Mathematical 
Sciences 
Unit
HSL


------------------------------------------------------------------------
ATTENTION:

This 
message 
contains 
privileged 
and 
confidential 
information 
intended
for 
the 
addressee(s) 
only. 
If 
this 
message 
was 
sent 
to 
you 
in 
error,
you 
must 
not 
disseminate, 
copy 
or 
take 
any 
action 
in 
reliance 
on 
it 
and
we 
request 
that 
you 
notify 
the 
sender 
immediately 
by 
return 
email.

Opinions 
expressed 
in 
this 
message 
and 
any 
attachments 
are 
not
necessarily 
those 
held 
by 
the 
Health 
and 
Safety 
Laboratory 
or 
any 
person
connected 
with 
the 
organisation, 
save 
those 
by 
whom 
the 
opinions 
were
expressed.

Please 
note 
that 
any 
messages 
sent 
or 
received 
by 
the 
Health 
and 
Safety
Laboratory 
email 
system 
may 
be 
monitored 
and 
stored 
in 
an 
information
retrieval 
system.
------------------------------------------------------------------------

------------------------------------------------------------------------
This 
e-mail 
message 
has 
been 
scanned 
for 
Viruses 
and 
Content 
and 
cleared 
by 
NetIQ 
MailMarshal
------------------------------------------------------------------------






      ____________________________________________________________________________________
Be a better friend, newshound, and 


	[[alternative HTML version deleted]]

