Giter Site home page Giter Site logo

cjfields / bioperl6 Goto Github PK

View Code? Open in Web Editor NEW
48.0 9.0 13.0 596 KB

reimplementation of BioPerl classes in Raku (e.g. the language formerly known as Perl6)

Home Page: http://bioperl.org

License: Artistic License 2.0

Perl 6 100.00%
bioperl rakudo bioinformatics bio raku perl6

bioperl6's Introduction

Build Status

BioPerl 6

The experimental classes in this directory are test implementations for Perl 6. Most of these are similar to perl5-based BioPerl with simple Perl 6 translations. We intend on porting functionality when needed, but also addressing many of the problems faced with the perl5 BioPerl version, namely class/interface structure, overly complex class hierarchy, etc.

So, keep in mind that nothing is set in stone yet and things may change under your feet. Hic sunt dracones.

Also, just a note: this repository may eventually be moved under the BioPerl umbrella. If so, I'll leave stub repo here pointing to the correct location.

Participation

If you have an itch to scratch and want to try it out, fork the code and hack away. Even better, I can add you as a developer! Drop me a note, I'm more than happy to have help. The more the better!

Targeting

Currently, I target Rakudo Perl 6 (specifically using the MoarVM backend) off the nom branch. We may switch at some point to a targeted Rakudo Star version for more stability, but since the latest branch code has seen dramatic improvements (as of Aug. 2014) we aim to stay consistent with that.

Note, as of Dec. 25, 2015, Rakudo is now targeting the newly-released Perl 6 official specification (6.c), therefore syntax is expected to have stabilized and focus will be fixing bugs, improving performance, and working out corners of the specification that need further clarification.

Implemented

  • Bio::PrimarySeq - this includes required basic modules for transcription and translation.
  • Bio::Range - simple biological range operations (don't confuse this with the Perl 6 Range class)
  • Bio::Root - original base class for BioPerl, though this may be removed in favor of using Perl 6 standard exception handling (which is leagues better than p5)

Testing

Basically, one can do this:

prove -e 'perl6' -r t

which will run all tests. This will certainly fail at this stage! Most current tests are ports from the original BioPerl distribution, and the current code is in various stages of updating. We anticipate this changing more over the next year.

To run a single test:

prove -e 'perl6' t/Root.t

Notes

Perl 6 is a specification and thus can represent multiple implementations. More in the Perl 6 synopses.

Related

  • Matt Oates has some nice Perl6 bioinformatics code implemented in the BioInfo project that demonstrates some of the power of Perl6, including slangs and concurrency.

bioperl6's People

Contributors

cjfields avatar coke avatar jhannah avatar niner avatar rvosa avatar samcv avatar takadonet avatar zoffixznet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bioperl6's Issues

Trees, Nodes

Hi,
has there been any discussion on phylogenetic trees and nodes? Any ideas about package names? I'd like to try my hand at that, having built up some experience both with the BioPerl implementation and the Bio::Phylo objects. Would you be interested in pull requests from my side?
Rutger

Can't locate Bio/SeqIO.pm

Hi i am using MacOS Catalina, i am facing this error. i have tried through conda and CPAN to fix this. i am facing this error from last 2 weeks, Before this module was working . Can you guide me, How i can fix it.

Can't locate Bio/SeqIO.pm in @inc (you may need to install the Bio::SeqIO module) (@inc contains: /Users/padana/opt/anaconda3/lib/site_perl/5.26.2/darwin-thread-multi-2level /Users/padana/opt/anaconda3/lib/site_perl/5.26.2 /Users/padana/opt/anaconda3/lib/5.26.2/darwin-thread-multi-2level /Users/padana/opt/anaconda3/lib/5.26.2 .)

No citation file found [codefair-app]

No CITATION.cff file was found at the root of your repository. The FAIR-BioRS guidelines suggests to include that file for providing metadata about your software and make it FAIR.
If you would like me to generate a CITATION.cff file for you, please reply with "@codefair-app Yes". I will gather the information required in the CITATION.cff that I can find automatically from your repository and include that information in my reply for your review and edit. You can also add a CITATION.cff file yourself and I will close this issue when I detect it on the main branch.

Test failure while attempting to install BioPerl6 with zef.

===> Testing: BioPerl6:ver<0.0.1>
# Failed test 'is-fuzzy'
# at t/Location/Simple.t line 28
# Failed test 'is-fuzzy'
# at t/Location/Simple.t line 36
# Looks like you failed 2 tests of 35

------------- WARNING -------------
MSG: foo
-----------------------------------



------------- WARNING -------------
MSG: foo
-----------------------------------



------------- WARNING -------------
MSG: foo
-----------------------------------


===> Testing [FAIL]: BioPerl6:ver<0.0.1>

perl6 version:

% perl6 -v                                                                                                                 (master|✔)
This is Rakudo version 2017.09-353-g1ea3297b2 built on MoarVM version 2017.09.1-575-gd4e230a6
implementing Perl 6.c.

Doesn't build on modern Rakudo versions

Tried installing with panda but got a load of error output:

$ panda install bioperl6
==> Fetching bioperl6
==> Building bioperl6
Compiling lib/Configure.pm to pir
Useless declaration of a has-scoped method in mainline
Compiling lib/Bio/Alphabet.pm to pir
Compiling lib/Bio/AnnotationCollectionI.pm to pir
Compiling lib/Bio/AnnotationI.pm to pir
1 #!/usr/bin/env perl6
Compiling lib/Bio/Annotation/Comment.pm to pir
1 >id comment
===SORRY!=== Error while compiling lib/Bio/Annotation/Comment.pm
Attribute $!text not declared in class Bio::Annotation::Comment
at lib/Bio/Annotation/Comment.pm:23
------> return "Comment: "~ $!text⏏;
Passing an object candidate to Mu.bless is deprecated in method new at /Users/mo8122/rakudo/rakudo-star-2013.09/install/lib/parrot/5.5.0/languages/perl6/lib/Panda/Common.pm:55

build stage failed for bioperl6: Failed building lib/Bio/Annotation/Comment.pm

Then I git cloned the whole repo and tried using the SeqIO library locally and just got endless chains of compile time errors in a fair chunk of code that looked a bit shaky.
Line 81 in lib/Bio/Role/Location/Simple.pm failed with "Attribute $!min_ not declared in role Bio::Role::Location::Simple"

The line in question is
$pos_str = '(' ~ %data{"$!min_$pos"} ~ '.' ~ %data{"$!max_$pos"} ~ ')';
I thought this might have been
$pos_str = '(' ~ %data{"{$!min}$pos"} ~ '.' ~ %data{"{$!max}$pos"} ~ ')';
but there weren't any attributes by those names. If I just escape the first $ to $ in the assumption a mapping to some attribute names is being created I just reach the next in what I assume to be a long list of compiler errors.

Has bioperl6 been abandoned? Considering I've never really liked the class layout of bioperl and that it's relatively easy to create parsers in Perl6 I'm tempted to just go it alone. But if someone is willing to help get bioperl6 building again I'm happy to help out too.

Does not work with Rakudo master

master branch does not work with Rakudo master (previously, ng). This is mainly a placeholder until we get back contextuals or PERL6LIB.

Add me as a contributor?

Hi Chris,

there might come a moment in my copious amounts of spare time where I'd like to try out perl6 implementations of phylogenetic trees, nodes and taxa. Might as well do this as part of bioperl6, so if you trust me enough not to make too much of a mess, may I have push access?

Thanks,

Rutger

maybe setup cron for travis?

the last travis run was 11 months ago; we do include this in toaster runs during release preparation, but you can get early warning if something in rakudo changes that makes your module sad :)

No codemeta.json file found [codefair-app]

To make your software reusable a codemetada.json is expected at the root level of your repository, as recommended in the FAIR-BioRS Guidelines. No such file was found. It is important to provide software metadata to transfer metadata between software authors, repositories, and others, for the purposes of archiving, sharing, indexing, citing and discovering software. If you would like me to generate a codemeta.json file for you, please reply here with '@codefair-app Yes'. I will gather the information required in the codemeta.json that I can find automatically from your repository and include that information in my reply for your edit or approve. You can also add a codemeta.json file yourself and I will close this issue when I detect it on the main branch.

Will no longer be updated to the Raku ecosystem

Hello,

Thank you for the time and effort you have put in what is now the Raku Programming Language. The language and its ecosystem are moving forward.

This means that this distribution will no longer be checked for updates by the Raku ecosystem.

This means that you will need to move your module to the zef ecosystem on the next update you make to these distributions. Otherwise your update will simply not be seen by the ecosystem.

If you are no longer interested in maintaining this distribution, you can have this distribution moved to Raku Community Modules Adoption Center, where members of the Raku Community will take care of them.

This can be as easy as confirming that in a response to this issue.

Again, thank you for your time and efforts!

On behalf of the Raku Steering Council,

Elizabeth Mattijsen

Cannot install with Panda

With recent repository update, I cannot install with panda

Testing OK, but I get this message before error:

===SORRY!===
Could not find Bio::Role::Annotation in:
/home/toniher/.perl6/2015.12
/home/toniher/.rakudobrew/moar-nom/install/share/perl6/site
/home/toniher/.rakudobrew/moar-nom/install/share/perl6/vendor
/home/toniher/.rakudobrew/moar-nom/install/share/perl6
CompUnit::Repository::AbsolutePath<139824386661280>
CompUnit::Repository::NQP<139824386632352>
CompUnit::Repository::Perl5<139824386602016>
CompUnit::Repository::AbsolutePath<139824386291912>
CompUnit::Repository::NQP<139824386288504>
CompUnit::Repository::Perl5<139824386285344>
Return status 256

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.