Revision 9ba14039360c2facefb6cd56892084fe83ce8df5 authored by Dave Larson on 03 July 2013, 13:45:09 UTC, committed by Dave Larson on 03 July 2013, 13:51:49 UTC
to chromosomes 1-22, X, Y and MT. Obviously, this is not always
desirable as all of our sequencing is not human and we occasionally have
"extra" chromosomes that need to be included because we are looking for
viruses. This commit does a few things:

* Adds a DV2 filter called TigraValidationFull that attempts to run on
  any chromosomes in the fasta .fai file. There are probably better ways
  to find those chromosomes (examining the BAM header), but these
  changes were quick and aimed at addressing a current analysis project.
  This TigraValidationFull filter is needed to interact with
  BreakdancerMax that Scott recently committed to remove similar
  restrictions in BreakDancer's DV2 module.

* Adds and option to G::M::T::BreakDancer::SplitFiles so that it
  optionally doesn't split its files by this same hardcoded
  chromosome list. TigraValidationFull uses this option to pick up the
  extra chromosomes.

* Note that the test for TigraValidationFull is just a copy of the tests
  for the regular TigraValidation. Coverage of the new functionality is
  not included and is deferred for later.
1 parent 362be71
Raw File
Build.PL
#!/usr/bin/env genome-perl
# Use local perl, not some perl on an application server!

use Config;
use Module::Build;

BEGIN {
  unshift @INC, "$ENV{PWD}/blib/lib";
}

my $class = Module::Build->subclass (
    class => 'Pod::Builder',
    code => <<'EOS',

      sub ACTION_clean {
        # FIXME: is this safe?
        use File::Path qw/rmtree/;
        rmtree "./_build";
        rmtree "./blib";
        rmtree "./gmt-bindoc";
        rmtree "./genome-bindoc";
        unlink "./Build";
        unlink "./MYMETA.yml";
      }

      sub ACTION_ur_docs {
        use File::Copy qw/copy/;
        $ENV{ANSI_COLORS_DISABLED} = 1;
        eval {
          local @INC = @INC;
          unshift @INC, 'blib/lib';
          die $@ if $@;
          eval "use Genome::Search";
          die $@ if $@;

          foreach my $exec ('genome','gmt') {
            UR::Namespace::Command::Update::Pod->execute(
                class_name => 'Genome::Search',
                executable_name => $exec,
                targets => ['Genome::Search'],
                output_path => 'cmd-bindoc'
            );
          }
        };
        die "failed to extract pod: $!: $@" if ($@);
      }

      sub ACTION_docs {
        my $self = shift;
        $self->depends_on('code');
        #$self->depends_on('ur_docs');
        $self->depends_on('manpages', 'html');
      }
       
      sub man1page_name {
        my ($self, $file) = @_;
        $file =~ s/.pod$//;
        return $self->SUPER::man1page_name($file);
      }

EOS
);

my $build = $class->new(
  module_name => 'Genome::Search',
  dist_version => 0.06,
  license => 'lgpl',
  requires => {
    'perl' => 'v5.8.7',
    'UR' => '0.29',
    'Carp' => '',
    'File::Basename' => '',
    'File::Temp' => '',
    'File::Find' => '',
    'IO::File' => '',
    'IO::String' => '',
    'IO::Socket' => '',
    'Sys::Hostname' => '',
    'Plack' => '',
    'Cache::Memcached' => '',
    'AnyEvent' => '',
    'Net::Server' => '',
    'Starman' => '',
    'Path::Class' => '',
    'XML::LibXML' => '',
    'XML::LibXSLT' => '',
    'XML::Simple' => '',
  },
  cpan_client => 'cpanm',
  etc_files => {
      'etc/solr/solr-tomcat.xml' => 'solr/solr-tomcat.xml',
      'etc/solr/tomcat.policy' => 'solr/tomcat.policy',
      'etc/solr/web.xml' => 'solr/web.xml',
      'etc/solr/conf/admin-extra.html' => 'solr/conf/admin-extra.html',
      'etc/solr/conf/elevate.xml' => 'solr/conf/elevate.xml',
      'etc/solr/conf/mapping-ISOLatin1Accent.txt' => 'solr/conf/mapping-ISOLatin1Accent.txt',
      'etc/solr/conf/protwords.txt' => 'solr/conf/protwords.txt',
      'etc/solr/conf/schema.xml' => 'solr/conf/schema.xml',
      'etc/solr/conf/scripts.conf' => 'solr/conf/scripts.conf',
      'etc/solr/conf/solrconfig.xml' => 'solr/conf/solrconfig.xml',
      'etc/solr/conf/spellings.txt' => 'solr/conf/spellings.txt',
      'etc/solr/conf/stopwords.txt' => 'solr/conf/stopwords.txt',
      'etc/solr/conf/synonyms.txt' => 'solr/conf/synonyms.txt',
      'etc/solr/conf/xslt/luke.xsl' => 'solr/conf/xslt/luke.xsl',
      'etc/genome_solr.xml' => 'tomcat/genome_solr.xml',
      'etc/genome' => 'apache/genome',
      'etc/init/genome-task-runner.conf' => 'init/genome-task-runner.conf',
      'etc/init/genome-search-index-queue.conf' => 'init/genome-search-index-queue.conf',
      'etc/cron.daily/genome-task-cleanup.sh' => 'cron.daily/genome-task-cleanup.sh',
  },
  install_path => {
      'solr' => '/var/cache/genome/solr/',
      'apache' => '/etc/apache2/sites-available/',
      'tomcat' => '/etc/tomcat6/Catalina/localhost/',
      'init' => '/etc/init',
      'cron.daily' => '/etc/cron.daily',
  },
);

$build->add_build_element('psql');
$build->add_build_element('etc');
$build->add_build_element('solr');
$build->add_build_element('tomcat');
$build->add_build_element('apache');
$build->add_build_element('psgi');
$build->add_build_element('css');
$build->add_build_element('txt');
$build->add_build_element('png');
$build->add_build_element('html');
$build->add_build_element('jpg');
$build->add_build_element('gif');
$build->add_build_element('js');
$build->add_build_element('as');
$build->add_build_element('swf');
$build->add_build_element('sql');
$build->add_build_element('php');
$build->add_build_element('xsl');
$build->add_build_element('xml');
$build->add_build_element('conf');
$build->add_build_element('sh');
$build->create_build_script;
back to top