Пример #1
0
def generate(n=5):

    projects = []
    for i in range(1, n):
        name = random.choice(project_names) % i
        info = 'some info=%s' % i
        project = authorize.create_project(user=user, name=name, info=info)
        projects.append(project)
        logger.info('creating %s' % name)

    # data names
    data_names = ('short-good-input.gtrack', 'short-data.bed')

    # visualization names
    track_names = ('differential expression', 'HELA subtract', 'Default track')

    # a subset of projects get data, visualization and results added to them
    subset = projects[-1:]
    for project in subset:

        # create some tracks for this project
        for tname in track_names:
            json = dict()
            track = authorize.create_track(user=user,
                                           pid=project.id,
                                           name=tname,
                                           json=json)
            logger.info('creating track %s' % track.name)

        assert (project.track_count(), len(track_names))

        # upload some data names
        for name in data_names:
            logger.info('uploading data %s' % name)
            stream = File(open(conf.testdata(name)))
            data = authorize.create_data(user=user,
                                         pid=project.id,
                                         stream=stream,
                                         name=name,
                                         info='test data')

            # create some  results
            logger.info('adding results content and image')
            stream1 = File(open(conf.testdata('short-results.txt')))
            image1 = File(open(conf.testdata('readcounts.png'), 'rb'))
            result1 = authorize.create_result(user=user,
                                              data=data,
                                              content=stream1,
                                              image=image1)

            image2 = File(open(conf.testdata('shift.png'), 'rb'))
            result2 = authorize.create_result(user=user,
                                              data=data,
                                              content=None,
                                              image=image2)
Пример #2
0
def generate(n=5):

    projects = []
    for i in range(1, n):
        name = random.choice(project_names) % i
        info = 'some info=%s' % i
        project = authorize.create_project(user=user, name=name, info=info)
        projects.append(project)
        logger.info('creating %s' % name)

    # data names
    data_names = ( 'short-good-input.gtrack', 'short-data.bed')
    
    # visualization names
    track_names = ( 'differential expression', 'HELA subtract', 'Default track')
    

    # a subset of projects get data, visualization and results added to them
    subset = projects[-1:]
    for project in subset:
        
        # create some tracks for this project
        for tname in track_names:
            json = dict()
            track = authorize.create_track(user=user, pid=project.id, name=tname, json=json )
            logger.info('creating track %s' % track.name)
        
        assert (project.track_count(), len(track_names))

        # upload some data names        
        for name in data_names:
            logger.info('uploading data %s' % name)
            stream = File( open(conf.testdata(name)) )
            data = authorize.create_data(user=user, pid=project.id, stream=stream, name=name, info='test data')
            
            # create some  results
            logger.info('adding results content and image')
            stream1 = File( open(conf.testdata('short-results.txt')) )
            image1  = File( open(conf.testdata('readcounts.png'),'rb') )
            result1 = authorize.create_result( user=user, data=data, content=stream1, image=image1)

            image2  = File( open(conf.testdata('shift.png'), 'rb') )
            result2 = authorize.create_result( user=user, data=data, content=None, image=image2)
Пример #3
0
def result_upload(request, did):
    "Uploads a result"
    user = request.user
    
    data = authorize.get_data(user=user, did=did)
    project = authorize.get_project(user=user, pid=data.project.id, write=False)


    # no submission, default page
    if 'submit' not in request.POST:
        form = ResultForm()        
        return html.template( request=request, name='result-upload.html', data=data, form=form )
    
    # actual form submission
    form = ResultForm( request.POST, request.FILES )  
    if form.is_valid():
        get = form.cleaned_data.get   
        authorize.create_result(user=user, data=data, content=get('content'), image=get('image'))        
        return html.redirect("/data/details/%s/" % data.id)
    else:    
        # error messages will be generated
        user.message_set.create(message="Some form fields could NOT be validated.")
        return html.template( request=request, name='result-upload.html', data=data, form=form )