Generates a helical `Polynucleotide` that is built along an axis.

        Parameters
        ----------
        start: [float, float, float]
            Start of the build axis.
        end: [float, float, float]
            End of build axis.
        sequence: str
            The nucleotide sequence of the nucleic acid.
        helix_type: str
            The type of nucleic acid helix to generate.
        phos_3_prime: bool
            If false the 5' and the 3' phosphor will be omitted.

def from_start_and_end(cls, start, end, sequence, helix_type='b_dna',
                           phos_3_prime=False):
        """Generates a helical `Polynucleotide` that is built along an axis.

        Parameters
        ----------
        start: [float, float, float]
            Start of the build axis.
        end: [float, float, float]
            End of build axis.
        sequence: str
            The nucleotide sequence of the nucleic acid.
        helix_type: str
            The type of nucleic acid helix to generate.
        phos_3_prime: bool
            If false the 5' and the 3' phosphor will be omitted.
        """
        start = numpy.array(start)
        end = numpy.array(end)
        instance = cls(sequence, helix_type=helix_type,
                       phos_3_prime=phos_3_prime)
        instance.move_to(start=start, end=end)
        return instance