1. OMG Issue

BSA — proposed DsLSRBioObjects changes (04)

  • Key: BSA-27
  • Legacy Issue Number: 3699
  • Status: closed  
  • Source: SciTegic Inc. ( Scott Markel)
  • Summary:

    Add SequenceAlphabet. We decided early on to avoid the sequence
    alphabet issue. Well, it's back. It's pretty difficult to actually
    build a GeneticCode or check for invalid residues in the sequence
    factories without some standard functionality. The following is
    based on the IDL extensions we using in our implementation. The
    design was patterned after what the submitters did for GeneticCode.
    By the way, this fits in nicely with Philip's comment about adding
    DNASequence and RNASequence.

    typedef sequence<Residue> ResidueList;

    typedef string SequenceAlphabetName;
    typedef sequence<SequenceAlphabetName> SequenceAlphabetNameList;

    interface SequenceAlphabet

    { readonly attribute SequenceAlphabetName name; // valid is the union of unambiguous and ambiguous readonly attribute ResidueList valid_residues; readonly attribute ResidueList unambiguous_residues; readonly attribute ResidueList ambiguous_residues; boolean is_valid(in Residue the_residue); boolean is_ambiguous(in Residue the_residue); // returns the list of all residues included (represented) by // the input residue, e.g., return A for A and ACGT for N ResidueList included_residues(in Residue the_residue) raises(InvalidResidue); }


    interface NucleotideSequenceAlphabet : SequenceAlphabet

    { readonly attribute ResidueList complementary_valid_residues; readonly attribute ResidueList complementary_unambiguous_residues; readonly attribute ResidueList complementary_ambiguous_residues; Residue complement(in Residue the_residue) raises(InvalidResidue); }


    interface AminoAcidSequenceAlphabet : SequenceAlphabet

    exception InvalidSequenceAlphabetName

    { string invalid_name; }


    interface SequenceAlphabetFactory

    { const SequenceAlphabetName IUPAC_DNA = "IUPAC DNA"; const SequenceAlphabetName IUPAC_RNA = "IUPAC RNA"; const SequenceAlphabetName IUPAC_AA = "IUPAC AA"; readonly attribute SequenceAlphabetNameList sequence_alphabet_names; SequenceAlphabet create_sequence_alphabet(in SequenceAlphabetName name) raises(InvalidSequenceAlphabetName); }


    interface GeneticCode

    { // in addition to its current functionality and the initiators // and terminators proposed above readonly attribute NucleotideSequenceAlphabet nucleotide_sequence_alphabet; readonly attribute AminoAcidSequenceAlphabet amino_acid_sequence_alphabet; }


    interface BioSequence

    { // in addition to its current functionality readonly attribute SequenceAlphabet sequence_alphabet; }


  • Reported: BSA 1.0b1 — Mon, 12 Jun 2000 04:00 GMT
  • Disposition: Resolved — BSA 1.0
  • Disposition Summary:

    Rejected as out of scope for the FTF. Withdrawn by proposer.

  • Updated: Fri, 6 Mar 2015 20:57 GMT