X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FTCoffeeScoreFile.java;h=d500b8046210b4fca627e163dc83668533241077;hb=a8f483d04205bb8273ee311c12968b7e86d205fa;hp=178caad7b56e64fc785fe97fa730a306394389be;hpb=28787d9646cca5dd77190930f59b7ff32cf995b4;p=jalview.git diff --git a/src/jalview/io/TCoffeeScoreFile.java b/src/jalview/io/TCoffeeScoreFile.java index 178caad..d500b80 100644 --- a/src/jalview/io/TCoffeeScoreFile.java +++ b/src/jalview/io/TCoffeeScoreFile.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * @@ -14,6 +14,7 @@ * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.io; @@ -30,15 +31,8 @@ import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; - -import javax.xml.parsers.ParserConfigurationException; - -import org.xml.sax.SAXException; - -import fr.orsay.lri.varna.exceptions.ExceptionFileFormatOrSyntax; -import fr.orsay.lri.varna.exceptions.ExceptionLoadingFailed; -import fr.orsay.lri.varna.exceptions.ExceptionPermissionDenied; -import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * A file parse for T-Coffee score ascii format. This file contains the @@ -94,14 +88,13 @@ import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses; * */ public class TCoffeeScoreFile extends AlignFile { - - public TCoffeeScoreFile(String inFile, String type) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed, InterruptedException, ExceptionUnmatchedClosingParentheses + public TCoffeeScoreFile(String inFile, String type) throws IOException { super(inFile, type); } - public TCoffeeScoreFile(FileParse source) throws IOException, ExceptionFileFormatOrSyntax, ParserConfigurationException, SAXException, ExceptionPermissionDenied, ExceptionLoadingFailed, InterruptedException, ExceptionUnmatchedClosingParentheses + public TCoffeeScoreFile(FileParse source) throws IOException { super(source); } @@ -146,7 +139,7 @@ public class TCoffeeScoreFile extends AlignFile { /** * @return The 'width' of the score matrix i.e. the number of columns. Since - * teh score value are supposd to be calculated for an 'aligned' MSA, + * the score value are supposed to be calculated for an 'aligned' MSA, * all the entries have to have the same width. */ public int getWidth() @@ -401,6 +394,8 @@ public class TCoffeeScoreFile extends AlignFile { } } + static Pattern SCORES_WITH_RESIDUE_NUMS = Pattern.compile("^\\d+\\s([^\\s]+)\\s+\\d+$"); + /** * Read a scores block ihe provided stream. * @@ -460,6 +455,11 @@ public class TCoffeeScoreFile extends AlignFile { String id = line.substring(0, p).trim(); String val = line.substring(p + 1).trim(); + Matcher m = SCORES_WITH_RESIDUE_NUMS.matcher(val); + if( m.matches() ) { + val = m.group(1); + } + result.items.put(id, val); } while ((line = reader.nextLine()) != null); @@ -548,7 +548,8 @@ public class TCoffeeScoreFile extends AlignFile { { if (al.getHeight() != getHeight() || al.getWidth() != getWidth()) { - warningMessage = "Alignment shape does not match T-Coffee score file shape."; + String info = String.format("align w: %s, h: %s; score: w: %s; h: %s ", al.getWidth(), al.getHeight(), getWidth(), getHeight() ); + warningMessage = "Alignment shape does not match T-Coffee score file shape -- " + info; return false; } boolean added = false;