Esempio n. 1
0
    def samples_share(args):
        sample = Samples()
        files = Files()
        ids_sample = [s.rstrip("\n").split("\t")[0] for s in open(args.samples).readlines()]
        for id in ids_sample:
            # This line return the root folder
            root = str(files.search(studyId=args.studyId, sampleIds=id, description="INTAKE")[0]["id"])
            files.share(args.user, root)

            try:
                sample.share(args.user, id, include="projects.studies.samples.name")
            except ServerResponseException as e:
                print(str(e), file=sys.stderr)
Esempio n. 2
0
def share_samples(studyId, list_of_samples_file, user_id):
    file_instance = Files()
    sample_instance = Samples()
    summary = {}
    fd = open(list_of_samples_file)
    for line in fd:
        aline = line.rstrip("\n").split("\t")
        if aline:
            sample_name = aline[0]
            root_folder = aline[1]
            print(sample_name)
            sample_objs = sample_instance.search(studyId=studyId, name=sample_name)
            for sample_obj in sample_objs:
                sample_id = str(sample_obj["id"])
                folders_to_share = file_instance.search(studyId=studyId, path=root_folder,
                                                        sampleIds=sample_id
                                                        )
                for folder_to_share in folders_to_share:
                    file_id = str(folder_to_share["id"])
                    file_instance.share(userId=user_id, fileId=file_id)

                sample_instance.share(userId=user_id, sampleId=sample_id)
                summary[sample_name] = [folders_to_share]