Re: [R] inserting text lines in a dat frame

From: joseph <jdsandjd_at_yahoo.com>
Date: Wed, 6 Feb 2008 09:49:15 -0800 (PST)


thanks Richie. It woks perfectly.

>

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



R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Wed 06 Feb 2008 - 17:52:35 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 06 Feb 2008 - 18:30:12 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive