function sets_new = setcheck(set_one,sets_all,num_isoform)

including_yes = 1;
n = length(sets_all);
a = cell(1);
if length(set_one)<=num_isoform %constraint the number of expressed isoforms
    if n ==0
        %including_yes = 1;
        sets_new  = num2cell(set_one);
        return;
    else
        for i=1:n,
            set_member = sets_all{i};
            if iscell(set_member)
                set_member = set_member{1};
            end

            united_set = union(set_one, set_member);
            if (length(united_set)==length(set_member)&&(length(united_set)==length(set_one)))
                including_yes = 0;

                break;

            end    
        end
    end
else
    including_yes = 0;
end
if including_yes == 1
    a{1} = set_one;
    sets_new = [sets_all,a];
else
    sets_new = sets_all;
end