diff --git a/Changes b/Changes
index 344c5e9..4ed87aa 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,8 @@
 Summary of important user-visible changes for Bio-Procedural
 ------------------------------------------------------------
 
+1.7.4     2022-03-28 17:51:10+00:00 UTC
+
 1.7.4     2019-11-29 14:46:16-06:00 America/Chicago
   * Make abstract for distribution more specific (minor fix)
 
diff --git a/LICENSE b/LICENSE
index c41391f..27848cd 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-This software is copyright (c) 2019 by Ewan Birney <birney@ebi.ac.uk>.
+This software is copyright (c) 2022 by Ewan Birney <birney@ebi.ac.uk>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2019 by Ewan Birney <birney@ebi.ac.uk>.
+This software is Copyright (c) 2022 by Ewan Birney <birney@ebi.ac.uk>.
 
 This is free software, licensed under:
 
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2019 by Ewan Birney <birney@ebi.ac.uk>.
+This software is Copyright (c) 2022 by Ewan Birney <birney@ebi.ac.uk>.
 
 This is free software, licensed under:
 
@@ -292,21 +292,21 @@ Definitions:
 
   - "Package" refers to the collection of files distributed by the Copyright
     Holder, and derivatives of that collection of files created through
-    textual modification. 
+    textual modification.
   - "Standard Version" refers to such a Package if it has not been modified,
     or has been modified in accordance with the wishes of the Copyright
-    Holder. 
+    Holder.
   - "Copyright Holder" is whoever is named in the copyright or copyrights for
-    the package. 
+    the package.
   - "You" is you, if you're thinking about copying or distributing this Package.
   - "Reasonable copying fee" is whatever you can justify on the basis of media
     cost, duplication charges, time of people involved, and so on. (You will
     not be required to justify it to the Copyright Holder, but only to the
-    computing community at large as a market that must bear the fee.) 
+    computing community at large as a market that must bear the fee.)
   - "Freely Available" means that no fee is charged for the item itself, though
     there may be fees involved in handling the item. It also means that
     recipients of the item may redistribute it under the same conditions they
-    received it. 
+    received it.
 
 1. You may make and give away verbatim copies of the source form of the
 Standard Version of this Package without restriction, provided that you
@@ -373,7 +373,7 @@ products derived from this software without specific prior written permission.
 
 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
 WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
 The End
 
diff --git a/MANIFEST b/MANIFEST
index bc8f21e..4a57e75 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.024.
 Changes
 LICENSE
 MANIFEST
@@ -16,6 +16,8 @@ t/author-mojibake.t
 t/author-no-tabs.t
 t/author-pod-coverage.t
 t/author-pod-syntax.t
+t/blast_sequence.t
 t/data/AF165282.gb
 t/data/amino.fa
 t/data/cysprot1.fa
+t/get_sequence.t
diff --git a/META.json b/META.json
index 7636371..83f9269 100644
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
       "Ewan Birney <birney@ebi.ac.uk>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010",
+   "generated_by" : "Dist::Zilla version 6.024, CPAN::Meta::Converter version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -52,12 +52,13 @@
       },
       "test" : {
          "requires" : {
-            "Bio::Root::Test" : "0",
             "File::Spec" : "0",
+            "File::Temp" : "0",
             "IO::Handle" : "0",
             "IPC::Open3" : "0",
             "Test::More" : "0",
-            "lib" : "0",
+            "Test::Needs" : "0",
+            "Test::RequiresInternet" : "0",
             "perl" : "5.006"
          }
       }
@@ -78,7 +79,7 @@
    "version" : "1.7.4",
    "x_Dist_Zilla" : {
       "perl" : {
-         "version" : "5.028001"
+         "version" : "5.034000"
       },
       "plugins" : [
          {
@@ -95,42 +96,42 @@
                }
             },
             "name" : "@BioPerl/@Filter/GatherDir",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@BioPerl/@Filter/PruneCruft",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@BioPerl/@Filter/ManifestSkip",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@BioPerl/@Filter/MetaYAML",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@BioPerl/@Filter/License",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExtraTests",
             "name" : "@BioPerl/@Filter/ExtraTests",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@BioPerl/@Filter/ExecDir",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@BioPerl/@Filter/ShareDir",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
@@ -140,47 +141,47 @@
                }
             },
             "name" : "@BioPerl/@Filter/MakeMaker",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@BioPerl/@Filter/Manifest",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@BioPerl/@Filter/TestRelease",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@BioPerl/@Filter/ConfirmRelease",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@BioPerl/@Filter/UploadToCPAN",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@BioPerl/MetaConfig",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@BioPerl/MetaJSON",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@BioPerl/PkgVersion",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@BioPerl/PodSyntaxTests",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::NoTabs",
@@ -223,7 +224,7 @@
          {
             "class" : "Dist::Zilla::Plugin::PodCoverageTests",
             "name" : "@BioPerl/PodCoverageTests",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::MojibakeTests",
@@ -233,7 +234,7 @@
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@BioPerl/AutoPrereqs",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoMetaResources",
@@ -243,7 +244,7 @@
          {
             "class" : "Dist::Zilla::Plugin::MetaResources",
             "name" : "@BioPerl/MetaResources",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::EOL",
@@ -264,7 +265,7 @@
          {
             "class" : "Dist::Zilla::Plugin::Encoding",
             "name" : "@BioPerl/Encoding",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -281,92 +282,92 @@
                      {
                         "class" : "Pod::Weaver::Plugin::EnsurePod5",
                         "name" : "@CorePrep/EnsurePod5",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::H1Nester",
                         "name" : "@CorePrep/H1Nester",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Name",
                         "name" : "@BioPerl/Name",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Version",
                         "name" : "@BioPerl/Version",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
                         "name" : "@BioPerl/prelude",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "SYNOPSIS",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "DESCRIPTION",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Generic",
                         "name" : "OVERVIEW",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "ATTRIBUTES",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "METHODS",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "FUNCTIONS",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Collect",
                         "name" : "INTERNAL METHODS",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Leftovers",
                         "name" : "@BioPerl/Leftovers",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Region",
                         "name" : "@BioPerl/postlude",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::GenerateSection",
                         "name" : "FEEDBACK",
-                        "version" : "1.06"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::GenerateSection",
                         "name" : "Mailing lists",
-                        "version" : "1.06"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::GenerateSection",
                         "name" : "Support",
-                        "version" : "1.06"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::GenerateSection",
                         "name" : "Reporting bugs",
-                        "version" : "1.06"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Section::Legal::Complicated",
@@ -381,12 +382,12 @@
                      {
                         "class" : "Pod::Weaver::Plugin::SingleEncoding",
                         "name" : "SingleEncoding",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::Transformer",
                         "name" : "@BioPerl/List",
-                        "version" : "4.015"
+                        "version" : "4.018"
                      },
                      {
                         "class" : "Pod::Weaver::Plugin::EnsureUniqueSections",
@@ -397,12 +398,12 @@
                }
             },
             "name" : "@BioPerl/PodWeaver",
-            "version" : "4.008"
+            "version" : "4.009"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@BioPerl/NextRelease",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
@@ -419,19 +420,20 @@
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.20.1",
+                  "git_version" : "2.35.1",
                   "repo_root" : "."
                }
             },
             "name" : "@BioPerl/Git::Check",
-            "version" : "2.045"
+            "version" : "2.048"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
             "config" : {
                "Dist::Zilla::Plugin::Git::Commit" : {
                   "add_files_in" : [],
-                  "commit_msg" : "v%v%n%n%c"
+                  "commit_msg" : "v%V%n%n%c",
+                  "signoff" : 0
                },
                "Dist::Zilla::Role::Git::DirtyFiles" : {
                   "allow_dirty" : [
@@ -442,7 +444,7 @@
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.20.1",
+                  "git_version" : "2.35.1",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
@@ -450,7 +452,7 @@
                }
             },
             "name" : "@BioPerl/Git::Commit",
-            "version" : "2.045"
+            "version" : "2.048"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
@@ -464,7 +466,7 @@
                   "tag_message" : "%N-v%v"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.20.1",
+                  "git_version" : "2.35.1",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
@@ -472,57 +474,57 @@
                }
             },
             "name" : "@BioPerl/Git::Tag",
-            "version" : "2.045"
+            "version" : "2.048"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExtraTestFiles",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":PerlExecFiles",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":AllFiles",
-            "version" : "6.012"
+            "version" : "6.024"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":NoFiles",
-            "version" : "6.012"
+            "version" : "6.024"
          }
       ],
       "zilla" : {
@@ -530,10 +532,11 @@
          "config" : {
             "is_trial" : 0
          },
-         "version" : "6.012"
+         "version" : "6.024"
       }
    },
-   "x_generated_by_perl" : "v5.28.1",
-   "x_serialization_backend" : "Cpanel::JSON::XS version 4.09"
+   "x_generated_by_perl" : "v5.34.0",
+   "x_serialization_backend" : "Cpanel::JSON::XS version 4.27",
+   "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
 }
 
diff --git a/META.yml b/META.yml
index 5557ec8..e7d9314 100644
--- a/META.yml
+++ b/META.yml
@@ -3,17 +3,18 @@ abstract: 'Simple low-dependency procedural interfaces to BioPerl'
 author:
   - 'Ewan Birney <birney@ebi.ac.uk>'
 build_requires:
-  Bio::Root::Test: '0'
   File::Spec: '0'
+  File::Temp: '0'
   IO::Handle: '0'
   IPC::Open3: '0'
   Test::More: '0'
-  lib: '0'
+  Test::Needs: '0'
+  Test::RequiresInternet: '0'
   perl: '5.006'
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010'
+generated_by: 'Dist::Zilla version 6.024, CPAN::Meta::Converter version 2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -43,7 +44,7 @@ resources:
 version: 1.7.4
 x_Dist_Zilla:
   perl:
-    version: '5.028001'
+    version: '5.034000'
   plugins:
     -
       class: Dist::Zilla::Plugin::GatherDir
@@ -57,74 +58,74 @@ x_Dist_Zilla:
           prune_directory: []
           root: .
       name: '@BioPerl/@Filter/GatherDir'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@BioPerl/@Filter/PruneCruft'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@BioPerl/@Filter/ManifestSkip'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@BioPerl/@Filter/MetaYAML'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::License
       name: '@BioPerl/@Filter/License'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::ExtraTests
       name: '@BioPerl/@Filter/ExtraTests'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@BioPerl/@Filter/ExecDir'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@BioPerl/@Filter/ShareDir'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::MakeMaker
       config:
         Dist::Zilla::Role::TestRunner:
           default_jobs: 1
       name: '@BioPerl/@Filter/MakeMaker'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@BioPerl/@Filter/Manifest'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@BioPerl/@Filter/TestRelease'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@BioPerl/@Filter/ConfirmRelease'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@BioPerl/@Filter/UploadToCPAN'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@BioPerl/MetaConfig'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@BioPerl/MetaJSON'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@BioPerl/PkgVersion'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@BioPerl/PodSyntaxTests'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::Test::NoTabs
       config:
@@ -157,7 +158,7 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::PodCoverageTests
       name: '@BioPerl/PodCoverageTests'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::MojibakeTests
       name: '@BioPerl/MojibakeTests'
@@ -165,7 +166,7 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@BioPerl/AutoPrereqs'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::AutoMetaResources
       name: '@BioPerl/AutoMetaResources'
@@ -173,7 +174,7 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::MetaResources
       name: '@BioPerl/MetaResources'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::Test::EOL
       config:
@@ -189,7 +190,7 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::Encoding
       name: '@BioPerl/Encoding'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::PodWeaver
       config:
@@ -203,75 +204,75 @@ x_Dist_Zilla:
             -
               class: Pod::Weaver::Plugin::EnsurePod5
               name: '@CorePrep/EnsurePod5'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Plugin::H1Nester
               name: '@CorePrep/H1Nester'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Name
               name: '@BioPerl/Name'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Version
               name: '@BioPerl/Version'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Region
               name: '@BioPerl/prelude'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Generic
               name: SYNOPSIS
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Generic
               name: DESCRIPTION
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Generic
               name: OVERVIEW
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Collect
               name: ATTRIBUTES
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Collect
               name: METHODS
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Collect
               name: FUNCTIONS
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Collect
               name: 'INTERNAL METHODS'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Leftovers
               name: '@BioPerl/Leftovers'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Region
               name: '@BioPerl/postlude'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::GenerateSection
               name: FEEDBACK
-              version: '1.06'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::GenerateSection
               name: 'Mailing lists'
-              version: '1.06'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::GenerateSection
               name: Support
-              version: '1.06'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::GenerateSection
               name: 'Reporting bugs'
-              version: '1.06'
+              version: '4.018'
             -
               class: Pod::Weaver::Section::Legal::Complicated
               name: '@BioPerl/Legal'
@@ -283,21 +284,21 @@ x_Dist_Zilla:
             -
               class: Pod::Weaver::Plugin::SingleEncoding
               name: SingleEncoding
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Plugin::Transformer
               name: '@BioPerl/List'
-              version: '4.015'
+              version: '4.018'
             -
               class: Pod::Weaver::Plugin::EnsureUniqueSections
               name: EnsureUniqueSections
               version: '0.163250'
       name: '@BioPerl/PodWeaver'
-      version: '4.008'
+      version: '4.009'
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@BioPerl/NextRelease'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::Git::Check
       config:
@@ -310,16 +311,17 @@ x_Dist_Zilla:
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.20.1
+          git_version: 2.35.1
           repo_root: .
       name: '@BioPerl/Git::Check'
-      version: '2.045'
+      version: '2.048'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       config:
         Dist::Zilla::Plugin::Git::Commit:
           add_files_in: []
-          commit_msg: v%v%n%n%c
+          commit_msg: v%V%n%n%c
+          signoff: 0
         Dist::Zilla::Role::Git::DirtyFiles:
           allow_dirty:
             - Changes
@@ -327,12 +329,12 @@ x_Dist_Zilla:
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.20.1
+          git_version: 2.35.1
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
       name: '@BioPerl/Git::Commit'
-      version: '2.045'
+      version: '2.048'
     -
       class: Dist::Zilla::Plugin::Git::Tag
       config:
@@ -344,56 +346,57 @@ x_Dist_Zilla:
           tag_format: '%N-v%v'
           tag_message: '%N-v%v'
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.20.1
+          git_version: 2.35.1
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
       name: '@BioPerl/Git::Tag'
-      version: '2.045'
+      version: '2.048'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExtraTestFiles'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':PerlExecFiles'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':AllFiles'
-      version: '6.012'
+      version: '6.024'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':NoFiles'
-      version: '6.012'
+      version: '6.024'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: '0'
-    version: '6.012'
-x_generated_by_perl: v5.28.1
+    version: '6.024'
+x_generated_by_perl: v5.34.0
 x_serialization_backend: 'YAML::Tiny version 1.73'
+x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
diff --git a/Makefile.PL b/Makefile.PL
index eca1b1b..c17f7a9 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.012.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.024.
 use strict;
 use warnings;
 
@@ -35,12 +35,13 @@ my %WriteMakefileArgs = (
     "warnings" => 0
   },
   "TEST_REQUIRES" => {
-    "Bio::Root::Test" => 0,
     "File::Spec" => 0,
+    "File::Temp" => 0,
     "IO::Handle" => 0,
     "IPC::Open3" => 0,
     "Test::More" => 0,
-    "lib" => 0
+    "Test::Needs" => 0,
+    "Test::RequiresInternet" => 0
   },
   "VERSION" => "1.7.4",
   "test" => {
@@ -55,7 +56,6 @@ my %FallbackPrereqs = (
   "Bio::DB::GenPept" => 0,
   "Bio::DB::RefSeq" => 0,
   "Bio::DB::SwissProt" => 0,
-  "Bio::Root::Test" => 0,
   "Bio::Root::Version" => 0,
   "Bio::Seq" => 0,
   "Bio::SeqIO" => 0,
@@ -63,11 +63,13 @@ my %FallbackPrereqs = (
   "Carp" => 0,
   "Exporter" => 0,
   "File::Spec" => 0,
+  "File::Temp" => 0,
   "IO::Handle" => 0,
   "IPC::Open3" => 0,
   "Test::More" => 0,
+  "Test::Needs" => 0,
+  "Test::RequiresInternet" => 0,
   "base" => 0,
-  "lib" => 0,
   "strict" => 0,
   "utf8" => 0,
   "vars" => 0,
diff --git a/t/Perl.t b/t/Perl.t
index 2bb814d..e152884 100644
--- a/t/Perl.t
+++ b/t/Perl.t
@@ -1,19 +1,19 @@
-# -*-Perl-*- Test Harness script for Bioperl
-# $Id$
+#!/usr/bin/env perl
+use utf8;
 
 use strict;
+use warnings;
 
-BEGIN {
-    use lib '.';
-    use Bio::Root::Test;
+use File::Spec;
+use File::Temp;
+use Test::More;
 
-    test_begin(-tests => 31,
-               -requires_module => 'IO::String');
+use Bio::Perl;
 
-    use_ok('Bio::Perl');
+sub test_input_file {
+    return File::Spec->catfile('t', 'data', @_);
 }
 
-# Bio::Perl isn't OO so we don't see Bio::Perl->new() here
 
 my ($seq_object,$filename,$blast_report,@seq_object_array);
 
@@ -33,7 +33,7 @@ is (@seq_object_array = read_all_sequences($filename,'fasta'), 2);
 isa_ok $seq_object_array[0], 'Bio::SeqI';
 isa_ok $seq_object_array[1], 'Bio::SeqI';
 
-$filename = test_output_file();
+$filename = File::Temp->new();
 ok write_sequence(">$filename",'genbank',$seq_object);
 ok ($seq_object = new_sequence("ATTGGTTTGGGGACCCAATTTGTGTGTTATATGTA","myname","AL12232"));
 isa_ok $seq_object, 'Bio::SeqI';
@@ -58,88 +58,4 @@ ok ($trans = translate_as_string("ATTGGTTTGGGGACCCAATTTGTGTGTTATATGTA"));
 
 is $trans, 'IGLGTQFVCYM';
 
-# we need to keep tests that depend on net connection at the end
-# these now run only with BIOPERLDEBUG set
-
-SKIP: {
-    test_skip(-tests => 12, -requires_networking => 1, -requires_module => 'LWP::UserAgent');
-
-    # swissprot
-    SKIP: {
-        test_skip(-tests => 2, -requires_module => 'Data::Stag');
-        eval {
-            $seq_object = get_sequence('swissprot',"ROA1_HUMAN");
-        };
-        if ($@) {
-            skip("problem connecting to SwissProt:$@",2);
-        } else {
-            ok $seq_object;
-            isa_ok $seq_object, 'Bio::SeqI';
-        }
-    }
-
-    # embl
-    SKIP: {
-        eval {
-            $seq_object = get_sequence('embl',"J00522");
-        };
-        if ($@) {
-            skip("problem connecting to EMBL:$@",2);
-        } else {
-            ok $seq_object;
-            isa_ok $seq_object, 'Bio::SeqI';
-        }
-    }
-
-    # genbank
-    SKIP: {
-        eval {
-            $seq_object = get_sequence('genbank',"AI129902");
-        };
-        if ($@) {
-            skip("problem connecting to GenBank:$@",2);
-        } else {
-            ok $seq_object;
-            isa_ok $seq_object, 'Bio::SeqI';
-        }
-    }
-
-    # refseq
-    SKIP: {
-        eval {
-            $seq_object = get_sequence('genbank',"NM_006732");
-        };
-        if( $@ ) {
-            skip("problem connecting to RefSeq:$@",2);
-        } else {
-            ok $seq_object;
-            isa_ok $seq_object, 'Bio::SeqI';
-        }
-    }
-
-    # genpept
-    SKIP: {
-        eval {
-            $seq_object = get_sequence('genpept',"AAC06201");
-        };
-        if ($@) {
-            skip("problem connecting to RefSeq:$@",2);
-        } else {
-            ok $seq_object;
-            isa_ok $seq_object, 'Bio::SeqI';
-        }
-    }
-
-    # blast
-    SKIP: {
-        eval {
-            $blast_report = blast_sequence($seq_object, 0);
-        };
-        if ($@) {
-            skip("problem connecting to NCBI BLAST:$@",2);
-        } else {
-            ok $blast_report;
-            isa_ok $blast_report, 'Bio::Search::Result::ResultI';
-        }
-    }
-}
+done_testing();
diff --git a/t/author-eol.t b/t/author-eol.t
index 5e39d21..6b97540 100644
--- a/t/author-eol.t
+++ b/t/author-eol.t
@@ -23,7 +23,9 @@ my @files = (
     't/author-mojibake.t',
     't/author-no-tabs.t',
     't/author-pod-coverage.t',
-    't/author-pod-syntax.t'
+    't/author-pod-syntax.t',
+    't/blast_sequence.t',
+    't/get_sequence.t'
 );
 
 eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
diff --git a/t/author-no-tabs.t b/t/author-no-tabs.t
index 68883d2..108fac4 100644
--- a/t/author-no-tabs.t
+++ b/t/author-no-tabs.t
@@ -23,7 +23,9 @@ my @files = (
     't/author-mojibake.t',
     't/author-no-tabs.t',
     't/author-pod-coverage.t',
-    't/author-pod-syntax.t'
+    't/author-pod-syntax.t',
+    't/blast_sequence.t',
+    't/get_sequence.t'
 );
 
 notabs_ok($_) foreach @files;
diff --git a/t/blast_sequence.t b/t/blast_sequence.t
new file mode 100644
index 0000000..0aa0173
--- /dev/null
+++ b/t/blast_sequence.t
@@ -0,0 +1,22 @@
+#!/usr/bin/env perl
+use utf8;
+
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Needs 'LWP::UserAgent';
+use Test::RequiresInternet;
+
+use Bio::Perl;
+
+# This should probably be replaced by a sequence on file so we are not
+# dependent on get_sequence behaving properly.
+my $seq = get_sequence('genpept', 'AAC06201');
+
+# This can take a very long time...
+my $blast_report = blast_sequence($seq, 0);
+ok $blast_report;
+isa_ok $blast_report, 'Bio::Search::Result::ResultI';
+
+done_testing();
diff --git a/t/get_sequence.t b/t/get_sequence.t
new file mode 100644
index 0000000..e9904ff
--- /dev/null
+++ b/t/get_sequence.t
@@ -0,0 +1,38 @@
+#!/usr/bin/env perl
+use utf8;
+
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Needs 'LWP::UserAgent';
+use Test::RequiresInternet;
+
+use Bio::Perl;
+
+my %db2id = (
+    'swissprot' => 'ROA1_HUMAN',
+    'embl' => 'J00522',
+    'genbank' => 'AI129902',
+    'refseq' => 'NM_006732',
+    'genpept' => 'AAC06201',
+);
+
+foreach my $db (keys %db2id) {
+    subtest $db => sub {
+        plan tests => 2;
+        test_needs 'Data::Stag' if $db eq 'swissprot';
+        my $seqid = $db2id{$db};
+        my $seq;
+        SKIP: {
+           eval {
+               $seq = get_sequence($db, $seqid);
+           };
+           skip "failed connection to $db: $@", 2 if $@;
+           ok $seq;
+           isa_ok $seq, 'Bio::SeqI';
+        }
+    }
+}
+
+done_testing();