RepeatMasker in Maker
1
0
Entering edit mode
7.4 years ago

Hi, all.

I am using Maker currently, and to only mask interspersed repeats, I need to pass down "Do not remove simple" option to RepeatMasker. I created maker_opts.ctl using the command: maker -CTL

But in the repeat masking section, I am not really seeing a place to put this in

-----Repeat Masking (leave values blank to skip repeat masking)

model_org=tomato #select a model organism for RepBase masking in RepeatMasker

rmlib= #provide an organism specific repeat library in fasta format for RepeatMasker

repeat_protein=/te_proteins.fasta #provide a fasta file of transposable element proteins for RepeatRunner rm_gff= #pre-identified repeat elements from an external GFF3 file

prok_rm=0 #forces MAKER to repeatmask prokaryotes (no reason to change this), 1 = yes, 0 = no

softmask=1 #use soft-masking rather than hard-masking in BLAST (i.e. seg and dust filtering)

Do anyone know how to handle this? Thank you in advance!

maker repeatmasker • 4.0k views
ADD COMMENT
3
Entering edit mode
7.4 years ago

I assume that option is the '-nolow' flag in RepeatMasker (ref).

By default it's not too easy to get non-standard flags into RepeatMasker, in the past I think there was a way to get no_low into RepeatMasker directly, looking at the code in the maker folder in lib/GI.pm:

   runRepeatMasker($file_name,
                   $model_org,
                   $the_void,
                   $o_file,
                   $RepeatMasker,
                   $rmlib,
                   $cpus); # -no_low

As you can see the no_low is commented out in newer versions.

You should be able to comment that back in since the code just checks whether the last argument to runRepeatMasker is defined in the first place, look at the logic here:

   $command .= " -no_is -nolow" if defined($no_low);

so it would be something like

  runRepeatMasker($file_name,
                   $model_org,
                   $the_void,
                   $o_file,
                   $RepeatMasker,
                   $rmlib,
                   $cpus,
                   '-nolow'); # -no_low

If that doesn't work (check the command MAKER is printing in the standard error) you could also add this line in the runRepeatMasker() method:

 $command .= " -nolow"

before

   my $w = new Widget::RepeatMasker();

   print STDERR "running  repeat masker.\n" unless $main::quiet;
   $w->run($command);
}

that should do it too. I'm not sure why it's commented out in the first place.

ADD COMMENT
0
Entering edit mode

Thank you so much! It worked out!

ADD REPLY

Login before adding your answer.

Traffic: 1619 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6