docs: def load_gene(ensembl, gene_id, de_novos=[]):
      """ sort out all the necessary sequences and positions for a gene
      
      Args:
          ensembl: EnsemblRequest object to request data from ensembl
          gene_id: HGNC symbol for gene
          de_novos: list of de novo positions, so we can check they all fit in
              the gene transcript
          
      Returns:
          list of Transcript objects for gene, including genomic ranges and sequences
      """
      
      transcripts = minimise_transcripts(ensembl, gene_id, de_novos)
      
      genes = []
      for transcript_id in transcripts:
          gene = construct_gene_object(ensembl, transcript_id)
          genes.append(gene)
      
      if len(genes) == 0:
          raise IndexError("{0}: no suitable transcripts".format(gene_id))
      
      return genes