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; }
static public LinkedHashMap<String, ProteinSequence> getProteinSequences(Collection<ChromosomeSequence> chromosomeSequences) throws Exception { LinkedHashMap<String, ProteinSequence> proteinSequenceHashMap = new LinkedHashMap<String, ProteinSequence>(); for (ChromosomeSequence dnaSequence : chromosomeSequences) { for (GeneSequence geneSequence : dnaSequence.getGeneSequences().values()) { for (TranscriptSequence transcriptSequence : geneSequence.getTranscripts().values()) { //TODO remove? // DNASequence dnaCodingSequence = transcriptSequence.getDNACodingSequence(); // logger.info("CDS={}", dnaCodingSequence.getSequenceAsString()); try { ProteinSequence proteinSequence = transcriptSequence.getProteinSequence(); // logger.info("{} {}", proteinSequence.getAccession().getID(), proteinSequence); if (proteinSequenceHashMap.containsKey(proteinSequence.getAccession().getID())) { throw new Exception("Duplicate protein sequence id=" + proteinSequence.getAccession().getID() + " found at Gene id=" + geneSequence.getAccession().getID()); } else { proteinSequenceHashMap.put(proteinSequence.getAccession().getID(), proteinSequence); } } catch (Exception e) { logger.error("Exception: ", e); } } } } return proteinSequenceHashMap; }
for (GeneSequence geneSequence : chromosomeSequence.getGeneSequences().values()) { gff3line = key + "\t" + geneSequence.getSource() + "\t" + "gene" + "\t" + geneSequence.getBioBegin() + "\t" + geneSequence.getBioEnd() + "\t"; Double score = geneSequence.getSequenceScore();