示例#1
0
 def get_initial_allele_counts(self, fragment):
     '''Get allele counts from the initial time point'''
     import os
     from hivwholeseq.patients.samples import SamplePat
     for i in xrange(len(self.samples)):
         sample = SamplePat(self.samples.iloc[i])
         if os.path.isfile(sample.get_allele_counts_filename(fragment)):
             return sample.get_allele_counts(fragment)
        for fragment in fragments:
            for samplename, sample in samples.iterrows():
                fork_self(samplename,
                          fragment,
                          VERBOSE=VERBOSE,
                          qual_min=qual_min,
                          PCR=PCR,
                          maxreads=maxreads,
                          use_tests=use_tests)
        sys.exit()

    counts_all = []
    for fragment in fragments:
        counts = []
        for samplename, sample in samples.iterrows():
            sample = SamplePat(sample)
            pname = sample.patient

            if VERBOSE >= 2:
                print pname, fragment, samplename

            refseq = SeqIO.read(
                get_initial_reference_filename(pname, fragment), 'fasta')

            fn_out = sample.get_allele_cocounts_filename(fragment,
                                                         PCR=PCR,
                                                         qual_min=qual_min,
                                                         compressed=True)
            fn = sample.get_mapped_filtered_filename(
                fragment, PCR=PCR, decontaminated=True)  #FIXME
            if save_to_file:
示例#3
0
 def itersamples(self):
     '''Generator for samples in this patient, each with extended attributes'''
     from hivwholeseq.patients.samples import SamplePat
     for samplename, sample in self.samples.iterrows():
         yield SamplePat(sample)
示例#4
0
 def initial_sample(self):
     '''The initial sample used as a mapping reference'''
     from .samples import SamplePat
     return SamplePat(self.samples.iloc[0])
    fragments = args.fragments
    submit = args.submit
    VERBOSE = args.verbose
    n_pairs = args.maxreads
    summary = args.summary
    PCR = args.PCR

    # Collect all sequenced samples from patients
    samples_pat = lssp()
    if pnames is not None:
        samples_seq = []
        for pname in pnames:
            patient = load_patient(pname)
            patient.discard_nonsequenced_samples()
            for samplename_pat, sample_pat in patient.samples.iterrows():
                sample_pat = SamplePat(sample_pat)
                samples_seq.append(sample_pat.samples_seq)
        samples_seq = pd.concat(samples_seq)

    elif samplenames is not None:
        samples_seq = lss()
        ind = samples_pat.index.isin(samplenames)
        samplenames_pat = samples_pat.index[ind]
        samples_seq = samples_seq.loc[samples_seq['patient sample'].isin(
            samplenames_pat)]

    else:
        samples_seq = lss()
        samples_seq = samples_seq.loc[samples_seq['patient sample'].isin(
            samples_pat.index)]
    VERBOSE = args.verbose
    repn = args.repnumber
    samplename = args.sample

    patient = load_patient(pname)
    patient.discard_nonsequenced_samples()

    mkdirs(get_initial_reference_foldername(pname))

    if not fragments:
        fragments = ['F' + str(i) for i in xrange(1, 7)]
    if VERBOSE >= 3:
        print 'fragments', fragments

    if samplename is None:
        sample = SamplePat(patient.samples.iloc[samplen])
    else:
        sample = load_sample_sequenced(samplename)

    for fragment in fragments:
        sample_seq = SampleSeq(sample.samples_seq.iloc[repn])

        seq_run = sample_seq['seq run']
        adaID = sample_seq['adapter']
        dataset = sample_seq.sequencing_run
        data_folder = dataset.folder

        if VERBOSE:
            print 'Initial sample:', sample_seq.name, sample_seq['seq run'],
            print sample_seq.adapter