[R] select portion of text file using R

jim holtman jholtman at gmail.com
Tue Apr 28 02:30:27 CEST 2015


try this.  It read in all the data and discards the lines not required.

> # read in the data and delete lines not required
> data_in <- readLines(textConnection("HEAD OF MYDATA
+  * Block Type = Array Card Block
+  * Calibration Background is expired = No
+  * Calibration Background performed on = 2014-12-02 11:27:49 AM PST
+  * Calibration FAM is expired = No
+  * Calibration FAM performed on = 2014-12-02 12:00:20 PM PST
+  * Calibration ROI is expired = No
+  * Calibration ROI performed on = 2014-12-02 11:20:40 AM PST
+  * Calibration ROX is expired = No
+  * Calibration ROX performed on = 2014-12-02 12:11:21 PM PST
+  * Calibration Uniformity is expired = No
+  * Calibration Uniformity performed on = 2014-12-02 11:43:43 AM PST
+  * Calibration VIC is expired = No
+  * Calibration VIC performed on = 2014-12-02 11:51:59 AM PST
+  * Chemistry = TAQMAN
+  * Experiment Barcode =
+  * Experiment Comments =
+  * Experiment File Name = F:\2015-04-13 Gastro array 59 Luigi - plate
3.eds
+  * Experiment Name = 2015-04-13 171216
+  * Experiment Run End Time = 2015-04-13 18:07:57 PM PDT
+  * Experiment Type = Comparative
+  * Experiment User Name =
+  * Instrument Name = 278882033
+  * Instrument Serial Number = 278882033
+  * Instrument Type = ViiA 7
+  * Passive Reference = ROX
+  * Quantification Cycle Method = Ct
+  * Signal Smoothing On = false
+  * Stage/ Cycle where Analysis is performed = Stage 3, Step 2
+
+  [Amplification Data]
+
+  Well \tCycle \tTarget \tName \tRn
+  \t1 \t1 \tAdeno 1 \t0.82
+  \t1 \t2 \tAdeno 1\ \t0.93
+  \t2 \t1 \tAdeno 2 \t0.78"))
>
>  indx <- grep("Amplification Data", data_in) + 1
>  data_in <- tail(data_in, -indx)  # delete lines
>  read.table(text = data_in, header = TRUE, sep = '\t')
  Well Cycle Target     Name   Rn
1   NA     1      1 Adeno 1  0.82
2   NA     1      2 Adeno 1  0.93
3   NA     2      1 Adeno 2  0.78
>
>


Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.

On Mon, Apr 27, 2015 at 5:20 PM, Luigi Marongiu <marongiu.luigi at gmail.com>
wrote:

> Dear Duncan,
> thank you for your reply,
> I tried to read the file using skip and nrows but it did not work.
> Here i am pasting the code I wrote and the head of the file i need to
> read. Probably the error is due to the fact that the column "well" has
> duplication, but how can i add a row column with unique row names? How
> can I overcome this error?
> Best regards
> Luigi
>
> CODE
> raw.data<-read.table(
>       mydata,
>       header=TRUE,
>       row.names=31,
>       dec=".",
>       sep="\t",
>       skip = 30,
>       nrows = 17281,
>       row.names = 1:17281
>     )
>
>
> HEAD OF MYDATA
> * Block Type = Array Card Block
> * Calibration Background is expired = No
> * Calibration Background performed on = 2014-12-02 11:27:49 AM PST
> * Calibration FAM is expired = No
> * Calibration FAM performed on = 2014-12-02 12:00:20 PM PST
> * Calibration ROI is expired = No
> * Calibration ROI performed on = 2014-12-02 11:20:40 AM PST
> * Calibration ROX is expired = No
> * Calibration ROX performed on = 2014-12-02 12:11:21 PM PST
> * Calibration Uniformity is expired = No
> * Calibration Uniformity performed on = 2014-12-02 11:43:43 AM PST
> * Calibration VIC is expired = No
> * Calibration VIC performed on = 2014-12-02 11:51:59 AM PST
> * Chemistry = TAQMAN
> * Experiment Barcode =
> * Experiment Comments =
> * Experiment File Name = F:\2015-04-13 Gastro array 59 Luigi - plate 3.eds
> * Experiment Name = 2015-04-13 171216
> * Experiment Run End Time = 2015-04-13 18:07:57 PM PDT
> * Experiment Type = Comparative Cт (ΔΔCт)
> * Experiment User Name =
> * Instrument Name = 278882033
> * Instrument Serial Number = 278882033
> * Instrument Type = ViiA 7
> * Passive Reference = ROX
> * Quantification Cycle Method = Ct
> * Signal Smoothing On = false
> * Stage/ Cycle where Analysis is performed = Stage 3, Step 2
>
> [Amplification Data]
>
> Well \tCycle \tTarget \tName \tRn
> \t1 \t1 \tAdeno 1 \t0.82
> \t1 \t2 \tAdeno 1\ \t0.93
> ...
> \t2 \t1 \tAdeno 2 \t0.78
> ...
>
> On Mon, Apr 20, 2015 at 12:17 PM, Duncan Murdoch
> <murdoch.duncan at gmail.com> wrote:
> > On 20/04/2015 3:28 AM, Luigi Marongiu wrote:
> >> Dear all,
> >> I have a flat file (tab delimited) derived from an excel file which is
> >> subdivided in different parts: a first part is reporting metadata,
> >> then there is a first spreadsheet indicated by [ ], then the actual
> >> data and the second spreadsheet with the same format [ ] and then the
> >> data.
> >> How can I import such file using for instance read.table()?
> >
> > read.table() by itself can't recognize where the data starts, but it has
> > arguments "skip" and "nrows" to control how much gets read.  If you
> > don't know the values for those arguments, you can use readLines() to
> > read the entire file, then use grep() to recognize your table data, and
> > either re-read the file, or just extract those lines and read from them
> > as a textConnection.
> >
> > Duncan Murdoch
> >
> >> Many thanks
> >> regards
> >> Luigi
> >>
> >> Here is a sample of the file:
> >> * Experiment Barcode =
> >> * Experiment Comments =
> >> * Experiment File Name = F:\array 59
> >> * Experiment Name = 2015-04-13 171216
> >> * Experiment Run End Time = 2015-04-13 18:07:57 PM PDT
> >> ...
> >> [Amplification Data]
> >> Well    Cycle    Target Name    Rn    Delta Rn
> >> 1    1    Adeno 1-Adeno 1    0.820    -0.051
> >> 1    2    Adeno 1-Adeno 1    0.827    -0.042
> >> 1    3    Adeno 1-Adeno 1    0.843    -0.025
> >> 1    4    Adeno 1-Adeno 1    0.852    -0.015
> >> 1    5    Adeno 1-Adeno 1    0.858    -0.008
> >> 1    6    Adeno 1-Adeno 1    0.862    -0.002
> >> ...
> >> [Results]
> >> Well    Well Position    Omit    Sample Name    Target Name    Task
> >> Reporter    Quencher    RQ    RQ Min    RQ Max    CT    Ct Mean    Ct
> >> SD    Quantity    Delta Ct Mean    Delta Ct SD    Delta Delta Ct
> >> Automatic Ct Threshold    Ct Threshold    Automatic Baseline
> >> Baseline Start    Baseline End    Efficiency    Comments    Custom1
> >> Custom2    Custom3    Custom4    Custom5    Custom6    NOAMP
> >> EXPFAIL
> >> 1    A1    false    P17    Adeno 1-Adeno 1    UNKNOWN    FAM
> >> NFQ-MGB                Undetermined                            false
> >>  0.200    true    3    44    1.000    N/A                            N
> >>    Y
> >> 2    A2    false    P17    Adeno 40/41 EH-AIQJCT3    UNKNOWN    FAM
> >> NFQ-MGB                Undetermined
> >>
> >> ______________________________________________
> >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >> 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.
> >>
> >
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

	[[alternative HTML version deleted]]



More information about the R-help mailing list