-
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
BSA — proposed DsLSRBioObjects changes (04)
- Key: BSA-27
- OMG Task Force: Biomolecular Sequ. Analysis FTF