Question: RepeatMasker in Maker
0
gravatar for s.kyungyong64
3.4 years ago by
Berkeley, USA
s.kyungyong6440 wrote:

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 • 2.0k views
ADD COMMENTlink modified 3.4 years ago by Philipp Bayer6.8k • written 3.4 years ago by s.kyungyong6440
3
gravatar for Philipp Bayer
3.4 years ago by
Philipp Bayer6.8k
Australia/Perth/UWA
Philipp Bayer6.8k wrote:

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 COMMENTlink modified 3.4 years ago • written 3.4 years ago by Philipp Bayer6.8k

Thank you so much! It worked out!

ADD REPLYlink written 3.4 years ago by s.kyungyong6440
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1629 users visited in the last hour