This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Enjoy my BioPHP version !

v0.1.14 2020-10-11 20:23 UTC



You can read the website of the application, with docs and informations about the project :

This is my own version of BioPHP available here : It requires at least PHP 7.2 and every framework which can work on PHP 7.2, as Symfony 4.

The original legacy code is included inside, and the licence is still GPL2.

It works very easily :

alt text

The application is connected with a REST API, for the Biology Data, available at : If you want to use your own API, it must implements my schema API (cf. code documentation), and then you can have fun !

The BioTools (amelaye/biotools) package is actually in working progress, please be patient, and you'll can have more features soon ! Instead of it, you can use your own application.


BioPHP is actually a Symfony 4 bundle. Create your own PHP application and run :

$ composer require amelaye/biophp

If you want to use the predefined data schema, please run after :

$ bin/console doctrine:schema:create

And then it creates the tables structure.

Using a Symfony 4 application

You can have some examples for a Symfony 4 application here :

Using you own code (standalone)

If you have your standalone version, you can use it like this (after installing composer and creating a composer.json file) :

require_once 'vendor/autoload.php';

use Amelaye\BioPHP\Domain\Sequence\Service\SequenceManager;
use Doctrine\Common\Annotations\AnnotationRegistry;

$client = new GuzzleHttp\Client([
    'base_uri' => ''
$serializer = JMS\Serializer\SerializerBuilder::create()

$aminoApiManager  = new \Amelaye\BioPHP\Api\AminoApi($client, $serializer);
$nucleotidManager = new \Amelaye\BioPHP\Api\NucleotidApi($client, $serializer);
$elementManager   = new \Amelaye\BioPHP\Api\ElementApi($client, $serializer);
$sequenceManager  = new SequenceManager($aminoApiManager, $nucleotidManager, $elementManager);

$aMirrors = $sequenceManager->findMirror("AGGGAATTAAGTAAATGGTAGTGG", 6, 8, 'E');

echo "<pre>";
echo "<pre>";


This version is an ALPHA version. That means it could be quite unstable, and modifications in the system could be done. Please read often the documentation, I try to update it as regularly as possible :)