Entering edit mode
                    11.2 years ago
        ewa_kania-15
        
    
        •
    
    0
    Hello I'm trying to run the Multiple Sequence Alignment using biojava and ready code recommended by biojava
public class CookbookMSA {
    public static void main(String[] args) {
        String[] ids = new String[] {"Q21691", "Q21495", "O48771"};
        try {
            multipleSequenceAlignment(ids);
        } catch (Exception e){
            e.printStackTrace();
        }
    }
    private static void multipleSequenceAlignment(String[] ids) throws Exception {
        List<ProteinSequence> lst = new ArrayList<ProteinSequence>();
        for (String id : ids) {
            lst.add(getSequenceForId(id));
        }
        Profile<ProteinSequence, AminoAcidCompound> profile = Alignments.getMultipleSequenceAlignment(lst);
        System.out.printf("Clustalw:%n%s%n", profile);
        ConcurrencyTools.shutdown();
    }
    private static ProteinSequence getSequenceForId(String uniProtId) throws Exception {
        URL uniprotFasta = new URL(String.format("<a href="http://www.uniprot.org/uniprot/%s.fasta">http://www.uniprot.org/uniprot/%s.fasta</a>", uniProtId));
        ProteinSequence seq = FastaReaderHelper.readFastaProteinSequence(uniprotFasta.openStream()).get(uniProtId);
        System.out.printf("id : %s %s%n%s%n", uniProtId, seq, seq.getOriginalHeader());
        return seq;
    }
}
But I got an error:
id : A3SA23 MKFTFFLMLGTSALALSAGVATAQDAVDLGEIIIQSEEDPTGPVVGYAAGTTASTKSGRSLLETPSSVTVVTTDQIEDTAANNLSEALGYAAGVVTEAYGADPRFDSISVRGADLQNQIYLNGLQFSRSTRPNYGAPSLDLYGMERVELLRGPNSVLYGAGSPAGLVNLIQKRAQSDGDTTELGLHADGNGSHYVFGDANRVVDDRFAYRIVGKAGNRVLGIDEYDNPGAYLGFAAKYQATDATTVEFLLSYQDDDPDSPSGVPNGLVGTRSDEDLRDFYFGNEALEYGDRKVLNLGAQVTHTFDNGWRLVSNTGVTKFDWSYSNLFVGGVTGTDVARTQLLQDEDVTSYATDLRLEGSALTGDVLHNLAFGIDASRFEETALSVFYYGQDSIDFAAPDYSPITPVRDGASWYANKNVTVEQVGIYASDEIEYGNWRAGLALRHDRNKSEGQSNTLYTVPGSGGTPGTVDLTRDDSATTGQASLGYVWDNGVSAYLSYGTSFQSFAEPGDTGTALDPTTGEQWEVGAKYLPATLDAYLSASVYQLEEKNRPVYVQNGAGVRAYDQVGKSRIRGLELEGRANLADGWSVTGGYSYTDSEIIGGDNNGNELGLTPKHTFKLWASKEIQGGPLAGLTVGAGARFIGERYAFNANANQLDSVTLLDAAVSYDFDDGTELQVNVTNLTDEAYVSSVGYFSTYYGDGRTISATLSKKW
tr|A3SA23|A3SA23_9RHOB TonB dependent, hydroxamate-type ferrisiderophore, outer membrane receptor OS=Sulfitobacter sp. EE-36 GN=EE36_08023 PE=3 SV=1
java.lang.ArrayIndexOutOfBoundsException: 0
 at org.biojava3.core.sequence.io.GenericFastaHeaderParser.parseHeader(GenericFastaHeaderParser.java:113)
 at org.biojava3.core.sequence.io.GenericFastaHeaderParser.parseHeader(GenericFastaHeaderParser.java:60)
 at org.biojava3.core.sequence.io.FastaReader.process(FastaReader.java:182)
 at org.biojava3.core.sequence.io.FastaReader.process(FastaReader.java:108)
 at org.biojava3.core.sequence.io.FastaReaderHelper.readFastaProteinSequence(FastaReaderHelper.java:100)
 at CookbookMSA.getSequenceForId(CookbookMSA.java:35)
 at CookbookMSA.multipleSequenceAlignment(CookbookMSA.java:26)
 at CookbookMSA.main(CookbookMSA.java:17)
what does it mean?
I use Windows, and Eclipse Luna
This is true. But I noticed that problem is with java. I have jre8, I dont know why but biojava works only with jre7
if you get the latest trunk code from github, it works also with Java 8.