def load_HXB2(cropped=False, fragment=None, trim_primers=False): '''Load HXB2 reference sequence''' if fragment is None: return SeqIO.read(get_HXB2_entire(cropped=cropped), 'fasta') else: return SeqIO.read(get_HXB2_fragmented(fragment, trim_primers=trim_primers), 'fasta')
SeqIO.write(seq_cropped, get_HXB2_entire(cropped=True), 'fasta') # 3. Extract fragments coordinates and sequences (this is sample specific) frag_coos = {f: [co[0][0], co[1][1]] for f, co in pci.iteritems()} frag_seqs = {f: seq[co[0]: co[1]] for f, co in frag_coos.iteritems()} # Extract fragments without the inner primers frag_coos_trimmed = {f: [co[0][1], co[1][0]] for f, co in pci.iteritems()} frag_seqs_trimmed = {f: seq[co[0]: co[1]] for f, co in frag_coos_trimmed.iteritems()} # Relabel sequences for f in frag_seqs: # Relabel fragments with primers fs = frag_seqs[f] fs.name = 'HXB2_reference_'+f fs.id = fs.name fs.description = re.sub('_', ' ', fs.id) # Relabel fragments without primers fs_trimmed = frag_seqs_trimmed[f] fs_trimmed.name = 'HXB2_reference_'+f+'_trim_primers' fs_trimmed.id = fs_trimmed.name fs_trimmed.description = re.sub('_', ' ', fs_trimmed.id) # Write to file both the fragmented (in separated files) for f in frag_seqs: SeqIO.write(frag_seqs[f], get_HXB2_fragmented(f), 'fasta') SeqIO.write(frag_seqs_trimmed[f], get_HXB2_fragmented(f, trim_primers=True), 'fasta') print f