{"id":14966027,"url":"https://github.com/cjfields/bioperl6","last_synced_at":"2025-06-10T13:35:43.972Z","repository":{"id":499930,"uuid":"126915","full_name":"cjfields/bioperl6","owner":"cjfields","description":"reimplementation of BioPerl classes in Raku (e.g. the language formerly known as Perl6)","archived":false,"fork":false,"pushed_at":"2018-09-30T18:57:49.000Z","size":596,"stargazers_count":48,"open_issues_count":6,"forks_count":13,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-07T06:51:16.788Z","etag":null,"topics":["bio","bioinformatics","bioperl","perl6","raku","rakudo"],"latest_commit_sha":null,"homepage":"http://bioperl.org","language":"Perl 6","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cjfields.png","metadata":{"files":{"readme":"README.FIRST","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-02-11T21:04:55.000Z","updated_at":"2023-07-21T21:42:29.000Z","dependencies_parsed_at":"2022-07-07T15:19:57.656Z","dependency_job_id":null,"html_url":"https://github.com/cjfields/bioperl6","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjfields%2Fbioperl6","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjfields%2Fbioperl6/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjfields%2Fbioperl6/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjfields%2Fbioperl6/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cjfields","download_url":"https://codeload.github.com/cjfields/bioperl6/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cjfields%2Fbioperl6/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259085460,"owners_count":22803206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bio","bioinformatics","bioperl","perl6","raku","rakudo"],"created_at":"2024-09-24T13:35:43.263Z","updated_at":"2025-06-10T13:35:43.938Z","avatar_url":"https://github.com/cjfields.png","language":"Perl 6","funding_links":[],"categories":[],"sub_categories":[],"readme":"=BioPerl 6 (bioperl-experimental)=\n\nThe experimental classes in this directory are test implementations for Perl 6.\nMost of these are similar to perl5-based BioPerl with simple Perl 6\ntranslations. Hear thar be dragoons.\n\n=Notes on Perl 6=\n\nPerl 6 is a specification and thus can represent multiple implementations. We\nrecommend strictly following the Perl6 spec, defined in a series of synopses:\n\nhttp://design.perl6.org/\n\nNote that much of the specification is still in flux or is unfinished; much of\nthis is due to changes from experimenting with several preliminary Perl 6\nimplementations, such as Pugs or Rakudo (Perl 6 on Parrot), and parsing Perl 6\nusing Larry Wall's STD.pm grammar. \n\nOnce the Perl 6 specification is considered complete, BioPerl 6 would then be\nexpected to run on any Perl 6 implementation passing the official Perl 6 test\nsuite. Until then, we will recommend the latest Parrot build from subversion\nalong with the latest Rakudo checkout (currently packaged with Parrot but soon\nto be located in a separate repository). \n\n=Chris's Notes=\n\n==Interfaces vs Classes==\n\nIn general, I am defining strict interfaces as roles and interface\nimplementations as classes. This is due to several interfaces actually defining\nmethods that are common to all implementations.\n\nDefining interfaces as roles has a specific advantage, as roles can be mixed-in\nper instance at runtime or class-wide at compile time:\n\n# compile-time \nclass Bio::PrimarySeq is Bio::Root::Root does Bio::RangeI {\n   \n}\n\n# runtime mixin\nmy $seq = Bio.PrimarySeq.new();\nmy $seq does Bio::AnnotatableI;\n\n==Class Methods==\n\nMultiple dispatch. Named/positional/required/optional/slurpy/invocant\nparameters. Type checking. Variable return contexts (scalar, list, hash, etc.).\n\n==Named parameters==\n\nNamed parameters/arguments are now part of the Perl6 specification and can be\npassed using comma notation or using Pairs:\n\nmy $seqobj = Bio::PrimarySeq.new(seq =\u003e $rawseq, description =\u003e $desc, :alphabet\u003cdna\u003e);\n\nNote that this diverges from perl5-based BioPerl conventions, where named arguments are\nprefixed with a dash ('-') character.\n\n==Getter/Setters==\n\n==Class Methods==\n\n==Tests== \n\nNone yet (soon to be added)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcjfields%2Fbioperl6","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcjfields%2Fbioperl6","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcjfields%2Fbioperl6/lists"}