git clone https://github.com/beyondpie/amb_pairedtag [local_directory]cd [local_directory]andgit submodule update --init --recursive- We have one submodule named
extratoolsin the repo, so use this command to pull those codes.
- We have one submodule named
- We use mm10 / GRCm38 for alignment.
- We mainly use GRCm38.p6-M25 gene annotations from https://www.gencodegenes.org/mouse/release_M25.html.
- Promoters are usually followed the definition of up/down stream 1kb of TSSs.
One temporary R package named tmpRpkg right under the project to enable global sharing of common variables and functions.
- I follow the R package book to manage the package.
- run
devtools::document()to update the export NAMESPACE - run
devtools::load_all()to fast update the package for use. If failed, try rununload("tmpRpkg")firstly. - run
devtools::install()can install the package immediately.
- run
detach("package:tmpRpkg", unload=TRUE)and thenlibrary(tmpRpkg)to reload the updated/re-installed package.
One temporary Python package named tmpPypkg.
- Update PYTHONPATH
export PYTHONPATH="/your_local_dir/amb_pairedtag:${PYTHONPATH}"
- Then
import tmpPypkgin Python.
- Set up env.
- Use conda/mamba to install java. Here we use Java version 22.0.1 (>= 22 should be OK.)
mamba install conda-forge::openjdk=22.0.1 - Then use couriser to manage scala’s tools, like sbt (project manager), scala and so on. Check the installation details here: https://get-coursier.io/docs/cli-installation
- Use conda/mamba to install java. Here we use Java version 22.0.1 (>= 22 should be OK.)
- Compile the project
- Under the project root, we can use sbt interactive way to compile the project.
sbtthencompile - Under the project root, we can also run
sbt compilein terminal. - [Optional] Assemble: use
sbt assemblyto assemble the scala codes into target directory. - For now, I put bioscala and project-related scala files under src/main/scala. And for each subtask,
like CallPeak, DataPreprocess and so on, I put them into the correponding subdirectories.
projectscan show all the project we have, andproject [some subproject]can change the default project to the one we want.
- Under the project root, we can use sbt interactive way to compile the project.
- Run
- Under the interactive
sbt, userunto run multiple main functions, it will output the multiple main functions you can run, and then you can insert the number to run the specific one. consolecan provide the scala REPL- If you assemble the projects, you can then
java -cp target/scala-verion/version.jar someMain someArgsto run some particular functions.
- Under the interactive