Re: Multivariate model
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Multivariate model



Dear Judith,

Sorry to take so long to reply.

It is usefull to start simply so you are sure you have reasonable answers at 
each step.  [Maybe you have already done this in which case forgive me.]

(1)
To do a univariate analysis of each trait, use the job   mapuni.as

Mapscores
 ROWNUMBER 
 MAPST MAPCW MAPBD MAPDF MAPRS 
 MAPRW MAPLS MAPFA MAPFU MAPUH 
 MAPUW MAPUC MAPUD MAPTP MAPRL 
 SREG 1894 !I
 MAPDIM2 59 !I
 MAPAGE2 33 !I
 MAPDATDHI 2585 !I
mappartcov.dat !skip 1 !BLUB 1
 MAPST ~ mu  !r SREG !f MAPDIM2 MAPDATDHI
 
 To run this, you would type
 
 ASREML mapuni
 
 and then run the other traits by typing
 
 ASREML -y3 mapuni
 ASREML -y4 mapuni
 :::
 ASREML -y16 mapuni
 
 If this does not have enough memory, then use
 
 ASREML -s2y2 mapuni
 etc
 
 
 Now if any trait has SREG variance on the boundary, or negative,
 there is no point trying to include it in a multivariate analysis.
 
 
 The job you sent failed because of lack of memory.  You may need to type
 
 ASREML -ns3 mapcov
   or a bigger number to get it to run.
   
   Its coding is correct except that you should not have the Factor
   Declaration stuff on the lines declaring the traits because this will
   change the data to the numbers 1..50  in the order they are found.
   i.e. MAPST  23 ==> 1, 48==>2, 28 ==> 3, 15==> 4  etc which is definitely
   not what you want.
   
   
   
   Now the 15trait run might work but there is a fairly high chance it will 
fail.
   I would then (using the information from the univariate runs) do it 
piecemeal.
   
   There is a good chance 4 traits will run together  so do the analyses in
   groups of 4.  Then try groups of 8.  In doing these runs, it may be possible
   to use default values for the variances.  So try the job mapmul
   
 Mapscores
 ROWNUMBER 
 MAPST MAPCW MAPBD MAPDF MAPRS 
 MAPRW MAPLS MAPFA MAPFU MAPUH 
 MAPUW MAPUC MAPUD MAPTP MAPRL 
 SREG 1894 !I
 MAPDIM2 59 !I
 MAPAGE2 33 !I
 MAPDATDHI 2585 !A
mappartcov.dat !skip 1 !BLUB 1
 MAPST  MAPCW MAPBD MAPDF MAPRS ~ Trait,
   !r Tr.SREG !f Tr.MAPDIM2 Tr.MAPDATDHI  
1 2 1
0
Trait 0 US

Tr.SREG 2
Tr 0 US
SREG


More notes below.
> For my internship at breeding cooperative Genex/CRI, Ithaca, New York as a 
> student of the Animal Breeding and Genetics group, Wageningen Agricultural 
> University, I am using ASReml to calculate BLUB EBVs for sires, using a sire 
> model.
> 
> I'm not sure if I should send this message to the discussion group, but this 
> is my 'last hope'.
> 
> The difficulty is that there are 15 linear conformation traits who need to 
> be analysed (as dependent variates).
> 
> I'd like to run all these 15 traits at once in one model, so I can include 
> the cov. matrix (15 x 15) for those 15 traits. That should be the most 
> accurate estimate, because you take genetic and error covariances into 
> account. But probably because the model becomes so big, that the model only 
> runs for a few traits (<15) in the model.
> 
> So my questions are:
> 
> 1- a)Do you think, looking at my model (see below), that ASReml really isn't 
> able to run this, or should I change something in order to get the program 
> running?
> (Memory: 4340K (1912K) real, 12908K (8780K) virtual, 371960K free)
> 
(2)
  See above.  Use the -S command line option to get more memory.
  The job should fit in ASREML but if the traits are highly correlated, you
  will probably not be able to find the overal solution because the SREG
  variance matrix will likely not be positive definite.  Lets try anyway.

> b)Could I possibly run the program in pieces? (but still considering the 
> cov's?)
>
(3)  Yes  see above.
   
> Everything that concerns question 1 is listed below (all the runs concern 
> the traits, classified within the MAP-program):
> 
> This is the .as file:
> Mapscores
> ROWNUMBER 12065 !I
> MAPST 50 !I
> MAPCW 48 !I
> MAPBD 50 !I
> MAPDF 49 !I
> MAPRS 50 !I
> MAPRW 48 !I
> MAPLS 50 !I
> MAPFA 50 !I
> MAPFU 50 !I
> MAPUH 50 !I
> MAPUW 49 !I
> MAPUC 50 !I
> MAPUD 50 !I
> MAPTP 50 !I
> MAPRL 50 !I

(4)
        ^^^^^   These 5 columns should not be specified for dependent variables.
> SREG 1894 !I
> MAPDIM2 59 !I
> MAPAGE2 33 !I
> MAPDATDHI 2585 !I
> mappartcov.dat !skip 1 !BLUB 1


(4a)   !BLUB probably should be !BLUP   

Are you just trying to BLUP and not trying to estimate the variance components?
Then it should be OK provided the following matrices are positvive definite.

> MAPST MAPCW MAPBD MAPDF MAPRS MAPRW MAPLS MAPFA MAPFU MAPUH MAPUW, MAPUC 
> MAPUD MAPTP MAPTL MAPRL ~ Trait !r Tr.SREG !f Tr.MAPDIM2 Tr.MAPDATDHI
> 1 2 1
> 0 0 0
> Trait 0 US 29.36 !+2
(5)
                   !+119        There are 119 values to read.
> 7.06 31.53
> 5.34 6.33 30.20
> 4.57 -2.04 9.45 32.00
> 1.97 1.29 2.15 0.19 38.67
> 7.65 8.40 4.60 -0.03 -2.32 31.93
> 1.33 -0.12 -1.76 -1.02 -2.14 3.19 46.58
> 1.76 2.58 1.08 -1.05 -4.14 3.41 7.85 58.77
> 1.18 1.07 0.93 -1.51 -4.59 -1.19 7.19 6.69 48.81
> 0.72 0.75 1.88 3.17 -4.05 3.06 4.78 1.49 5.70 44.46
> 3.74 3.26 2.03 3.72 -3.14 4.60 5.91 2.70 5.19 23.46 40.49
> -0.36 -1.85 0.70 0.62 -2.45 1.33 2.67 0.02 6.20 8.67 5.88 36.42
> 1.72 -1.02 -3.77 -4.13 -3.40 1.81 2.70 2.52 10.07 0.25 -1.23 6.42 38.43
> -0.18 -0.79 1.94 1.54 -2.93 0.02 4.48 0.97 9.36 8.26 7.28 20.43 8.03 49.77
> -3.31 -3.71 2.32 4.63 1.24 -1.37 -9.00 -3.55 -0.56 0.21 -0.41 0.25 -2.12 
> 0.20
> #estimated cov(r)
> Tr.SREG
> Trait 0 US 21.26 !+2
   (6)             !+119
> 2.08 14.16
> 1.55 4.44 17.73
> 4.50 -4.76 9.13 13.05
> 1.81 -5.91 -4.78 0.32 19.05
> 1.70 4.92 2.68 -0.85 -1.17 11.22
> 1.95 5.31 2.82 1.02 -3.70 2.36 12.45
> 3.56 4.73 1.22 1.05 0.98 1.51 5.57 10.37
> 0 4.54 -1.50 -0.16 -2.34 -0.45 2.36 1.58 19.94
> 0.96 0.31 1.93 3.15 -0.73 0.56 3.67 3.08 7.98 17.29
> -0.64 2.62 2.49 1.63 -1.82 3.49 3.56 2.13 6.83 12.43 12.09
> 1.42 0.33 -0.19 2.39 -0.38 -1.33 0.78 1.84 4.33 0.73 -0.46 19.39
> 6.60 1.02 -6.35 -1.26 1.18 -1.81 1.23 1.12 12.95 4.34 2.29 6.13 14.95
> 1.93 -0.31 -1.94 1.21 -0.18 -0.56 -1.33 1.08 5.60 1.39 -0.15 15.10 6.95 
> 17.49
> 0.49 -3.27 -0.67 1.24 0.57 -1.76 -2.60 -3.05 -1.41 -2.08 -2.47 0.35 -0.20 
> 1.10
> #estimated cov(g)
> SREG
> 
> - This .as file only runs with a model including only two traits.
> - When I remove 'Tr.mapdatdhi' from the model, it runs untill MAPLS          
>                (7 traits).
> - When I run the full model with a small dataset (118 records, so also less 
> levels for 'Tr.mapdatdhi'), it runs untill MAPUW (11 traits).
> 
> The data (sample of 10 records):
> 
> ROWNUMBER MAPST MAPCW MAPBD MAPDF MAPRS MAPRW MAPLS MAPFA MAPFU MAPUH MAPUW 
> MAPUC MAPUD MAPTP MAPTL SREG MAPDIM2 MAPAGE2 MAPDATDHI
> 1 23 21 29 22 23 20 27 34 46 10 23 18 10 4 29 2079212 54 36 019441710100
> 2 48 15 37 28 34 26 20 25 29 33 29 42 37 28 25 2062335 23 37 059342220099
> 3 28 30 24 26 25 27 21 23 31 23 25 27 27 29 25 2139811 27 35 069535080206
> 4 28 36 34 29 20 26 24 23 23 20 20 26 24 26 23 2187617 39 35 049741200006
> 5 15 26 15 20 15 26 20 1 29 15 5 20 21 36 20 2109915 51 34 029935480077
> 6 36 38 36 35 19 36 36 19 39 35 26 39 44 46 8 2227548 53 35 099841251149
> 7 35 35 20 20 30 34 35 18 28 35 30 35 35 25 25 2030882 49 38 099841251149
> 8 20 26 38 39 20 21 35 5 20 26 28 32 20 35 29 2140608 39 32 029935480077
> 9 21 26 28 34 20 26 35 26 29 24 26 30 26 24 25 2113769 28 35 029935480077
> 10 26 25 24 26 10 12 10 5 26 26 29 35 30 39 20 1983348 29 33 029935480077
> 
(7)
There is a good chance that ASREML will not encode MAPDATDHI properly since 
it has 12 digits and a normal integer  only holds 10 significant digits.
Therefore use  !A instead of !I for this factor. 
> The .asr file:
> ASREML [11 Jun 1999]  Mapscores
> Wed Jul  7 21:44:20 1999   8.00 Mbyte    mapcov


(8)                       8.00 will increase when you use -s option.

> QUALIFIERS: !skip 1 !BLUB 1
>   Reading mappartcov.dat  FREE FORMAT skipping  1  lines
> Multivariate analysis of MAPST          MAPCW          MAPBD          MAPDF
> Multivariate analysis of MAPRS          MAPRW          MAPLS          MAPFA
> Multivariate analysis of MAPFU          MAPUH          MAPUW
> Using    12033 records [of   12033 read from   12033 lines of mappartcov.dat
>   Model term      Size Type    COL   Minimum    Mean      Maximum   #zero 
> #miss
> Fault130665 Out of memory: forming design
> mapcov.asr                             mappartcov.dat
>   Model specification:  TERM LEVELS GAMMAS
> Trait          11    0.00 Tr.SREG     20834    0.10 Tr.MAPDIM2    649    
> 0.00
> Tr.MAPAGE2    363    0.00 Tr.MAPDATDHI28435    0.00
> SECTIONS       0       0       0


> Another Question:

> The 15 traits are classified within two programs: the MAP-program and the 
> SET-program, on the same animals. Every record describes the classification 
> of one animal with both MAP and SET scores in the same record. So record 
> every contains data of two sites.

> I would like to calculate correlations between MAP and SET scores per trait 
> (eg: correlation between MAP-stature and SET-stature etc.). So I would have 
> to run a multisite analysis (per trait, so 15 multisite analyses). I have 
> some difficulties with definining which column factor belongs to which site.
> For example MAPAGE2 is a factor that belongs to the MAP-site and SETAGE 
> belongs to the SET-site. But because I don't have separated records for MAP 
> and SET sites, I don't have a column to define the site (or columnlevel).
> (so one record contains: ROWNUMBER MAPST MAPCW MAPBD MAPDF MAPRS MAPRW MAPLS 
> MAPFA MAPFU MAPUH MAPUW MAP MAPUC MAPUD MAPTP MAPTL MAPRL SETST SETCW SETBD 
> SETDF SETRS SETRW SETLS SETFA SETFU SETUH SETUW SETUC SETUD SETTP SETTL SREG 
> MAPDIM2 SETDIM MAPAGE2 SETAGE MAPDATDHI)

> Question:
> 2-	Is it possible to run a multisite analysis with a dataset, wherein the 
> data on the two sites are within the same record?

The across site bivariate analysis will look like

Across sire analysis
 ROWNUMBER
  MAPST MAPCW MAPBD MAPDF MAPRS 
  MAPRW MAPLS MAPFA MAPFU MAPUH 
  MAPUW MAP MAPUC MAPUD MAPTP MAPTL MAPRL 
  SETST SETCW SETBD SETDF SETRS 
  SETRW SETLS SETFA SETFU SETUH 
  SETUW SETUC SETUD SETTP SETTL 
  SREG  1894 !I 
  MAPDIM2 59 !I
  SETDIM  59 !I
  MAPAGE2 33 !I
  SETAGE  33 !I
  MAPDATDHI 2585 !A
mapset.dat ...  !ASUV

 MAPST SETST ~ Trait !r Tr.SREG,
    !f  at(Tr,1).MAPDIM2  at(Tr,2).SETDIM  mv
    
 1 2 1
 0     !S2==1
 Trait 0 DIAG  29 29
 
 Tr.SREG 2
 Tr 0 US 21 10 21
 SREG
 
 
 OR try with the ending
 
 1 2 1
 0     
 Trait 0 DIAG  1 1 !GFP
 
 Tr.SREG 2
 Tr 0 US 0.6 0.3 0.6
 SREG



This job uses   !ASUV with  mv  (and possibly !S2==1 in first form)
to have independence between errors between sites.  However,
If SREG represents  '
SIRES  in a sire type model, this will not work because there
should be a covariance at the Error level arising from genetics.

The second form will be easier to use if you  wanted to do all
traits.  i.e.


 $1  $2 ~ Trait !r Tr.SREG,
    !f  at(Tr,1).MAPDIM2  at(Tr,2).SETDIM  mv
    
 
 1 2 1
 0     
 Trait 0 DIAG  1 1 !GFP
 
 Tr.SREG 2
 Tr 0 US 0.6 0.3 0.6
 SREG


and specify the traits to analyse on the command line i,e,

ASREML -s2 mapset MAPST SETST

ASREML -s2 mapset MAPCW SETCW
etc.

NB  If you do this, you will need to save the results between runs as the seconf 
job will overwrite the first.

Well
Happy computing.  I'll be away the rest of the week.

Arthur 
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Arthur Gilmour PhD                    mailto:Arthur.Gilmour@agric.nsw.gov.au
Senior Research Scientist (Biometrics)                 fax: <61> 2 6391 3899
NSW Agriculture                                             <61> 2 6391 3922
Orange Agricultural Institute               telephone work: <61> 2 6391 3815
Forest Rd, ORANGE, 2800, AUSTRALIA                    home: <61> 2 6362 0046

ASREML is still free by anonymous ftp from pub/aar on ftp.res.bbsrc.ac.uk
    or point your web browser at ftp://ftp.res.bbsrc.ac.uk/pub/aar/ 

To join the asreml discussion list, send the message  
     subscribe
mailto:asreml-request@chiswick.anprod.CSIRO.au

To send messages to the list, mailto:asreml@chiswick.anprod.CSIRO.au

Asreml mailinglist archive: http://www.chiswick.anprod.csiro.au/lists/asreml

                        <> <> <> <> <> <> <>
"Christ Jesus came into the world to save sinners"   I Timothy 1:15.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>


--
Asreml mailinglist archive: http://www.chiswick.anprod.csiro.au/lists/asreml