Skip to content

Commit

Permalink
1st, 2nd and 3rd codons, 1st2nd_3rd
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosp420 committed Feb 15, 2015
1 parent ec6e82a commit 75cb34b
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
26 changes: 26 additions & 0 deletions voseq/create_dataset/tests/tests_utils.py
Expand Up @@ -706,6 +706,32 @@ def test_dataset_1st_2nd_codons_1st2nd_3rd(self):
????????????????TGGCGGATATGGACTCCTAGCTATATCGACGATTGGAACCAGTTTTATGGGAGACAATTAAAACATGTACGCCAGCTTATATATTTTTATGTATCCATATATGGGGTTGGAATGCTGTCCTTATTTGGGCCCGAATGCTTCCCGATAATAATAGTTTGTTTTCCCCTCTTATCTTTATTCAGAGATGTGAAAGGGCGGACGGTGACGTTACCCCCTTCTCAAATGCCAAGGGGCTCGTGATTGCATTTTCTTCATTGCGGATTCTCATTTGGGCATAATTATACACATATAAATCGATAAAAATTCTAGACAATCCTTTTGTTGGCGTGGATACGCTTCTCTTTTTTCTTCCGTTTGCGGGCATACATCTTTACGACGAACTAAACTCTTTTGATCTGGGGGGGGACC??????????????????????
>CP100-11_Melitaea_diamina
?TAGCGTAAATGTAATCCAATCTATATCAACGATAGAATCTATTTTAATGAGTGTCAATTTATACATGAAAGTCTGTTTATAAATTTTTAAGTAGCAATAAATGAGATTGTATTACTGACATAAATGGAGCCAGTAAGTTCCCCAAAATTTAAAATTTATATGCTCATCTAATCTTAATTAATAAATGAGAATGGGAGAATGATAAAGTTCCCCACTTATTATATGCCTAAGAGTTAGGGTTAGTATTTTTTACTTAGTGGATTCTTACTAGAGTATATTTATATAAATATATAACAATATATAATTTTGTCAAACTTATTGATAGAGAGAATAAGATACTCCTATATTTACAGTTAGTGAGTATATAACTTAAGGTCAATCTATACTATTTTGTTCTCGAGAGAGTC??????????????????????
"""
result = dataset_creator.dataset_str
self.assertEqual(expected.strip(), result)

def test_dataset_1st_2nd_3rd_codons_1st2nd_3rd(self):
g1 = Genes.objects.get(gene_code='COI')
cleaned_data = self.cleaned_data
cleaned_data['gene_codes'] = [g1]
del cleaned_data['positions']
cleaned_data['positions'] = ['1st', '2nd', '3rd']
cleaned_data['partition_by_positions'] = '1st2nd_3rd'

dataset_creator = CreateDataset(cleaned_data)
expected = """
>coi_1st_2nd_codons
--------------------
>CP100-10_Papilionoidea_Melitaea_diamina
????????????????TGGCGGATATGGACTCCTAGCTATATCGACGATTGGAACCAGTTTTATGGGAGACAATTAAAACATGTACGCCAGCTTATATATTTTTATGTATCCATATATGGGGTTGGAATGCTGTCCTTATTTGGGCCCGAATGCTTCCCGATAATAATAGTTTGTTTTCCCCTCTTATCTTTATTCAGAGATGTGAAAGGGCGGACGGTGACGTTACCCCCTTCTCAAATGCCAAGGGGCTCGTGATTGCATTTTCTTCATTGCGGATTCTCATTTGGGCATAATTATACACATATAAATCGATAAAAATTCTAGACAATCCTTTTGTTGGCGTGGATACGCTTCTCTTTTTTCTTCCGTTTGCGGGCATACATCTTTACGACGAACTAAACTCTTTTGATCTGGGGGGGGACC??????????????????????
>CP100-11_Melitaea_diamina
?TAGCGTAAATGTAATCCAATCTATATCAACGATAGAATCTATTTTAATGAGTGTCAATTTATACATGAAAGTCTGTTTATAAATTTTTAAGTAGCAATAAATGAGATTGTATTACTGACATAAATGGAGCCAGTAAGTTCCCCAAAATTTAAAATTTATATGCTCATCTAATCTTAATTAATAAATGAGAATGGGAGAATGATAAAGTTCCCCACTTATTATATGCCTAAGAGTTAGGGTTAGTATTTTTTACTTAGTGGATTCTTACTAGAGTATATTTATATAAATATATAACAATATATAATTTTGTCAAACTTATTGATAGAGAGAATAAGATACTCCTATATTTACAGTTAGTGAGTATATAACTTAAGGTCAATCTATACTATTTTGTTCTCGAGAGAGTC??????????????????????
>coi_3rd_codon
--------------------
>CP100-10_Papilionoidea_Melitaea_diamina
????????ACTATTACATTTTACAAATTTTATATTATTTCTAATTTTTATTTATGATATAATTTATAAAAGACATATCCAATTAATAAGTACATTATATATAATGAATAAATCCATATTTCTAATAGTATTTTATATGTCTCAATTTTTTATTTAATTTATTTAATATAAAAATAAATCAATAATATATTTATAGTATTTCATTTCCAAAT???????????
>CP100-11_Melitaea_diamina
GCGTTGCCTGTTTGCATGACGTTTGAAATAACTTCCACTTTTTTTTTCTTTGGTGAGTTCTTTGCCATCTCGTAATGTGTTCCCTTTTTCGGTTAAGCGCGGCTACCTCCATCAGGCCTATCTTCTATCGTCCTTGCTATTCCTTATGTAATCAAATCTTTGCTGTCCTTTTTCTCTTCGCTCTTTCAGATACCTTACGGGGAC???????????
"""
result = dataset_creator.dataset_str
self.assertEqual(expected.strip(), result)
30 changes: 30 additions & 0 deletions voseq/create_dataset/utils.py
Expand Up @@ -551,6 +551,36 @@ def from_seq_objs_to_fasta(self):
out += '\n'.join(partitions['codons1_2'])
return out

if '1st' in self.codon_positions and '2nd' in self.codon_positions and \
'3rd' in self.codon_positions and \
'1st2nd_3rd' in self.partition_by_positions:
for gene_code in self.seq_objs:
this_gene = None
for seq_record in self.seq_objs[gene_code]:

if this_gene is None:
this_gene = seq_record.name

seq_str = '>' + this_gene + '_1st_2nd_codons\n' + '--------------------'
partitions['codons1_2'].append(seq_str)

seq_str = '>' + this_gene + '_3rd_codon\n' + '--------------------'
partitions['codon3'].append(seq_str)

codons = self.get_sequence_based_on_codon_positions(this_gene, seq_record.seq)

seq_str = '>' + seq_record.id + '\n' + str(chain_and_flatten(codons[0], codons[1]))
partitions['codons1_2'].append(seq_str)

seq_str = '>' + seq_record.id + '\n' + str(codons[2])
partitions['codon3'].append(seq_str)

out = ''
out += '\n'.join(partitions['codons1_2'])
out += '\n'
out += '\n'.join(partitions['codon3'])
return out

def get_taxon_names_for_taxa(self):
"""Returns dict: {'CP100-10': {'taxon': 'name'}}
Expand Down

0 comments on commit 75cb34b

Please sign in to comment.