All Downloads are FREE. Search and download functionalities are using the official Maven repository.

spring.jobs.jobPrositeProfiles-context.xml Maven / Gradle / Ivy

The newest version!
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">

    <import resource="../persistence/persistence-config-context.xml"/>

    <!-- ######################## JOB: PrositeProfiles ############################  -->
    <bean id="jobPrositeProfiles" class="uk.ac.ebi.interpro.scan.management.model.Job">
        <property name="description"
                  value="PROSITE consists of documentation entries describing protein domains, families and functional sites as well as associated patterns and profiles to identify them"/>
        <property name="analysis" value="true"/>
        <property name="libraryRelease" ref="signatureLibraryReleasePrositeProfiles"/>
        <property name="active" value="true"/>
    </bean>

    <bean id="abstractPrositeProfileStep" abstract="true" class="uk.ac.ebi.interpro.scan.management.model.Step">
        <property name="job" ref="jobPrositeProfiles"/>
        <property name="maxProteins" value="${analysis.max.sequence.count.PROSITE_PROFILES}"/>
        <property name="createStepInstancesForNewProteins" value="true"/>
        <property name="retries" value="0"/>
        <property name="nfsDelayMilliseconds" value="${nfs.delay.milliseconds}"/>
    </bean>

    <!-- STEP 1 -->
    <bean id="stepPrositeProfilesWriteFastaFile"
          class="uk.ac.ebi.interpro.scan.management.model.implementations.WriteFastaFileStep"
          parent="abstractPrositeProfileStep">
        <!-- This step has no dependencies, so will be scheduled first for its associated job. -->
        <property name="stepDescription" value="Create fasta file."/>
        <property name="fastaFileNameTemplate" ref="fastaFileNameTemplate"/>
        <!--<property name="serialGroup"                        value="WRITE_FASTA_FILE"/>-->
        <property name="proteinDAO" ref="proteinDAO"/>
    </bean>

    <!-- STEP 2 -->
    <bean id="stepPrositeProfilesRunBinary"
          class="uk.ac.ebi.interpro.scan.management.model.implementations.prosite.RunPsScanStep"
          parent="abstractPrositeProfileStep">
        <!-- In example command line below, replace _ with -
          Prosite Profiles:
          /ebi/sp/pro1/interpro/binaries/scripts/ps_scan.pl -d /ebi/sp/pro1/interpro/data/members/prosite/20.113/prosite.dat _-pfscan /ebi/sp/pro1/interpro/binaries/64_bit_Linux/pfscan -s -m -o gff
          Prosite Patterns:
          /ebi/sp/pro1/interpro/binaries/scripts/ps_scan.pl -d /ebi/sp/pro1/interpro/data/members/prosite/20.113/prosite.dat _-pfscan  /ebi/sp/pro1/interpro/binaries/64_bit_Linux/pfscan -r -b /ebi/sp/pro1/interpro/data/members/prosite/20.113/evaluator.dat -s -o ipro -->
        <property name="dependsUpon" ref="stepPrositeProfilesWriteFastaFile"/>
        <property name="stepDescription" value="Run ps_scan.pl and pfscan Binary for selected proteins"/>
        <property name="binarySwitches" value="${psscan.prositeprofiles.binary.switches}"/>
        <property name="outputFileNameTemplate" ref="rawAnalaysisOutputFileTemplate"/>
        <property name="fastaFileNameTemplate" ref="fastaFileNameTemplate"/>
        <property name="retries" value="3"/>
        <property name="fullPathToPsScanPerlScript" value="${binary.prosite.psscan.pl.path}"/>
        <property name="modelFile" value="${prosite.models.path}"/>
        <property name="fullPathToPfscanBinary" value="${binary.prosite.pfscan.path}"/>
        <property name="fullPathToPfsearchBinary" value="${binary.prosite.pfsearch.path}"/>
        <property name="usePfsearch" value="${psscan.prositeprofiles.usepfsearch}"/>
        <property name="requiresDatabaseAccess" value="false"/>
    </bean>

    <bean id="stepPrositeProfilesDeleteFastaFile"
          class="uk.ac.ebi.interpro.scan.management.model.implementations.DeleteFileStep"
          parent="abstractPrositeProfileStep">
        <property name="dependsUpon" ref="stepPrositeProfilesRunBinary"/>
        <property name="stepDescription" value="Delete the fasta file following successful run of Prosite Profiles."/>
        <property name="fileNameTemplate" ref="fastaFileNameTemplate"/>
    </bean>

    <!-- STEP 3 -->
    <bean id="stepPrositeProfilesParseRawOutput"
          class="uk.ac.ebi.interpro.scan.management.model.implementations.prosite.ParsePrositeGffOutputStep"
          parent="abstractPrositeProfileStep">
        <property name="dependsUpon" ref="stepPrositeProfilesRunBinary"/>
        <property name="stepDescription" value="Parse the output from the Prosite binary"/>
        <property name="serialGroup" value="PARSE_PROSITE_PROFILES"/>
        <property name="retries" value="3"/>
        <property name="outputFileTemplate" ref="rawAnalaysisOutputFileTemplate"/>
        <property name="rawMatchDAO" ref="prositeProfilesRawMatchDAO"/>
        <property name="parser">
            <bean class="uk.ac.ebi.interpro.scan.io.match.prosite.PrositeProfileMatchParser">
                <constructor-arg ref="prositeProfilesSignatureLibraryReleaseVersion"/>
                <property name="cigarEncoder">
                    <bean class="uk.ac.ebi.interpro.scan.model.raw.alignment.CigarAlignmentEncoder"/>
                </property>
            </bean>
        </property>
    </bean>

    <bean id="stepPrositeProfilesDeleteRawOutput"
          class="uk.ac.ebi.interpro.scan.management.model.implementations.DeleteFileStep"
          parent="abstractPrositeProfileStep">
        <property name="dependsUpon" ref="stepPrositeProfilesParseRawOutput"/>
        <property name="stepDescription" value="Delete the binary raw output file following successful parsing"/>
        <property name="fileNameTemplate" ref="rawAnalaysisOutputFileTemplate"/>
    </bean>

    <bean id="stepPrositeProfilesPostProcessing"
          class="uk.ac.ebi.interpro.scan.management.model.implementations.prosite.PrositeProfilesPostProcessingStep"
          parent="abstractPrositeProfileStep">

        <property name="dependsUpon" ref="stepPrositeProfilesParseRawOutput"/>
        <property name="serialGroup" value="PROFILE_SCAN_POST_PROCESSING"/>
        <property name="stepDescription" value="Filter Prosite Profiles matches and persist filtered results"/>
        <property name="signatureLibraryRelease" ref="prositeProfilesSignatureLibraryReleaseVersion"/>
        <property name="postProcessor">
            <bean class="uk.ac.ebi.interpro.scan.business.postprocessing.prosite.ProfilePostProcessing">
                <property name="passLevels">
                    <list>
                        <value>ONE</value>
                        <value>ZERO</value>
                        <value>MINUS_ONE</value>
                    </list>
                </property>
            </bean>
        </property>
        <property name="filteredMatchDAO">
            <bean class="uk.ac.ebi.interpro.scan.persistence.PrositeProfileFilteredMatchDAOImpl"/>
        </property>
        <property name="rawMatchDAO" ref="prositeProfilesRawMatchDAO"/>
    </bean>

    <!-- !!!!!!!!!!!!!!!!!!!!! JOB-END: PrositeProfiles !!!!!!!!!!!!!!!!!!!!!!!!!!!!  -->

    <!-- ######################## Dependencies ############################  -->
    <bean id="prositeProfilesRawMatchDAO" class="uk.ac.ebi.interpro.scan.persistence.raw.RawMatchDAOImpl">
        <constructor-arg value="uk.ac.ebi.interpro.scan.model.raw.ProSiteProfileRawMatch"/>
    </bean>

    <bean id="signatureLibraryReleasePrositeProfiles"
          class="uk.ac.ebi.interpro.scan.model.SignatureLibraryRelease">
        <constructor-arg type="uk.ac.ebi.interpro.scan.model.SignatureLibrary" value="PROSITE_PROFILES"/>
        <constructor-arg type="java.lang.String" ref="prositeProfilesSignatureLibraryReleaseVersion"/>
    </bean>

    <bean id="prositeProfilesSignatureLibraryReleaseVersion" class="java.lang.String">
        <constructor-arg value="${prosite.profiles.signature.library.release}"/>
    </bean>

    <!-- !!!!!!!!!!!!!!!!!!!!! Dependencies-END !!!!!!!!!!!!!!!!!!!!!!!!!!!!  -->
</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy