
# now using species 5 instead of 15 and 64 instead of 38 

# reseeders are:
# species no. 6, 5, 18, 47, 48

# resprouters are:
# species no. 3, 13, 23, 25, 32, 33, 34, 36, 49, 50, 57, 42, 61, 4, 8, 10, 11, 12, 27

#read data

paul.data<-read.table("/user/illian/paul.txt", sep="\t", header=T) 

# the 6 reseeders
type6.data<-paul.data[paul.data$type==6,]
type5.data<-paul.data[paul.data$type==5,]
type18.data<-paul.data[paul.data$type==18,]
type47.data<-paul.data[paul.data$type==47,]
type48.data<-paul.data[paul.data$type==48,]

type6.x<-type6.data$x
type6.y<-type6.data$y
type5.x<-type5.data$x
type5.y<-type5.data$y
type18.x<-type18.data$x
type18.y<-type18.data$y
type47.x<-type47.data$x
type47.y<-type47.data$y
type48.x<-type48.data$x
type48.y<-type48.data$y


# the 19 resprouters 
type3.data<-paul.data[paul.data$type==3,]
type13.data<-paul.data[paul.data$type==13,]
type23.data<-paul.data[paul.data$type==23,]
type25.data<-paul.data[paul.data$type==25,]
type32.data<-paul.data[paul.data$type==32,]
type33.data<-paul.data[paul.data$type==33,]
type34.data<-paul.data[paul.data$type==34,]
type36.data<-paul.data[paul.data$type==36,]
type49.data<-paul.data[paul.data$type==49,]
type50.data<-paul.data[paul.data$type==50,]
type57.data<-paul.data[paul.data$type==57,]
type42.data<-paul.data[paul.data$type==42,]
type61.data<-paul.data[paul.data$type==61,]
type4.data<-paul.data[paul.data$type==4,]
type8.data<-paul.data[paul.data$type==8,]
type10.data<-paul.data[paul.data$type==10,]
type11.data<-paul.data[paul.data$type==11,]
type12.data<-paul.data[paul.data$type==12,]
type27.data<-paul.data[paul.data$type==27,]

# resprouters are:
# species no. 3, 13, 23, 25, 32, 33, 34, 36, 49, 50, 57, 42, 61, 4, 8, 10, 11, 12, 27
type3.x<-type3.data$x
type3.y<-type3.data$y
type13.x<-type13.data$x
type13.y<-type13.data$y
type23.x<-type23.data$x
type23.y<-type23.data$y
type25.x<-type25.data$x
type25.y<-type25.data$y
type32.x<-type32.data$x
type32.y<-type32.data$y
type33.x<-type33.data$x
type33.y<-type33.data$y
type34.x<-type34.data$x
type34.y<-type34.data$y
type36.x<-type36.data$x
type36.y<-type36.data$y
type49.x<-type49.data$x
type49.y<-type49.data$y
type50.x<-type50.data$x
type50.y<-type50.data$y
type57.x<-type57.data$x
type57.y<-type57.data$y
type42.x<-type42.data$x
type42.y<-type42.data$y
type61.x<-type61.data$x
type61.y<-type61.data$y
type4.x<-type4.data$x
type4.y<-type4.data$y
type8.x<-type8.data$x
type8.y<-type8.data$y
type10.x<-type10.data$x
type10.y<-type10.data$y
type11.x<-type11.data$x
type11.y<-type11.data$y
type12.x<-type12.data$x
type12.y<-type12.data$y
type27.x<-type27.data$x
type27.y<-type27.data$y


priormean.paul<-c(2.5, 1.0, 3.75, 4.75, 1.75, 1.5, 1.75, 1.75, 0.66, 6.0, 2.5,
5.0, 4.0, 9.0, 27.5, 12.5, 3.75, 15.0, 13.0)
priormax.paul<-c(4, 2, 6, 7.5, 2.5, 2.0, 2.5, 2.5, 1.0, 10, 3, 7.5, 5, 13, 40, 20, 20, 25, 25)
priorstd.paul<-c(7.5,2.5, 11.25, 11.25, 3.75, 2.5, 3.75, 3.75, 2,20,2.5, 12.5, 5, 20, 62.5, 37.5, 37.5, 50,60)/10

eco<-function(noitr,subsample,initialtheta,initialR,thetapropstd,Rpropstd,thetapriorstd,Rpriormean,
Rpriorstd, reseeder1x, reseeder1y, reseeder2x, reseeder2y, reseeder3x,
reseeder3y, reseeder4x, reseeder4y,reseeder5x, reseeder5y, resprouter1x, resprouter1y, resprouter2x,
resprouter2y,resprouter3x, resprouter3y,resprouter4x,
resprouter4y,resprouter5x, resprouter5y,resprouter6x,
resprouter6y,resprouter7x, resprouter7y,resprouter8x,
resprouter8y,resprouter9x, resprouter9y,resprouter10x,
resprouter10y,resprouter11x, resprouter11y,resprouter12x,
resprouter12y,resprouter13x, resprouter13y,resprouter14x,
resprouter14y,resprouter15x, resprouter15y,resprouter16x,
resprouter16y,resprouter17x, resprouter17y, resprouter18x,
resprouter18y, resprouter19x, resprouter19y,runR=1){
  lengthreseed1<-as.integer(length(reseeder1x))
  lengthreseed2<-as.integer(length(reseeder2x))
  lengthreseed3<-as.integer(length(reseeder3x))
  lengthreseed4<-as.integer(length(reseeder4x))
  lengthreseed5<-as.integer(length(reseeder5x))
  reseedersvecx<-c(as.double(reseeder1x), as.double(reseeder2x),
                   as.double(reseeder3x), as.double(reseeder4x), as.double(reseeder5x))
  reseedersvecy<-c(as.double(reseeder1y),
                   as.double(reseeder2y), as.double(reseeder3y), as.double(reseeder4y),
                   as.double(reseeder5y))
  
  lengthreseedvec<-c(lengthreseed1, lengthreseed2,
                     lengthreseed3,lengthreseed4, lengthreseed5)
  cumlengthreseedvec<-(c(0,cumsum(lengthreseedvec)))
   #print(cumlengthreseedvec)

  lengthresprout1<-as.integer(length(resprouter1x))
  lengthresprout2<-as.integer(length(resprouter2x))
  lengthresprout3<-as.integer(length(resprouter3x))
  lengthresprout4<-as.integer(length(resprouter4x))
  lengthresprout5<-as.integer(length(resprouter5x))
  lengthresprout6<-as.integer(length(resprouter6x))
  lengthresprout7<-as.integer(length(resprouter7x))
  lengthresprout8<-as.integer(length(resprouter8x))
	  lengthresprout9<-as.integer(length(resprouter9x))
  lengthresprout10<-as.integer(length(resprouter10x))
  lengthresprout11<-as.integer(length(resprouter11x))
  lengthresprout12<-as.integer(length(resprouter12x))
  lengthresprout13<-as.integer(length(resprouter13x))
  lengthresprout14<-as.integer(length(resprouter14x))
  lengthresprout15<-as.integer(length(resprouter15x))
  lengthresprout16<-as.integer(length(resprouter16x))
  lengthresprout17<-as.integer(length(resprouter17x))
  lengthresprout18<-as.integer(length(resprouter18x))
  lengthresprout19<-as.integer(length(resprouter19x))
  resproutersvecx<-c(as.double(resprouter1x), as.double(resprouter2x),
  as.double(resprouter3x), as.double(resprouter4x),
  as.double(resprouter5x), as.double(resprouter6x),
  as.double(resprouter7x),as.double(resprouter8x),as.double(resprouter9x),as.double(resprouter10x),as.double(resprouter11x),as.double(resprouter12x),
  as.double(resprouter13x),as.double(resprouter14x),as.double(resprouter15x),as.double(resprouter16x),
  as.double(resprouter17x),as.double(resprouter18x),as.double(resprouter19x))
  resproutersvecy<-c(as.double(resprouter1y), as.double(resprouter2y),
  as.double(resprouter3y), as.double(resprouter4y),
  as.double(resprouter5y), as.double(resprouter6y),
  as.double(resprouter7y),as.double(resprouter8y),as.double(resprouter9y),as.double(resprouter10y),as.double(resprouter11y),as.double(resprouter12y),
  as.double(resprouter13y),as.double(resprouter14y),as.double(resprouter15y),as.double(resprouter16y),
  as.double(resprouter17y),as.double(resprouter18y),as.double(resprouter19y)
  )


  lengthresproutvec<-c(lengthresprout1, lengthresprout2,
  lengthresprout3,lengthresprout4, lengthresprout5, lengthresprout6,lengthresprout7, lengthresprout8,
  lengthresprout9,lengthresprout10, lengthresprout11, lengthresprout12,lengthresprout13, lengthresprout14,
  lengthresprout15,lengthresprout16, lengthresprout17, lengthresprout18,lengthresprout19)
  cumlengthresproutvec<-(c(0,cumsum(lengthresproutvec)))
  print(cumlengthresproutvec)
  return(.C("ecology_mcmc",as.integer(noitr),as.integer(subsample),as.double(initialtheta),as.double(initialR),
  as.double(thetapropstd),as.double(Rpropstd),as.double(thetapriorstd),
  as.double(Rpriormean),as.double(Rpriorstd), as.double(reseedersvecx),
  as.double(reseedersvecy), as.integer(cumlengthreseedvec),
  as.double(resproutersvecx), as.double(resproutersvecy),
  as.integer(cumlengthresproutvec),as.integer(runR)))
}

