diff --git a/biojava-aa-prop/pom.xml b/biojava-aa-prop/pom.xml index 6461800d58..aee8bc50cc 100644 --- a/biojava-aa-prop/pom.xml +++ b/biojava-aa-prop/pom.xml @@ -2,7 +2,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 4.0.0 biojava-aa-prop @@ -70,12 +70,12 @@ org.biojava biojava-core - 4.2.9 + 4.2.10 org.biojava biojava-structure - 4.2.9 + 4.2.10 diff --git a/biojava-alignment/pom.xml b/biojava-alignment/pom.xml index bbd3516da4..272bbe77a2 100644 --- a/biojava-alignment/pom.xml +++ b/biojava-alignment/pom.xml @@ -4,7 +4,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 biojava-alignment biojava-alignment @@ -46,7 +46,7 @@ org.biojava biojava-core - 4.2.9 + 4.2.10 compile @@ -74,7 +74,7 @@ org.biojava biojava-phylo - 4.2.9 + 4.2.10 diff --git a/biojava-core/pom.xml b/biojava-core/pom.xml index 7807aaefeb..31e9217495 100644 --- a/biojava-core/pom.xml +++ b/biojava-core/pom.xml @@ -3,7 +3,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 4.0.0 biojava-core diff --git a/biojava-core/src/main/java/org/biojava/nbio/core/sequence/io/FastaReader.java b/biojava-core/src/main/java/org/biojava/nbio/core/sequence/io/FastaReader.java index 09eea5716c..4ad7dbeb9c 100644 --- a/biojava-core/src/main/java/org/biojava/nbio/core/sequence/io/FastaReader.java +++ b/biojava-core/src/main/java/org/biojava/nbio/core/sequence/io/FastaReader.java @@ -188,43 +188,36 @@ public LinkedHashMap process(int max) throws IOException { line = br.readLine(); if (line == null) { - - - // Fix for #282 - if ( sequences.size() == 0 && max != -1) { - return null; - } - //i.e. EOF - String seq = sb.toString(); - if ( seq.length() == 0) { + if ( sb.length() == 0 && header.length() != 0 ) { logger.warn("Can't parse sequence {}. Got sequence of length 0!", sequenceIndex); logger.warn("header: {}", header); - } - //logger.info("Sequence index=" + sequenceIndex + " " + fileIndex ); - try { - @SuppressWarnings("unchecked") - S sequence = (S)sequenceCreator.getSequence(seq, sequenceIndex); - headerParser.parseHeader(header, sequence); - sequences.put(sequence.getAccession().getID(),sequence); - processedSequences++; - } catch (CompoundNotFoundException e) { - logger.warn("Sequence with header '{}' has unrecognised compounds ({}), it will be ignored", - header, e.getMessage()); + header = null; + } else if ( sb.length() > 0 ) { + //logger.info("Sequence index=" + sequenceIndex + " " + fileIndex ); + try { + @SuppressWarnings("unchecked") + S sequence = (S)sequenceCreator.getSequence(sb.toString(), sequenceIndex); + headerParser.parseHeader(header, sequence); + sequences.put(sequence.getAccession().getID(),sequence); + processedSequences++; + header = null; + } catch (CompoundNotFoundException e) { + logger.warn("Sequence with header '{}' has unrecognised compounds ({}), it will be ignored", + header, e.getMessage()); + } } keepGoing = false; } if (max > -1 && processedSequences>=max) { keepGoing=false; } - if ( this.line == null) - keepGoing = false; } while (keepGoing); this.line = line; this.header= header; - return sequences; + return max > -1 && sequences.isEmpty() ? null : sequences; } public void close() throws IOException { diff --git a/biojava-core/src/test/java/org/biojava/nbio/core/fasta/TestFASTAReader.java b/biojava-core/src/test/java/org/biojava/nbio/core/fasta/TestFASTAReader.java new file mode 100644 index 0000000000..2458fd5f1f --- /dev/null +++ b/biojava-core/src/test/java/org/biojava/nbio/core/fasta/TestFASTAReader.java @@ -0,0 +1,148 @@ +package org.biojava.nbio.core.fasta; + +import java.io.InputStream; +import java.util.LinkedHashMap; + +import static org.junit.Assert.* ; +import static org.hamcrest.CoreMatchers.* ; + +import org.biojava.nbio.core.sequence.ProteinSequence; +import org.biojava.nbio.core.sequence.compound.AminoAcidCompound; +import org.biojava.nbio.core.sequence.compound.AminoAcidCompoundSet; +import org.biojava.nbio.core.sequence.io.FastaReader; +import org.biojava.nbio.core.sequence.io.GenericFastaHeaderParser; +import org.biojava.nbio.core.sequence.io.ProteinSequenceCreator; +import org.biojava.nbio.core.sequence.io.util.ClasspathResource; +import org.junit.Test; + + +public class TestFASTAReader { + + private void testProcessAll(String path) throws Exception { + ClasspathResource r = new ClasspathResource(path); + FastaReader fastaReader = null ; + try( InputStream inStream = r.getInputStream() ) { + fastaReader = new FastaReader( + inStream, + new GenericFastaHeaderParser(), + new ProteinSequenceCreator(AminoAcidCompoundSet.getAminoAcidCompoundSet())); + LinkedHashMap sequences = fastaReader.process(); + assertThat(sequences,is(notNullValue())); + assertThat(sequences.size(),is(1)); + assertThat(sequences.containsKey("P02768"),is(true)); + assertThat(sequences.get("P02768").getLength(),is(609)); + } finally { + if(fastaReader != null) fastaReader.close(); + } + } + + /** + * Test file contains one sequence (P02768 from swissprot). Read the whole + * file all at once by calling {@link FastaReader#process()} and verify that + * one sequence is read. + * + * @throws Exception + */ + @Test + public void testProcessAll() throws Exception { + testProcessAll("org/biojava/nbio/core/fasta/P02768.fasta"); + } + + /** + * Same as {@link #testProcessAll()} but input files contains blank lines + * + * @throws Exception + */ + @Test + public void testProcessAllWithBlankLines() throws Exception { + testProcessAll("org/biojava/nbio/core/fasta/P02768_blank_lines.fasta"); + } + + private void testProcess1(String path) throws Exception { + ClasspathResource r = new ClasspathResource(path); + FastaReader fastaReader = null ; + try( InputStream inStream = r.getInputStream() ) { + fastaReader = new FastaReader( + inStream, + new GenericFastaHeaderParser(), + new ProteinSequenceCreator(AminoAcidCompoundSet.getAminoAcidCompoundSet())); + LinkedHashMap out1 = fastaReader.process(1); + assertThat(out1,is(notNullValue())); + assertThat(out1.size(),is(1)); + assertThat(out1.containsKey("P02768"),is(true)); + assertThat(out1.get("P02768").getLength(),is(609)); + LinkedHashMap out2 = fastaReader.process(1); + assertThat(out2,is(nullValue())); + } finally { + if(fastaReader != null) fastaReader.close(); + } + } + + /** + * Test file contains one sequence (P02768 from swissprot). Read one + * sequence at a time by calling {@link FastaReader#process(int)} and verify + * that the first call get one sequence and the second call get none. + * + * @throws Exception + */ + @Test + public void testProcess1() throws Exception { + testProcess1("org/biojava/nbio/core/fasta/P02768.fasta"); + } + + /** + * Same as {@link #testProcess1()}, but input contains blank lines. + * + * @throws Exception + */ + @Test + public void testProcess1WithBlankLines() throws Exception { + testProcess1("org/biojava/nbio/core/fasta/P02768_blank_lines.fasta"); + } + + private void testProcess2(String path) throws Exception { + ClasspathResource r = new ClasspathResource(path); + FastaReader fastaReader = null ; + try( InputStream inStream = r.getInputStream() ) { + fastaReader = new FastaReader( + inStream, + new GenericFastaHeaderParser(), + new ProteinSequenceCreator(AminoAcidCompoundSet.getAminoAcidCompoundSet())); + LinkedHashMap out1 = fastaReader.process(1); + assertThat(out1,is(notNullValue())); + assertThat(out1.size(),is(1)); + assertThat(out1.containsKey("P02768"),is(true)); + assertThat(out1.get("P02768").getLength(),is(609)); + LinkedHashMap out2 = fastaReader.process(1); + assertThat(out2,is(notNullValue())); + assertThat(out2.size(),is(1)); + assertThat(out2.containsKey("P00698"),is(true)); + assertThat(out2.get("P00698").getLength(),is(147)); + LinkedHashMap out3 = fastaReader.process(1); + assertThat(out3,is(nullValue())); + } finally { + if(fastaReader != null) fastaReader.close(); + } + } + + /** + * Test file contains two sequences. Read one sequence at a time by calling + * {@link FastaReader#process(int)} and verify that the first and second + * call get one sequence each and the third call get none. + * + * @throws Exception + */ + @Test + public void testProcess2() throws Exception { + testProcess2("org/biojava/nbio/core/fasta/TwoSequences.fasta"); + } + + /** + * Sane as {@link #testProcess2()} but input file contain blank lines + * @throws Exception + */ + @Test + public void testProcess2WithBlankLines() throws Exception { + testProcess2("org/biojava/nbio/core/fasta/TwoSequences_blank_lines.fasta"); + } +} diff --git a/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/P02768.fasta b/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/P02768.fasta new file mode 100644 index 0000000000..a435ae5a76 --- /dev/null +++ b/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/P02768.fasta @@ -0,0 +1,12 @@ +>sp|P02768|ALBU_HUMAN Serum albumin OS=Homo sapiens GN=ALB PE=1 SV=2 +MKWVTFISLLFLFSSAYSRGVFRRDAHKSEVAHRFKDLGEENFKALVLIAFAQYLQQCPF +EDHVKLVNEVTEFAKTCVADESAENCDKSLHTLFGDKLCTVATLRETYGEMADCCAKQEP +ERNECFLQHKDDNPNLPRLVRPEVDVMCTAFHDNEETFLKKYLYEIARRHPYFYAPELLF +FAKRYKAAFTECCQAADKAACLLPKLDELRDEGKASSAKQRLKCASLQKFGERAFKAWAV +ARLSQRFPKAEFAEVSKLVTDLTKVHTECCHGDLLECADDRADLAKYICENQDSISSKLK +ECCEKPLLEKSHCIAEVENDEMPADLPSLAADFVESKDVCKNYAEAKDVFLGMFLYEYAR +RHPDYSVVLLLRLAKTYETTLEKCCAAADPHECYAKVFDEFKPLVEEPQNLIKQNCELFE +QLGEYKFQNALLVRYTKKVPQVSTPTLVEVSRNLGKVGSKCCKHPEAKRMPCAEDYLSVV +LNQLCVLHEKTPVSDRVTKCCTESLVNRRPCFSALEVDETYVPKEFNAETFTFHADICTL +SEKERQIKKQTALVELVKHKPKATKEQLKAVMDDFAAFVEKCCKADDKETCFAEEGKKLV +AASQAALGL \ No newline at end of file diff --git a/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/P02768_blank_lines.fasta b/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/P02768_blank_lines.fasta new file mode 100644 index 0000000000..2d56071f34 --- /dev/null +++ b/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/P02768_blank_lines.fasta @@ -0,0 +1,21 @@ +>sp|P02768|ALBU_HUMAN Serum albumin OS=Homo sapiens GN=ALB PE=1 SV=2 +MKWVTFISLLFLFSSAYSRGVFRRDAHKSEVAHRFKDLGEENFKALVLIAFAQYLQQCPF +EDHVKLVNEVTEFAKTCVADESAENCDKSLHTLFGDKLCTVATLRETYGEMADCCAKQEP +ERNECFLQHKDDNPNLPRLVRPEVDVMCTAFHDNEETFLKKYLYEIARRHPYFYAPELLF +FAKRYKAAFTECCQAADKAACLLPKLDELRDEGKASSAKQRLKCASLQKFGERAFKAWAV + + + +ARLSQRFPKAEFAEVSKLVTDLTKVHTECCHGDLLECADDRADLAKYICENQDSISSKLK +ECCEKPLLEKSHCIAEVENDEMPADLPSLAADFVESKDVCKNYAEAKDVFLGMFLYEYAR +RHPDYSVVLLLRLAKTYETTLEKCCAAADPHECYAKVFDEFKPLVEEPQNLIKQNCELFE +QLGEYKFQNALLVRYTKKVPQVSTPTLVEVSRNLGKVGSKCCKHPEAKRMPCAEDYLSVV +LNQLCVLHEKTPVSDRVTKCCTESLVNRRPCFSALEVDETYVPKEFNAETFTFHADICTL +SEKERQIKKQTALVELVKHKPKATKEQLKAVMDDFAAFVEKCCKADDKETCFAEEGKKLV +AASQAALGL + + + + + + diff --git a/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/TwoSequences.fasta b/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/TwoSequences.fasta new file mode 100644 index 0000000000..2fde8a3f43 --- /dev/null +++ b/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/TwoSequences.fasta @@ -0,0 +1,16 @@ +>sp|P02768|ALBU_HUMAN Serum albumin OS=Homo sapiens GN=ALB PE=1 SV=2 +MKWVTFISLLFLFSSAYSRGVFRRDAHKSEVAHRFKDLGEENFKALVLIAFAQYLQQCPF +EDHVKLVNEVTEFAKTCVADESAENCDKSLHTLFGDKLCTVATLRETYGEMADCCAKQEP +ERNECFLQHKDDNPNLPRLVRPEVDVMCTAFHDNEETFLKKYLYEIARRHPYFYAPELLF +FAKRYKAAFTECCQAADKAACLLPKLDELRDEGKASSAKQRLKCASLQKFGERAFKAWAV +ARLSQRFPKAEFAEVSKLVTDLTKVHTECCHGDLLECADDRADLAKYICENQDSISSKLK +ECCEKPLLEKSHCIAEVENDEMPADLPSLAADFVESKDVCKNYAEAKDVFLGMFLYEYAR +RHPDYSVVLLLRLAKTYETTLEKCCAAADPHECYAKVFDEFKPLVEEPQNLIKQNCELFE +QLGEYKFQNALLVRYTKKVPQVSTPTLVEVSRNLGKVGSKCCKHPEAKRMPCAEDYLSVV +LNQLCVLHEKTPVSDRVTKCCTESLVNRRPCFSALEVDETYVPKEFNAETFTFHADICTL +SEKERQIKKQTALVELVKHKPKATKEQLKAVMDDFAAFVEKCCKADDKETCFAEEGKKLV +AASQAALGL +>sp|P00698|LYSC_CHICK Lysozyme C OS=Gallus gallus GN=LYZ PE=1 SV=1 +MRSLLILVLCFLPLAALGKVFGRCELAAAMKRHGLDNYRGYSLGNWVCAAKFESNFNTQA +TNRNTDGSTDYGILQINSRWWCNDGRTPGSRNLCNIPCSALLSSDITASVNCAKKIVSDG +NGMNAWVAWRNRCKGTDVQAWIRGCRL \ No newline at end of file diff --git a/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/TwoSequences_blank_lines.fasta b/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/TwoSequences_blank_lines.fasta new file mode 100644 index 0000000000..78006dd898 --- /dev/null +++ b/biojava-core/src/test/resources/org/biojava/nbio/core/fasta/TwoSequences_blank_lines.fasta @@ -0,0 +1,21 @@ +>sp|P02768|ALBU_HUMAN Serum albumin OS=Homo sapiens GN=ALB PE=1 SV=2 +MKWVTFISLLFLFSSAYSRGVFRRDAHKSEVAHRFKDLGEENFKALVLIAFAQYLQQCPF +EDHVKLVNEVTEFAKTCVADESAENCDKSLHTLFGDKLCTVATLRETYGEMADCCAKQEP +ERNECFLQHKDDNPNLPRLVRPEVDVMCTAFHDNEETFLKKYLYEIARRHPYFYAPELLF + + +FAKRYKAAFTECCQAADKAACLLPKLDELRDEGKASSAKQRLKCASLQKFGERAFKAWAV +ARLSQRFPKAEFAEVSKLVTDLTKVHTECCHGDLLECADDRADLAKYICENQDSISSKLK +ECCEKPLLEKSHCIAEVENDEMPADLPSLAADFVESKDVCKNYAEAKDVFLGMFLYEYAR +RHPDYSVVLLLRLAKTYETTLEKCCAAADPHECYAKVFDEFKPLVEEPQNLIKQNCELFE +QLGEYKFQNALLVRYTKKVPQVSTPTLVEVSRNLGKVGSKCCKHPEAKRMPCAEDYLSVV +LNQLCVLHEKTPVSDRVTKCCTESLVNRRPCFSALEVDETYVPKEFNAETFTFHADICTL +SEKERQIKKQTALVELVKHKPKATKEQLKAVMDDFAAFVEKCCKADDKETCFAEEGKKLV +AASQAALGL + + +>sp|P00698|LYSC_CHICK Lysozyme C OS=Gallus gallus GN=LYZ PE=1 SV=1 +MRSLLILVLCFLPLAALGKVFGRCELAAAMKRHGLDNYRGYSLGNWVCAAKFESNFNTQA + +TNRNTDGSTDYGILQINSRWWCNDGRTPGSRNLCNIPCSALLSSDITASVNCAKKIVSDG +NGMNAWVAWRNRCKGTDVQAWIRGCRL \ No newline at end of file diff --git a/biojava-genome/pom.xml b/biojava-genome/pom.xml index e3c8bc66e0..2f865c9f1c 100644 --- a/biojava-genome/pom.xml +++ b/biojava-genome/pom.xml @@ -3,7 +3,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 4.0.0 biojava-genome @@ -85,13 +85,13 @@ org.biojava biojava-core - 4.2.9 + 4.2.10 compile org.biojava biojava-alignment - 4.2.9 + 4.2.10 compile diff --git a/biojava-integrationtest/pom.xml b/biojava-integrationtest/pom.xml index d024d95f5c..a2c489c21c 100644 --- a/biojava-integrationtest/pom.xml +++ b/biojava-integrationtest/pom.xml @@ -4,7 +4,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 biojava-integrationtest jar @@ -32,7 +32,7 @@ org.biojava biojava-structure - 4.2.9 + 4.2.10 diff --git a/biojava-modfinder/pom.xml b/biojava-modfinder/pom.xml index 95f8367ac7..5b180290a5 100644 --- a/biojava-modfinder/pom.xml +++ b/biojava-modfinder/pom.xml @@ -4,7 +4,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 biojava-modfinder biojava-modfinder @@ -31,7 +31,7 @@ org.biojava biojava-structure - 4.2.9 + 4.2.10 jar compile diff --git a/biojava-ontology/pom.xml b/biojava-ontology/pom.xml index e104b8caf8..6ef151037f 100644 --- a/biojava-ontology/pom.xml +++ b/biojava-ontology/pom.xml @@ -4,7 +4,7 @@ org.biojava biojava - 4.2.9 + 4.2.10 biojava-ontology diff --git a/biojava-phylo/pom.xml b/biojava-phylo/pom.xml index ef52ff66d9..adc2a88a14 100644 --- a/biojava-phylo/pom.xml +++ b/biojava-phylo/pom.xml @@ -3,7 +3,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 4.0.0 biojava-phylo @@ -44,7 +44,7 @@ org.biojava biojava-core - 4.2.9 + 4.2.10 compile diff --git a/biojava-protein-disorder/pom.xml b/biojava-protein-disorder/pom.xml index c1be8471f4..b9ce3e69ea 100644 --- a/biojava-protein-disorder/pom.xml +++ b/biojava-protein-disorder/pom.xml @@ -3,7 +3,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 biojava-protein-disorder jar @@ -63,7 +63,7 @@ org.biojava biojava-core - 4.2.9 + 4.2.10 diff --git a/biojava-sequencing/pom.xml b/biojava-sequencing/pom.xml index 271a3b0a74..092c50284c 100644 --- a/biojava-sequencing/pom.xml +++ b/biojava-sequencing/pom.xml @@ -3,7 +3,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 4.0.0 biojava-sequencing @@ -47,7 +47,7 @@ org.biojava biojava-core - 4.2.9 + 4.2.10 compile diff --git a/biojava-structure-gui/pom.xml b/biojava-structure-gui/pom.xml index 7ee5f84970..061398727b 100644 --- a/biojava-structure-gui/pom.xml +++ b/biojava-structure-gui/pom.xml @@ -3,7 +3,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 4.0.0 biojava-structure-gui @@ -25,13 +25,13 @@ org.biojava biojava-structure - 4.2.9 + 4.2.10 compile org.biojava biojava-core - 4.2.9 + 4.2.10 compile diff --git a/biojava-structure/pom.xml b/biojava-structure/pom.xml index 3942a08a66..3c165e33d3 100644 --- a/biojava-structure/pom.xml +++ b/biojava-structure/pom.xml @@ -4,7 +4,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 biojava-structure biojava-structure @@ -22,13 +22,13 @@ org.biojava biojava-alignment - 4.2.9 + 4.2.10 compile org.biojava biojava-core - 4.2.9 + 4.2.10 compile diff --git a/biojava-structure/src/main/java/org/biojava/nbio/structure/Calc.java b/biojava-structure/src/main/java/org/biojava/nbio/structure/Calc.java index d09252f16c..426d6c8a17 100644 --- a/biojava-structure/src/main/java/org/biojava/nbio/structure/Calc.java +++ b/biojava-structure/src/main/java/org/biojava/nbio/structure/Calc.java @@ -450,7 +450,8 @@ public static final void rotate(Structure structure, Matrix m){ * @param t transformation Matrix4d */ public static void transform(Atom[] ca, Matrix4d t) { - for (Atom atom : ca) Calc.transform(atom, t); + for (Atom atom : ca) + Calc.transform(atom, t); } /** @@ -479,13 +480,14 @@ public static final void transform (Atom atom, Matrix4d m) { * @param group * @param m */ - public static final void transform (Group group, Matrix4d m) { - AtomIterator iter = new AtomIterator(group) ; - - while (iter.hasNext()) { - Atom atom = iter.next() ; - transform(atom,m); - + public static final void transform(Group group, Matrix4d m) { + for (Atom atom : group.getAtoms()) { + transform(atom, m); + } + for (Group altG : group.getAltLocs()) { + for (Atom atom : altG.getAtoms()) { + transform(atom, m); + } } } @@ -497,13 +499,11 @@ public static final void transform (Group group, Matrix4d m) { * @param structure * @param m */ - public static final void transform (Structure structure, Matrix4d m) { - AtomIterator iter = new AtomIterator(structure) ; - - while (iter.hasNext()) { - Atom atom = iter.next() ; - transform(atom,m); - + public static final void transform(Structure structure, Matrix4d m) { + for (int n=0; n org.biojava biojava - 4.2.9 + 4.2.10 biojava-survival diff --git a/biojava-ws/pom.xml b/biojava-ws/pom.xml index b41fac0e17..dd810a38bd 100644 --- a/biojava-ws/pom.xml +++ b/biojava-ws/pom.xml @@ -3,7 +3,7 @@ biojava org.biojava - 4.2.9 + 4.2.10 biojava-ws biojava-ws @@ -19,7 +19,7 @@ org.biojava biojava-core - 4.2.9 + 4.2.10 compile diff --git a/pom.xml b/pom.xml index 02983fdba1..b6dca9f797 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.biojava biojava pom - 4.2.9 + 4.2.10 biojava BioJava is an open-source project dedicated to providing a Java framework for processing biological data. It provides analytical and statistical routines, parsers for common file formats and allows the @@ -44,7 +44,7 @@ scm:git:git@github.com:biojava/biojava.git https://github.com/biojava/biojava - biojava-4.2.9 + biojava-4.2.10