/** * Add an ExonSequence mainly used to mark as a feature * @param accession * @param begin * @param end * @return exon sequence */ public ExonSequence addExon(AccessionID accession, int begin, int end) throws Exception { if (exonSequenceHashMap.containsKey(accession.getID())) { throw new Exception("Duplicate accesion id " + accession.getID()); } ExonSequence exonSequence = new ExonSequence(this, begin, end); //sense should be the same as parent exonSequence.setAccession(accession); exonSequenceList.add(exonSequence); exonSequenceHashMap.put(accession.getID(), exonSequence); return exonSequence; }
/** * Add an ExonSequence mainly used to mark as a feature * @param accession * @param begin * @param end * @return exon sequence */ public ExonSequence addExon(AccessionID accession, int begin, int end) throws Exception { if (exonSequenceHashMap.containsKey(accession.getID())) { throw new Exception("Duplicate accesion id " + accession.getID()); } ExonSequence exonSequence = new ExonSequence(this, begin, end); //sense should be the same as parent exonSequence.setAccession(accession); exonSequenceList.add(exonSequence); exonSequenceHashMap.put(accession.getID(), exonSequence); return exonSequence; }
/** * Add an Intron Currently used to mark an IntronSequence as a feature * @param accession * @param begin * @param end * @return intron sequence */ public IntronSequence addIntron(AccessionID accession, int begin, int end) throws Exception { if (intronSequenceHashMap.containsKey(accession.getID())) { throw new Exception("Duplicate accesion id " + accession.getID()); } intronAdded = true; IntronSequence intronSequence = new IntronSequence(this, begin, end); // working off the assumption that intron frame is always 0 or doesn't matter and same sense as parent intronSequence.setAccession(accession); intronSequenceList.add(intronSequence); intronSequenceHashMap.put(accession.getID(), intronSequence); return intronSequence; }
/** * Remove the intron by accession * @param accession * @return intron sequence */ public IntronSequence removeIntron(String accession) { for (IntronSequence intronSequence : intronSequenceList) { if (intronSequence.getAccession().getID().equals(accession)) { intronSequenceList.remove(intronSequence); intronSequenceHashMap.remove(accession); return intronSequence; } } return null; }
/** * Remove a CDS or coding sequence from the transcript sequence * @param accession * @return */ public CDSSequence removeCDS(String accession) { for (CDSSequence cdsSequence : cdsSequenceList) { if (cdsSequence.getAccession().getID().equals(accession)) { cdsSequenceList.remove(cdsSequence); cdsSequenceHashMap.remove(accession); return cdsSequence; } } return null; }
/** * Remove a CDS or coding sequence from the transcript sequence * @param accession * @return */ public CDSSequence removeCDS(String accession) { for (CDSSequence cdsSequence : cdsSequenceList) { if (cdsSequence.getAccession().getID().equals(accession)) { cdsSequenceList.remove(cdsSequence); cdsSequenceHashMap.remove(accession); return cdsSequence; } } return null; }
/** * Remove the intron by accession * @param accession * @return intron sequence */ public IntronSequence removeIntron(String accession) { for (IntronSequence intronSequence : intronSequenceList) { if (intronSequence.getAccession().getID().equals(accession)) { intronSequenceList.remove(intronSequence); intronSequenceHashMap.remove(accession); return intronSequence; } } return null; }
static public LinkedHashMap<String, GeneSequence> getGeneSequences(Collection<ChromosomeSequence> chromosomeSequences) throws Exception { LinkedHashMap<String, GeneSequence> geneSequenceHashMap = new LinkedHashMap<String, GeneSequence>(); for (ChromosomeSequence chromosomeSequence : chromosomeSequences) { for (GeneSequence geneSequence : chromosomeSequence.getGeneSequences().values()) { geneSequenceHashMap.put(geneSequence.getAccession().getID(), geneSequence); } } return geneSequenceHashMap; }
public void processNucleotides(File fastaFileName,String uniqueid, File outputDirectory ) throws Exception{ if(!outputDirectory.exists()) outputDirectory.mkdirs(); LinkedHashMap<String,DNASequence> dnaSequenceHashMap = FastaReaderHelper.readFastaDNASequence(fastaFileName); for(DNASequence dnaSequence : dnaSequenceHashMap.values()){ String fileName = outputDirectory.getAbsolutePath() + File.separatorChar; if(uniqueid.length() > 0){ fileName = fileName + dnaSequence.getAccession().getID() + ".fna"; }else{ fileName = fileName + uniqueid + dnaSequence.getAccession().getID() + ".fna"; } ArrayList<DNASequence> dnaList = new ArrayList<DNASequence>(); dnaList.add(dnaSequence); FastaWriterHelper.writeNucleotideSequence(new File(fileName), dnaList); } }
/** Utility method to convert a BioJava ProteinSequence object to the FastaSequence * object used internally in JRonn. * * @param sequence * @return */ public static FastaSequence convertProteinSequencetoFasta(ProteinSequence sequence){ StringBuffer buf = new StringBuffer(); for (AminoAcidCompound compound : sequence) { String c = compound.getShortName(); if (! SequenceUtil.NON_AA.matcher(c).find()) { buf.append(c); } else { buf.append("X"); } } return new FastaSequence(sequence.getAccession().getID(),buf.toString()); }
public static void main(String[] args) { try { UniprotProxySequenceReader<AminoAcidCompound> uniprotSequence = new UniprotProxySequenceReader<AminoAcidCompound>("YA745_GIBZE", AminoAcidCompoundSet.getAminoAcidCompoundSet()); ProteinSequence proteinSequence = new ProteinSequence(uniprotSequence); logger.info("Accession: {}", proteinSequence.getAccession().getID()); logger.info("Sequence: {}", proteinSequence.getSequenceAsString()); } catch (Exception e) { logger.error("Exception: ", e); } }
public static void main(String[] args) { try { UniprotProxySequenceReader<AminoAcidCompound> uniprotSequence = new UniprotProxySequenceReader<AminoAcidCompound>("YA745_GIBZE", AminoAcidCompoundSet.getAminoAcidCompoundSet()); ProteinSequence proteinSequence = new ProteinSequence(uniprotSequence); logger.info("Accession: {}", proteinSequence.getAccession().getID()); logger.info("Sequence: {}", proteinSequence.getSequenceAsString()); } catch (Exception e) { logger.error("Exception: ", e); } }
@Override public String getHeader(S sequence) { String header = ""; if (sequence.getOriginalHeader() != null && sequence.getOriginalHeader().length() > 0) { header = sequence.getOriginalHeader(); } else { AccessionID accessionID = sequence.getAccession(); if (accessionID != null) { header = accessionID.getID(); } } return header; } }
@Override public String getHeader(S sequence) { String header = ""; if (sequence.getOriginalHeader() != null && sequence.getOriginalHeader().length() > 0) { header = sequence.getOriginalHeader(); } else { AccessionID accessionID = sequence.getAccession(); if (accessionID != null) { header = accessionID.getID(); } } return header; } }
@Override public boolean equals(Object o) { boolean equals = false; if (Equals.classEqual(this, o)) { AccessionID l = (AccessionID) o; equals = (Equals.equal(getID(), l.getID()) && Equals.equal(getDataSource(), l.getDataSource()) && Equals.equal(getIdentifier(), l.getIdentifier()) && Equals.equal(getVersion(), l.getVersion())); } return equals; }
@Override public boolean equals(Object o) { boolean equals = false; if (Equals.classEqual(this, o)) { AccessionID l = (AccessionID) o; equals = (Equals.equal(getID(), l.getID()) && Equals.equal(getDataSource(), l.getDataSource()) && Equals.equal(getIdentifier(), l.getIdentifier()) && Equals.equal(getVersion(), l.getVersion())); } return equals; }
/** * Get the protein sequence with user defined TranscriptEngine * @param engine * @return */ public ProteinSequence getProteinSequence(TranscriptionEngine engine) { DNASequence dnaCodingSequence = getDNACodingSequence(); RNASequence rnaCodingSequence = dnaCodingSequence.getRNASequence(engine); ProteinSequence proteinSequence = rnaCodingSequence.getProteinSequence(engine); proteinSequence.setAccession(new AccessionID(this.getAccession().getID())); return proteinSequence; }
/** * Get the protein sequence with user defined TranscriptEngine * @param engine * @return */ public ProteinSequence getProteinSequence(TranscriptionEngine engine) { DNASequence dnaCodingSequence = getDNACodingSequence(); RNASequence rnaCodingSequence = dnaCodingSequence.getRNASequence(engine); ProteinSequence proteinSequence = rnaCodingSequence.getProteinSequence(engine); proteinSequence.setAccession(new AccessionID(this.getAccession().getID())); return proteinSequence; }
@Override public int hashCode() { int r = Hashcoder.SEED; r = Hashcoder.hash(r, getID()); r = Hashcoder.hash(r, getDataSource()); r = Hashcoder.hash(r, getIdentifier()); r = Hashcoder.hash(r, getVersion()); return r; }
@Override public int hashCode() { int r = Hashcoder.SEED; r = Hashcoder.hash(r, getID()); r = Hashcoder.hash(r, getDataSource()); r = Hashcoder.hash(r, getIdentifier()); r = Hashcoder.hash(r, getVersion()); return r; }