/** * Determines GCG type * @param cs compound set of sequences * @return GCG type */ public static <C extends Compound> String getGCGType(CompoundSet<C> cs) { return (cs == DNACompoundSet.getDNACompoundSet() || cs == AmbiguityDNACompoundSet.getDNACompoundSet()) ? "D" : (cs == RNACompoundSet.getRNACompoundSet() || cs == AmbiguityRNACompoundSet.getRNACompoundSet()) ? "R" : "P"; }
/** * Create a protein from a string * * @param seqString * @throws CompoundNotFoundException */ public ProteinSequence(String seqString) throws CompoundNotFoundException { this(seqString, AminoAcidCompoundSet.getAminoAcidCompoundSet()); }
/** * Fairly important constructor given the size of a ChromsomeSequence where the * ProxySequenceReader could load from disk via RandomAccessFile so that the sequence * doesn't need to be kept in memory. Could also be a NCBI proxy to load sequence * data as needed from remote web server. * @param proxyLoader */ public ChromosomeSequence(SequenceReader<NucleotideCompound> proxyLoader) { super(proxyLoader, DNACompoundSet.getDNACompoundSet()); }
@Override public NucleotideCompound newNucleotideCompound(String base, String complement, String... equivalents) { if(equivalents.length == 0) { return new NucleotideCompound(base, this, complement); } else { NucleotideCompound[] compounds = new NucleotideCompound[equivalents.length]; for(int i=0; i<compounds.length; i++) { compounds[i] = getCompoundForString(equivalents[i]); } return new NucleotideCompound(base, this, complement, compounds); } } }
@Override public NucleotideCompound newNucleotideCompound(String base, String complement, String... equivalents) { if(equivalents.length == 0) { return new NucleotideCompound(base, this, complement); } else { NucleotideCompound[] compounds = new NucleotideCompound[equivalents.length]; for(int i=0; i<compounds.length; i++) { compounds[i] = getCompoundForString(equivalents[i]); } return new NucleotideCompound(base, this, complement, compounds); } } }
private CompoundSet<NucleotideCompound> getRnaCompounds() { if (rnaCompounds != null) { return rnaCompounds; } return AmbiguityRNACompoundSet.getRNACompoundSet(); }
/** * Create a RNA aequence from a proxy reader * @param proxyLoader */ public RNASequence(ProxySequenceReader<NucleotideCompound> proxyLoader) { super(proxyLoader, RNACompoundSet.getRNACompoundSet()); }
public DNACompoundSet() { addNucleotideCompound("A", "T"); addNucleotideCompound("T", "A"); addNucleotideCompound("G", "C"); addNucleotideCompound("C", "G"); addNucleotideCompound("N", "N"); addNucleotideCompound("-", "-"); }
@Override public boolean isValidSequence(Sequence<AminoAcidCompound> sequence) { for (AminoAcidCompound compound: sequence) { if (!hasCompound(compound)) { return false; } } return true; }
public RNACompoundSet() { addNucleotideCompound("A", "U"); addNucleotideCompound("U", "A"); addNucleotideCompound("G", "C"); addNucleotideCompound("C", "G"); addNucleotideCompound("N", "N"); addNucleotideCompound("-", "-"); }
@Override public NucleotideCompound newNucleotideCompound(String base, String complement, String... equivalents) { return new NucleotideCompound(base, this, complement); } }
/** * Determines GCG type * @param cs compound set of sequences * @return GCG type */ public static <C extends Compound> String getGCGType(CompoundSet<C> cs) { return (cs == DNACompoundSet.getDNACompoundSet() || cs == AmbiguityDNACompoundSet.getDNACompoundSet()) ? "D" : (cs == RNACompoundSet.getRNACompoundSet() || cs == AmbiguityRNACompoundSet.getRNACompoundSet()) ? "R" : "P"; }
/** * A protein sequence where the storage of the sequence is somewhere else. * Could be loaded from a large Fasta file or via a Uniprot Proxy reader via * Uniprot ID * * @param proxyLoader */ public ProteinSequence(ProxySequenceReader<AminoAcidCompound> proxyLoader) { this(proxyLoader, AminoAcidCompoundSet.getAminoAcidCompoundSet()); }
/** * String is king and assume DNA * @param seqString * @throws CompoundNotFoundException */ public ChromosomeSequence(String seqString) throws CompoundNotFoundException { super(seqString, DNACompoundSet.getDNACompoundSet()); }
@Override public NucleotideCompound newNucleotideCompound(String base, String complement, String... equivalents) { if(equivalents.length == 0) { return new NucleotideCompound(base, this, complement); } else { NucleotideCompound[] compounds = new NucleotideCompound[equivalents.length]; for(int i=0; i<compounds.length; i++) { compounds[i] = getCompoundForString(equivalents[i]); } return new NucleotideCompound(base, this, complement, compounds); } } }
/** * Create a RNA aequence from a proxy reader * @param proxyLoader */ public RNASequence(ProxySequenceReader<NucleotideCompound> proxyLoader) { super(proxyLoader, RNACompoundSet.getRNACompoundSet()); }
private CompoundSet<AminoAcidCompound> getAminoAcidCompounds() { if (aminoAcidCompounds != null) { return aminoAcidCompounds; } return AminoAcidCompoundSet.getAminoAcidCompoundSet(); }
/** * Fairly important constructor given the size of a ChromsomeSequence where the * ProxySequenceReader could load from disk via RandomAccessFile so that the sequence * doesn't need to be kept in memory. Could also be a NCBI proxy to load sequence * data as needed from remote web server. * @param proxyLoader */ public ChromosomeSequence(SequenceReader<NucleotideCompound> proxyLoader) { super(proxyLoader, DNACompoundSet.getDNACompoundSet()); }
/** * Create a protein from a string * * @param seqString * @throws CompoundNotFoundException */ public ProteinSequence(String seqString) throws CompoundNotFoundException { this(seqString, AminoAcidCompoundSet.getAminoAcidCompoundSet()); }