## NAME:
## ESTIMATED TIME:

## This line "reads" anna_functions.py and loads some functions that Anna has written.
import anna_functions

def main():
    '''
    This main() function converts the DNA sequence from a dataset into mRNA and 
    finally to a peptide sequence.
    Inputs: Nothing (set dataset variable below)
    Outputs: Nothing.
    '''

    # Set dataset to one of the following strings: 'testPos','SRC','testNeg', or 'TMPRSS2'
    dataset = 'testPos'
    print('Dataset:',dataset)

    # Use the getData() function from anna_functions.py to get all the information
    # associated with a dataset.
    dna,exonStarts,intronStarts,strand,rnaFromFile,peptideFromFile = anna_functions.getData(dataset)

    # Print all the information associated with these variables.
    printInfo(dna,exonStarts,intronStarts,strand,rnaFromFile,peptideFromFile)
    
    # Transcribe the DNA to RNA.  
    mRNA = transcribe(dna,exonStarts,intronStarts)
    
    ## Translate the mRNA to peptide
    computedPeptide = translate(mRNA)

    return # done with the main() function.

def printInfo(dna,exonStarts,intronStarts,strand,rna,peptide):
    '''
    Print information about the variables collected about a particular dataset.
    Inputs: 
        - dna: string representing the DNA sequence
        - exonStarts: list of integers representing the starts of the exons
        - intronStarts: list of integers representing the starts of the introns
        - strand: string for positive ('+') or negative ('-') orientation
        - rna: string representing the RNA sequence from the fasta file
        - peptide: string representing the peptide sequence from the fasta file
    Outputs: Nothing
    '''

    print('<FILL IN>')

    return # done with the printInfo() function

def transcribe(DNAsequence,exonStarts,intronStarts):
    '''
    Converts a DNA sequence into an mRNA sequence.  
    Inputs: 
        - dna: string representing the DNA sequence
        - exonStarts: list of integers representing the starts of the exons
        - intronStarts: list of integers representing the starts of the introns
    Outputs: the mRNA string.
    '''

    print('<RETURNING AN EMPTY mRNA>')
    mRNA = ''

    return mRNA # done with the transcribe() function.

def translate(mRNA):
    '''
    Converts an mRNA sequence into a peptide sequence.
    Inputs:
        - mRNA: string representing the mRNA sequence.
    Outputs:
        - peptide: string representing the amino acid sequence.
    '''

    print('<RETURNING AN EMPTY PEPTIDE>')
    peptide = ''

    return peptide # done with the translate() function.

## The lines below will call the main() function 
if __name__ == '__main__':
    main()
