def get_de_novos_in_transcript(transcript, de_novos):
    """ get the de novos within the coding sequence of a transcript
    
    Args:
        transcript: Transcript object, which defines the transcript coordinates
        de_novos: list of chromosome sequence positions for de novo events
    
    Returns:
        list of de novo positions found within the transcript
    """
    
    in_transcript = []
    for de_novo in de_novos:
        # we check if the de novo is within the transcript by converting the
        # chromosomal position to a CDS-based position. Variants outside the CDS
        # will raise an error, which we catch and pass on. It's better to do
        # this, rather than use the function in_coding_region(), since that
        # function does not allow for splice site variants.
        site = transcript.get_coding_distance(de_novo)
        cds_length = transcript.get_coding_distance(transcript.get_cds_end())
        within_cds = site['pos'] >= 0 and site['pos'] < cds_length['pos']
        if within_cds and (transcript.in_coding_region(de_novo) or abs(site['offset']) < 9):
            in_transcript.append(de_novo)
    
    return in_transcript
get the de novos within the coding sequence of a transcript
    
    Args:
        transcript: Transcript object, which defines the transcript coordinates
        de_novos: list of chromosome sequence positions for de novo events
    
    Returns:
        list of de novo positions found within the transcript