Skip to content

Commit 340a26a

Browse files
authored
Merge pull request #4 from MattOates/feature/update_data_download
Make timeout waiting for ELM ten minutes to try and improve chance of…
2 parents 2e38793 + 12df509 commit 340a26a

File tree

11 files changed

+93
-40
lines changed

11 files changed

+93
-40
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,4 @@ inc/
2828
nytprof.out
2929
pm_to_blib
3030
pod2htm*.tmp
31+
fatlib/

Build.PL

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
use strict;
2+
use warnings;
3+
use Module::Build;
4+
5+
use 5.008;
6+
7+
8+
my $builder = Module::Build->new(
9+
module_name => 'ELM',
10+
license => 'lgpl_3',
11+
dist_author => 'Matt Oates <mattoates@gmail.com>',
12+
dist_abstract => 'CLI tool for assigning Eukaryotic Linear Motifs from the ELM.eu.org database',
13+
create_makefile_pl => 0, #'traditional',
14+
script_files => 'bin/melm',
15+
create_readme => 0,
16+
requires => {
17+
'LWP::UserAgent' => '6.15',
18+
'BioPerl' => '1.7.2',
19+
'Class::Tiny' => '1.004',
20+
'Pod::Usage' => '1.69'
21+
},
22+
build_requires => {
23+
'Test::More' => '0.47',
24+
'Test::Pod::Coverage' => '1.10',
25+
'Test::Pod' => '1.51',
26+
'Devel::Cover' => '1.23',
27+
'Devel::Cover::Report::Coveralls' => '0.11'
28+
},
29+
);
30+
31+
$builder->create_build_script();
32+

CHANGES.md

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,32 @@
1-
###2014-08-30
2-
* First features added.
1+
###2019-05-17
2+
* Updated timeout so that downloads from ELM.eu.org are more likely to succeed.
3+
* Cut a new maintenance release 1.4.2
34

4-
###2014-09-05
5-
* Masking with only specific ELM classes included based on expect value and motif type
5+
###2016-07-05
6+
* Majority of refactor complete
67

7-
###2014-09-08
8-
* ELM instance downloading
9-
* False Positive logic filtering based on ELM instances library.
10-
* GFF3 and assignment output
8+
###2016-06-25
9+
* Huge refactor into split packages allowing more ELM based tools, releases now are fatpack
10+
11+
###2016-05-23
12+
* Removed bitrot due to changes at ELM.eu.org and enabled support for v1.4 of ELM
13+
14+
###2014-09-10
15+
* Allowed for the script to upgrade itself from GitHub and made it a bit more friendly to use
1116

1217
###2014-09-09
1318
* Integrated ANCHOR predictions if this is installed on the system (independent of OS)
1419
* Limit motif assignment to predicted binding regions (MoRF)
1520
* Limit motif assignment to predicted disordered regions
1621

17-
###2014-09-10
18-
* Allowed for the script to upgrade itself from GitHub and made it a bit more friendly to use
22+
###2014-09-08
23+
* ELM instance downloading
24+
* False Positive logic filtering based on ELM instances library.
25+
* GFF3 and assignment output
1926

20-
###2016-05-23
21-
* Removed bitrot due to changes at ELM.eu.org and enabled support for v1.4 of ELM
27+
###2014-09-05
28+
* Masking with only specific ELM classes included based on expect value and motif type
2229

23-
###2016-06-25
24-
* Huge refactor into split packages allowing more ELM based tools, releases now are fatpack
30+
###2014-08-30
31+
* First features added.
2532

26-
###2016-07-05
27-
* Majority of refactor complete

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ License
101101
=======
102102

103103
melm - Mask and assign ELM motifs in protein sequence libraries
104-
(C) 2014-2016 Dr Matt E. Oates
104+
(C) 2014-2019 Dr Matt E. Oates
105105

106106
This program is free software: you can redistribute it and/or modify
107107
it under the terms of the GNU Affero General Public License as

bin/melm

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ If you have used mELM with ANCHOR predictions please cite the following:
6868
6969
=head1 EXAMPLES
7070
71+
First time running the script, get the ELM library locally installed to your home
72+
73+
melm --update
74+
7175
Soft mask regions of a protein that do not contain any plausible ELM motifs
7276
7377
melm human_proteins.fa > human_proteins_motifs.fa
@@ -80,10 +84,14 @@ Mask all PTM sites with 'X' in a set of seqences
8084
8185
melm --hard-mask --mask-motifs --type=MOD human_proteins.fa > human_no_ptms.fa
8286
83-
Get a GFF3 file for a whole genomes worth of protein annotations
87+
Get a GFF3 file for a whole genome's worth of protein annotations
8488
8589
melm --assign --GFF3 human_proteins.fa > human_motifs.gff3
8690
91+
Get another GFF3 file but this time be strict on assignment to those active in native disordered state
92+
93+
melm --assign --GFF3 --logic-filter --disorder-filter human_proteins.fa > disordered_hiqual_human_motifs.gff3
94+
8795
Get the latest ELM classes library for use in another script or by yourself
8896
8997
melm --update --list-classes
@@ -99,7 +107,7 @@ B<Matt Oates> - I<mattoates@gmail.com>
99107
=head1 LICENSE
100108
101109
melm - Mask and assign ELM motifs in protein sequence libraries
102-
(C) 2014-2016 Dr Matt E. Oates
110+
(C) 2014-2019 Dr Matt E. Oates
103111
104112
This program is free software: you can redistribute it and/or modify
105113
it under the terms of the GNU Affero General Public License as
@@ -116,6 +124,10 @@ B<Matt Oates> - I<mattoates@gmail.com>
116124
117125
=head1 EDIT HISTORY
118126
127+
2019-05-17
128+
* Updated timeout so that downloads from ELM.eu.org are more likely to succeed.
129+
* Cut a new maintenance release 1.4.2
130+
119131
2016-07-05 - Matt Oates
120132
* Majority of refactor complete
121133
@@ -147,6 +159,8 @@ B<Matt Oates> - I<mattoates@gmail.com>
147159
=head1 TODO
148160
149161
* Create an HTML output report with everything in
162+
* Get the interaction partner data and report on it
163+
* Do some domain assignment and match up the PDB interaction partners
150164
151165
=cut
152166

@@ -167,7 +181,7 @@ use ELM;
167181
use ELM::Utils 'get_www';
168182

169183
#Current version of the script
170-
our $VERSION = "v1.4.1";
184+
our $VERSION = "v1.4.2";
171185

172186
#User options
173187
my $help;
@@ -220,7 +234,7 @@ my @fasta_files = @ARGV;
220234
#Print out some help if it was asked for or if no arguments were given.
221235
pod2usage(-exitstatus => 0, -verbose => 2) if $help;
222236

223-
pod2usage(-exitstatus => 0, -verbose => 1, -msg => "mELM version $VERSION by Matt Oates (C) 2014-2016. Please provide some sequence files to mask or assign ELM motifs to.")
237+
pod2usage(-exitstatus => 0, -verbose => 1, -msg => "mELM version $VERSION by Matt Oates (C) 2014-2019. Please provide some sequence files to mask or assign ELM motifs to.")
224238
unless $update or $upgrade or $list_classes or $list_instances or scalar @fasta_files >= 1;
225239

226240
my $elm = ELM->new(

lib/ELM.pm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package ELM v1.4.1;
1+
package ELM v1.4.2;
22
=encoding UTF-8
33
=head1 NAME
44
55
ELM - Class to do analysis with the ELM regex library
66
77
=head1 VERSION
88
9-
Version v1.4.1
9+
Version v1.4.2
1010
1111
=cut
1212

@@ -219,7 +219,7 @@ If you have used mELM with ANCHOR predictions please cite the following:
219219
220220
=head1 LICENSE AND COPYRIGHT
221221
222-
Copyright 2016 Matt Oates.
222+
Copyright 2019 Matt Oates.
223223
224224
This program is free software: you can redistribute it and/or modify
225225
it under the terms of the GNU Affero General Public License as

lib/ELM/AminoAcids.pm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package ELM::AminoAcids v1.4.1;
1+
package ELM::AminoAcids v1.4.2;
22
require Exporter;
33
=encoding UTF-8
44
=head1 NAME
@@ -7,7 +7,7 @@ ELM::AminoAcids - Functions for dealing with amino acid specific calculations
77
88
=head1 VERSION
99
10-
Version v1.4.1
10+
Version v1.4.2
1111
1212
=cut
1313

@@ -142,7 +142,7 @@ If you have used mELM with ANCHOR predictions please cite the following:
142142
143143
=head1 LICENSE AND COPYRIGHT
144144
145-
Copyright 2016 Matt Oates.
145+
Copyright 2019 Matt Oates.
146146
147147
This program is free software: you can redistribute it and/or modify
148148
it under the terms of the GNU Affero General Public License as

lib/ELM/Anchor.pm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package ELM::Anchor v1.4.1;
1+
package ELM::Anchor v1.4.2;
22
=encoding UTF-8
33
=head1 NAME
44
55
ELM::Anchor - Class to wrap ANCHOR and get assignments
66
77
=head1 VERSION
88
9-
Version v1.4.1
9+
Version v1.4.2
1010
1111
=cut
1212

@@ -194,7 +194,7 @@ If you have used mELM with ANCHOR predictions please cite the following:
194194
195195
=head1 LICENSE AND COPYRIGHT
196196
197-
Copyright 2016 Matt Oates.
197+
Copyright 2019 Matt Oates.
198198
199199
This program is free software: you can redistribute it and/or modify
200200
it under the terms of the GNU Affero General Public License as

lib/ELM/Calc.pm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package ELM::Calc v1.4.1;
1+
package ELM::Calc v1.4.2;
22
require Exporter;
33
=encoding UTF-8
44
=head1 NAME
@@ -7,7 +7,7 @@ ELM::Calc - Functions for calculating sequence assignment specific tasks
77
88
=head1 VERSION
99
10-
Version v1.4.1
10+
Version v1.4.2
1111
1212
=cut
1313

@@ -138,7 +138,7 @@ If you have used mELM with ANCHOR predictions please cite the following:
138138
139139
=head1 LICENSE AND COPYRIGHT
140140
141-
Copyright 2016 Matt Oates.
141+
Copyright 2019 Matt Oates.
142142
143143
This program is free software: you can redistribute it and/or modify
144144
it under the terms of the GNU Affero General Public License as

lib/ELM/Library.pm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package ELM::Library v1.4.1;
1+
package ELM::Library v1.4.2;
22
=encoding UTF-8
33
=head1 NAME
44
55
ELM::Library - Class to hold the ELM regex library
66
77
=head1 VERSION
88
9-
Version v1.4.1
9+
Version v1.4.2
1010
1111
=cut
1212

@@ -170,7 +170,7 @@ sub _get_instance_seqs($self) {
170170
sub _update_elm_instances($self) {
171171
my $instances_version;
172172
my %instance_logic = ('false positive' => 'FP','true negative' => 'TN','true positive', => 'TP', 'unknown' => 'U');
173-
my $instances_tsv = get_www('http://elm.eu.org/instances.tsv?q=*&taxon=&instance_logic=');
173+
my $instances_tsv = get_www('http://elm.eu.org/instances.tsv?q=*');
174174
my %uniprot_sequences = $self->_get_instance_seqs();
175175
#Each record looks like:
176176
#Accession, ELMType, ELMIdentifier, ProteinName, Primary_Acc, Accessions, Start, End, References, Methods, InstanceLogic, PDB, Organism
@@ -234,7 +234,7 @@ If you have used mELM with ANCHOR predictions please cite the following:
234234
235235
=head1 LICENSE AND COPYRIGHT
236236
237-
Copyright 2016 Matt Oates.
237+
Copyright 2019 Matt Oates.
238238
239239
This program is free software: you can redistribute it and/or modify
240240
it under the terms of the GNU Affero General Public License as

0 commit comments

Comments
 (0)