do.call
works on a list of arguments so the following should work:
tst <- list()
tst[[1]]<-structure(list(counts = c(0L, 0L, 3L, 0L, 2L, 0L)), .Names = "counts", row.names = c("1/2-SBSRNA4","A1BG", "A1BG-AS1", "A1CF", "A2LD1", "A2M"), class = "data.frame")
tst[[2]]<-structure(list(counts = c(0L, 0L, 3L, 0L, 2L, 0L)), .Names = "counts", row.names = c("1/2-SBSRNA4","A1BG", "A1BG-AS1", "A1CF", "A2LD1", "A2M"), class = "data.frame")
> do.call(cbind.data.frame, tst)
counts counts
1/2-SBSRNA4 0 0
A1BG 0 0
A1BG-AS1 3 3
A1CF 0 0
A2LD1 2 2
A2M 0 0