first of all, your includes are reversed here
controller('BioACtrl',['bioAList','$scope',function($scope,bioAList){
Should be
controller('BioACtrl',['$scope', 'bioAList',function($scope,bioAList){
Second, you are trying to access data in your bioAList service before you even fetch it. The correct way to do this is with angular promises. I modified the plnkr to acheive this access paradigm:
bioAList.getSamples().then(function(data) {
$scope.samples = data.samples;
})
EDIT: add the thing that @OdeToCode points out.
Good point! you can just return the $http promise as the service.
return $http.get('bioa.json').success(function(data,status){
return data;
})
And access it like you originally had.
Hope this helps!