Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
95 lines (74 loc) · 2.62 KB

File metadata and controls

95 lines (74 loc) · 2.62 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
* BioJava development code
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. If you do not have a copy,
* see:
*
* http://www.gnu.org/copyleft/lesser.html
*
* Copyright for this code is held jointly by the individual
* authors. These should be listed in @author doc comments.
*
* For more information on the BioJava project and its aims,
* or to join the biojava-l mailing list, visit the home page
* at:
*
* http://www.biojava.org/
*
*/
package demo;
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.loader.UniprotProxySequenceReader;
import org.biojava.nbio.ws.hmmer.HmmerDomain;
import org.biojava.nbio.ws.hmmer.HmmerResult;
import org.biojava.nbio.ws.hmmer.RemoteHmmerScan;
import java.util.SortedSet;
/**
* The cookbook recipe for how to request Pfam annotations for a protein sequence using the Hmmer3 service
*
* @author Andreas Prlic
* @since 3.0.3
*/
public class HmmerDemo {
public static void main(String[] args) throws Exception {
// first we get a UniProt sequence
String uniProtID = "P08487";
ProteinSequence seq = getUniprot(uniProtID);
// now we submit this sequence to the Hmmer web site
RemoteHmmerScan hmmer = new RemoteHmmerScan();
SortedSet<HmmerResult> results = hmmer.scan(seq);
// and now let's print out the obtained annotations
System.out.println(String.format("#\t%15s\t%10s\t%s\t%s\t%8s\t%s",
"Domain","ACC", "Start","End","eValue","Description"));
int counter = 0;
for (HmmerResult hmmerResult : results) {
//System.out.println(hmmerResult);
for ( HmmerDomain domain : hmmerResult.getDomains()) {
counter++;
System.out.println(String.format("%d\t%15s\t%10s\t%5d\t%5d\t%.2e\t%s",
counter,
hmmerResult.getName(), domain.getHmmAcc(),
domain.getSqFrom(),domain.getSqTo(),
domain.getEvalue(), hmmerResult.getDesc()
));
}
}
}
/**
* Fetch a protein sequence from the UniProt web site
*
* @param uniProtID
* @return a Protein Sequence
* @throws Exception
*/
private static ProteinSequence getUniprot(String uniProtID) throws Exception {
AminoAcidCompoundSet set = AminoAcidCompoundSet.getAminoAcidCompoundSet();
UniprotProxySequenceReader<AminoAcidCompound> uniprotSequence = new UniprotProxySequenceReader<>(uniProtID,set);
ProteinSequence seq = new ProteinSequence(uniprotSequence);
return seq;
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.